View Single Post
  #2   Spotlight this post!  
Unread 22-10-2010, 15:52
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Chainless Mecanum Drive

Quote:
Originally Posted by apalrd View Post
Nonadrive:
...
Here is how it works:

There are four omni wheels on the perimeter of the robot, driven in standard tank drive. Each wheel is on a "pod" with a high-traction wheel, and the pods are pneumatically moved so the traction wheels can either provide traction or float above the ground.

In the middle there is a single omni wheel, driven by a single CIM, which is sideways (to cross the bumps, 148 and 217 pneumatically lifted this wheel a few inches to give them the center clearance necessary to cross the bumps).

This provides the "standard" amount of power (4 CIM's, or around 1.2 kw) in the forward/backward direction, while allowing non-pushing motion sideways. Since omni wheels are push-able, they can lower the perimeter wheels to push or avoid being pushed.

Quote:
Originally Posted by Chris is me View Post
I would argue that Nonadrive is simpler to code because it basically takes zero programming

so robot-centric nonadrive in tank mode looks something like this:

Code:
Left-side motor(s) = Y1

Right-side motor(s) = Y2

Center_motor = X or zero, 
depending on whether traction wheels 
are raised or lowered

... plus code to respond to commands 
and decide when to raise and lower the traction wheels,
and set flags to let the center motor code know 
what state the traction wheels are in
and robot-centric mecanum in tank mode looks something like this:

Code:
motor1 = Y1 + X

motor2 = Y2 - X

motor3 = Y1 - X

motor4 = Y2 + X

... plus code to normalize the motor commands to the range -1 to +1

Frankly, I don't see where nonadrive is simpler.




Last edited by Ether : 22-10-2010 at 16:12.