Download presentation
Presentation is loading. Please wait.
Published byAlexia Simpson Modified over 9 years ago
1
Wheeled Robots ~ 1.5 cm to a side temperature sensor & two motors travels 1 inch in 3 seconds untethered !!
2
Other mini machines Pocketbot Khepera “Cricket” radio unit linear vision gripper video 55mm dia. base
3
Forward Kinematics of Differential drive
4
1) Specify system measurements 2) Determine the point (the radius) around which the robot is turning. 3) Determine the speed at which the robot is turning to obtain the robot velocity. 4) Integrate to find position. Kinematics of Differential drive Differential Drive is the most common kinematic choice All of the miniature robots… Pioneer, Rug warrior - difference in wheels’ speeds determines its turning angle VRVR VLVL Questions (forward kinematics) Given the wheel’s velocities or positions, what is the robot’s velocity/position ? Are there any inherent system constraints?
5
1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) x y 2d - consider possible coordinate systems Kinematics of Differential drive
6
1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) x y 2d - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. Kinematics of Differential drive – radius of turning ICC “instantaneous center of curvature”
7
1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) x y 2d - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. ICC “instantaneous center of curvature” - to minimize wheel slippage, this point (the ICC) must lie at the intersection of the wheels’ axles - each wheel must be traveling at the same angular velocity Kinematics of Differential drive – angular velocity = angular velocity
8
1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) x y 2d - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. ICC “instantaneous center of curvature” - to minimize wheel slippage, this point (the ICC) must lie at the intersection of the wheels’ axles - each wheel must be traveling at the same angular velocity around the ICC Kinematics of Differential drive
9
1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) 2d - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. ICC - each wheel must be traveling at the same angular velocity around the ICC R robot’s turning radius 3) Determine the robot’s speed around the ICC and its linear velocity R+d) = V L R-d) = V R x y Kinematics of Differential drive
10
1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) 2d - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. ICC - each wheel must be traveling at the same angular velocity around the ICC R robot’s turning radius 3) Determine the robot’s speed around the ICC and then linear velocity R+d) = V L R-d) = V R Thus, = ( V R - V L ) / 2d R = 2d ( V R + V L ) / ( V R - V L ) x y Kinematics of Differential drive ICC “instantaneous center of curvature”
11
1) Specify system measurements VRVR VLVL 2d - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. ICC - each wheel must be traveling at the same angular velocity around the ICC R robot’s turning radius 3) Determine the robot’s speed around the ICC and then linear velocity R+d) = V L R-d) = V R Thus, = ( V R - V L ) / 2d R = 2d ( V R + V L ) / ( V R - V L ) x y robot’s velocity So, the robot’s velocity is V = R = ( V R + V L ) / 2 Kinematics of Differential drive – robot’s velocity
12
4) Integrate to obtain position VRVR VLVL 2d ICC R(t) robot’s turning radius (t) = ( V R - V L ) / 2d R = 2d ( V R + V L ) / ( V R - V L ) V = R = ( V R + V L ) / 2 What has to happen to change the ICC ? V x = V(t) cos( (t)) V y = V(t) sin( (t)) with x y Kinematics of Differential drive – integrate to obtain position ICC “instantaneous center of curvature” V(t) Vx (t)
13
4) Integrate to obtain position VRVR VLVL 2d ICC R(t) robot’s turning radius (t) = ( V R - V L ) / 2d R = 2d ( V R + V L ) / ( V R - V L ) V = R = ( V R + V L ) / 2 V x = V(t) cos( (t)) V y = V(t) sin( (t)) with x y x(t) = ∫ V(t) cos( (t)) dt y(t) = ∫ V(t) sin( (t)) dt (t) = ∫ (t) dt Thus, Kinematics of Differential drive
14
Velocity Components VRVR VLVL 2d ICC R(t) robot’s turning radius (t) Thus, = ( V R - V L ) / 2d R = 2d ( V R + V L ) / ( V R - V L ) V = R = ( V R + V L ) / 2 What has to happen to change the ICC ? V x = V(t) cos( (t)) V y = V(t) sin( (t)) x(t) = V(t) cos( (t)) dt y(t) = V(t) sin( (t)) dt (t) = (t) dt with x y Kinematics Kinematics of Differential drive – velocity components speed
15
ForwardKinematics of Synchro Drive
16
Nomad 200 wheels rotate in tandem and remain parallel all of the wheels are driven at the same speed Where is the ICC ? Kinematics of Synchro drive – wheels synchronized
17
Nomad 200 wheels rotate in tandem and remain parallel all of the wheels are driven at the same speed x y V wheels V robot = V wheels robot = wheels x(t) = V wheels (t) cos( (t)) dt y(t) = V wheels (t) sin( (t)) dt (t) = (t) dt position velocity simpler to control, but... ICC at Kinematics of Synchro drive – velocity and position
18
Nomad 200 wheels rotate in tandem and remain parallel all of the wheels are driven at the same speed Question (forward kinematics) Given the wheel’s velocities or positions, what is the robot’s velocity/position ? Are there any inherent system constraints? 1) Choose a robot coordinate system 2) Determine the point (the radius) around which the robot is turning. 3) Determine the speed at which the robot is turning to obtain the robot velocity. 4) Integrate to find position. Kinematics of Synchro drive – forward kinematics
19
Synchro Drive using Lego more difficult to build. this light sensor follows the direction of the wheels, but the RCX is stationary also, four bump sensors and two motor encoders are included But how do we get somewhere?
20
Inverse Kinematics of Differential Drive
21
Inverse Kinematics – the problem Key question: Given a desired position or velocity, what can we do to achieve it? V R (t) V L (t) starting position final position x y
22
Key question: Given a desired position or velocity, what can we do to achieve it? V R (t) V L (t) starting position final position x y Inverse Kinematics – one solution
23
Key question: Given a desired position or velocity, what can we do to achieve it? V R (t) V L (t) starting position final position x y Inverse Kinematics – another solution
24
Key question: Given a desired position or velocity, what can we do to achieve it? V R (t) V L (t) starting position final position x y Need to solve these equations: for V L (t) and V R (t). x = V(t) cos( (t)) dt y = V(t) sin( (t)) dt = (t) dt = ( V R - V L ) / 2d V = R = ( V R + V L ) / 2 There are lots of solutions... Inverse Kinematics – many numerical solutions to equations
25
V R (t) V L (t) starting position final position x y Finding some solution is not hard, but finding the “best” solution is very difficult... quickest time most energy efficient smoothest velocity profiles V L (t) t Key question: Given a desired position or velocity, what can we do to achieve it? It all depends on who gets to define “best”... Inverse Kinematics – finding the best solution
26
Usual approach: decompose the problem and control only a few DOF at a time V R (t) V L (t) starting position final position x y Differential Drive Inverse Kinematics - decomposition
27
Usual approach: decompose the problem and control only a few DOF at a time V R (t) V L (t) starting position final position x y Differential Drive (1) turn so that the wheels are parallel to the line between the original and final position of the robot origin. -V L (t) = V R (t) = V max Inverse Kinematics – decomposition for Differential Drive
28
Usual approach: decompose the problem and control only a few DOF at a time V R (t) V L (t) starting position final position x y Differential Drive (1) turn so that the wheels are parallel to the line between the original and final position of the robot origin. (2) drive straight until the robot’s origin coincides with the destination -V L (t) = V R (t) = V max V L (t) = V R (t) = V max Inverse Kinematics
29
Usual approach: decompose the problem and control only a few DOF at a time V R (t) V L (t) starting position final position x y Differential Drive (1) turn so that the wheels are parallel to the line between the original and final position of the robot origin. (2) drive straight until the robot’s origin coincides with the destination (3) rotate again in order to achieve the desired final orientation -V L (t) = V R (t) = V max V L (t) = V R (t) = V max -V L (t) = V R (t) = V max V L (t) t V R (t) Inverse Kinematics
30
Inverse Kinematics of Synchro Drive
31
Usual approach: decompose the problem and control only a few DOF at a time V(t) (t) starting position final position x y Synchro Drive (1) turn so that the wheels are parallel to the line between the original and final position of the robot origin. (2) drive straight until the robot’s origin coincides with the destination (3) rotate again in order to achieve the desired final orientation (t) = max V(t) = V max (t) = max sometimes it’s not so easy to isolate one or two DOF... Inverse Kinematics of Synchro Drive
32
Other wheeled robots tricycle drive Doubly-steered bicycle one more -- that roaming desk one more -- that roaming tatami mat (holonomic) & the XR4000 Ackerman drive
33
front wheel is powered and steerable back wheels tag along... Mecos tricycle-drive robot Kinematics of Tricycle drive
34
Kinematics of Four-wheel Steering
35
Four-wheel Steering V BL V BR V FR V FL wheels have limited turning angles no in-place rotation small space for parking and maneuvers The kinematic challenges of parallel parking:
36
Ackerman Steering V BL V BR V FR V FL x y IC C RR LL Similar to a tricycle-drive robot gg r g d d V FR = sin( R ) r = g tan( R ) + d determines
37
V BL V BR V FR V FL x y IC C RR LL But this is just the cab... gg r g d d V FR = sin( R ) r = g tan( R ) + d determines The other wheel velocities are now fixed! gg V FL = sin( L ) L = tan -1 (g / (r + d)) (r - d) = V BR (r + d) = V BL Similar to a tricycle-drive robot Ackerman Steering
38
The Big Rigs 5 link trailer 2 controlled angles Applications Parking two trailers
39
Holonomic Robots
40
nonholonomicity All of the robots mentioned share an important (if frustrating) property: they are nonholonomic. - makes it difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking
41
All of the robots mentioned share an important (if frustrating) property: they are nonholonomic. By definition, a robot is nonholonomic if it can not move to change its pose instantaneously in all available directions. - makes it difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking i.e., the robot’s differential motion is constrained. two DOF are freely controllable; the third is inaccessible Synchro Drivenonholonomicity
42
Holonomic Robots Navigation is simplified considerably if a robot can move instantaneously in any direction, i.e., is holonomic. tradeoffs in locomotion/wheel design Mecanum wheelsOmniwheels if it can be done at all...
43
Killough’s Platform Nomad XR4000 synchro drive with offsets from the axis of rotation Holonomic Robots
44
Holonomic hype “The PeopleBot is a highly holonomic platform, able to navigate in the tightest of spaces…” Holonomic Hype Not true GUIDEBOT IS NOT HOLONOMIC NEWTON IS HOLONOMIC – Omni wheels MCECSBOT IS HOLONOMIC – MECCANO WHEELS
45
Sage -- a museum tour guide Discover ‘97 -- Top 10 Innovation Holonomic Hype
46
Sources Prof. Maja Mataric Dr. Fred Martin Bryce Tucker and former PSU students A. Ferworn, Prof. Gaurav Sukhatme, USC Robotics Research Laboratory Paul Hannah Reuven Granot, Technion Dodds, Harvey Mudd College
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.