1.05k likes | 1.18k Vues
CS 188: Artificial Intelligence Fall 2009. Advanced Applications: Robotics / Vision / Language. Dan Klein – UC Berkeley Many slides from Sebastian Thrun , Pieter Abbeel , Jitendra Malik. Announcements. Grades in glookup : W1-2, P1-3, Midterm (and all regrades )
E N D
CS 188: Artificial IntelligenceFall 2009 Advanced Applications: Robotics / Vision / Language Dan Klein – UC Berkeley Many slides from Sebastian Thrun, Pieter Abbeel, JitendraMalik
Announcements • Grades in glookup: • W1-2, P1-3, Midterm (and all regrades) • Let us know if there are any issues • Contest: qualifiers! • Congrats to current qualifiers • Qualification closes on 11/30
Autonomous Vehicles Autonomous vehicle slides adapted from Sebastian Thrun
[DEMO: GC Bad, Good] Grand Challenge: Barstow, CA, to Primm, NV • 150 mile off-road robot race across the Mojave desert • Natural and manmade hazards • No driver, no remote control • No dynamic passing
An Autonomous Car E-stop 5 Lasers GPS Camera GPS compass Radar 6 Computers Control Screen Steering motor IMU
Actions: Steering Control Steering Angle(with respect to trajectory) Velocity Error Reference Trajectory
[DEMO: ] Sensors: Laser Readings
Readings: No Obstacles 3 2 1
DZ Readings: Obstacles
Obstacle Detection Trigger if |Zi-Zj| > 15cm for nearbyzi, zj Raw Measurements: 12.6% false positives
GPS IMU GPS IMU GPS IMU Probabilistic Error Model xt xt+1 xt+2 zt zt+1 zt+2
HMMs for Detection Raw Measurements: 12.6% false positives HMM Inference: 0.02% false positives
Environmental Tracking [DEMO: PEOPLE]
Object Recognition Query Template Vision slides adapted from JitendraMalik
Shape Context Count the number of points inside each bin, e.g.: Count = 4 ... Count = 10 • Compact representation of distribution of points relative to each point
Similar Regions Color indicates similarity using local descriptors
[DEMO: LIDAR 1] Vision for a Car
[DEMO: LIDAR 2] Self-Supervised Vision
Complex Robot Control [demo – quad initial]
Robotic Control Tasks • Perception / Tracking • Where exactly am I? • What’s around me? • Low-Level Control • How to move from position A to position B • Safety vs efficiency • High-Level Control • What are my goals? • What are the optimal high-level actions?
Low-Level Planning • Low-level: move from configuration A to configuration B
A Simple Robot Arm • Configuration Space • What are the natural coordinates for specifying the robot’s configuration? • These are the configuration space coordinates • Can’t necessarily control all degrees of freedom directly • Work Space • What are the natural coordinates for specifying the effector tip’s position? • These are the work space coordinates
Coordinate Systems • Workspace: • The world’s (x, y) system • Obstacles specified here • Configuration space • The robot’s state • Planning happens here • Obstacles can be projected to here
Obstacles in C-Space • What / where are the obstacles? • Remaining space is free space
Example: A Less Simple Arm [DEMO]
Probabilistic Roadmaps • Idea: sample random points as nodes in a visibility graph • This gives probabilistic roadmaps • Very successful in practice • Lets you add points where you need them • If insufficient points, incomplete or weird paths
High-Level Control • Demonstrate path across the “training terrain” • Run apprenticeship learning to find a set of weights w • Receive “testing terrain” (a height map) • Find a policy for crossing the testing terrain.
High DOF Robots [DEMOS] Videos from Pieter Abbeel, Jean-Claude Latombe
Motivating example • How do we specify a task like this?
Pacman Apprenticeship! • Examples are states s • Candidates are pairs (s,a) • “Correct” actions: those taken by expert • Features defined over (s,a) pairs: f(s,a) • Score of a q-state (s,a) given by: • How is this VERY different from reinforcement learning? “correct” action a*
Helicopter • Control inputs: • ilon : Main rotor longitudinal cyclic pitch control (affects pitch rate) • ilat : Main rotor latitudinal cyclic pitch control (affects roll rate) • icoll : Main rotor collective pitch (affects main rotor thrust) • irud : Tail rotor collective pitch (affects tail rotor thrust) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAA
Autonomous helicopter setup On-Board Inertial Measurements Unit (IMU) data Position data Send out controls to helicopter Kalman filter Control policy
Helicopter dynamics • State: • Control inputs: • ilon : Main rotor longitudinal cyclic pitch control (affects pitch rate) • ilat : Main rotor latitudinal cyclic pitch control (affects roll rate) • icoll : Main rotor collective pitch (affects main rotor thrust) • irud : Tail rotor collective pitch (affects tail rotor thrust) • Dynamics: • st+1 = f (st, at) + wt [f encodes helicopter dynamics]
Graphical model Intended trajectory • Intended trajectory satisfies dynamics. • Expert trajectory is a noisy observation of one of the hidden states. • But we don’t know exactly which one. Expert demonstrations Time indices
Learning algorithm • Similar models appear in speech processing, genetic sequence alignment. • See, e.g., Listgarten et. al., 2005 • Maximize likelihood of the demonstration data over: • Intended trajectory states • Time index values • Variance parameters for noise terms • Time index distribution parameters
Learning algorithm If ¿ is unknown, inference is hard. If ¿ is known, we have a standard HMM. • Make an initial guess for ¿. • Alternate between: • Fix ¿. Run EM on resulting HMM. • Choose new ¿ using dynamic programming.