Introduction to Mobile Robotics and Mechatronics: Kinematics and Modeling
Explore the fundamentals of mobile robotics and mechatronics, focusing on kinematics and modeling techniques for N-wheel robots. Learn about rolling and sliding constraints, and see examples of differential drive systems in action. Dive into the complexities of robot kinematics and the integration of equations for accurate motion control.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
a.a. 2020-2021 Robotics and Mechatronics Mobile Robots Part I.2
Mobile Robotics MOBILE ROBOT KINEMATICS
Robot kinematics We need to go from single-wheel models to a model for a N-wheel robot: Let s assume ? standard wheels: ?? fixed ?? steerable We need to combine the rolling and sliding constraints equations for each wheel. Let s consider: Fixed wheels ?? ?? ? ? = Steerable wheels
Rolling constraints Combine the rolling constraints: ?1 0 0 0 ?2 0 0 0 ?? ?1??? ? ?? ?2 ? = 0 sin ?1+ ?1 cos ?1+ ?1 ?cos ?1 ?1?= ?? 3 = sin ???+ ??? cos ???+ ??? ?cos ??? ?1? ?1??? cos ???+1+ ???+1 sin ???+1+ ???+1 ?sin ???+1 ?1?= ?? 3 = cos ???+??+ ???+?? sin ???+??+ ???+?? ?sin ???+??
Sliding constraints Combine the sliding constraints: ?1??? ? ??= 0 where, ?1? ?? 3 ?? 3 ?1?? = = ?1???
Model We can finally join the equations: ?1?? ?1?? ?2 ? 0 Rolling constraints ? ? ??= Sliding constraints thus ?1?? ?1?? 1 ?2 ? 0 ??= ? 1?
?1?? ?1?? 1 ?2 ? 0 ??= ? 1? ?? 2+?? 0 ?? +?+?? 2 ??= ? 1? ? Time integration ??? + ?? = ??? + ????
Example: differential drive ? = ? ? =? ? = ? Right wheel: 2, ? = 0 ? Left wheel: 2, sin ? + ? cos ? + ? ?cos ? ? ? ?? ? ? = 0 ?1?? ?1?? 1 1 0 0 1 ? ?1? ?1? ? = = ? 0 cos ? + ? sin ? + ? ?sin ? 0 ? ? ??= 0 Same sliding constraint! And, 1 2 0 1 2? 1 2 0 0 ?1?? ?1?? 1 ?2 ? 0 ?2 ? 0 ??= ? 1? = ? 1? 1 1 0 2? ? and that ?2 is the matrix or the radii of the wheels, thus, ?1 ?2 Remember that ? = ?1 ?2 ?1 ?1 ?2 ?2 0 ?1 0 0 ?2 0 ?2 ? 0 1 2 0 1 2? 1 2 0 ?1 ?1 2 +?2 ?2 = = 0 ?1 ?1 ?2 ?2 0 2 ??= ? 1? = ? 1? 1 0 ?2 ?2 1 ?1 ?1 2? 0 2? 2?
Example: differential drive ??= ?? ??! ?? 2+?? 0 ?? +?+?? ?1 ?1 2 +?2 ?2 2 2 ??= ? 1? ??= ? 1? 0 ?2 ?2 ?1 ?1 2? ? 2? ? = 2?!
Example: bicycle Wheel 1 Sliding constraint ? cos ?1+ ?1 + ?sin ?1+ ?1 + ?1 ?sin?1= 0 Rolling constraint ? sin ?1+ ?1 ?cos ?1+ ?1 ?1 ?cos?1 ?1?1= 0 Wheel 2 The same applies for the other wheel, with parameters ?2,?2,?2,?2and ?2 Since the motor wheel is on the rear-wheel, we can discard the rolling constraint equation for wheel 2! However, the sliding constraint on wheel 2 must still be enforced! Wheel 1 Wheel 2 cos ?1+ ?1 sin ?1+ ?1 cos ?2+ ?2 sin ?1+ ?1 cos ?1+ ?1 sin ?2+ ?2 ?1sin?1 ?1cos?1 ?2sin?2 ? ? ? 0 = 0 ?1 ?1 0
Exercise ? Distance between wheels ? Radius of the wheel (only graphical) ? Linear speed of the robot ? Angle of the robot in global frame ? Steering angle ? Steering angle ?,? Position of the robot in global frame Bicycle
Exercise ?? Timestep ???? Time at which the simulation ends ? Initial time Bicycle
Exercise Initialization cos ?1+ ?1 sin ?1+ ?1 cos ?2+ ?2 sin ?1+ ?1 cos ?1+ ?1 sin ?2+ ?2 ?1sin?1 ?1cos?1 ?2sin?2 Get ?2 from the steering angle Set the motor to the rear-wheel 0 ?2= ?1 ?1 0 cos? sin? 0 sin? cos? 0 0 0 1 ? 1? = ??= ? 1? Bicycle ??
Exercise Time integration ? ? + ?? = ? ? + ??? Mainly for graphic purpose Save trajectories of the robot origin ?,? and of the steering axis Bicycle Plot
Mobile robot kinematics EXERCISES
Mobile Robotics MOBILITY
Kinematics: recap Kinematics for mobile robots: ?1?? ?1?? ?2 ? 0 Rolling constraints ? ? ??= Sliding constraints thus ?1?? ?1?? 1 ?2 ? 0 ??= ? 1?
Rolling constraints ?1?? ?1?? Mobility ?2 ? 0 ? ? ??= Sliding constraints We have a lateral zero-slip constraint This is valid for each wheel It can be specified separately for fixed and steerable wheels: Motion vector ?1?? ? ??= 0 and, ? ? ?? ker ?1?? ?1???? ? ??= 0 ?1?? Motion vector ?? Projection matrix Sliding constraints
Mobility Geometrical proof Solutions Instantaneous Centre of Rotation It is the single solution that allows mobility Zero motion lines
Mobility Examples
Kinematics: Omnidirectional robot Necessary conditions: No single point should exist where all the axes of the rollers intersect Same with parallel axes If not, then the system is labile.
Mobility In general, the degree of mobility ?? is a function of the set of independent constraints. related to the ???? of a matrix: Number of independent constraints ??= 3 ???? ?1?? It should be: ???? ?1 [0,3] Unrestrained motion Unmovable
Steerability Degree of steerability ??= ???? ?1??? ?? [ 0 , 2 ] Examples: Differential drive robot: ???? = 0, ??= 0 Bicycle: ???? = 1, ??= 1 Omni wheel robot: ???? = 0, ??= 0 Rolling constraints ?1?? ?1? ?1??? ?2 ? 0 ? ? ??= Sliding constraints
Example Fixed wheels ??= 2 ??= 2 Steered wheels However: Rear wheel: Common axle same sliding constraint ???? ?1? = 1 Front wheel: Both wheels must have the same ICR inter-dependent rolling/sliding constraint ???? ?1? = 1 Thus: ??= 1 ??= 1
Maneuverability Degree of maneuverability: ??= ??+ ?? Includes both the direct d.o.f. (wheel spin ?) and indirect d.o.f. (??) Some examples:
This part not clear: C the joint is the space of poses so they are made of different stuff. Mobile robot workspace Workspace: Possible configurations ? in the configuration space ?: ? ? The point is that for a n system we can have that every point in WS can be connected to a point in the C However, the following is possible: ??< dim ? Thus, even if dim(C 2, dim(W) can be = 3. Which means that the robot can have ??= 2 and a workspace of dim ? = 3!
Example dim? = 3! Indeed, the robot can reach every possible triplet ?,?,?? ? ??= 1 + 1 = 2
DDOF Differentiable Degrees of Freedom Given by the kinematic constraints (admissible velocity space) Example: Always: n ???? = ?? n ???? ?? ? ???
a.a. 2020-2021 Robotics Mobile Robots Part I.07
Mobile Robotics NON-HOLONOMIC CONSTRAINTS
Non-holonomic Constraints Holonomic constraints Must have the following form: ?1, ,??,? = 0 OR integrated in the same form. Constraint on positional coordinates Non-holonomic constraints Constraints acting on velocities ?1, , ?? Only if not integrable Not expressible in the previous form
Non-holonomic Constraints Any wheeled vehicle is subject to kinematic constraints that reduce in general its local mobility, while leaving intact the possibility of reaching arbitrary configurations by appropriate maneuvers. Example: It is impossible to move a car instantaneously in the direction orthogonal to the forward direction. The same car can perform a S-manoeuver: the result is a displacement in the orthogonal direction!
Holonomic/Non-holonomic constraints Pure rolling, no slip ? = ??is holonomic Constraint on a coordinate (?) In form: ? ??= ? = 0 ? P ? ? ? ?? ??= 0 is non-holonomic Constraint on velocity Not ascribable to the form: ?? = 0 ? ??= 0 ? The system is non-holonomic
Holonomic Constraints Given configuration ? Holonomic constraints (Positional constraints) ?? = 0,? = 1, ,? < ? reduce the configuration space ? to ? ? ? is the number of constraints ? is the number of coordinates Example: Point in space vs. point in plane
Non-holonomic Constraints Dependent both on position and velocity! Kinematic constraints ???, ? = 0 In Pfaffian form (linear on velocity): ?? ? = 0 or ??? ? = 0 ?? ? holonomous constr. ? kinematic constr. ? holonomic constraints! ? ?? ?? =? ?? ? = 0 ?? ? kinematic constr ? holonomous constr. ? non-holonomic constraints!
Non-holonomic Constraints ?? ? = 0 Consider a Pfaffian constraint: ?? If holonomous, integration is possible: Linear! ? ? ?? = ? ? ??? , ? ? 0 ? ? ?? = ? ? ??? ?? = ? ? = 0 ? = 0 ?? There is loss of accessibility of ?. Motion is confined in a tangent surface ??of ? of value ?: Note: the proof of this is a little too involved for us: it revolves around the Frobenius Theorem and Lie brackets theory. dim ?? = ? ?
Non-holonomic Constraints To summarize: Non-holonomic constraints are representable only as constraints on velocities and not on positions. Whatever kinematic constraint that is representable as a positional constraint is holonomic.
Non-holonomic Constraints If non-holonomous Velocities ? are constrained in a vector subspace of ? Since ?? for ? (position) in ?. ?? ? = 0 is non-integrable, there is no limitation Non-holonomic systems always have complete accessibility of the entire configuration space ?.
Model derivation ?? ? = 0 defines ? ? ? ker??? ? :??? The Pfaffian constraint ?? ? = 0 is a base of??? , then the possible If ?1? , ,??? instantaneous trajectories (admissible velocities) are solutions of: ? ? = ??? ??= G ? ?, ? = ? ? ?=1 where ? ?configuration or state vector, ? ?input vector The base ?1, ,??is arbitrary, usually such as that ??are physical quantities (which are controllable!!) Since ? is a base, ? can be whatever linear combination using ?? as coefficients That is: ? = ? ? ? = ?1? ?1+ + ??? ??
Kinematics: unicycle The wheel can roll and rotate along the vertical axis Configuration: ? = ? ? ? ?? ?? ? ??! ??= ? ? Pure roll constraint: ??= 0 = ?cos? ?sin? ?? cos? = cos?, sin?,0 ? = 0 ? = 0 ! If ?1and ?2are bases of ker??? cos? sin? 0 0 0 1 ? ? = ?1? ?2? = Model: ? ? ? cos? sin? 0 0 0 1 cos? sin? 0 0 0 1 ?1 ?2 ? ? ? = = ? ? ? = ==
Kinematics: differential steering ?? ?? Similar model to the unicycle ? cos? sin? 0 0 0 1 ???= 0 ???= 0 ? = ? Special case: Input vector: ? = ?? ?? Relation to ?,??: ? ? =??+?? ? =?? ?? , 2 ? 12cos? 12cos? 12sin? 1 12sin? ?? ? ? ? Model: ? = = ?? 1 ? ?
Kinematics: bicycle Part 1 ? = ? ? ? ?T Two constraints: Rear: ? sin? ?cos? = 0 Front: ??sin ? + ? ??cos ? + ? = 0 Rigid body constraint: ??= ? + ?cos? ??= ? + ?sin? Pfaffian constraint matrix: sin? cos? cos ? + ? 0 0 0 ??? = sin ? + ? ? cos ?
Kinematics: bicycle Part 2 sin? cos? cos ? + ? 0 0 0 ??? = sin ? + ? ? cos ? Since dim ker ??? ? ? ? ? We can choose ?2= ? steering speed What about ?1? Front wheel drive: ?1= ? Rear wheel drive: ?1= ? ? ? ? = ? ? = 2 we can define 2 inputs ?1and ?2 0 0 0 1 cos?cos? sin????? sin? /? 0 ? = = ?1+ ?2 ? cos ? cos? sin? tan? /? 0 0 0 0 1 ? = = ? +
Mobile Robotics CONTROL
Control problem Our kinematics model gives us: ?1?? ?1?? 1 ?2 ? 0 ??= ? 1? We need to control ? in order to produce a motion vector ??in the global frame.
Control problem Controlling ? means controlling for example: The rotational speed of the wheels ??and ?? ?? ??