Kinematics, Kinematics Chains CS 685

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

Motion Control (wheeled robots)

1 Differential Drive Kinematics

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

Fundamental problems in mobile robotics

Robotics (Kinematics) Winter 1393 Bonab University

Unit 2: Locomotion Kinematics of Wheeled Robots: Part 3

MTRX4700 Experimental Robotics

Introduction to Robotics

Mobile Robot Kinematics

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

Centre for Autonomous Systems

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

MEM380 Applied Autonomous Robots Winter Robot Kinematics

Forward kinematics and Denavit Hartenburg convention

Introduction to Robotics

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

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

Kinematic Model of Robot Manipulators

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

EEE 187: Robotics Summary 2

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Industrial Robots : Manipulators, Kinematics, Dynamics

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

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Robot mechanics and kinematics

1. Introduction 1 2. Mathematical Representation of Robots

3. Manipulator Kinematics. Division of Electronic Engineering Prof. Jaebyung Park

Robot mechanics and kinematics

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

Non-holonomic Planning

Differential Kinematics. Robotics. Differential Kinematics. Vladimír Smutný

Kinematics of Closed Chains

INSTITUTE OF AERONAUTICAL ENGINEERING

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

PPGEE Robot Dynamics I

Chapter 2 Kinematics of Mechanisms

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Robotics kinematics and Dynamics

DIMENSIONAL SYNTHESIS OF SPATIAL RR ROBOTS

Kinematic Synthesis. October 6, 2015 Mark Plecnik

Planar Robot Kinematics

Jacobian: Velocities and Static Forces 1/4

Chapter 1: Introduction

θ x Week Date Lecture (M: 2:05p-3:50, 50-N202) 1 23-Jul Introduction + Representing Position & Orientation & State 2 30-Jul

Written exams of Robotics 1

Kinematics of Wheeled Robots

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

EE Kinematics & Inverse Kinematics

Jacobian: Velocities and Static Forces 1/4

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

autorob.github.io Inverse Kinematics UM EECS 398/598 - autorob.github.io

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

10/25/2018. Robotics and automation. Dr. Ibrahim Al-Naimi. Chapter two. Introduction To Robot Manipulators

Jacobians. 6.1 Linearized Kinematics. Y: = k2( e6)

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

NMT EE 589 & UNM ME 482/582 ROBOT ENGINEERING. Dr. Stephen Bruder NMT EE 589 & UNM ME 482/582

Inverse Kinematics Analysis for Manipulator Robot With Wrist Offset Based On the Closed-Form Algorithm

Theory of Robotics and Mechatronics

ME 115(b): Final Exam, Spring

Polar Coordinates. 2, π and ( )

CHAPTER 3 MATHEMATICAL MODEL

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

PreCalculus Unit 1: Unit Circle Trig Quiz Review (Day 9)

Lecture 2: Kinematics of medical robotics

EE565:Mobile Robotics Lecture 2

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

Cobots

CS283: Robotics Fall 2016: Robot Arms

ME 115(b): Final Exam, Spring

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

METR 4202: Advanced Control & Robotics

Articulated Robots! Robert Stengel! Robotics and Intelligent Systems! MAE 345, Princeton University, 2017

Chapter 2 Mechanisms Abstract

Lecture «Robot Dynamics»: Multi-body Kinematics

Configuration Space. Chapter 2

Prof. Mark Yim University of Pennsylvania

Lecture «Robot Dynamics»: Kinematics 3

Lecture Note 6: Forward Kinematics

Dynamics Analysis for a 3-PRS Spatial Parallel Manipulator-Wearable Haptic Thimble

1 Trajectories. Class Notes, Trajectory Planning, COMS4733. Figure 1: Robot control system.

ISE 422/ME 478/ISE 522 Robotic Systems

Robotics I. March 27, 2018

Lecture «Robot Dynamics»: Kinematics 3

Optimization of a two-link Robotic Manipulator

Robot Geometry and Kinematics

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

Structure Based Classification and Kinematic Analysis of Six-Joint Industrial Robotic Manipulators

SCREW-BASED RELATIVE JACOBIAN FOR MANIPULATORS COOPERATING IN A TASK

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

Inverse Kinematics of 6 DOF Serial Manipulator. Robotics. Inverse Kinematics of 6 DOF Serial Manipulator

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

COPYRIGHTED MATERIAL INTRODUCTION CHAPTER 1

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

Lecture «Robot Dynamics»: Kinematic Control

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

CS545 Contents IX. Inverse Kinematics. Reading Assignment for Next Class. Analytical Methods Iterative (Differential) Methods

Basilio Bona ROBOTICA 03CFIOR 1

Dynamic Analysis of Manipulator Arm for 6-legged Robot

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

Transcription:

Kinematics, Kinematics Chains CS 685

Previously Representation of rigid body motion Two different interpretations - as transformations between different coord. frames - as operators acting on a rigid body Representation in terms of homogeneous coordinates Composition of rigid body motions Inverse of rigid body motion

Rigid Body Transform Translation only Frame A t AB is the origin of the frame B expressed in the Composite transformation: Transformation: Homogeneous coordinates X A = R AB t AB 0 1 X A = X B + t AB X A = R AB X B + t AB T =(R AB,t AB ) The points from frame A to frame B are transformed by the inverse of (see example next slide) X B T =(R AB,t AB ) X A {B} t AB {A} X B

Kinematic Chains We will focus on mobile robots (brief digression) In general robotics - study of multiple rigid bodies lined together (e.g. robot manipulator) Kinematics study of position, orientation, velocity, acceleration regardless of the forces Simple examples of kinematic model of robot manipulator and mobile robot Components links, connected by joints

Various joints In general rigid bodies can be connected by various articulated joints

Kinematic Chains 1 2! # " X Y $ & % Tool frame Base frame X,Y Given 1, 2 determine what is Given 1, 2 determine what is Ẋ,Ẏ We can control 1, 2 want to understand how it affects position of the tool frame How does the position of the tool frame change as the manipulator articulates Actuators change the joint angles

Forward kinematics for a 2D arm Find position of the end effector as a function of the joint angles f( 1, 2) = X Y Blackboard example

Kinematic Chains in 3D Additional joints possible (spherical, screw) Additional offset parameters, more complicated Same idea: set up frame with each link Define relationship between links (two rules): - use Z-axis as an axis of a revolute joint - connect two axes shortest distance In 2D we need only link length and joint angle to specify the transform In 3D d i, i,a i 1, i 1 Denavit-Hartenberg parameters (see LaValle (chapter [3])

Inverse kinematics In order to accomplish tasks, we need to know given some coordinates in the tool frame, how to compute the joint angles Blackboard example (see handout) Use trigonometry to compute given [X, Y] of the end effector Solution may not be unique 1, 2

Jacobians Kinematics enables us study what space is reachable Given reachable points in space, how well can be motion of an arm controlled near these points We would like to establish relationship between velocities in joint space and velocities in end-effector space Given kinematics equations for two link arm The relationship between velocities is manipulator Jacobian ẋ ẏ = x 1 y 1 x 2 y 2 x = f x ( 1, 2) y = f y ( 1, 2) J( 1, 2) 1 2 ẋ ẏ = J( 1, 2) 1 2

Manipulator Jacobian Determinant of the Jacobian If determinant is 0, there is a singularity Manipulator kinematics: position of end effector can be determined knowing the joint angles Actuators: motors that drive the joint angles Motors can move the joint angles to achieve certain position Mobile robot actuators: motors which drive the wheels Configuration of a wheel does not reveal the pose of the robot, history is important

Locomotion of wheeled robots Power the motion from place to place Differential Drive (two powered wheels) Car Drive (Ackerman Steering) roll y x y z motion we also allow wheels to rotate around the z axis

Locomotion of wheeled robots Differential Drive (two powered wheels) Each wheel is has its own motor Two wheels can move at different speeds

Mobile robot kinematics Two wheels, with radius Point P centered between two wheels is the origin of the robot frame Distance between the wheels r l y I v(t) θ s(t) x I

Differential Drive Controls: Instantaneous linear velocity of each wheel Left and right wheel can move at different speed Robots coordinate system attached to the robot (heading in the x-direction) Parameters, distance between the wheels l ICC ω y ψ v l x v l, v r R y (x,y) θ x v r = ψ r r wheel radius l/2 v r

Differential Drive Controls: Instantaneous linear velocity of each wheel Motion of the robot Turn in place Go straight v r = v l R = 0 v r = v l ω = 0 v l, v r ICC ω v l y x R y (x,y) θ x l/2 v r

v l Differential Drive v r = v l R = 0 Turn in place Go straight v r = v l ω = 0 More general motion, turning and moving forward There must be a point that lies on the wheel axis that the robot rotates around ICC ω y x R y (x,y) θ x l/2 v r

Instantaneous Center of Curvature ICC! When robot moves on a curve with particular linear and angular velocity at each instance there is a point called instantaneous center of curvature

Differential Drive Instantaneous linear velocity of each wheel v l, v r v l ω(r + l / 2) = vr ω(r l / 2) = vl Is the angular velocity of the robots body frame Around ICC ICC ω y ω = dθ dt = V R Forward velocity of the Wheel of radius r as it turns with angular rate ψ v r = ψ r R (x,y) θ ICC x = [ x Rsinθ, y + Rcosθ ] l/2 v r Angular velocity

Differential Drive Instantaneous linear velocity of each wheel v l, v r Angular velocity are related via R radius of the curve (subtract two equations for v l, v r ) Linear velocity (add two equations for v l, v r ) ICC ω y ω(r + l / 2) = vr ω(r l / 2) = vl v l R = l 2 (vl + vr) (vr vl) R l/2 (x,y) ICC = [ x Rsinθ, y + θ v r Rcosθ ] x Angular velocity Linear velocity ω = vr vl l vr + vl v = 2 ω = dθ dt = V R v

Differential Drive: Intuition When both wheels turn with the same speed robot goes straight When one wheel turns faster then the other robot turns When the wheels turn in opposite direction the robot turns in place We can solve for rate of rotation around ICC two special cases Turn in place Go straight ω v r = v l v r = v l v r = v l ω = 0 v r = v l R = 0 ω(r + l / 2) = vr ω(r l / 2) = vl R = l 2 ω = v = (vl + vr) (vr vl) vr vl l vr + vl 2

Differential Drive Linear and angular velocities in the robot body frame ICC v l y R (x,y) x R v r! # # # # " v x,r v y,r ω! $ # & # & = # & # & # % # " v = [v x,v y ] ω = θ 1 2 (v + v ) l r 0 1 2 (v v ) r l $ & & & & & & %

Previously the velocities were expressed in the robot coordinate frame Y I Representing to robot within an arbitrary initial frame Initial frame: Robot frame: Robot pose: Representing Robot Position { X I, Y I } { X R, Y R } ξ = I [ x y θ ] T Y R P θ X R X I Mapping between the two frames $ cosθ sinθ x' & ) R( θ) = & sinθ cosθ y ) %& 0 0 1( Y I ) Y R X R θ Example: Robot aligned with Y I X I

Representing to robot within an arbitrary initial frame Y Initial frame: R Robot frame: Robot pose: Robot velocities: Representing Robot Position { X I, Y I } { X R, Y R } [ x y θ ] T [ x y θ ] T ξ = I Mapping between the two frames Maps motion from global reference frame to robot reference frame R( θ) = ξ = $ cosθ sinθ x' & ) & sinθ cosθ y ) %& 0 0 1( ) I Y I Y I Y R P X R θ θ X R X I Example: Robot aligned with Y I X I

Forward kinematics Given a robot at some pose and moving at some angular and linear velocity ω, v during time period t, determine the pose of the robot Given some trajectory time, so are ω(t), v(t) x(t), y(t),θ(t) functions of We cannot simply obtain forward kinematics We need to use the whole history y I v(t) θ s(t) x I

Representing Robot Position Representing to robot within an arbitrary initial frame Initial frame: Robot frame: Robot pose: { X I, Y I } { } R Y R X, ξ = [ x y θ ] T We control v,ω in the robot frame I Differential robot drive instantaneously moves along x T axis v = Y!" v x, v y # $ = [vx, 0] T I Velocities in the world frame are! # "# x y θ = ω $! & cosθ sinθ = # %& " sinθ cosθ $! &# %" v 0 $ & % Y R P θ X R X I Relates velocities in world frame to robot frame

Velocities in the world frame are x = v cosθ y = v sinθ θ = ω Robots motion With the following controls Y I ω = vr vl l Y R X R v = vr + vl 2 P θ X I

ICC R Differential Drive: Forward Kinematics To compute the trajectory we need to integrate the equations P(t) P(t+δt) x( t) = y( t) = θ ( t) = t 0 t 0 t 0 v( t') v( t') ω( t') dt' cos[ θ ( t')] dt' sin[ θ ( t')] dt' 31

ICC R Differential Drive: Forward Kinematics To compute the trajectory we need to integrate the equations P(t) P(t+δt) x( t) = y( t) = θ ( t) 1 2 1 2 1 = l t t 0 0 t 0 [ v [ v [ v r r r ( t') + v ( t') + v ( t') v l l ( t')] l ( t')] ( t')] dt' cos[ θ ( t')] dt' sin[ θ ( t')] dt' 32

Differential Drive Integral cannot be solved analytically are functions of time ω(t), v(t) Option 1: consider special cases of straight line motion and rotation only Option 2: simulate the differential equation (see notes)

Unicycle Another commonly used model for mobile robots Could be viewed as abstract version of differential drive Parameters: wheel radius, pedaling velocity, linear velocity, angular velocity controlled directly x R ψ y R v = ψ r Linear and angular velocity can be controlled directly ω

Robot s Motion Velocities in the world frame are (same as diff. drive) x = v cosθ y = v sinθ θ = ω Except linear and angular velocities can be controlled directly

Other models Car kinematics model (Ackerman steering) Steering angle, forward speed x = v x cosθ y = v x sinθ θ = tanφ L v x Tractor-trailer model Ingredients: how to characterize the pose, velocity What are the parameters and control inputs See: http://planning.cs.uiuc.edu/node657.html for additional detailed derivations

Mobile Robot Kinematic Models Manipulator case given joint angles, we can always tell where the end effector is Mobile robot basis given wheel positions we cannot tell where the robot is We have to remember the history how it got there Need to find relationship between velocities and changes in pose Presented on blackboard (see handout) How is the wheel velocity affecting velocity of the chassis

Bicycle Kinematic model Similar, slightly different steering mechanism Bicycle model of the car Hind wheels move with the same speed Front wheels can be rotated L distance between form and back wheels ICC γ x = vcosθ y = vsinθ θ = v L tanγ (x,y) y x θ Nonholonomic velocity constraints x cosθ ysinθ = 0 Cannot change orientation not moving with v v = 0 θ = v L tanγ θ = 0