Holonomics Movement vs Holonomics Constraint - Robotics Stack Exchange most recent 30 from robotics.stackexchange.com 2019-11-15T00:14:35Z https://robotics.stackexchange.com/feeds/question/14178 https://creativecommons.org/licenses/by-sa/4.0/rdf https://robotics.stackexchange.com/q/14178 6 Holonomics Movement vs Holonomics Constraint nasw_264 https://robotics.stackexchange.com/users/17472 2017-09-08T08:42:30Z 2019-04-01T23:08:48Z <p>I'm reading Mechanics of Robotic Manipulation by Matthew T Mason and I stumbled upon the concept of kinematic constraints. The book mentioned about two types of constraints: holonomic and nonholonomic constraints</p> <p>Following is one example of a <strong>holonomic constraint</strong> mentioned in the book: </p> <p><a href="https://i.stack.imgur.com/IA0w9.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/IA0w9.png" alt="holonomic constraint"></a></p> <p>A rectangular block sliding in a channel with free variations in the coordinates x,y,and theta. The channel imposes a constraint so that the rectangle's y value is fixed. The holonomic constraint is described below:</p> <p><a href="https://i.stack.imgur.com/OVV6Z.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/OVV6Z.png" alt="holonomic constraint equation"></a></p> <p>While the following is an example of a <strong>nonholonomic constraint</strong> mentioned: </p> <p><a href="https://i.stack.imgur.com/aaxfC.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/aaxfC.png" alt="nonholonomic"></a></p> <p>Suppose that we add a wheel to the block, so it behaves like a unicycle or an ice skate. At any given point in time, the block can move forward and backward, it can rotate about the wheel center, but it cannot move sideways. The nonholonomic constraint equation is described below as:</p> <p><a href="https://i.stack.imgur.com/Jm9xc.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Jm9xc.png" alt="nonholonomic equation"></a></p> <p>The author also wrote that:</p> <blockquote> <p>".. it is evident that each independent holonomic constraint reduces the degrees of freedom of the system by one, but a nonholonomic constraint does not."</p> </blockquote> <p>All of the explanations so far seem to contradict my understanding of the physical meaning of robotic holonomic movement:</p> <ol> <li>I've always thought that a holonomic robot means that it can move in all directions and hence the total number of controllable degrees of freedom is equal to the total degrees of freedom. But how is that possible when every holonomic constraint reduces the degree of freedom of the system?</li> <li>And how come doesn't a nonholonomic constraint reduce the degree of freedom of the system? Isn't the unicycle constraining the block from moving sideways? Why is the degree of freedom of the system not considered as reduced then?</li> </ol> <p>I hope someone can help to clarify my understanding.</p> https://robotics.stackexchange.com/questions/14178/-/14183#14183 9 Answer by Chi for Holonomics Movement vs Holonomics Constraint Chi https://robotics.stackexchange.com/users/17761 2017-09-09T09:21:30Z 2017-09-09T09:21:30Z <p>You can look at degrees of freedom as if they were the number of variables that you need to use to describe your system. So, for a robot moving in a 2D plane, its state would be represented by: $$s=\begin{bmatrix} x \\ y \\ \theta \\ \end{bmatrix}$$</p> <p>For a robot moving in a 2D plane to be holonomic, it must have the ability to change any state variable at any given time, no matter the value that the other variables have at the moment. </p> <p>So, for instance, this means that in order to be holonomic, the robot must be able to change its $Y$ variable to any value it wants without altering $X$ and $\theta$. In the example you give for a non-holonomic constraint, while it is possible for the robot to reach any $X$, $Y$ and $\theta$ values, it has a limit on the number of paths that it must take (one such impossible path would be to move sideways!).</p> <p>Generally speaking, in order to be holonomic, the number of degrees of fredoom must be the same as the number of differentiable degrees of freedom: $$DOF=DDOF$$</p> <p>DOFs define the possibility of reaching various configurations, e.g. position ($X$ and $Y$) and orientation ($\theta$)</p> <p>DDOFs define the number of independently admissible velocities, e.g. linear velocity ($\dot{X}$ and $\dot{Y}$) and angular velocity ($\dot{\theta}$).</p> <p>Holonomic restrictions limit the number of DOFs. For instance, your wheeled robot cannot fly, hence $Z$ (height) does not belong in the state.</p> <p><strong>Non-holonomic restrictions limit the ability to change the derivative of the state at will</strong>, hence they reduce the number of DDOFs. For instance, you cannot have your unicycle rotating (constant $\dot{\theta}$) while only moving in the $X$ direction.</p> <p>Interestingly enough, a lighthouse is holonomic! <a href="https://i.stack.imgur.com/RAU5i.jpg" rel="noreferrer"><img src="https://i.stack.imgur.com/RAU5i.jpg" alt="enter image description here"></a></p> <p>Everything that is stationary is holonomic because it has 0 DOFs and 0 DDOFs!</p> <p>So, in a nutshell:</p> <p>1) DOFs = number of variables in the state</p> <p>2) DDOFs = velocities that can be changed independently</p> <p>3) Holonomic restrictions reduce DOFs</p> <p>4) Non-holonomic restrictions reduce DDOFs</p> <p>5) A robot is holonomic if, and only if, DOFs=DDOFs</p> https://robotics.stackexchange.com/questions/14178/-/18537#18537 2 Answer by Peter Corke for Holonomics Movement vs Holonomics Constraint Peter Corke https://robotics.stackexchange.com/users/21223 2019-03-30T23:30:47Z 2019-04-01T23:08:48Z <p>A holonomic constraint applies to the configuration variables, it is represented by an equation is some or all of the configuration variables.</p> <p>A constraint that applies to the <em>rate of change</em> of the configuration variables, and that <em>cannot be integrated</em> to a constraint in the configuration variables, is therefore non-holonomiw. It is represented by an equation in some or all of the configuration velocities. For example, a car can have an arbitrary configuration (x,y,<span class="math-container">$\theta$</span>) but at any configuration it is limited in the velocity <span class="math-container">$(\dot{x}, \dot{y}, \dot{\theta})$</span> it can achieve due to the rolling constraints on its wheels. Non-holonomy can be caused by under actuation or by rolling constraints.</p>