View Single Post
  #8   Spotlight this post!  
Unread 05-05-2011, 22:51
MentorOfSteel MentorOfSteel is offline
Registered User
AKA: George Kantor
FRC #3504 (Girls of Steel)
Team Role: Mentor
 
Join Date: Jan 2011
Rookie Year: 2011
Location: Pittsburgh
Posts: 28
MentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant futureMentorOfSteel has a brilliant future
Re: Offseason Project: Holonomic Kiwi Drive Robot

This is just a bit off topic, but you've touched on a pet peeve of mine. I have noticed that many people in the FRC community (and many people working in the field of robotics in general) use the word "holonomic" interchangeably with the word "omnidirectional". This usage is incorrect, and I would like to take this opportunity to explain why.

The words holonomic and nonholonomic refer to types of velocity constraints that can be placed on a robot (see, e.g., Murray, Li, and Sastry, A Mathematical Introduction to Robotic Manipulation, CRC Press, 1994). Holonomic constraints are those that result in an algebraic constraint on the position of the robot. Train tracks, for example, introduce a holonomic constraint. A vehicle on train tracks is constrained so that the velocity perpendicular to the tracks is always zero, and the effect of this constraint is that the position (i.e., configuration) of the vehicle will always stay on the track.

Nonholonomic constraints refer to velocity constraints that do not result in an algebraic constraint on the position of the robot. Most wheeled vehicles have a velocity constraint that the wheels cannot slip sideways, however these velocity constraints do not result in corresponding constraints in position. You can drive your car anywhere you want, but the nonholonomic constraint is still there.

Most people think that nonholonomic constraints are bad because the word is so long and because they pose difficulties to automatic vehicle control, but in fact holonomic constraints are much worse because there is nothing you can do about them. No matter how fancy of a controller you come up with, a vehicle on train tracks will never leave the tracks, so if you want to get to a point that is not on the tracks you are out of luck.

Linguistically, at some point in time, people started calling robots with nonholonomic constraints "nonholonomic robots". This usage is technically incorrect. A robot cannot be nonholonomic, only a constraint can (OK, technically, a robot can be nonholonomic, but it doesn't mean what you think, see CRAZY FOOTNOTE below). There is an implicit convention used there that "nonholonomic robot" means "robot with nonholonomic constraints". That meaning is clear enough, so I can live with it.

Omnidirectional robots remove the nonholonomic constraints, so it is tempting to call them "non-nonholonomic robots". Again, this is technically incorrect, but the meaning is still clear enough, "non-nonholonomic robot" means a robot without nonholonomic constraints.

But the word non-nonholonomic just seems silly. Two "non"s should cancel each other, so people started calling omnidirectional robots "holonomic robots". But this is wrong (regardless of Wikipedia says :-). By the convention, a holonomic robot should be a robot with holonomic constraints. But an omnidirectional robot does not have velocity constraints, holonomic or otherwise, that is the point of building them!

So how is that for a long, off-topic rant about something that doesn't really matter anyway?

-George

[CRAZY FOOTNOTE] The word holonomic has Greek roots and means "altogether lawful" (see Mason, Mechanics of Robotic Manipulation, MIT Press, 2001). So after your robot passes inspection, it is correct to call it a holonomic robot.