Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (Pioneer) Car drive (Ackerman steering) Synchronous drive (B21) Omni-drive: Mecanum wheels, XR4000 [Many slides come from www.probabilistic-robotics.org and Steffen Gutmann] 11/16/2018 CS225B Kurt Konolige
Instantaneous Center of Curvature ICC For rolling motion to occur, each wheel has to move along its y-axis 11/16/2018 CS225B Kurt Konolige
Differential Drive Two driven wheels One passive (castor) wheel Obot, Erratic, Pioneers… 11/16/2018 CS225B Kurt Konolige
Differential Drive Kinematics ICC v l R (x,y) y v r l/2 11/16/2018 x CS225B Kurt Konolige
Differential Drive: Forward Kinematics ICC R Compare to PR (5.9), p 127 P(t+t) For changing velocities, integrate over small dt. P(t) 11/16/2018 CS225B Kurt Konolige
Need to deal with incremental errors Odometry Integrating relative position information Need to deal with incremental errors 11/16/2018 CS225B Kurt Konolige
Ackerman Drive One driven wheel Two passive wheels Similar to front-driven cars 11/16/2018 CS225B Kurt Konolige
Synchronous Drive All wheels are actuated synchronously by one motor Defines robot speed All wheels are steered synchronously by 2nd motor Sets robot's heading Orientation of robot frame is always the same Not possible to control orientation of robot frame 11/16/2018 CS225B Kurt Konolige
Mecanum Wheels y x forward v1 v2 v0 v3 v1 left v1 v2 v0 v3 v0 v2 v3 turn 11/16/2018 CS225B Kurt Konolige
Motion planning is the ability for an agent to compute its own motions in order to achieve certain goals. All autonomous robots and digital actors should eventually have this ability [Latombe] 11/16/2018 CS225B Kurt Konolige
Robot Motion Planning 11/16/2018 CS225B Kurt Konolige
Goal of Motion Planning Compute motion strategies, e.g.: Geometric paths Time-parameterized trajectories Sequence of sensor-based motion commands To achieve high-level goals, e.g.: Go into a room without colliding with obstacles Assemble/disassemble a car Explore and build map of our department Find an object (a person, the soccer ball, etc.) 11/16/2018 CS225B Kurt Konolige
Mobile Robot Navigation Path planning and obstacle avoidance No clear distinction, but usually: Path-planning low-frequency, time-intensive search method for global finding of a path to a goal Examples: road maps, cell decomposition Obstacle avoidance fast, reactive method with local time and space horizon Examples: Vector field histogram, dynamic window approach “Gray area” Fast methods for finding path to goal which can fail if environment contains “local minima” Example: potential field method 11/16/2018 CS225B Kurt Konolige
Path Planning Global vs. Local Path Planning Configuration Space Each configuration is a point in the space Obstacles are regions of the space A freespace path represents valid motion Hard – PSPACE hard Local Methods Potential field Fuzzy rules Motor schemas Vector Field Histogram Local Methods => Global Method? LAGR cul-de-sac 11/16/2018 CS225B Kurt Konolige
Tool: Configuration Space Articulated object (4DoF) C-Space (2D cut) 11/16/2018 CS225B Kurt Konolige
Configuration Space of a Disc Workspace W Configuration space C path y x Configuration = coordinates (x,y) of robot’s center Configuration space C = {(x,y)} Free space F = subset of collision-free configurations 11/16/2018 CS225B Kurt Konolige
Workspace 11/16/2018 CS225B Kurt Konolige
Configuration Space 11/16/2018 CS225B Kurt Konolige
Discretization 11/16/2018 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.] Evaluating constant curvature path in configuration space Window of values based on one-step acceleration When will the robot crash? 11/16/2018 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.] Admissible trajectories: braking before collision 11/16/2018 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.] Heading: achieve the goal Distance: avoid obstacles Velocity: do it fast 11/16/2018 CS225B Kurt Konolige
Dynamic Window Method [Fox et al.] DWA Issues Computation Evaluation function tuning: small openings Longer paths / lower acceleration Oscillation LAGR Cul-de-sac 11/16/2018 CS225B Kurt Konolige
Vector Field Histogram [Borenstein and Koren] Potential field method Workspace obstacles Obstacle probabilities from Cartesian histogram Polar histogram of good directions 11/16/2018 CS225B Kurt Konolige
Vector Field Histogram [Borenstein and Koren] Potential field method Workspace obstacles Obstacle probabilities from Cartesian histogram Polar histogram of good directions 11/16/2018 CS225B Kurt Konolige
Vector Field Histogram [Borenstein and Koren] Issues Width of robot, safety margin Cost function for handling tradeoffs: safety, progress, etc. Trajectory and dynamics Oscillation 11/16/2018 CS225B Kurt Konolige