Lecture 18 Kinematic Chains

Similar documents
Robotics I. March 27, 2018

Industrial Robots : Manipulators, Kinematics, Dynamics

Robotics. SAAST Robotics Robot Arms

Jacobian: Velocities and Static Forces 1/4

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

CS-184: Computer Graphics. Today. Forward kinematics Inverse kinematics. Wednesday, November 12, Pin joints Ball joints Prismatic joints

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

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

Jacobian: Velocities and Static Forces 1/4

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

EEE 187: Robotics Summary 2

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

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

Using Algebraic Geometry to Study the Motions of a Robotic Arm

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

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

Planar Robot Kinematics

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Robotics kinematics and Dynamics

Serial Manipulator Statics. Robotics. Serial Manipulator Statics. Vladimír Smutný

CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES

Lecture Note 2: Configuration Space

Lecture «Robot Dynamics»: Kinematics 3

Kinematic Model of Robot Manipulators

Lecture 2: Kinematics of medical robotics

Introduction to Robotics

Control of industrial robots. Kinematic redundancy

Lecture «Robot Dynamics»: Multi-body Kinematics

Workspace Optimization for Autonomous Mobile Manipulation

Lecture «Robot Dynamics»: Kinematics 3

Centre for Autonomous Systems

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

Robot mechanics and kinematics

Written exams of Robotics 1

IntroductionToRobotics-Lecture02

02/22/02. Assignment 1 on the web page: Announcements. Test login procedure NOW!

Motion Control (wheeled robots)

EE Kinematics & Inverse Kinematics

Forward kinematics and Denavit Hartenburg convention

Kinematics of Closed Chains

Robot mechanics and kinematics

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

Introduction To Robotics (Kinematics, Dynamics, and Design)

KINEMATIC AND DYNAMIC SIMULATION OF A 3DOF PARALLEL ROBOT

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

Written exams of Robotics 2

Theory of Robotics and Mechatronics

INSTITUTE OF AERONAUTICAL ENGINEERING

1. Introduction 1 2. Mathematical Representation of Robots

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

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

Solving IK problems for open chains using optimization methods

Lecture Note 2: Configuration Space

Robotics (Kinematics) Winter 1393 Bonab University

Lecture «Robot Dynamics»: Kinematic Control

Articulated Characters

PPGEE Robot Dynamics I

Computer Animation. Rick Parent

Triangulation: A new algorithm for Inverse Kinematics

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

Robot Geometry and Kinematics

Robot Inverse Kinematics Asanga Ratnaweera Department of Mechanical Engieering

Robotic Motion Planning: Configuration Space

ÉCOLE POLYTECHNIQUE DE MONTRÉAL

On-ground experimental verification of a torque controlled free-floating robot

A Novel Approach for Direct Kinematics Solution of 3-RRR Parallel Manipulator Following a Trajectory

Inverse Kinematics Programming Assignment

Simulation. x i. x i+1. degrees of freedom equations of motion. Newtonian laws gravity. ground contact forces

Carnegie Mellon University

Lecture Note 6: Forward Kinematics

Non-holonomic Planning

Announcements. CS 188: Artificial Intelligence Fall Robot motion planning! Today. Robotics Tasks. Mobile Robots

CS 188: Artificial Intelligence Fall Announcements

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

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

MTRX4700 Experimental Robotics

Cecilia Laschi The BioRobotics Institute Scuola Superiore Sant Anna, Pisa

Humanoid Robotics. Inverse Kinematics and Whole-Body Motion Planning. Maren Bennewitz

MCE/EEC 647/747: Robot Dynamics and Control. Lecture 1: Introduction

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

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

CS283: Robotics Fall 2016: Robot Arms

Serially-Linked Parallel Leg Design for Biped Robots

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

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

Research Subject. Dynamics Computation and Behavior Capture of Human Figures (Nakamura Group)

Lecture VI: Constraints and Controllers

Finding Reachable Workspace of a Robotic Manipulator by Edge Detection Algorithm

Planning, Execution and Learning Application: Examples of Planning for Mobile Manipulation and Articulated Robots

KINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

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

Intermediate Desired Value Approach for Continuous Transition among Multiple Tasks of Robots

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

Kinematic Synthesis. October 6, 2015 Mark Plecnik

The University of Missouri - Columbia Electrical & Computer Engineering Department EE4330 Robotic Control and Intelligence

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

Configuration Space. Chapter 2

ECE569 Fall 2015 Solution to Problem Set 2

Table of Contents Introduction Historical Review of Robotic Orienting Devices Kinematic Position Analysis Instantaneous Kinematic Analysis

Resolution of spherical parallel Manipulator (SPM) forward kinematic model (FKM) near the singularities

Transcription:

CS 598: Topics in AI - Adv. Computational Foundations of Robotics Spring 2017, Rutgers University Lecture 18 Kinematic Chains Instructor: Jingjin Yu

Outline What are kinematic chains? C-space for kinematic chains Degrees of freedom Forward and inverse kinematics The Jacobian Planning for kinematic chains

Kinematic Chains Kinematic chains First, it is a chain 2D can be revolute or prismatic In 3D, many possibilities Then, it only considers kinematics Focusing on the geometric aspects of motion Is the motion feasible geometrically? In particular, it does not consider masses of the chains nor forces acting on them Sometimes kinematics is not enough, e.g., balancing an inverted pendulum (many videos, e.g., https://www.youtube.com/watch?v=cyn-crnrb3e) But, it works well when joints can be controlled Unless specified, we assume the chain is NOT closed Image source: Planning Algorithms

Examples Kinematic chains can be used to model many mechanical systems, e.g. Industrial manipulators The tip can be a hand, often called end effectors Legged robots Humanoid robots Or for that matter, humans A hexapod robt Bigdog https://www.youtube.com/watch?v=m8yjvhybz9w https://www.youtube.com/watch?v=_luhn7tlfwu NASA Valkerie Image source: Web

The C-Space of Kinematic Chains (I) What is the configuration space of a kinematic chain? Let s look at some simple 2D examples Revolute joint: S 1 Prismatic joint: R Now, what if we combine these? Yes, we get R S 1 In general, for k joints with individual configuration space C 1,, C k, the overall configuration space is the Cartesian product: C = C 1 C 2 C k For k revolute joints, that is S 1 S 1 = T k k of these This is also known as k-dimensional torus Torus For a spherical joint and a revolute joint, that is SO 3 S 1 T 4 Image source: Planning Algorithms, Wolfram Mathworld

The C-Space of Kinematic Chains (II) In practice, part of the C-space (manifold) is unreachable E.g., a real ball joint cannot reach all of SO(3) E.g., a robotic arm generally cannot do 360 degrees continuously Closed kinematic chains are the most tricky ones Obviously, all links can move somewhat But the C-space is lower dimensional Image source: Planning Algorithms, Mathworks, Kuka

Determining the Degrees of Freedom (DOFs) Deciding the DOF 2D kinematic chains Base link is 3D (R 2 S 1 ) If fixed, then often 1D Adding joints generally adds one more dimension 3D kinematic chains Base link is 6D (R 3 SO(3)) If fixed, depending on the joint Then add the DOF of each additional joint Closed kinematic chains We have a formula! DOF = N k 1 i=1 N: 6 for 3D, 3 for 2D k: # of links (including the ground link) n: the number of joints f i : DOF of the joint Examples 2D, 3 links 2D, 4 links 2D, 6 links n N f i R 2 T 3 T 3 = N k n 1 + i=1 Image source: Principles of Robot Motion n f i

Forward Kinematics Forward kinematics: given the joint angles Where is the end effector? Or for that matter, where is an arbitrary fixed point on the chain? A 2D arm with two revolute joints Do it link by link x, y = (x 0 + l 1 cos α 1, y 0 + l 1 sin α 1 ) x, y = (x + l 2 cos(α 1 + α 2 ), y + l 2 sin(α 1 + α 2 )) Put it together l 1 l 2 (x 0, y 0 ) α 1 (x, y) α 2 (x, y ) x y = x 0 y 0 + l 1 cos α 1 sin α 1 + l 2 cos(α 1 + α 2 ) sin(α 1 + α 2 ) The methods, which is iterative, applies to 3D as well

Inverse Kinematics Inverse kinematics: finding joint angles from end effector position I.e., given (x, y) (assume x 0, y 0 = 0), determine α 1, α 2 Note that the solution is generally non-unique More on this later A 2D arm with two revolute joints First, compute α 2 via l 2 (x, y) α 2 x 2 + y 2 = l 1 2 + l 2 2 2l 1 l 2 cos( π 2 α 2) Then, compute α 1 α 1 = atan y x cos 1 [ l 1 2 + x 2 + y 2 l 2 2 2l 1 x 2 + y 2 ] l 1 (x 0, y 0 ) α 1 (x, y )

ሶ The Jacobian Forward kinematics is a map x = f(q) from C-space to workspace x = x y = x 0 y 0 + l 1 cos α 1 +l 1 sin α 1 + l 2 cos(α 1 + α 2 ) +l 2 sin(α 1 + α 2 ) = f(q) One can compute a relationship between the velocities via l 2 (x, y) α 2 x ሶ = f q q = J(q) q ሶ l 1 α 1 (x, y ) J(q) is commonly known as the Jacobian In this case (x 0, y 0 ) J(q) = l 1sin α 1 l 2 sin(α 1 + α 2 ) l 1 cos α 1 + l 2 cos(α 1 + α 2 ) l 2 sin(α 1 + α 2 ) l 2 cos(α 1 + α 2 )

Planning for Kinematic Chains (I) In practice, one cares about end effector (workspace) configuration x This is usually a lower dimensional space Often, DOF of chain is larger than DOF of end effectors E.g, 3 links E.g., human skeleton has 70 or so DOF In general, kinematic chains are (highly) redundant This is good Help overcome joint angle limits (self collision) This is also bad Multiple solutions In fact, generally there are infinite number of solutions Difficult to pick and choose This is known as the null space of a Jacobian Somehow, need to kill some of the dimensions

ሶ Planning for Kinematic Chains (II) Goal: move end effector by moving the joints One can sample (e.g., RRT, PRM) x and compute how to reach them Need to relate Δx and Δq E.g., q ሶ =? ሶ x = f q = J(q) ሶ x (recall we have ሶ q q, but not the other way) Some Jacobian based methods Jacobian transpose Pseudo inverse Extended Jacobian method Basically, impose additional optimization criteria to kill the null space We will highlight how Jacobian transpose works On can also use inverse kinematics for doing the same Compute the joint angles given a new end effector position Move to these new joint angles May need to replan

Planning for Kinematic Chains (III) Jacobian transpose has the form The principle Try to find Δq that decreases Δx the most Essentially projecting Δx over q s dimensions Derivation Δq = αj T q Δx Seek to minimize the function F(q) = 1 x x 2 G T x x G Do this via gradient descent (α is a step size) Δq = α F q T = α x x G T x q T = αj T q x x G = αj T q Δx