Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mobile Robot Wheel Configurations and Kinematics

Similar presentations


Presentation on theme: "Mobile Robot Wheel Configurations and Kinematics"— Presentation transcript:

1 Mobile Robot Wheel Configurations and Kinematics
x y w(t) Mobile Robot Wheel Configurations and Kinematics V(t) VL 2d Cmput412 Martin Jagersand With slides from Zach Dodds, Roland Siegwart, Sebastian Thrun VR ICC R(t)

2 Autonomous Mobile Robots
Three key questions in Mobile Robotics Where am I ? Where am I going ? How do I get there ? To answer these questions the robot has to have a model of the robot and environment (given or autonomously built) perceive and analyze the environment find robot position within the environment plan and execute the movement Today: Focus on Where am I going ? using wheel encoders + model

3 Human Navigation: Topological with imprecise metric information
Courtesy K. Arras

4 Human Navigation: Topological with imprecise metric information
Odometry (Imprecise) Feature-based Navigation still a challenge for artificial systems Corridor crossing Elevator door Entrance How to find a treasure Courtesy K. Arras Eiffel Tower

5 Environment Representation: The Map Categories
Recognizable Locations Topological Maps Courtesy K. Arras Metric Topological Maps Fully Metric Maps (continuos or discrete)

6 applied-kinematics.com: forensic animation
If we move a wheel one radian, how does the robot center move? Robot geometry and kinematic analysis gives answers! from sort of simple to sort of complex wheeled platforms manipulator modeling applied-kinematics.com: forensic animation

7 Kinematics vs. Dynamics
The effect of a robot’s geometry on its motion. The effect of all forces (internal and external) on a robot’s motion. If the motors move this much, where will the robot be? If the motors apply this much force, where will the robot be? Assumes that we control encoder readings… Assumes that we control motor current… consider the segway…

8 Kinematics kinematics dynamics
The effect of a robot’s geometry on its motion. The effect of all forces (internal and external) on a robot’s motion. from sort of simple to sort of complex Aaargh! two-link manipulator three-link manipulator represented by a 4x4 matrix

9 Mobile Robot Different Arrangements of Wheels
Two wheels Three wheels Four wheels Six wheels

10 “Quiz” Odometry / Dead Reckoning Where will C be? C A B 40cm
or why optical encoders are so useful… Suppose a robots’ wheels are arranged as shown below. The robot moves its wheels smoothly and evenly forward (initially +y) until Wheel A has made 8 full rotations and Wheel B has made 6 full rotations. Where is the robot? That is, what are the coordinates of its center, C, if C was initially at (0,0)? Assume that the wheels do not slip as they move. (A strong assumption...) Where will C be? y C x A B 40cm Wheels A and B have a diameter of 5 cm.

11 Differential drive Most common kinematic choice
- difference in wheels’ speeds determines its turning angle Most miniature robots… ER1, Pioneer, Roomba VL VR

12 Questions (forward kinematics)
Differential drive Most common kinematic choice - difference in wheels’ speeds determines its turning angle Most miniature robots… ER1, Pioneer, Roomba Questions (forward kinematics) Given the wheel’s velocities or positions, what is the robot’s velocity/position ? VL Are there any inherent system constraints? VR

13 Questions (forward kinematics)
Differential drive Most common kinematic choice - difference in wheels’ speeds determines its turning angle Most miniature robots… ER1, Pioneer, Roomba Questions (forward kinematics) Given the wheel’s velocities or positions, what is the robot’s velocity/position ? VL Are there any inherent system constraints? VR 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.

14 Differential drive y x VL q 2d VR 1) Specify system measurements
- consider possible coordinate systems VL x q 2d VR

15 Is there always a point around which the robot is rotating?
Differential drive 1) Specify system measurements y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. Is there always a point around which the robot is rotating? VL x q 2d VR

16 Differential drive y x VL q 2d VR same angular velocity??
1) Specify system measurements y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. - to minimize wheel slippage, the instantaneous center of curvature (the ICC) must lie at the intersection of the wheels’ axles VL x q - each wheel must be traveling at the same angular velocity 2d VR same angular velocity??

17 Differential drive y x w VL q 2d VR R
1) Specify system measurements y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - to minimize wheel slippage, this point (the ICC) must lie at the intersection of the wheels’ axles VL x - each wheel must be traveling at the same angular velocity around the ICC q 2d VR ICC “instantaneous center of curvature” R robot’s turning radius How are these values related? (the wheel diameter is already accounted for in VL and VR )

18 Differential drive y x w(R+d) = VL w(R-d) = VR w VL 2d VR R
1) Specify system measurements x y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - each wheel must be traveling at the same angular velocity around the ICC VL 3) Determine the robot’s speed around the ICC and its linear velocity 2d VR w(R+d) = VL ICC R w(R-d) = VR robot’s turning radius

19 Differential drive y x w(R+d) = VL w(R-d) = VR w VL 2d VR R
1) Specify system measurements x y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - each wheel must be traveling at the same angular velocity around the ICC VL 3) Determine the robot’s speed around the ICC and its linear velocity 2d VR w(R+d) = VL ICC of these five, what’s known & what’s not? R w(R-d) = VR robot’s turning radius

20 are there interesting cases?
Differential drive 1) Specify system measurements x y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - each wheel must be traveling at the same angular velocity around the ICC VL 3) Determine the robot’s speed around the ICC and its linear velocity 2d VR w(R+d) = VL ICC R w(R-d) = VR robot’s turning radius Thus, w = ( VR - VL ) / 2d are there interesting cases? R = d ( VR + VL ) / ( VR - VL )

21 Differential drive y x w(R+d) = VL w(R-d) = VR w = ( VR - VL ) / 2d
1) Specify system measurements x y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - each wheel must be traveling at the same angular velocity around the ICC V VL 3) Determine the robot’s speed around the ICC and its linear velocity 2d VR w(R+d) = VL ICC R w(R-d) = VR robot’s turning radius Thus, w = ( VR - VL ) / 2d R = d ( VR + VL ) / ( VR - VL ) So, what is the robot’s velocity?

22 Differential drive y x w(R+d) = VL w(R-d) = VR w = ( VR - VL ) / 2d
1) Specify system measurements x y - consider possible coordinate systems 2) Determine the point (the radius) around which the robot is turning. w - each wheel must be traveling at the same angular velocity around the ICC V VL 3) Determine the robot’s speed around the ICC and its linear velocity 2d VR w(R+d) = VL ICC R w(R-d) = VR robot’s turning radius Thus, w = ( VR - VL ) / 2d R = d ( VR + VL ) / ( VR - VL ) So, where’s the robot? So, the robot’s velocity is V = wR = ( VR + VL ) / 2

23 Differential drive y x Kinematics Vx = V(t) cos(q(t)) w(t)
4) Integrate to obtain position x y Vx = V(t) cos(q(t)) w(t) Vy = V(t) sin(q(t)) Thus, V(t) x(t) = ∫ V(t) cos(q(t)) dt VL y(t) = ∫ V(t) sin(q(t)) dt 2d q(t) = ∫ w(t) dt VR ICC Kinematics R(t) robot’s turning radius with w = ( VR - VL ) / 2d R = d ( VR + VL ) / ( VR - VL ) What has to happen to change the ICC ? V = wR = ( VR + VL ) / 2 things have to change over time, t

24 Q: Two-steered-wheel bicycle
Unusual kinematics: powered front wheel (velocity = vf ) both wheels (in orientation) can be steered independently: f r there is a rigid frame between the wheels with length L f Hw #2: What are the velocity kinematics of this vehicle? r vf L

25 A Lego Mindstorms example! Mecos tricycle-drive robot
Q: Tricycle drive front wheel is powered and steerable back wheels tag along (without slipping...) A Lego Mindstorms example! Mecos tricycle-drive robot

26 Q: ? The velocity of the front wheel is VF
(i.e., the conversion from angular velocity with wheel diameter is already done…) We know the distances 2d and B Mecos tricycle-drive robot VF B VL 2d VR What else do we need to know? Where is the ICC? How fast is the trikebot rotating around it? What are VL and VR ?

27 Questions (forward kinematics)
Synchro drive wheels rotate in tandem and remain parallel Nomad 200 all of the wheels are driven at the same speed Questions (forward kinematics) Given the wheel’s velocities or positions, what is the robot’s velocity/position ? Are there any inherent system constraints? Where is the ICC ? 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.

28 Synchro drive Nomad 200 y Vrobot = Vwheels wrobot = wwheels Kinematics
wheels rotate in tandem and remain parallel Nomad 200 all of the wheels are driven at the same speed y ICC at  Vrobot = Vwheels velocity w wrobot = wwheels q Kinematics x q(t) = ∫ w(t) dt Vwheels x(t) = ∫ Vwheels(t) cos(q(t)) dt position y(t) = ∫ Vwheels(t) sin(q(t)) dt simpler to control, but ...

29 Anything that can be done, can be done with Lego
Lego Synchro Anything that can be done, can be done with Lego the lego motto…

30 Four-wheel Steering The kinematic challenges of parallel parking:
wheels have limited turning angles no in-place rotation lots of SUVs around VFL VFR VBL VBR What has to happen in order for a car's wheels not to slip while turning, i.e., for there to be a single ICC?

31 Each front wheel has to turn a different amount !
Ackerman Steering aL Similar to a tricycle-drive robot aR y r g = + d VFL tan(aR) wg = VFR VFR sin(aR) determines w g Each front wheel has to turn a different amount ! d VBL d VBR x above – UCI website... r ICC 6 bar the Mechanisms lab at UCI 31

32 Each front wheel has to turn a different amount !
Ackerman Steering aL Similar to a tricycle-drive robot aR y r g = + d VFL tan(aR) wg = VFR VFR sin(aR) determines w g Each front wheel has to turn a different amount ! d VBL d VBR x r ICC but not in the Barbie Jeep…

33 The other wheel velocities are now fixed!
Ackerman Steering aL Similar to a tricycle-drive robot aR g y r = + d VFL tan(aR) wg = VFR VFR sin(aR) determines w g The other wheel velocities are now fixed! d VBL wg d = VFL sin(aL) VBR aL = tan-1(g / (r + d)) x w(r - d) = VBR w(r + d) = VBL r ICC This is just the cab...

34 The Big Rigs Applications: 5 link trailer 2 controlled angles
Parking two trailers scary stuff...

35 “pavement-loading” application (no parking, I suppose)
Multiple trailers ? Double trailers? "Double-trailer vehicles, including both western doubles and LCVs, had a threefold increased risk of crash involvement compared to single-trailer vehicles, even after adjusting for other variables significantly affecting crash risk, including empty or loaded travel, driver age, hours driving, type of carrier, and whether the carrier operated intrastate or interstate." automatic control / robotic applications: “pavement-loading” application (no parking, I suppose) see see animations.aspx safety factor requirements? 35

36 Parking/reversing with trailers
The Big Rigs Applications: 5 link trailer 2 controlled angles Parking/reversing with trailers

37 Nonholonomicity All of the robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking

38 Nonholonomicity All of the robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking By definition, a robot is nonholonomic if it can not move to change its pose instantaneously in all available directions.

39 Nonholonomicity All of the robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking By definition, a robot is nonholonomic if it can not move to change its pose instantaneously in all available directions. differential-drive robots are nonholonomic VL multiple-trailer rigs are “very” nonholonomic VR

40 Nonholonomicity All of the robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking By definition, a robot is holonomic if it can move to change its pose instantaneously in all available directions.

41 i.e., the robot’s differential motion is unconstrained.
Nonholonomicity All of the robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking By definition, a robot is holonomic if it can move to change its pose instantaneously in all available directions. i.e., the robot’s differential motion is unconstrained. Synchro Drive is the Nomad holonomic?

42 But the Nomad’s differential motion is constrained.
Nonholonomicity All of the robots mentioned thus far share an important (if frustrating) property: they are nonholonomic . - makes it more difficult to navigate between two arbitrary points - need to resort to techniques like parallel parking By definition, a robot is holonomic if it can move to change its pose instantaneously in all available directions. But the Nomad’s differential motion is constrained. Synchro Drive two DOF are freely controllable; the third is only indirectly accessible

43 The Four Basic Wheels Types
a) Standard wheel: Two degrees of freedom; rotation around the (motorized) wheel axle and the contact point b) Castor wheel: Three degrees of freedom; rotation around the wheel axle, the contact point and the castor axle

44 The Four Basic Wheels Types
d) c) Swedish wheel: Three degrees of freedom; rotation around the (motorized) wheel axle, around the rollers and around the contact point d) Ball or spherical wheel: Suspension technically not solved

45 Uranus, CMU: Omnidirectional Drive with 4 Wheels
Movement in the plane has 3 DOF thus only three wheels can be independently controlled It might be better to arrange three swedish wheels in a triangle

46 Holonomic Robots Navigation is simplified considerably if a robot can move instantaneously in any direction, i.e., is holonomic. Omniwheels Mecanum wheels tradeoffs in locomotion/wheel design show examples… if it can be done at all ...

47 in action and “frisbeeing”
Holonomic Designs in action and “frisbeeing” Killough Platform lego logo…

48 Holonomic hype “The PeopleBot is a highly holonomic platform, able to navigate in the tightest of spaces…”

49 Robot of the Day Rotundus, Inc. of Sweden – spherical robot How?
all internal (proprioceptive) sensing

50 Robot of the Day Rotundus, Inc. of Sweden – spherical robot
Internal, motor-driven pendulum for shifting the center of mass…

51 Probabilistic Kinematics
We may know where our robot is supposed to be, but in reality it might be somewhere else… Key question: supposed final pose y lots of possibilities for the actual final pose VL (t) x VR(t) starting position What should we do?

52 Running around in squares
MODEL the error in order to reason about it! Running around in squares 3 Create a program that will run your robot in a square (~2m to a side), pausing after each side before turning and proceeding. For 10 runs, collect both the odometric estimates of where the robot thinks it is and where the robot actually is after each side. 2 4 You should end up with two sets of 30 angle measurements and 40 length measurements: one set from odometry and one from “ground-truth.” 1 Find the mean and the standard deviation of the differences between odometry and ground truth for the angles and for the lengths – this is the robot’s motion uncertainty model. start and “end” This provides a probabilistic kinematic model.

53 Reasons for Motion Errors
different wheel diameters ideal case bump carpet and many more …

54 Uncertain motion: Probabilistic kinematics
Repeated application of the sensor model for short movements. For a motion command u, and starting position x’, what is the probability to end at x? p(x|u,x’) x’ x’ u u

55 Odometry Model Robot moves from to Odometry information

56 The atan2 Function Extends the inverse tangent and correctly copes with the signs of x and y.

57 Noise Model for Odometry
The measured motion is given by the true motion corrupted with noise.

58 Typical Distributions for Probabilistic Motion Models
Normal distribution Triangular distribution

59 Calculating the Probability (zero-centered)
For a normal distribution For a triangular distribution Algorithm prob_normal_distribution(a,b): return Algorithm prob_triangular_distribution(a,b): return

60 Calculating the Posterior Given x, x’, and u
Algorithm motion_model_odometry(x,x’,u) return p1 · p2 · p3 odometry values (u) values of interest (x,x’)

61 Application p(x|u,x’) x’ x’ u u
Repeated application of the sensor model for short movements. Typical banana-shaped distributions obtained for 2d-projection of 3d posterior. p(x|u,x’) x’ x’ u u

62 Sample-based Density Representation

63 Sample-based Density Representation

64 How to Sample from Normal or Triangular Distributions?
Sampling from a normal distribution Sampling from a triangular distribution Algorithm sample_normal_distribution(b): return Algorithm sample_triangular_distribution(b): return

65 Normally Distributed Samples

66 For Triangular Distribution
103 samples 104 samples 105 samples 106 samples

67 Rejection Sampling Sampling from arbitrary distributions
Algorithm sample_distribution(f,b): repeat until ( ) return

68 Example Sampling from

69 Sample Odometry Motion Model
Algorithm sample_motion_model(u, x): Return sample_normal_distribution

70 Sampling from Our Motion Model
Start

71 Examples (Odometry-Based)

72 Holonomic reality Discover Magazine -- Top 10 Innovation
Discover top 10 in 1997 Sage -- a museum tour guide easier to define than to determine… 72

73 Mobile Robot Examples Automatic Guided Vehicles
Newest generation of Automatic Guided Vehicle of VOLVO used to transport motor blocks from on assembly station to an other. It is guided by an electrical wire installed in the floor but it is also able to leave the wire to avoid obstacles. There are over 4000 AGV only at VOLVO’s plants.

74 Helpmate HELPMATE is a mobile robot used in hospitals for transportation tasks. It has various on board sensors for autonomous navigation in the corridors. The main sensor for localization is a camera looking to the ceiling. It can detect the lamps on the ceiling as reference (landmark).

75 BR700 Cleaning Robot BR 700 cleaning robot developed and sold by Kärcher Inc., Germany. Its navigation system is based on a very sophisticated sonar system and a gyro.

76 The Pioneer Picture of Pioneer, the teleoperated robot that is supposed to explore the Sarcophagus at Chernobyl

77 The Pioneer PIONEER 1 is a modular mobile robot offering various options like a gripper or an on board camera. It is equipped with a sophisticated navigation library developed at Stanford Research Institute (SRI).

78 The Khepera Robot KHEPERA is a small mobile robot for research and education. It sizes only about 60 mm in diameter. Additional modules with cameras, grippers and much more are available. More then 700 units have already been sold (end of 1998). K-Team.html

79 Sojourner, First Robot on Mars
The mobile robot Sojourner was used during the Pathfinder mission to explore the mars in summer It was nearly fully teleoperated from earth. However, some on board sensors allowed for obstacle detection nasa.gov/telerobotic s_page/telerobotics. shtm

80 SHRIMP, a Mobile Robot with Excellent Climbing Abilities
Objective Passive locomotion concept for rough terrain Results: The Shrimp 6 wheels one fixed wheel in the rear two boogies on each side one front wheel with spring suspension robot sizing around 60 cm in length and 20 cm in height highly stable in rough terrain overcomes obstacles up to 2 times its wheel diameter

81 The SHRIMP Adapts Optimally to Rough Terrain

82 Locomotion Concepts: Principles Found in Nature
Pour commencer, penchons nous sur les principes que l'on trouve dans la nature. On peut caractériser les différents types de locomotion des animaux selon le millieu dans lequel ils évoluent. Dans l'ordre chronologique, la nature a tout d'abord développé des créatures capables de se déplacer dans l'eau ou ce sont les forces hydrodynamiques qui induisent le mouvement à l'animal. Soit par déformation soit par propultion. Les créatures terrestres sont ensuite apparues. Les principes de locomotion terrestres sont basés sur les forces résultant de la gravitation qui sont la force de réaction normale au sol ainsi que les forces de frictions. On peut distinguer plusieurs mécanismes. Tout d'abord il y'a les animaux rampant qui se déplacent en créant des ondes de déformation le long de leur corps qui peuvent être longitudinales (chenilles) ou transversales (serpants). Il y'a ensuite les créatures à pattes qui peuvent se déplacent en faisant osciller leurs membres que l'on peut alors comparer à

83 Walking or rolling? number of actuators structural complexity
control expense energy efficient terrain (flat ground, soft ground, climbing..) movement of the involved masses walking / running includes up and down movement of COG some extra losses Faut-il donc rouler ou marcher ? En régle générale, les systèmes qui marchent nécessitent beaucoup plus de degrés de libertés et d'actuateurs que les systèmes qui roulent et sont donc beaucoup plus compliqués à mettre en oeuvre. Les systèmes roulants, en plus de leur simplicité de mise en oeuvre, permettent d'atteindre de grandes vitesses avec de très bons rendements pour autant que le terrain soit plat. On voit sur ce graphique que les systèmes roulants sont de une à deux fois meilleurs que les systèmes marchants. Les pertes dans un système roulant sont principalement dues à la resistance au roulement. Cette dernière est caractérisée par le type de pneu et le type de terrain sur lequel la roue se déplace. On constate que le cas idéal est celui du train ou une roue en acier roule sur un rail en acier. Cette technologie permet de déplacer de très grosses charges a des vitesses très élevées. La roue trouve ses limites dans les terrains mous ou parsemés d'obstacles. Dans ces cas la, on constate que les systèmes marchants sont tout aussi efficaces. Dans les systèmes marchants les pertes sont principalement dues au fait que le centre de gravité monte et descent de facon périodique. Une autre cause sont les chocs répétitifs avec le sol. Du a la structure de l'environnement qui nous entoure on peut maintenant mieux comprendre que la nature ait choisit la marche comme moyen de locomotion le plus répendu.

84 Forester Robot Pulstech developed the first ‘industrial like’ walking robot. It is designed moving wood out of the forest. The leg coordination is automated, but navigation is still done by the human operator on the robot.

85 The Honda Walking Robot http://www.honda.co.jp/tech/other/robot.html
Image of Honda Robot

86 ROV Tiburon Underwater Robot
Picture of robot ROV Tiburon for underwater archaeology (teleoperated)- used by MBARI for deep-sea research, this UAV provides autonomous hovering capabilities for the human operator.

87 i.e., designing winged robots Harvard’s Flying Microrobots
Kinematics lives! i.e., designing winged robots Harvard’s Flying Microrobots Univ. of Delaware

88 Kinematics lives! i.e., getting a robotic octopus to move along a path
Modeling interactions A single tentacle… The result

89 This will have to wait until well after reading week…
Robot Manipulators Is this robot holonomic ? This will have to wait until well after reading week…


Download ppt "Mobile Robot Wheel Configurations and Kinematics"

Similar presentations


Ads by Google