Robotics Chapter 25 Chapter 25 1
Outline Robots, Effectors, and Sensors Localization and Mapping Motion Planning Motor Control Chapter 25 2
Mobile Robots Chapter 25 3
Manipulators P R R R R R Configuration of robot specified by 6 numbers 6 degrees of freedom (DOF) 6 is the minimum number required to position end-effector arbitrarily. For dynamical systems, add velocity for each DOF. Chapter 25 4
Non-holonomic robots (, y) θ A car has more DOF (3) than controls (2), so is non-holonomic; cannot generally transition between two infinitesimally close configurations Chapter 25 5
Sensors Range finders: sonar (land, underwater), laser range finder, radar (aircraft), tactile sensors, GPS Imaging sensors: cameras (visual, infrared) Proprioceptive sensors: shaft decoders (joints, wheels), inertial sensors, force sensors, torque sensors Chapter 25 6
Localization Where Am I? Compute current location and orientation (pose) given observations: A t 2 A t 1 A t X t 1 X t X t+1 Z t 1 Z t Z t+1 Chapter 25 7
Localization contd. i, y i h( t ) v t t t+1 ωt t θ t+1 Z 1 Z 2 Z 3 Z 4 θ t t Assume Gaussian noise in motion prediction, sensor range measurements Chapter 25 8
Localization contd. Can use particle filtering to produce approimate position estimate Robot position Robot position Robot position Chapter 25 9
Localization contd. Can also use etended Kalman filter for simple cases: robot landmark Assumes that landmarks are identifiable otherwise, posterior is multimodal Chapter 25 10
Mapping Localization: given map and observed landmarks, update pose distribution Mapping: given pose and observed landmarks, update map distribution SLAM: given observed landmarks, update pose and map distribution Probabilistic formulation of SLAM: add landmark locations L 1,..., L k to the state vector, proceed as for localization Chapter 25 11
Mapping contd. Chapter 25 12
3D Mapping eample Chapter 25 13
Motion Planning Idea: plan in configuration space defined by the robot s DOFs conf-2 conf-3 conf-1 conf-2 conf-1 elb conf-3 shou Solution is a point trajectory in free C-space Chapter 25 14
Configuration space planning Basic problem: d states! Convert to finite state space. Cell decomposition: divide up space into simple cells, each of which can be traversed easily (e.g., conve) Skeletonization: identify finite number of easily connected points/lines that form a graph such that any two points are connected by a path on the graph Chapter 25 15
Cell decomposition eample goal start start goal Problem: may be no path in pure freespace cells Solution: recursive decomposition of mied (free+obstacle) cells Chapter 25 16
Skeletonization: Voronoi diagram Voronoi diagram: locus of points equidistant from obstacles Problem: doesn t scale well to higher dimensions Chapter 25 17
Skeletonization: Probabilistic Roadmap A probabilistic roadmap is generated by generating random points in C-space and keeping those in freespace; create graph by joining pairs by straight lines Problem: need to generate enough points to ensure that every start/goal pair is connected through the graph Chapter 25 18
Motor control Can view the motor control problem as a search problem in the dynamic rather than kinematic state space: state space defined by 1, 2,..., 1, 2,... continuous, high-dimensional (Sarcos humanoid: 162 dimensions) Deterministic control: many problems are eactly solvable esp. if linear, low-dimensional, eactly known, observable Simple regulatory control laws are effective for specified motions Stochastic optimal control: very few problems eactly solvable approimate/adaptive methods Chapter 25 19
Biological motor control Motor control systems are characterized by massive redundancy Infinitely many trajectories achieve any given task E.g., 3-link arm moving in plane throwing at a target simple 12-parameter controller, one degree of freedom at target 11-dimensional continuous space of optimal controllers Idea: if the arm is noisy, only one optimal policy minimizes error at target I.e., noise-tolerance might eplain actual motor behaviour Harris & Wolpert (Nature, 1998): signal-dependent noise eplains eye saccade velocity profile perfectly Chapter 25 20
Setup Suppose a controller has intended control parameters θ 0 which are corrupted by noise, giving θ drawn from P θ0 Output (e.g., distance from target) y = F (θ); y Chapter 25 21
Simple learning algorithm: Stochastic gradient Minimize E θ [y 2 ] by gradient descent: θ0 E θ [y 2 ] = θ0 Pθ0 (θ)f (θ) 2 dθ = θ0 P θ0 (θ) F (θ) 2 P θ0 (θ)dθ P θ0 (θ) = E θ [ θ 0 P θ0 (θ) y 2 ] P θ0 (θ) Given samples (θ j, y j ), j = 1,..., N, we have ˆ θ0 E θ [y 2 ] = 1 N N j=1 θ0 P θ0 (θ j ) yj 2 P θ0 (θ j ) For Gaussian noise with covariance Σ, i.e., P θ0 (θ) = N(θ 0, Σ), we obtain ˆ θ0 E θ [y 2 ] = 1 N N j=1 Σ 1 (θ j θ 0 )y 2 j Chapter 25 22
What the algorithm is doing Chapter 25 23
Results for 2 D controller 10 9 Velocity v 8 7 6 5 4 0.2 0.4 0.6 0.8 1 1.2 Angle phi Chapter 25 24
Results for 2 D controller Velocity v 4.61 4.6 4.59 4.58 4.57 4.56 4.55 4.54 4.53 4.52 4.51 0.6 0.61 0.62 0.63 0.64 0.65 Angle phi Chapter 25 25
Results for 2 D controller 0.0095 0.009 0.0085 E(y^2) 0.008 0.0075 0.007 0.0065 0.006 0.0055 0 2000 4000 6000 8000 10000 Step Chapter 25 26
Summary The rubber hits the road Mobile robots and manipulators Degrees of freedom to define robot configuration Localization and mapping as probabilistic inference problems (require good sensor and motion models) Motion planning in configuration space requires some method for finitization Chapter 25 27