ROBOTICS 01PEEQW 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 � 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 � Supervision and control : how are the command to actuators generated to perform simple or complex tasks. How to generate tasks Basilio Bona - DAUIN - PoliTo 3 ROBOTICS 01PEEQW - 20152016
Kinematics � robot kinematics depends on the adopted locomotion stuctures � 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 � Various wheels arrangements exist � Each one has a different kinematic model � We will study the following structures � Differential drive robots � Bicycle-like robots � And a brief introduction to quadcopters Basilio Bona - DAUIN - PoliTo 4 ROBOTICS 01PEEQW - 20152016
Examples of underactuated structures � A car has two actuators , thrust and steer, and moves in a 2D space (3dof) � A fixed-wing aircraft has four actuators , forward thrust, ailerons, elevator and rudder, and moves in a 3D space (6dof) � 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 3D space (6dof) � A quadcopter has four actuators , the four rotor thrusts , and moves in a 3D space (6dof) � A ship has three actuators : two propellers on parallel axes and one rudder, and moves in a 2D space (3dof) Basilio Bona - DAUIN - PoliTo 5 ROBOTICS 01PEEQW - 20152016
Instantaneous Curvature Centre (ICC) The wheel axes meet in a common point called ICC ICC If an ICC exists, each wheel rotates without slippage Basilio Bona - DAUIN - PoliTo 6 ROBOTICS 01PEEQW - 20152016
ICC If an ICC does not exist, the wheel motion occurs with slippage ? wheels slip = skid steering Basilio Bona - DAUIN - PoliTo 7 ROBOTICS 01PEEQW - 20152016
Kinematics of a wheeled robot (aka rover) β � the steering angle is the angle between the velocity vector ( ) t and the steered wheel direction � is equivalent to the angle between the normal to the velocity vector and the steered wheel rotation axis � the robot pose is the position and the orientation (with respect to some give inertial axis) T ( ) = θ p ( ) t x y β θ θ − θ cos sin 0 0 = θ θ R sin cos 0 m 0 0 1 Basilio Bona - DAUIN - PoliTo 8 ROBOTICS 01PEEQW - 20152016
Kinematics j W R W δ α ω W i W j d m = r ϕ ɺ v R α m y ω i m m R 0 x Basilio Bona - DAUIN - PoliTo 9 ROBOTICS 01PEEQW - 20152016
Kinematics – Fixed wheel The kinematic model α δ represents a rover frame , with a generic active non- ( ) T = α α d d cos d sin 0 steering wheel, located at a given position, with a local orientation given constants The kinematic equations describe the relations and ( ) T Linear velocity of the wheel = v v v 0 constraints between the at the contact point with the x y wheel angular velocity and plane the angular velocity of the ( ) T frame ω = ω ω 0 Angular velocity of the wheel W Wx Wy ( ) T ω = ω 0 0 Angular velocity of the robot m mz Basilio Bona - DAUIN - PoliTo 10 ROBOTICS 01PEEQW - 20152016
Kinematic constraints Constraints: Hypothesis 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 m wheel ω = ϕ ɺ W = ϕ ɺ v r In the wheel reference frame we have T ( ) ɺ T ω = θ 0 0 1 m ( ) T ω = ϕ ɺ 0 1 0 W T ( ) = ϕ ɺ v 1 0 0 r Basilio Bona - DAUIN - PoliTo 11 ROBOTICS 01PEEQW - 20152016
Differential Drive (DD) Rover Left wheel, active, non steering Passive support (castor, omniwheel) Right wheel, active, non steering Basilio Bona - DAUIN - PoliTo 12 ROBOTICS 01PEEQW - 20152016
Differential Drive Rover j m Left wheel ℓ r 2 i k ℓ m m 2 Right wheel Basilio Bona - DAUIN - PoliTo 13 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics ICC ( ) ɺ θ t ( ) v ℓ t R m ( ) v t ( ) v r t R 0 Basilio Bona - DAUIN - PoliTo 14 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics ( ) v ℓ t ( ) ɺ θ t ICC ( ) v t ( ) v r t R 0 Basilio Bona - DAUIN - PoliTo 15 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics ICC Consider the generic time instant C i v ℓ ρ v i v r ℓ Basilio Bona - DAUIN - PoliTo 16 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics v r v v ℓ R m after C i δθ t v ℓ r > v v ℓ Turn left v > v v Turn right ℓ r v θ r R m before Basilio Bona - DAUIN - PoliTo 17 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics C ik ��� � AB = t δθ k B s ℓ k s k s A δθ 2 rk k Basilio Bona - DAUIN - PoliTo 18 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics v k δθ k − ρ j C θ ik rk ik k δθ k t k + 1 v c k j ik 0 θ ρ j k ik rk 0 t rk R i 0 0 Basilio Bona - DAUIN - PoliTo 19 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics Basilio Bona - DAUIN - PoliTo 20 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics Considering the sampled time equations and assuming constant values during the time interval − ρ θ C x sin xk k k k = = ICC + ρ θ C y cos k yk k k k − − v v s s ω = δθ = ; rk ℓ k rk ℓ k k k ℓ ℓ ω ρ + = ( ℓ / 2) v + v v k k rk = v rk ℓ k ω ρ − = ( ℓ / 2) v k 2 k k ℓ k + v ( v v ) ℓ ρ = = k rk ℓ k k ω − 2 ( v v ) k rk ℓ k Basilio Bona - DAUIN - PoliTo 21 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics t t ∫ ∫ = θ τ τ τ = θ τ τ τ x t ( ) cos ( ) ( ) d ; v y t ( ) sin ( ) ( ) d ; v 0 0 t ∫ θ = ω τ τ t ( ) ( ) d 0 Approximation when sampling period is small d ω = θ ⇒ ω θ − θ δθ T ≃ ≐ + k k k 1 k k d t δθ − δθ − x cos( ) sin( ) 0 x C C + k 1 k k k xk xk = δθ δθ − + y sin( ) cos( ) 0 y C C (A) + k 1 k k k yk yk θ θ δθ 0 0 1 + k 1 k k Basilio Bona - DAUIN - PoliTo 22 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics EULER APPROXIMATION = + θ x x v T cos k + 1 k k k = + θ y y v T sin k + 1 k k k θ = θ + ω T + k 1 k k Basilio Bona - DAUIN - PoliTo 23 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics RUNGE-KUTTA APPROXIMATION 1 = + θ + ω x x v T cos T + k 1 k k k k 2 1 = + θ + ω y y v T sin T + k 1 k k k k 2 θ = θ + ω T + k 1 k k Basilio Bona - DAUIN - PoliTo 24 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics EXACT INTEGRATION ω ( ) = + θ − θ x x sin sin k + + k 1 k k 1 k v k ω ( ) (B) = − θ − θ y y k cos cos + + k 1 k k 1 k v k θ = θ + ω T + k 1 k k (A) and (B) are the same Basilio Bona - DAUIN - PoliTo 25 ROBOTICS 01PEEQW - 20152016
Differential Drive Kinematics Basilio Bona - DAUIN - PoliTo 26 ROBOTICS 01PEEQW - 20152016
Path Planning Basilio Bona - DAUIN - PoliTo 27 ROBOTICS 01PEEQW - 20152016
Path Planning free space obstacles final pose final pose 2D initial pose initial pose Basilio Bona - DAUIN - PoliTo 28 ROBOTICS 01PEEQW - 20152016
Path Planning F I 3D Basilio Bona - DAUIN - PoliTo 29 ROBOTICS 01PEEQW - 20152016
Path Planning A robot path from pose A to pose B can always be decomposed into a series of arcs of different radius � arcs of zero radius represent turn-in-place maneuvers � arcs of infinite radius represents straight line maneuvers Basilio Bona - DAUIN - PoliTo 30 ROBOTICS 01PEEQW - 20152016
Path Planning Driving a vehicle to a goal (no orientation specified) x y , f f relative to frame R − θ A R A − ρ (0,0) (0, ) Basilio Bona - DAUIN - PoliTo 31 ROBOTICS 01PEEQW - 20152016
Recommend
More recommend