Introduction to Robotics

Similar documents
1 Differential Drive Kinematics

Motion Control (wheeled robots)

Robotics (Kinematics) Winter 1393 Bonab University

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

Kinematics, Kinematics Chains CS 685

Mobile Robot Kinematics

Centre for Autonomous Systems

Fundamental problems in mobile robotics

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

MEM380 Applied Autonomous Robots Winter Robot Kinematics

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

Principles of Robot Motion

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

Mobile Robots Locomotion

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

EEE 187: Robotics Summary 2

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

Jacobian: Velocities and Static Forces 1/4

MTRX4700 Experimental Robotics

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

Kinematics of Wheeled Robots

Introduction to Robotics

Robot Motion Planning

Kinematic Model of Robot Manipulators

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

Jacobian: Velocities and Static Forces 1/4

PPGEE Robot Dynamics I

CHAPTER 3 MATHEMATICAL MODEL

RoboCup Rescue Summer School Navigation Tutorial

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

Planar Robot Kinematics

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

Introduction to Autonomous Mobile Robots

Robotics. SAAST Robotics Robot Arms

Practical Robotics (PRAC)

CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University. Course Logistics. Instructor: Jingjin Yu

Chapter 2 Kinematics of Mechanisms

Industrial Robots : Manipulators, Kinematics, Dynamics

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Lecture «Robot Dynamics»: Kinematic Control

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

Inverse Kinematics. Given a desired position (p) & orientation (R) of the end-effector

Forward kinematics and Denavit Hartenburg convention

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 3: Forward and Inverse Kinematics

COMP30019 Graphics and Interaction Three-dimensional transformation geometry and perspective

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

Trajectory Modification Using Elastic Force for Collision Avoidance of a Mobile Manipulator

Cinematica dei Robot Mobili su Ruote. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

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

ME/CS 133(a): Final Exam (Fall Quarter 2017/2018)

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

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

Mobile Robotics. Competitions and Opportunities

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

ME 597/747 Autonomous Mobile Robots. Mid Term Exam. Duration: 2 hour Total Marks: 100

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

EE565:Mobile Robotics Lecture 2

Lecture «Robot Dynamics»: Kinematics 3

Advanced Robotics Path Planning & Navigation

Planning in Mobile Robotics

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6. ) is graphed below:

Lecture 2: Kinematics of medical robotics

Time Optimal Trajectories for Bounded Velocity Differential Drive Robots

Tangent Bug Algorithm Based Path Planning of Mobile Robot for Material Distribution Task in Manufacturing Environment through Image Processing

1498. End-effector vibrations reduction in trajectory tracking for mobile manipulator

WORKSPACE AGILITY FOR ROBOTIC ARM Karna Patel

Exam in DD2426 Robotics and Autonomous Systems

10. Cartesian Trajectory Planning for Robot Manipulators

Lecture «Robot Dynamics»: Multi-body Kinematics

Lecture «Robot Dynamics»: Kinematics 3

Jane Li. Assistant Professor Mechanical Engineering Department, Robotic Engineering Program Worcester Polytechnic Institute

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

ROBUST LOCALISATION OF AUTOMATED GUIDED VEHICLES FOR COMPUTER-INTEGRATED MANUFACTURING ENVIRONMENTS. R.C. Dixon 1 *, G.Bright 2 & R.

Kinematic Synthesis. October 6, 2015 Mark Plecnik

Singularity Management Of 2DOF Planar Manipulator Using Coupled Kinematics

Jim Lambers MAT 169 Fall Semester Lecture 33 Notes

Singularity Loci of Planar Parallel Manipulators with Revolute Joints

To do this the end effector of the robot must be correctly positioned relative to the work piece.

Chapter 2 Intelligent Behaviour Modelling and Control for Mobile Manipulators

Workspaces of planar parallel manipulators

Chapter 4: Kinematics of Rigid Bodies

Configuration Space. Chapter 2

Background for Surface Integration

Encoder applications. I Most common use case: Combination with motors

A simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s

Kinematics of Closed Chains

Calibration of a rotating multi-beam Lidar

Analysis of Euler Angles in a Simple Two-Axis Gimbals Set

Efficient Path Interpolation and Speed Profile Computation for Nonholonomic Mobile Robots

METR 4202: Advanced Control & Robotics

AP CALCULUS BC 2014 SCORING GUIDELINES

Theory of Robotics and Mechatronics

Robotics and Autonomous Systems

Robotics and Autonomous Systems

Robot mechanics and kinematics

Transformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

ME5286 Robotics Spring 2014 Quiz 1 Solution. Total Points: 30

CS283: Robotics Fall 2016: Robot Arms

Visual Recognition: Image Formation

Transcription:

Introduction to Robotics Ph.D. Antonio Marin-Hernandez Artificial Intelligence Department Universidad Veracruzana Sebastian Camacho # 5 Xalapa, Veracruz Robotics Action and Perception LAAS-CNRS 7, av du colonel Roche Toulouse, France Topics Introduction: Types of robots Locomotion Kinematics of Mobile Robots Perception Navigation Localization Path Planning Task Planning 1

Kinematics is the basic study of a dynamic system behavior It is necessary to understand the mechanical behavior in order to: Design tasks Create control software The problems with kinematics of mobile robots are very similar to those on robotics manipulation: Workspace. It defines the range of possible solutions Manipulators. All poses of end-effectors relative to their fixture to the environment Mobile Robots. All poses of the robot in reference to their environment 2

The main difference between mobile robots and manipulators is the way as position is estimated. Manipulators: Arm s pose is a simple matter of understanding the kinematics and measuring the position for their joints. Those measures can be obtained directly from their sensors For a Mobile robot, there is not a direct way to compute their instantaneous position. It must be integrate by motion over time Slippage problems 3

To understand the whole motion it s necessary to understand the contribution of each wheel. Each wheel has motion constrains. All those constrains and the geometry of the robot are combined to restrict the complete motion of the mobile robot Robot pose representation Considerations A rigid body with wheels Works on an horizontal plane Three dimensions (x, y, θ) There are more degrees of freedom Wheel axes, turn axes (castor wheels), etc. 4

y O G = Global reference frame O L = Local reference frame P G = Position on O G y r O L θ x r P G O G x Axis x & y define the Global Reference Frame O G Axis x r & y r define the local reference frame fixed to the robot Pose of the robot in O G is given by : P = [ x y θ ] Τ 5

To describe the motion in terms of their individual component it is necessary to map the motion in the local reference frame to the global reference frame. This mapping is a function of the current state of the robot. We must use the orthogonal rotation matrix " $ R(θ) = $ $ # cosθ sinθ 0 sinθ cosθ 0 0 0 1 % ' ' ' & Orthogonal rotation Matrix 6

This matrix is used to map between two reference frames: global O G and local O L And is given by:!p L = R(θ)!p G Basic example: Be then:! θ =π /2 &!p =!x!y θ "#! "!p L = R( π 2 ) $!p G = $ $ # 0 1 0 1 0 0 0 0 1 %" ' $ ' $ ' $ &#!x!y θ! T $ %& % " ' $ ' = $ ' $ & #!y!x θ! % ' ' ' & 7

y x r θ y r O L P G O G x Forward Kinematic Models Mapping is described by the previous equation Lets consider the following example : 8

A diferential model Each wheel has a radio r and these are at distance l Given r, l, θ and the angular speeds of each wheel, we have :! #!p = # # "!x!y θ! $ & & & % = f ( l, r,θ,!ϕ 1,!ϕ 2 ) Then, its possible to compute the motion in the Global reference frame from local reference frame by :!p G = R(θ) 1!p L 9

y y r O L θ v(t) ω(t) x r O G x Lets begin with some examples. Suppose the local reference frame is initially aligned with the global reference frame. Then, if only one wheel moves, the geometric center of the robot who is in the center of the axis between wheels, will move at half the speed of the moving wheel. 10

y y r V 1 O L V r V 2 = 0 O G x For each wheel we have:!x r1 = 1 2 r!ϕ 1!x r2 = 1 2 r!ϕ 2 Then the tangential speed of the robot is given by: &!x r =!x r1 +!x r2 11

If!ϕ 2 = 0 then:!x r = 1 2 r!ϕ 1 If then:!ϕ 1 =!ϕ 2!x r = 0 So the robot doesn t move but it spins 12

The value of is simpler to compute, as neither wheel contribute to the motion over this axe. Now, we must compute the rotational speed! θ r!y 1 In a similar way, we can compute the contribution of each wheel and then added. The rotational motion of each wheel is given by: ω 1 = r!ϕ 1 2l & ω 2 = r!ϕ 2 2l As when one wheel spin clockwise the other is opposite 13

In a similar way, we can compute the independent contribution of each wheel and then added. θ! = r!ϕ 1 2l r!ϕ 2 2l And then the complete motion will be given by:!p G = R(θ) 1 r!ϕ 1 2 + r!ϕ 2 2 0 r!ϕ 1 2l r!ϕ 2 2l 14

And R(θ) -1 is given by: R(θ) 1 = cosθ sinθ 0 sinθ cosθ 0 0 0 1 Be the a robot at θ = π/2 with r =1 & l =1, if their wheel speeds are ϕ 1 = 4 y ϕ 2 = 2, then:!p G =!x!y θ! = 0 1 0 1 0 0 0 0 1 3 0 1 = 0 3 1 15

Wheels kinematic constraints As we have seen, first of all the kinematic constraints of each wheel are modeled and then is possible to combine them to get the kinematic model of the whole robot. Basically there are 4 types of wheels. Then we are going to analyze their constraints. Several simplifications will be taking into account The plane of the wheel is always vertical There is only one single contact point for each wheel There is no slippage at the contact point. 16

Fixed standard wheel This wheel has not vertical axis of rotation It s angle to the robot is fixed Motion is then limited along the wheel plane and rotation along it s contact point Another approach for kinematics computation Consider a Differential Drive Robot Independently of which wheel turns, the robot rotates about a point that lies on the common axis between two wheels. Varying the relative speed of the two wheels, the rotation point will change. 17

At each instant of time, the point at which the robot rotates must have the property that, left and right wheels follow a path that moves around the ICC at the same angular speed ω ant then: ω R + l 2 = v ω R l r 2 = v l Where l is the de distance between the center of two wheels and R is the signed distance from the ICC to the midpoint between wheels Note that v r, v l, ω and R are functions of time. Solving for ω and R we get: R = l 2 ( v l + v r ) v r v l ( ) ω = v r v l l 18

If v r = v l the radius R is infinite, the the robot moves in a straight line. If v r = -v l the radius R becomes zero and then the robot turns around the middle point between the wheels R = l 2 ( v l + v r ) v r v l ( ) ω = v r v l l For other values of v r, v l, the robot moves around a curved trajectory about a distance R away from the center of the robot. The kinematics structure of the vehicle prohibits certain motions. For example there are not combination of v r and v l to move the robot in the wheel common axis. 19

A differential drive robot is very sensitive to the relative speeds of the wheels. Small errors in the velocity provided to each wheel result in different trajectories. Differential drive robots are sensitive to slight variations in the ground plane. Forward Kinematics Suppose the robot at the given position (x, y, θ) Throughout manipulation of control parameters v r and v l, the robot can be on different poses. Determining the pose that is reachable given the control parameters is known as the forward kinematics problem 20

If a given pose (x, y, θ), speeds v r and v l are applied over a period of time t + δt, then the ICC is given by: ( ( )) ICC = x Rsin( θ), y + Rcos θ The pose of the robot is given by xʹ yʹ θʹ = ( ) sin( ωδt) 0 ( ) cos( ωδt) 0 cos ωδt sin ωδt 0 0 1 x ICC x y ICC y θ + ICC x ICC y ωδt This equation describes the motion of the a rotating robot a distance R about its ICC with an angular velocity ω. 21

Integrating from some initial condition (x 0, y 0, θ 0 ), it is possible to compute the position at any time t based on control parameters v r and v l. In general, for a robot capable of moving in a particular direction θ(t) at a given speed v(t) t ( ) = v t x t y t 0 t ( ) = v t θ t 0 t ( ) = ω ( t) 0 ( ( )) ( )cos θ t ( ( )) ( )sin θ t dt dt dt 22

And for the special case of a differential robot we have: ( ) = 1 2 x t y( t) = 1 2 θ ( t) = 1 l t ( v r ( t) + v l ( t) )cos θ t 0 ( ( )) t ( v r ( t) + v l ( t) )sin θ t 0 t ( v r ( t) v l ( t) ) 0 dt ( ( )) dt dt However, what is more interesting is: How to select the parameters to make the robot to arrive at a desired position or to follow a given path. That is know as inverse kinematics This is also related with path planning 23

Inverse Kinematics The previous equations describe the constraints on the velocity of the robot that cannot be integrated into a position constraint This is know as non-holonomic constraint and is very difficult to solve. There are solutions for limited classes of the control functions. For example, if it is assumed v l (t) = v l, v r (t) =v r and v r v l, we get: x( t) = l v r + v l sin t ( v r v l ) 2 v r v l l y( t) = l 2 v r + v l cos t v r v l l θ ( t) = t ( v r v l ) l where (x 0, y 0, θ 0 )= (0,0,0) ( v r v l ) 24

Given a goal time t and a position (x, y), previous equations can be solved for v r and v l but does not provide for independent control of θ. Rather to invert previous equations to solve parameters that lead to a specific robot pose, it is possible to consider two special cases. If v r = v l = v, then the robot s motion simplifies to: xʹ yʹ θʹ = x + vcos( θ)δt y + vsin( θ)δt The robot moves in a straight line θ 25

If we choose -v r = v l = v, then we get: xʹ yʹ θʹ = The robot rotates in place x y θ + 2vδt / l In this way, it is possible to drive the robot to any pose (x, y, θ): We can turn the robot in site until it drives thought the pose (x, y) The we drive in straight line the robot Then we turn the robot to the desired position θ These are not the only solution for inverse kinematics, other solutions are possible. 26

Bibliography Siegwart R. and I. Nourbakhsh, Introduction to Autonomous Mobile Robots,MIT Press, 2004. Dudek G. and M. Jenkin, Computational Principles of Mobile Robotics, Cambridge University Press, 2000. Bibliography Ulrich Nehmzow, Scientific Methods in Mobile Robotics, Springer, 2006. Sebastian Thrun, Wolfram Burgard, and Dieter Fox, Probabilistic Robotics, MIT Press, 2005. Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki, Sebastian Thrun, Principles of Robot Motion: Theory, Algorithms, and Implementations, MIT Press, 2005 27