1.23k likes | 2.1k Views
Advanced Mobile Robotics. Syllabus/Introduction/Review . Prof. J izhong Xiao Department of Electrical Engineering CUNY City College jxiao@ccny.cuny.edu. Outline. Syllabus Course Description Prerequisite, Expected Outcomes Primary Topics Textbook and references
E N D
Advanced Mobile Robotics Syllabus/Introduction/Review Prof. Jizhong Xiao Department of Electrical Engineering CUNY City College jxiao@ccny.cuny.edu
Outline • Syllabus • Course Description • Prerequisite, Expected Outcomes • Primary Topics • Textbook and references • Grading, Office hours and contact • How to … • How to read a research paper • How to write a reading report • G5501 Review • What is a Robot? • Why use Robots? • Mobile Robotics
Syllabus Course Description • This course is an in depth study of state-of-the-art technologies and methods of mobile robotics. • The course consists of two components: lectures on theory, and course projects. • Lectures will draw from textbooks and current research literature with several reading discussion classes. • In project component of this class, students are required to conduct simulation study to implement, evaluate SLAM algorithms.
Syllabus Primary Topics • Mobile Robotics Review • Locomotion/Motion Planning/Mapping • Odometry errors • Probabilistic Robotics • Mathematic Background, Bayes Filters • Kalman Filters (KF, EKF, UKF) • Particle Filters • SLAM (simultaneous localization and mapping) • Data Association Problems
Syllabus Textbooks: • Probabilistic ROBOTICS, Sebastian Thrun, Wolfram Burgard, Dieter Fox, The MIT Press, 2005, ISBN 0-262-20162-3. Available at CCNY Book Store Reference Material: • Introduction to AI Robotics, Robin R. Murphy, The MIT Press, 2000, ISBN 0-262-13383-0. • Introduction to Autonomous Mobile Robots, Roland Siegwart, Illah R. Nourbakhsh, The MIT Press, 2004, ISBN 0-262-19502-X • Computational Principles of Mobile Robotics, Gregory Dudek, Michael Jenkin, Cambridge University Press, 2000, ISBN 0-521-56876-5 • Papers from research literature
Syllabus • Contact Information • Office: T-534, Tel: 212-650-7268 • E-mail: jxiao@ccny.cuny.edu • Website: http://robotics.ccny.cuny.edu/blog • Office Hours: • Mon: 5:00~6:00pm, Friday: 3:00~5:00pm • Expected outcomes: • Knowledge • Abilities • Be able to read technical papers • Be able to write technical papers • Be able to conduct independent research
How to … • How to read a research paper • Conference papers (ICRA, IROS) • Journal papers • IEEE Transactions on Robotics • Autonomous Robots • International Journal of Robotics Research CCNY resource: http://www.ccny.cuny.edu/library/Menu.html IEEE Xplorer • How to write a reading report
Mobile Robotics Locomotion/Motion Planning/Mapping Prof. Jizhong Xiao Department of Electrical Engineering CUNY City College jxiao@ccny.cuny.edu
Contents • Review • Classification of wheels • Fixed wheel, Centered orientable wheel, Off-centered orientable wheel, Swedish wheel • Mobile Robot Locomotion • Differential Drive, Tricycle, Synchronous Drive, Omni-directional, Ackerman Steering • Motion Planning Methods • Roadmap Approaches (Visibility graphs, Voronoi diagram) • Cell Decomposition (Trapezoidal Decomposition, Quadtree Decomposition) • Potential Fields • Mapping and Localization
Review • What are Robots? • Machines with sensing, intelligence and mobility (NSF) • To qualify as a robot, a machine must be able to: 1) Sensing and perception: get information from its surroundings 2) Carry out different tasks: Locomotion or manipulation, do something physical–such as move or manipulate objects 3) Re-programmable: can do different things 4) Function autonomously and/or interact with human beings • Why use Robots? • Perform 4A tasks in 4D environments 4A: Automation, Augmentation, Assistance, Autonomous • 4D: Dangerous, Dirty, Dull, Difficult
Review • Robot Manipulator • Kinematics • Dynamics • Control • Mobile Robot • Kinematics/Control • Sensing and Sensors • Motion planning • Mapping/Localization
Mobile Robot Examples Sojourner Rover ActivMedia Pioneer II NASA and JPL, Mars exploration
Wheeled Mobile Robots • Locomotion — the process of causing an robot to move. • In order to produce motion, forces must be applied to the robot • Motor output, payload • Kinematics – study of the mathematics of motion without considering the forces that affect the motion. • Deals with the geometric relationships that govern the system • Deals with the relationship between control parameters and the behavior of a system. • Dynamics – study of motion in which these forces are modeled • Deals with the relationship between force and motions.
Notation Posture: position(x, y) and orientation
Wheels Rolling motion Lateral slip
Wheel Types Centered orientable wheel Fixed wheel Off-centered orientable wheel (Castor wheel) Swedish wheel:omnidirectional property
R Mobile Robot Locomotion Locomotion: the process of causing a robot to move • Differential Drive • Tricycle Swedish Wheel • Synchronous Drive • Ackerman Steering • Omni-directional
Differential Drive • Posture of the robot • Control input v : Linear velocity of the robot w : Angular velocity of the robot (notice: not for each wheel) (x,y) : Position of the robot : Orientation of the robot
Differential Drive – linear velocity of right wheel – linear velocity of left wheel r – nominal radius of each wheel R – instantaneous curvature radius (ICR) of the robot trajectory (distance from ICC to the midpoint between the two wheels). Property: At each time instant, the left and right wheels must follow a trajectory that moves around the ICC at the same angular rate , i.e.,
Differential Drive Property: At each time instant, the left and right wheels must follow a trajectory that moves around the ICR at the same angular rate , i.e., • Kinematic equation • Nonholonomic Constraint Physical Meaning?
The robot can instantly move forward and backward, but can not move sideward Parallel parking, Series of maneuvers Non-holonomic constraint A non-holonomic constraint is a constraint on the feasible velocities of a body So what does that mean? Your robot can move in some directions (forward and backward), but not others (sideward).
Differential Drive • Basic Motion Control • R : Radius of rotation • Straight motion • R = Infinity VR = VL Instantaneous center of curvature (ICC) • Rotational motion • R = 0 VR = -VL
Differential Drive • Velocity Profile 0 3 2 1 0 3 2 1 • : Radius of rotation • : Length of path • : Angle of rotation
Tricycle • Steering and power are provided through the front wheel • control variables: • angular velocity of steering wheel ws(t) • steering direction α(t) d: distance from the front wheel to the rear axle
Tricycle Kinematics model in the world frame ---Posture kinematics model
Synchronous Drive • All the wheels turn in unison • All wheels point in the same direction and turn at the same rate • Two independent motors, one rolls all wheels forward, one rotate them for turning • Control variables (independent) • v(t), ω(t)
Omidirectional Swedish Wheel
R Ackerman Steering (Car Drive) • The Ackerman Steering equation: • :
Ackerman Steering Equivalent:
ICC Y R l X Car-like Robot Driving type: Rear wheel drive, front wheel steering Rear wheel drive car model: : forward velocity of the rear wheels : angular velocity of the steering wheels non-holonomic constraint: l :length between the front and rear wheels
Robot Sensing • Collect information about the world • Sensor - an electrical/mechanical/chemical device that maps an environmental attribute to a quantitative measurement • Each sensor is based on a transduction principle - conversion of energy from one form to another • Extend ranges and modalities of Human Sensing
Electromagnetic Spectrum Visible Spectrum 700 nm 400 nm
Sensors Used in Robot • Resistive sensors: • bend sensors, potentiometer, resistive photocells, ... • Tactile sensors: contact switch, bumpers… • Infrared sensors • Reflective, proximity, distance sensors… • Ultrasonic Distance Sensor • Motor Encoder • Inertial Sensors (measure the second derivatives of position) • Accelerometer, Gyroscopes, • Orientation Sensors: Compass, Inclinometer • Laser range sensors • Vision, GPS, …
high-level Motion Planning: Given a known world and a cooperative mechanism, how do I get there from here ? Localization: Given sensors and a map, where am I ? Vision: If my sensors are eyes, what do I do? Mapping: Given sensors, how do I create a useful map? Abstraction level Bug Algorithms: Given an unknowable world but a known goal and local sensing, how can I get there from here? Kinematics: if I move this motor somehow, what happens in other coordinate systems ? Control (PID): what voltage should I set over time ? low-level Motor Modeling: what voltage should I set now ? Mobot System Overview
What is Motion Planning? without hit obstacles • Determining where to go
References • G. Dudek, M. Jenkin, Computational Principles of Mobile Robots, MIT Press, 2000 (Chapter 5) • J.C. Latombe, Robot Motion Planning, Kluwer Academic Publishers, 1991. • • Additional references • – Path Planning with A* algorithm • • S. Kambhampati, L. Davis, “Multiresolution Path Planning for Mobile Robots”, IEEE Journal of Robotrics and Automation,Vol. RA-2, No.3, 1986, pp.135-145. • – Potential Field • • O. Khatib, “Real-Time Obstacle Avoidance for Manipulators and Mobile Robots”, Int. Journal of Robotics Research, 5(1), pp.90-98, 1986. • • P. Khosla, R. Volpe, “Superquadratic Artificial Potentials for Obstacle Avoidance and Approach” Proc. Of ICRA, 1988, pp.1178- 1784. • • B. Krogh, “A Generalized Potential Field Approach to Obstacle Avoidance Control” SME Paper MS84-484.
Motion Planning Motion Planning: Find a path connecting an initial configuration to goal configuration without collision with obstacles • Configuration Space • Motion Planning Methods • Roadmap Approaches • Cell Decomposition • Potential Fields Assuming the environment is known!
The World consists of... • Obstacles • Already occupied spaces of the world • In other words, robots can’t go there • Free Space • Unoccupied space within the world • Robots “might” be able to go here • To determine where a robot can go, we need to discuss what a Configuration Space is
Configuration Space Notation: A: single rigid object –(the robot) W: Euclidean space where A moves; B1,…Bm: fixed rigid obstacles distributed in W • FW – world frame (fixed frame) • FA – robot frame (moving frame rigidly associated with the robot) Configuration q of A is a specification of the physical state(position and orientation) of A w.r.t. a fixed environmental frame FW. Configuration Space is the space of all possible robot configurations.
Configuration Space Configuration Space of A is the space (C )of all possible configurations of A. Point robot (free-flying, no constraints) C Cfree qslug Cobs qrobot For a point robot moving in 2-D plane, C-space is
Configuration Space C y Cfree qgoal Z Cobs qstart x For a point robot moving in 3-D, the C-spaceis What is the difference between Euclidean space and C-space?
Configuration Space Y A robot which can translate in the plane C-space: 2-D (x, y) X Euclidean space: Y A robot which can translate and rotate in the plane C-space: 3-D (x, y, ) Y X x
Configuration Space b b a a 2R manipulator Configuration space topology
Configuration Space 360 qrobot 270 b 180 b 90 a qslug a 0 45 135 90 180 Two points in the robot’s workspace Torus (wraps horizontally and vertically)
Configuration Space If the robot configuration is within the blue area, it will hit the obstacle 360 qrobot 270 b 180 b 90 a qslug a 0 45 135 90 180 An obstacle in the robot’s workspace a “C-space” representation What is dimension of the C-space of puma robot (6R)? Visualization of high dimension C-space is difficult
Motion Planning Revisit Find a collision free path from an initial configuration to goal configuration while taking into account the constrains (geometric, physical, temporal) C-space concept provide a generalized framework to study the motion planning problem A separate problem for each robot?
What if the robot is not a point? The Pioneer-II robot should probably not be modeled as a point...
What if the robot is not a point? Expand obstacle(s) Reduce robot not quite right ...
Obstacles Configuration Space C-obstacle Point robot