ROBOTICS 01 PEEQW Basilio Bona DAUIN Politecnico di
ROBOTICS 01 PEEQW Basilio Bona DAUIN – Politecnico di Torino
Mobile & Service Robotics Kinematics
Fundamental problems in mobile robotics Locomotion: how the robot moves in the environment Perception: how the robot perceives the environment Mapping: how to build the map of the environment Localization: where is the robot wrt the map Representation: how the robot organizes the knowledge about the environment o Path planning/action planning: what the robot shall do to go from here to there; what are the actions to be performed to complete a specified task o Supervision and control: how are the command to actuators generated to perform simple or complex tasks. How to generate tasks o o o Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 3
Kinematics o robot kinematics depends on the adopted locomotion stuctures o Almost all mobile robots are underactuated, i. e. , they have less actuators (and the relative control signals) that is less than the number of degrees of freedom of the structure o Various wheels arrangements exist o Each one has a different kinematic model o We will study the following structures n Differential drive robots n Bicycle-like robots n And a brief introduction to quadcopters Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 4
Examples of underactuated structures o A car has two actuators, thrust and steer, and moves in a 2 D space (3 dof) o A fixed-wing aircraft has four actuators, forward thrust, ailerons, elevator and rudder, and moves in a 3 D space (6 dof) o A helicopter has four actuators: thrust vector magnitude and direction from the main rotor, and yaw moment from the tail rotor, and moves in a 3 D space (6 dof) o A quadcopter has four actuators, the four rotor thrusts , and moves in a 3 D space (6 dof) o A ship has three actuators: two propellers on parallel axes and one rudder, and moves in a 2 D space (3 dof) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 5
Instantaneous Curvature Centre (ICC) The wheel axes meet in a common point called ICC If an ICC exists, each wheel rotates without slippage Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 6
ICC If an ICC does not exist, the wheel motion occurs with slippage ? wheels slip = skid steering Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 7
Kinematics of a wheeled robot (aka rover) o the steering angle is the angle between the velocity vector and the steered wheel direction o is equivalent to the angle between the normal to the velocity vector and the steered wheel rotation axis o the robot pose is the position and the orientation (with respect to some give inertial axis) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 8
Kinematics Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 9
Kinematics – Fixed wheel The kinematic model represents a rover frame with a generic active nonsteering wheel, located at a given position, with a local orientation The kinematic equations describe the relations and constraints between the wheel angular velocity and the angular velocity of the frame given constants Linear velocity of the wheel at the contact point with the plane Angular velocity of the wheel Angular velocity of the robot Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 10
Kinematic constraints Hypothesis Constraints: To avoid slippage the tangential velocity at the wheel contact point, due to the rover rotation around its center, must be equal to the advance velocity of the wheel In the wheel reference frame we have Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 11
Differential Drive (DD) Rover Left wheel, active, non steering Passive support (castor, omniwheel) Right wheel, active, non steering Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 12
Differential Drive Rover Left wheel Right wheel Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 13
Differential Drive Kinematics ICC Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 14
Differential Drive Kinematics ICC Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 15
Differential Drive Kinematics ICC Consider the generic time instant Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 16
Differential Drive Kinematics after Turn left Turn right before Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 17
Differential Drive Kinematics Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 18
Differential Drive Kinematics Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 19
Differential Drive Kinematics Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 20
Differential Drive Kinematics Considering the sampled time equations and assuming constant values during the time interval Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 21
Differential Drive Kinematics Approximation when sampling period is small (A) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 22
Differential Drive Kinematics EULER APPROXIMATION Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 23
Differential Drive Kinematics RUNGE-KUTTA APPROXIMATION Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 24
Differential Drive Kinematics EXACT INTEGRATION (B) (A) and (B) are the same Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 25
Differential Drive Kinematics Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 26
Path Planning Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 27
Path Planning free space obstacles final pose 2 D initial pose Basilio Bona - DAUIN - Poli. To initial pose ROBOTICS 01 PEEQW - 20152016 28
Path Planning F I 3 D Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 29
Path Planning A robot path from pose A to pose B can always be decomposed into a series of arcs of different radius o arcs of zero radius represent turn-in-place maneuvers o arcs of infinite radius represents straight line maneuvers Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 30
Path Planning Driving a vehicle to a goal (no orientation specified) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 31
Path Planning Driving a vehicle to a goal (orientation specified) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 32
Path Planning Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 33
Path Planning Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 34
Unicycle is the simplest example of a wheeled robot. It consists of a single actuated steering wheel �is the steering velocity states/coordinates control commands (underactuated) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 35
Unicycle motion Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 36
Unicycle-like robot (polar coordinates) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 37
Bicycle-like robot NON HOLONOMIC CONSTRAINT steering angle orientation Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 38
Bicycle equations 1 1) 2) 1’) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 39
Bicycle equations 2 Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 40
Bicycle equations 3 Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 41
Bicycle equations 5 Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 42
Bicycle vs unicycle motion Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 43
Quadcopters Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 44
Quadcopter model Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 45
Quadcopter equations Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 46
Quadcopter equations Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 47
Quadcopter equations Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 48
Quadcopter equations Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 49
Odometry is the estimation of the successive robot poses based on the wheel motion. Wheel angles are measured and used for pose computation Odometric errors increase with the distance covered, and are due to many causes, e. g. o Imperfect knowledge of the wheels geometry o Unknown contact points: in the ideal DD robot there are two geometric contact points between wheels and ground. In real robots the wheels are several centimeters wide and the actual contact points are undefined o Slippage of the wheel wrt the terrain Errors can be compensated sensing the environment around the robot and comparing it with known data (maps, etc. ) Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 50
Odometry Errors Desired path Estimated path based only on odometry Map Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 51
Visual odometry is the estimation of the robot poses based only on the acquisition of successive images of the environment Stereo visual odometry uses two cameras to estimate the egomotion of a camera by tracking features in a video sequence. If the camera system is calibrated then the full 3 D Euclidean geometry can be reconstructed Using a single camera, the reconstruction is up to an unknown scale factor A RGB-D (Kinect or similar) camera can be used Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 52
Other important problems that must be addressed 1. Mapping: how to build environment maps (geometrical vs semantic maps) 2. Localization: where am I in the map? 3. Simultaneous Localization and Mapping (SLAM): build a map and at the same time localize the robot in the map while moving 4. Path planning: the definition of an “optimal” geometric path in the environment from A to B, and avoid obstacles Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 53
Path Planning – A map is given o Path planning algorithm: it computes which route to take, from the initial to the final pose, based on the current internal representation of the terrain possibly considering a “cost function” (minimum time, minimum energy, maximum comfort, etc. ) o Complete path generation: the path is created as a sequence of successive moves from the initial pose to the final one o Motion planning: is the execution of the above defined theoretical route; it translates the plan from the internal representation to the physical movement of the wheels o Next move selection: at each step, the algorithm must decide which way to move next. An efficient dynamic implementation is required Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 54
Path Planning Cartographer Mission Planner Behaviors How am I going to get there? deliberative Navigation reactive § Where am I going? Mission planning § What’s the best way there? Path planning § Where have I been? Map making § Where am I? Localization Introduction to AI Robotics (MIT Press) Robin Murphy 2000 Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 55
Path Planning B Mobile obstacles Fixed obstacles Velocity constraints Acceleration constraints A Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 56
Path Planning Which commands shall I give to the rover? Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 57
Path Planning B Final pose Path B Path A A Basilio Bona - DAUIN - Poli. To Initial pose ROBOTICS 01 PEEQW - 20152016 58
Motion Planning B Move 3: rotation Final pose Move 2: go straight A Move 1: rotation Initial pose Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 59
Non-holonomic constraints o Non-holonomic constraints limit the possible incremental movements in the configuration space of the robot o Robots with differential drive move on a circular trajectory and cannot move sideways o Omni-wheel robots can move sideways Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 60
Holonomic vs. Non-Holonomic o Non-holonomic constraints reduce the control space with respect to the current configuration (e. g. , moving sideways is impossible) o Holonomic constraints reduce the configuration space Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 61
Academic year 2010/11 by Prof. Alessandro De Luca Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 62
Academic year 2010/11 by Prof. Alessandro De Luca Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 63
Academic year 2010/11 by Prof. Alessandro De Luca Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 64
Academic year 2010/11 by Prof. Alessandro De Luca Basilio Bona - DAUIN - Poli. To ROBOTICS 01 PEEQW - 20152016 65
- Slides: 65