1.05k likes | 1.22k Vues
This course offers an in-depth exploration of advanced applications of artificial intelligence in robotics, computer vision, and natural language processing, focusing on practical implementations. Students will learn about autonomous vehicles, perception, tracking, and complex robot control tasks. The curriculum includes key concepts like probabilistic roadmaps, high-level control, and safety versus efficiency in robotics. Key demos illustrate real-world scenarios, including autonomous helicopters and behavior modeling using apprenticeship learning.
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.