Kinematics of Wheeled Robots

Similar documents
Motion Control (wheeled robots)

CMPUT 412 Motion Control Wheeled robots. Csaba Szepesvári University of Alberta

Centre for Autonomous Systems

MEM380 Applied Autonomous Robots Winter Robot Kinematics

10/11/07 1. Motion Control (wheeled robots) Representing Robot Position ( ) ( ) [ ] T

DETC THREE-DIMENSIONAL KINEMATIC ANALYSIS OF THE ACTUATED SPOKE WHEEL ROBOT. September 10-13, 2006, Philadelphia, Pennsylvania, USA

Configuration Space. Chapter 2

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

Robotics (Kinematics) Winter 1393 Bonab University

Linear algebra deals with matrixes: two-dimensional arrays of values. Here s a matrix: [ x + 5y + 7z 9x + 3y + 11z

1 Differential Drive Kinematics

Kinematics, Kinematics Chains CS 685

MEAM 520. Mobile Robots

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Fundamental problems in mobile robotics

Chapter 4 Dynamics. Part Constrained Kinematics and Dynamics. Mobile Robotics - Prof Alonzo Kelly, CMU RI

A New Performance-Based Motion Planner for Nonholonomic Mobile Robots

Mobile Robot Kinematics

Coordinate transformations. 5554: Packet 8 1

PPGEE Robot Dynamics I

A rigid body free to move in a reference frame will, in the general case, have complex motion, which is simultaneously a combination of rotation and

CHAPTER 3 MATHEMATICAL MODEL

Introduction to Robotics

Coverage Control for A Mobile Robot Patrolling A Dynamic and Uncertain Environment

Planar Robot Kinematics

Non-holonomic Planning

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Background for Surface Integration

Optimal Trajectory Generation for Nonholonomic Robots in Dynamic Environments

Forward kinematics and Denavit Hartenburg convention

Kinematics of Closed Chains

Surfaces and Integral Curves

Hello, welcome to the video lecture series on Digital Image Processing. So in today's lecture

WEEKS 1-2 MECHANISMS

Chapter 3: Kinematics Locomotion. Ross Hatton and Howie Choset

Time Optimal Trajectories for Bounded Velocity Differential Drive Robots

UNIT 2 2D TRANSFORMATIONS

Homogeneous coordinates, lines, screws and twists

Jacobian: Velocities and Static Forces 1/4

CURVES OF CONSTANT WIDTH AND THEIR SHADOWS. Have you ever wondered why a manhole cover is in the shape of a circle? This

The diagram above shows a sketch of the curve C with parametric equations

Planning in Mobile Robotics

Session #5 2D Mechanisms: Mobility, Kinematic Analysis & Synthesis

Chapter 3 Path Optimization

7. The Gauss-Bonnet theorem

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

BEST2015 Autonomous Mobile Robots Lecture 2: Mobile Robot Kinematics and Control

Workspaces of planar parallel manipulators

Lecture 3. Planar Kinematics

EE565:Mobile Robotics Lecture 2

Analytical and Applied Kinematics

Kinematics of the Stewart Platform (Reality Check 1: page 67)

Jacobian: Velocities and Static Forces 1/4

1. Introduction 1 2. Mathematical Representation of Robots

Straight Line motion with rigid sets

Lecture Note 6: Forward Kinematics

Generalizing the Dubins and Reeds-Shepp cars: fastest paths for bounded-velocity mobile robots

Kinematics. Kinematics analyzes the geometry of a manipulator, robot or machine motion. The essential concept is a position.

EXPANDING THE CALCULUS HORIZON. Robotics

Chapter 4: Kinematics of Rigid Bodies

January 30, 2019 LECTURE 2: FUNCTIONS OF SEVERAL VARIABLES.

Fall 2016 Semester METR 3113 Atmospheric Dynamics I: Introduction to Atmospheric Kinematics and Dynamics

Rotation and Orientation: Fundamentals. Perelyaev Sergei VARNA, 2011

2.1 Introduction. 2.2 Degree of Freedom DOF of a rigid body

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Humanoid Robots 2: Dynamic Modeling

Appendix E Calculating Normal Vectors

Applications. Human and animal motion Robotics control Hair Plants Molecular motion

Lecture Note 2: Configuration Space

Lecture 1 Wheeled Mobile Robots (WMRs)

AQA GCSE Further Maths Topic Areas

Mobile Robotics. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

3D Computer Graphics. Jared Kirschner. November 8, 2010

MTRX4700 Experimental Robotics

Kinematics of Machines Prof. A. K. Mallik Department of Mechanical Engineering Indian Institute of Technology, Kanpur. Module - 3 Lecture - 1

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

5/27/12. Objectives. Plane Curves and Parametric Equations. Sketch the graph of a curve given by a set of parametric equations.

A Simplified Vehicle and Driver Model for Vehicle Systems Development

Two Dimensional Viewing

Bearing only visual servo control of a non-holonomic mobile robot. Robert Mahony

Using Algebraic Geometry to Study the Motions of a Robotic Arm

Kinematic Modeling and Control Algorithm for Non-holonomic Mobile Manipulator and Testing on WMRA system.

Lecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial

Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

[ ] [ ] Orthogonal Transformation of Cartesian Coordinates in 2D & 3D. φ = cos 1 1/ φ = tan 1 [ 2 /1]

Robotics kinematics and Dynamics

Simulation of Rigid Origami

Kinematics Modeling of the Amigobot Robot

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

Curve Subdivision in SE(2)

METR 4202: Advanced Control & Robotics

10. Cartesian Trajectory Planning for Robot Manipulators

15-780: Problem Set #4

The Inverse Jacobian Control Method Applied to a Four Degree of Freedom Confined Space Robot

Continuity and Tangent Lines for functions of two variables

9. Representing constraint

Robots are built to accomplish complex and difficult tasks that require highly non-linear motions.

Rotational3D Efficient modelling of 3D effects in rotational mechanics

Final Report: Dynamic Dubins-curve based RRT Motion Planning for Differential Constrain Robot

Industrial Robots : Manipulators, Kinematics, Dynamics

Transcription:

CSE 390/MEAM 40 Kinematics of Wheeled Robots Professor Vijay Kumar Department of Mechanical Engineering and Applied Mechanics University of Pennsylvania September 16, 006 1 Introduction In this chapter, we will develop the notation and a mathematical model for the kinematics of wheeled mobile robots and discuss the main issues for control. The scope of this discussion will be limited, for the most part, to differential-drive, planar robots. Configuration space and constraints Consider a system with N particles, P i (i = 1,..., N), and their positions vector r i in some reference frame. Each vector r i can be written as a set of components ( i, y i, z i ). The 3N components specify the configuration of the system. The resulting Euclidean space: C = { X X R 3N, X = [ 1, y 1, z 1,, y, z,..., N, y N, z N ] } is called the configuration space. The 3N scalar numbers are called configuration space variables or coordinates for the system. The trajectories of the system in the configuration space are always continuous. They may however have corners, double points, or points with multiple intersections. Corners are points at which the velocity is zero or discontinuous. Note that a velocity is discontinuous only when it is subject to an impulse (for eample, during an impact). If you consider a system with N rigid bodies, B i (i = 1,..., N), each rigid body has three coordinates for planar systems, and si for spatial systems. Thus for planar systems, if each rigid body has coordinates ( i, y i, θ i ) in some reference frame, the configuration space can be written as the Cartesian product of the configuration spaces of individual rigid bodies. Note that technically θ i belongs to a subset of R, the set of real numbers, because it is an angle and only takes values in [0, π) with the values 0 and π being identified. This is sometimes denoted as the circle, S 1. Thus, the configuration space for a single rigid body in the plane is called the special Euclidean group in two-dimensions and is denoted by SE(): SE() = R R S 1. 1

The configuration space of N planar rigid bodies is: C = {X X SE() SE()... SE(), X = [ 1, y 1, θ 1,, y, θ,..., N, y N, θ N ]} In a system of two or more particles (rigid bodies), unconstrained motion is simply not possible. To see this consider the simplest possible system involving two particles on a straight line or two frictionless beads sliding on a smooth, taut wire. Since the particles cannot cross each other, there is a constraint on the positions of the two particles. This constraint is an inequality constraint. Similarly, consider a robot (a rigid body) moving in an environment with a fied obstacle (another rigid body). As shown in Figure 1, the configuration space can be divided into legal configurations that avoid penetration of the robot with the obstacle and illegal configurations. The figure (bottom left) also shows the boundary of the set of configurations {, y, θ} that result in collisions. Clearly, one can conceptualize the obstacle-free space or the free space as the set of configurations that satisfy a given set of inequalities. obstacle free Robot Obstacle Robot invalid Robot Robot obstacle free invalid y y Figure 1: The presence of an obstacle divides the configuration space into free space and the set of invalid configurations (top). The set of invalid configurations in three dimensional space is shown on the bottom left the projection of this solid on the y plane is shown on the bottom right.

We will now turn our attention from inequalities to constraint equalities. Consider a system of N planar rigid bodies. We have already seen that there is a 3N-dimensional configuration space associated with the system. However, when there are one or more configuration constraints (as in the case of planar kinematic chains) not all of the 3N variables describing the system configuration are independent. We have seen that the minimum number of variables (also called coordinates) to completely specify the configuration (position of every particle) of a system is called the number of degrees of freedom for that system. Thus if there are m independent configuration constraints, the number of degrees of freedom n is given by: n = 3N m (1) X 3 Configuration space f(x 1, X, X 3 )=0 X X 1 Figure : A single constraint in a three-dimensional configuration space forces the resulting two degree-offreedom system to evolve on a two-dimensional surfaces in the configuration space Constraints on the position of a system of particles (as in the eamples with kinematic chains) are called holonomic constraints. The positions of the particles are constrained by holonomic equations. The system is constrained to move in a subset of the 3N-dimensional configuration space. For eample, if you take a single rigid body that has a three dimensional configuration space and force it to pivot about a fied point, you introduce two constraints and force it to remain in a one-dimensional subset of the configuration space. In contrast to holonomic constraints in which the positions of the particles are constrained, we may have constraints in which the velocities of the particles are constrained but the positions are not. As an eample, consider the constraint called the knife-edge constraint illustrated by the skate edge in Figure 3. 3

The rigid body can be described by the coordinates of a reference point C that is the (single) point of contact on the plane (, y) and the angle (θ) between the longitudinal aes and the -ais. Since the skate cannot slide in a lateral direction, the velocity of the point C must be along the longitudinal ais (shown by the vector e f ). In other words, the velocity of the point C in the lateral direction (e l ) must be zero. Let us formalize this with equations. The position and orientation or the pose of the robot is given by a 3 1 vector: q = y θ () Differentiating this equation gives us the velocity: q = ẋ ẏ θ (3) The velocity of the point C is the 1 vector: v C = ẋ ẏ (4) and the vectors e f and e l are: e f = cosθ sinθ, e l = sinθ cosθ. The longitudinal component of velocity or the component of v C along u, denoted by v f : v f = v T C e f = ẋcosθ + ẏsinθ (5) while the lateral component of velocity is: v l = v T C e l = ẋsinθ ẏcosθ (6) If there is no slip in the lateral direction, we get the constraint equation v l = 0 or: ẋ sinθ ẏ cosθ = 0 (7) Or in differential form after rearranging terms: dy = tanθ d (8) 4

y e f C e l Figure 3: The position of the skate in the plane is describe by three coordinates. Thus its configuration space is R 3 or R S 1. But its velocity can only be along the vector u. Thus the rate of change of the three position coordinates is constrained. You should try to verify that Equation (8) cannot be integrated to obtain a constraint on, y, and θ. Rather this equation simply constrains the velocities and not the positions. You cannot assume all velocity constraints are non integrable. Indeed, it is possible to differentiate any position constraint to obtain a velocity constraint that can be integrated back to the position constraint. Figure 4 provides a pertinent eample of a non trivial velocity constraint that can be integrated. Consider the rolling wheel with a point of contact P with the (stationary) ground. Because it is rolling, the velocity of the point P is zero. Suppose the wheel rolls along the y ais on the y z plane given by = 0. The velocity of the point C can be obtained from the vector equation 1 : v C = v P + ω P C = φî rˆk = r φĵ (9) If we were to denote the coordinates of the center of the wheel by (, y, z), we can write the equations: ẋ 0 ẏ = r φ ż 0 1 Recall from physics that the velocities of two points A and B fied to a rigid body with angular velocity ω are related by the equation, v B = v A + ω AB (10) 5

r C P Figure 4: The velocity of the point of contact (P ) on a wheel rolling on a stationary surface is zero. which integrates to: (t) y(t) z(t) = 0 r t 0 φdτ r (11) Given the history of forward wheel rotation, we can integrate to get the position (, y, z). Thus, the velocity constraints in Equation (10) are holonomic. 3 Kinematics of a Differential Drive Wheeled Robot Mobile robots for operation on flat terrain have several simplifying features that make them easier to model than real-world trucks or passenger cars. In particular, many robots have two independently-driven, coaial wheels. The speed difference between both wheels results in a rotation of the vehicle about the center of the ale while the wheels act in concert to produce motion in the forward or reverse direction. Second, these robots are two-dimensional and lack suspensions. In cars, the suspension compensates for vertical motion caused by the cars dynamics at high speeds. Mobile robots operate at relatively low speeds and we assume vertical motion is absent. Figure 5 shows two possible schematics for designs of differential drive robots. In both cases the kinematics is determined by the ale and the wheel radii. Denote the centers of the wheels by C 1 and C respectively, and let their radius be r. Let the ale width or the length of the vector C 1 C be l. Let ( i, y i, z i ) denote the position of center C i and let φ i denote the wheel speed of the ith wheel. And let the 6

Y Y y C 1 C castor y C 1 C castor C castor C X X Figure 5: Two possible configurations for differential drive robots. The castors serve to support the weight of the vehicle and under ideal conditions do not affect the kinematics of the robot. component of speed in the longitudinal direction (see Figure 3) be given by v f,i. According to Equation (10): v f,i = r φ i v l,i = 0 (1) From Equation (5) we get and from Equation (6), we have: v f,i = ẋ i cosθ + ẏ i sinθ (13) 0 = ẋ i sinθ ẏ i cosθ (14) Note that we are measuring φ i in a counterclockwise direction from one (arbitrarily chosen) side of the mobile robot as shown in Figure 6. C : Now consider the coordinates of the center of the ale (, y) which is clearly half way between C 1 and = 1 + The velocity of the point C is given by: v C = ẋ = ẏ y = y 1 + y. ẋ 1 +ẋ ẏ 1 +ẏ (15) The forward speed or the velocity component in the longitudinal direction can be obtained by projecting 7

1 C Figure 6: The wheel angles φ i are taken to be positive in a counterclockwise direction from one (arbitrarily chosen) side of the mobile robot. along e l : v f = e T f v C = ẋcosθ + ẏsinθ = ẋ1cosθ + ẏ 1 sinθ = v f,1 + v f, + ẋcosθ + ẏ sinθ = r φ 1 + r φ (16) Now if we consider the two points C 1 and C which are rigidly attached to the ale and the mobile robot, the velocities of these two points are related by the equation: v C = v C1 + θˆk C 1 C (17) where v C1 = v f,1 e f, v C = v f, e f. Let the wheel ale width C 1 C be given by l. From the above equation we can write: r φ e f = r φ 1 e f + θˆk le l. If we write the components along e, we get: r φ = r φ 1 + l θ (18) Thus, we have the two equations that relate the velocity of the mobile robot to the velocities of the wheels: v f = r φ 1 + r φ θ = r φ 1 r φ l (19) (0) 8

References [1] Tongue, Benson H. and Sheri D. Sheppard, Dynamics: Analysis and Design of Systems in Motion, John Wiley and Sons, Inc., 005. 9