Understanding Kinematics of Wheeled Robots

Slide Note
Embed
Share

Exploring the kinematics of wheeled robots, this content delves into the design and functionality of wheeled mobile robots, including the concept of ideal wheels, deviations from ideal conditions, and the importance of the Instantaneous Center of Curvature in enabling smooth rolling motion. It also covers different wheel arrangements, such as Castor Wheels and Differential Drive systems, providing insights into steering and propulsion mechanisms in robotic systems.


Uploaded on Dec 07, 2024 | 0 Views


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


  1. Kinematics of Wheeled Robots 1

  2. https://www.youtube.com/watch?v=giS41utjlbU 2

  3. Wheeled Mobile Robots robot can have one or more wheels that can provide steering (directional control) power (exert a force against the ground) an ideal wheel is perfectly round (perimeter 2 r) moves in the direction perpendicular to its axis 3

  4. Wheel 4

  5. Deviations from Ideal 5

  6. Instantaneous Center of Curvature for smooth rolling motion, all wheels in ground contact must follow a circular path about a common axis of revolution each wheel must be pointing in its correct direction revolve with an angular velocity consistent with the motion of the robot each wheel must revolve at its correct speed 6

  7. Instantaneous Center of Curvature (a) 3 wheels with roll axes intersecting at a common point (the instantaneous center of curvature, ICC). (b) No ICC exists. A robot having wheels shown in (a) can exhibit smooth rolling motion, whereas a robot with wheel arrangement (b) cannot. 7

  8. Castor Wheels provide support but not steering nor propulsion 8

  9. Differential Drive two independently driven wheels mounted on a common axis 9

  10. Differential Drive angular velocity ? about the ICC defines the wheel ground velocities ?? and ? distance between ICC and right wheel = + ( ) vr R 2 = ( ) v R 2 distance between ICC and left wheel https://opencurriculum.org/5481/circular-motion-linear-and-angular-speed/ 10

  11. Differential Drive given the wheel ground velocities it is easy to solve for the radius, R, and angular velocity ( ( ) ) + v v 2 = r R v v r ( ) v v = r interesting cases: ? = ?? ? = ?? 11

  12. Tracked Vehicles similar to differential drive but relies on ground slip or skid to change direction kinematics poorly determined by motion of treads http://en.wikipedia.org/wiki/File:Tucker-Kitten-Variants.jpg 12

  13. Steered Wheels: Bicycle fv h 90 d ICC r 13

  14. Steered Wheels: Bicycle important to remember the assumptions in the kinematic model smooth rolling motion in the plane does not capture all possible motions http://www.youtube.com/watch?v=Cj6ho1-G6tw&NR=1#t=0m25s 14

  15. Mecanum Wheel a normal wheel with rollers mounted on the circumference http://blog.makezine.com/archive/2010/04/3d-printable-mecanum-wheel.html https://www.youtube.com/watch?v=O7FbDy-gE70 https://www.youtube.com/watch?v=mUoftURFsxM http://ftp.mi.fu-berlin.de/pub/Rojas/omniwheel/Diegel-Badve-Bright-Potgieter-Tlale.pdf 15

  16. Mecanum Wheel AndyMark Mecanum wheel specification sheet http://d1pytrrjwm20z9.cloudfront.net/MecanumWheelSpecSheet.pdf 16

  17. Forward Kinematics serial manipulators given the joint variables, find the pose of the end-effector mobile robot given the control variables as a function of time, find the pose of the robot for the differential drive the control variables are often taken to be the ground velocities of the left and right wheels it is important to note that the wheel velocities are needed as functions of time; a differential drive that moves forward and then turns right ends up in a very different position than one that turns right then moves forward! 17

  18. Forward Kinematics robot with pose [xy ]T moving with velocity V in a direction measured relative the x axis of {W}: V x y {W} 18

  19. Forward Kinematics for a robot starting with pose [x0y0 0]T moving with velocity V(t) in a direction (t) : t = + ( ) ( ) cos( ( )) x t x V t t dt 0 0 V t = + ( ) ( ) sin( ( )) y t y V t t dt V sin 0 0 t = + ( ) ( ) t t dt V cos 0 0 19

  20. Forward Kinematics for differential drive: 1 t = + + ( ) ( ( ) ( )) cos( ( )) x t x v t v t t dt 0 r 2 0 1 t = + + ( ) ( ( ) ( )) sin( ( )) y t y v t v t t dt 0 r 2 0 1 t = + ( ) ( ( ) ( )) t v t v t dt 0 r 0 20

  21. Sensitivity to Wheel Velocity N = + 2 ( ) 1 , 0 ( ) vr t N = + 2 ( ) 1 , 0 ( ) v t = 0.05 = ) 0 ( = 0 0 10 t = 2 . 0 = 0.01 21

  22. Sensitivity to Wheel Velocity L = 0.2; sigma = 0.05; figure hold on for i = 1:1000 vR = 1 + normrnd(0, sigma); vL = 1 + normrnd(0, sigma); theta = 0; x = 0; y = 0; dt = 0.1; for t = 0.1:dt:10 x = x + 0.5 * (vR + vL) * cos(theta) * dt; y = y + 0.5 * (vR + vL) * sin(theta) * dt; theta = theta + 1 / L * (vR - vL) * dt; vR = 1 + normrnd(0, sigma); vL = 1 + normrnd(0, sigma); end plot(x, y, 'b.'); end 22

  23. Mobile Robot Forward Kinematics 23

  24. Forward Kinematics : Differential Drive what is the position of the ICC in {W}? ICC V R x y {W} 24

  25. Forward Kinematics : Differential Drive sin x R = ICC + cos y R V R x y {W} 25

  26. Forward Kinematics : Differential Drive assuming smooth rolling motion at each point in time the differential drive is moving in a circular path centered on the ICC thus, for a small interval of time t the change in pose can be computed as a rotation about the ICC ICC R P(t+ t) P(t) 26

  27. Forward Kinematics : Differential Drive computing the rotation about the ICC translate so that the ICC moves to the origin of {W} rotate about the origin of {W} translate back to the original ICC ICC 1. R 2. P(t+ t) 3. P(t) 27

  28. Forward Kinematics : Differential Drive computing the rotation about the ICC translate so that the ICC moves to the origin of {W} rotate about the origin of {W} translate back to the original ICC 1. 2. 3. ICC sin x R x = = ICC + ICC cos y R y ICC x ICC x x x = ICC y ICC y y y 28

  29. Forward Kinematics : Differential Drive computing the rotation about the ICC translate so that the ICC moves to the origin of {W} rotate about the origin of {W} translate back to the original ICC how much rotation over the time interval? angular velocity * elapsed time = 1. 2. 3. t cos( x ICC cos( ) sin( ) t t ) x y ICC sin( ) t t y 29

  30. Forward Kinematics : Differential Drive computing the rotation about the ICC translate so that the ICC moves to the origin of {W} rotate about the origin of {W} translate back to the original ICC 1. 2. 3. + cos( x ICC ICC ( ) cos( ) sin( ) x t t t t ) x x = + + y ICC ICC ( ) sin( ) y t t t t y y 30

  31. Forward Kinematics : Differential Drive + t what about the orientation ? just add the rotation for the time interval new pose ( ) t + cos( x ICC ICC ( ) cos( ) sin( ) x t t t t ) x x = + + y ICC ICC ( ) sin( ) y t t t t y y + ) = + ( t t t which can be written as + t t y ) ( cos( ( ) cos( ) sin( ) 0 x t t t t ) x ICC ICC x x + = 0 0 + ( ) sin( ) 0 t t y ICC ICC y y + 1 t t t 31

  32. Forward Kinematics: Differential Drive v v the previous equation is valid if i.e., if the differential drive is not travelling in a straight line if then v v v R L = = L R + + v ( ) cos x t t x t + = + v ( ) sin y t t y t + ( ) t t 32

  33. Sensitivity to Wheel Velocity N = + 2 ( ) 1 , 0 ( ) vr t N = + 2 ( ) 1 , 0 ( ) v t = 0.05 = ) 0 ( = 0 0 10 t = 2 . 0 = 0.01 33

  34. Sensitivity to Wheel Velocity given the forward kinematics of the differential drive it is easy to write a simulation of the motion we need a way to draw random numbers from a normal distribution in Matlab randn(n) returns an n-by-n matrix containing pseudorandom values drawn from the standard normal distribution see mvnrnd for random values from a multivariate normal distribution 34

  35. Sensitivity to Wheel Velocity POSE = []; % final pose of robot after each trial sigma = 0.01; % noise standard deviation L = 0.2; % distance between wheels dt = 0.1; % time step TRIALS = 1000; % number of trials for trial = 1:TRIALS -run each trial- see next slide end 35

  36. Sensitivity to Wheel Velocity vr = 1; % initial right-wheel velocity vl = 1; % initial left-wheel velocity pose = [0; 0; 0]; % initial pose of robot for t = 0:dt:10 -move the robot one time step - see next slide end POSE = [POSE pose]; % record final pose after trial t 36

  37. Sensitivity to Wheel Velocity theta = pose(3); if vr == vl pose = pose + [vr * cos(theta) * dt; vr * sin(theta) * dt; 0]; else omega = (vr vl) / L; R = (L / 2) * (vr + vl) / (vr vl); ICC = pose + [-R * sin(theta); R * cos(theta); 0]; pose = rz(omega * dt) * (pose ICC) + ICC + [0; 0; omega * dt]; end vr = 1 + sigma * randn(1); vl = 1 + sigma * randn(1); 37

Related


More Related Content