Wheeled Robots ~ 1.5 cm to a side temperature sensor & two motors travels 1 inch in 3 seconds untethered !!

Slides:



Advertisements
Similar presentations
Rotation, Angular Momentum and Gravity
Advertisements

Mobile Robot Locomotion
Learning Roomba Module 2 - Robot Configurations. Outline What is a Robot Configuration? Why is it important? Several types of Configurations Roomba Configuration.
Non-holonomic Constraints and Lie brackets. Definition: A non-holonomic constraint is a limitation on the allowable velocities of an object So what does.
Physics 111 Lecture 03 Motion in Two Dimensions SJ 8th Ed. : Ch. 4
RIGID BODY MOTION: TRANSLATION & ROTATION (Sections )
RIGID BODY MOTION: TRANSLATION & ROTATION (Sections )
Mechanics of Machines Dr. Mohammad Kilani
Physics 201: Lecture 18, Pg 1 Lecture 18 Goals: Define and analyze torque Introduce the cross product Relate rotational dynamics to torque Discuss work.
Chapter 11 Angular Momentum.
Chapter 11 Angular Momentum.
The City College of New York 1 Prepared by Dr. Salah Talha Mobot: Mobile Robot Introduction to ROBOTICS.
Physics 111: Mechanics Lecture 09
Introduction to Robotics
Probabilistic Robotics
IK: Choose these angles!
Chapter Eight Rotational Dynamics Rotational Dynamics.
Ch. 4: Velocity Kinematics
Introduction to ROBOTICS
Forward Kinematics.
Inverse Kinematics How do I put my hand here? IK: Choose these angles!
Physics 106: Mechanics Lecture 01
Mobile Robotics: 10. Kinematics 1
Mobile Robotics: 11. Kinematics 2
Mechatronics 1 Week 11. Learning Outcomes By the end of week 11 session, students will understand some sorts of mobile robot and locomotion of wheeled.
Mobile Robot Wheel Configurations and Kinematics
Motion Control (wheeled robots)
1 CMPUT 412 Motion Control – Wheeled robots Csaba Szepesvári University of Alberta TexPoint fonts used in EMF. Read the TexPoint manual before you delete.
Bearing and Degrees Of Freedom (DOF). If a farmer goes to milk her cows in the morning carrying a stool under one hand and a pail under another the other.
9/14/2015CS225B Kurt Konolige Locomotion of Wheeled Robots 3 wheels are sufficient and guarantee stability Differential drive (TurtleBot) Car drive (Ackerman.
Dynamics. Chapter 1 Introduction to Dynamics What is Dynamics? Dynamics is the study of systems in which the motion of the object is changing (accelerating)
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
Lecture 2: Introduction to Concepts in Robotics
Chapter 10 Rotation of a Rigid Object about a Fixed Axis.
Introduction to ROBOTICS
Beyond trial and error…. Establish mathematically how robot should move Kinematics: how robot will move given motor inputs Inverse-kinematics: how to.
Mechanics of Machines Dr. Mohammad Kilani Class 3 Position Analysis.
Where’s the Robot? Ross Mead April 3 rd, Where’s the Robot? Given an initial estimate P(0) of the robot’s location in the configuration space, maintain.
Lecture 22 Dimitar Stefanov.
Mobile Robot Bases. Types of Mobile Robot Bases Ackerman Drive – typical car steering – non-holonomic.
1 Rotational Kinematics Chapter 9 October 11, 2005 Today’s Topics Translation vs. rotation Variables used for rotation: , ,  Four angular equations.
SECTION 13.8 STOKES ’ THEOREM. P2P213.8 STOKES ’ VS. GREEN ’ S THEOREM  Stokes ’ Theorem can be regarded as a higher- dimensional version of Green ’
Chapter 3: Central Forces Introduction Interested in the “2 body” problem! Start out generally, but eventually restrict to motion of 2 bodies interacting.
Minds and Computers4.1 Today's Topics l Braitenberg Vehicles l Art of Lego Design ä Notes from Jason Geist, Carnegie Mellon University l Differential Drive.
Minds and Computers 3.1 LEGO Mindstorms NXT l Atmel 32-bit ARM processor l 4 inputs/sensors (1, 2, 3, 4) l 3 outputs/motors (A, B, C) l 256 KB Flash Memory.
Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)
Lecture 23 Dimitar Stefanov. Wheelchair kinematics Recapping Rolling wheels Instantaneous Centre of Curvature (ICC) motion must be consistent Nonholonomic.
Kinematics. The function of a robot is to manipulate objects in its workspace. To manipulate objects means to cause them to move in a desired way (as.
Non-Holonomic Motion Planning. Probabilistic Roadmaps What if omnidirectional motion in C-space is not permitted?
City College of New York 1 John (Jizhong) Xiao Department of Electrical Engineering City College of New York Mobile Robot Control G3300:
Kinematics using slides from D. Lu. Goals of this class Introduce Forward Kinematics of mobile robots How Inverse Kinematics for static and mobile robots.
Electronic Engineering Final Year Project Final Year Project Presentation Title: Trailer Reverse Control System Author: Marco Law (Chun Ip) Supervisor:
Basilio Bona DAUIN – Politecnico di Torino
James Irwin Amirkhosro Vosughi Mon 1-5pm
Chapter 10 Lecture 18: Rotation of a Rigid Object about a Fixed Axis: II.
Dynamics of a System of Particles Prof. Claude A Pruneau Notes compiled by L. Tarini Physics and Astronomy Department Wayne State University PHY 6200 Theoretical.
Gaits Cost of Transportation Wheeled Mobile Robots Most popular locomotion mechanism Highly efficient Simple mechanical implementation Balancing is.
IK: Choose these angles!
Today's Topics Art of Lego Design
TATVA INSTITUTE OF TECHNOLOGICAL STUDIES, MODASA (GTU)
MiniSkybot: Kinematics
Locomotion of Wheeled Robots
Kinematics of Wheeled Robots
Kinematics of Wheeled Robots
Robots with four wheels
Inverse Kinematics 12/30/2018.
Motion Models (cont) 2/16/2019.
© Sharif University of Technology - CEDRA By: Professor Ali Meghdari
Kinematics of Mobile Robots
Kinematics of Wheeled Robots
Presentation transcript:

Wheeled Robots ~ 1.5 cm to a side temperature sensor & two motors travels 1 inch in 3 seconds untethered !!

Other mini machines Pocketbot Khepera “Cricket” radio unit linear vision gripper video 55mm dia. base

Forward Kinematics of Differential drive

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?

1) Specify system measurements VRVR VLVL (assume a wheel radius of 1) x y  2d - consider possible coordinate systems Kinematics of Differential drive

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”

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

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

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

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”

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

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)

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

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

ForwardKinematics of Synchro Drive

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

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

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

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?

Inverse Kinematics of Differential Drive

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

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

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

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

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

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

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

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

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

Inverse Kinematics of Synchro Drive

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

Other wheeled robots tricycle drive Doubly-steered bicycle one more -- that roaming desk one more -- that roaming tatami mat (holonomic) & the XR4000 Ackerman drive

front wheel is powered and steerable back wheels tag along... Mecos tricycle-drive robot Kinematics of Tricycle drive

Kinematics of Four-wheel Steering

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:

Ackerman Steering V BL V BR V FR V FL x y IC C RR LL Similar to a tricycle-drive robot gg r g d d V FR = sin(  R ) r = g tan(  R ) + d determines 

V BL V BR V FR V FL x y IC C RR LL But this is just the cab... gg r g d d V FR = sin(  R ) r = g tan(  R ) + d determines  The other wheel velocities are now fixed! gg 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

The Big Rigs 5 link trailer 2 controlled angles Applications Parking two trailers

Holonomic Robots

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

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

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...

Killough’s Platform Nomad XR4000 synchro drive with offsets from the axis of rotation Holonomic Robots

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

Sage -- a museum tour guide Discover ‘97 -- Top 10 Innovation Holonomic Hype

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