Beyond trial and error…. Establish mathematically how robot should move Kinematics: how robot will move given motor inputs Inverse-kinematics: how to move motors to get robot to do what we want
Robot is at (initial frame) x I,y I,θ I Wants to get to some location but can’t control x I,y I,θ I directly
Robot can know Speeds of wheels: φ 1 …φ n Steering angle of steerable wheels: β 1 …β m Speed with which steering angles are changing: β 1 …β m These define the forward motion of the robot, the forward kinematics: f(φ 1 …φ n, β 1 …β m, β 1 …β m )=[x I,y I,θ I ] T
Want we want Reverse Kinematics [φ 1 …φ n, β 1 …β m, β 1 …β m ] T =f(x I,y I,θ I )
Robot Robot knows how it moves relative to center of rotation Not the same as knowing how it moves in the world Initial Frame Robot Frame
Robot Position: ξ I =[x I,y I,θ I ] T Mapping between frames ξ R =R(θ)ξ I =R(θ)[x I,y I,θ I ] T where R(θ)=
ξ R =R(θ)ξ I Still isn’t what we want… we want the reverse kinematic model ξ I =R(θ) -1 ξ R
If we know the relative changes in x, y, and θ, we can find the global position. How do we know what these values are?
Speed of the wheels Constraints – Movement on a horizontal plane – Point contact of wheels – Wheels are not deformable – Pure rolling: velocity is 0 at contact point – No friction for rotation – Steering axes orthogonal to surface – Wheels connected by rigid frame
Differential Drive Wheels rotate at φ Each wheel contributes rφ/2 to motion of center of rotation Speed = sum of two wheels Rotation due to right wheel is ω r =rφ/2l Counterclockwise about left wheel l is distance between wheels
Differential Drive Rotation due to left wheel: ω l =-rφ/2l Counterclockwise about right wheel Combining components:
Example 1/3 θ=π/2 r=1 l=1 φ l =4, φ r =2 sin(π/2)=1, cos(π/2)=0
Example 2/3 θ=π/4 r l =2, r r =3 l=5 φ l = φ r =6 sin(π/4)=1/√2, cos(π/4)=1/√2
Example 3/3 A Create robot has wheels with a 5 cm radius which are 30 cm apart. Both wheels rotating clockwise at 1 rad per second. What are [x R,y R,θ R ] T in m/s and rad/s? What are [x I,y I,θ I ] T in m/s and rad/s?
Sliding constraint Standard wheel has no lateral motion Move in circle whose center is on “zero motion line” through the axis Instantaneous Center of Rotation
More complex Steered standard wheel Caster wheel More parameters
Differential drive Rotation not constrained Can move in any circle it wants to Easy to move around
Mobile Robot Locomotion Instantaneous center of rotation (ICR) or Instantaneous center of curvature (ICC) –A cross point of all axes of the wheels
Degree of Mobility Degree of mobility The degree of freedom of the robot motion Degree of mobility : 0 Degree of mobility : 2Degree of mobility : 3 Degree of mobility : 1 Cannot move anywhere (No ICR) Fixed arc motion (Only one ICR) Variable arc motion (line of ICRs) Fully free motion ( ICR can be located at any position)
Degree of Steerability Degree of steerability The number of centered orientable wheels that can be steered independently in order to steer the robot Degree of steerability : 0 Degree of steerability : 2Degree of steerability : 1 No centered orientable wheels One centered orientable wheel Two mutually dependent centered orientable wheels Two mutually independent centered orientable wheels
Degree of Maneuverability Degree of Mobility Degree of Steerability The overall degrees of freedom that a robot can manipulate : Examples of robot types (degree of mobility, degree of steerability)
25 Degree of Maneuverability
Holonomic Robots Holonomic kinematic constraint can be expressed as explicit function of position variables only Non-holonomic constraint requires addition information Fixed/steered standard wheels impose non-holonomic constraints
27 Non-holonomic constraint So what does that mean? Your robot can move in some directions (forward and backward), but not others (sideward) The robot can instantly move forward and backward, but can not move sideward Parallel parking, Series of maneuvers A non-holonomic constraint is a constraint on the feasible velocities of a body
28 Kinematic model for car-like robot Control Input Driving type: Forward wheel drive X Y : forward vel : steering vel
29 Kinematic model for car-like robot X Y non-holonomic constraint: : forward velocity : steering velocity
30 Dynamic Model X Y Dynamic model