CS 326 A: Motion PlanningSlide 2Slide 3Slide 4Example: Car-Like RobotHow Can This Work? Tangent Space/Velocity SpaceNonholonomic Path Planning ApproachesPath TransformNonholonomic vs. Dynamic ConstraintsCS 326 A: Motion CS 326 A: Motion PlanningPlanninghttp://robotics.stanford.edu/~latombe/cs326/2003Nonholonomic Nonholonomic and Under-Actuated and Under-Actuated RobotsRobotsFewer actuators / controls than dimensions of configuration space Some “confusion” in literature about what a degree of freedom is: dimension of C-space or control?How can we span a C-space of dimension n > m withonly m actuators/controls?Mechanics of the task, e.g.:- Rolling contact: car, bicycle, roller skate- Conservation of angular momentum: cat, satellite robot-Others: submarine, plane, object pushingWhy?- Fewer actuators (less weight)- Design simplicity- Convenience (think about driving a holonomic car!)Example: Car-Like RobotExample: Car-Like Robotyyxxdx/dt = v cos dy/dt = v sin ddt = (v/L) tan | < dy/dx = tan Configuration space is 3-dimensional: (x, y, )But control space is 2-dimensional: (v, )LA robot is nonholonomic if its motion isconstrained by a non-integrable equationof the form f(q,q’) = 0Lower-bounded turning radiusHow Can This Work?How Can This Work?Tangent Space/Velocity Tangent Space/Velocity SpaceSpacexy(x,y,)Nonholonomic Path Nonholonomic Path Planning ApproachesPlanning ApproachesTwo-phase planning: (Laumond’s paper)Compute collision-free path ignoring nonholonomic constraintsTransform this path into a nonholonomic oneEfficient, but possible only if robot is “controllable”Plus need to have “good” set of maneuversDirect planning: (Barraquand-Latombe’s paper)Build a tree of milestones until one is close enough to the goal (deterministic or randomized)Robot need not be controllableIn general, more time than 2-phase approachPath TransformPath TransformHolonomic pathNonholonomic pathNonholonomic vs. Dynamic Nonholonomic vs. Dynamic ConstraintsConstraintsNonholonomic constraint:f(q,q’) = 0Dynamic constraint: g(q,q’,q’’) =0 (1)Let s = (q,q’). Eq. (1) becomes: G(s,s’) = 0 Similar techniques to handle nonholonomic and dynamic constraints (kinodynamic
View Full Document