actuators & motion - carnegie mellon university · actuators & motion manuela veloso...

35
Actuators & Motion Manuela Veloso 15-491, Fall 2008 http://www.andrew.cmu.edu/course/15-491 Computer Science Department Carnegie Mellon University

Upload: hoangkhanh

Post on 21-May-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

Actuators & Motion

Manuela Veloso15-491, Fall 2008

http://www.andrew.cmu.edu/course/15-491Computer Science DepartmentCarnegie Mellon University

Page 2: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Robot Motion

Forward and Inverse KinematicsPID ControlFrame-Based MotionsModeling Effects of Motions

Page 3: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

Forward Kinematics, Inverse Kinematics, & PID Control in a Nutshell

Page 4: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Robotic Arms

Revolute Joint

Prismatic Joint

Page 5: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Forward Kinematics

The problem: determine the position of the end of the robotic arm given θ1and θ2 and l1 and l2

Geometric ApproachAlgebraic Approach

Page 6: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

A simple example

Two links connected by rotational joints to a stable platform

Given θ1 and θ2, solve for a, b and θ

Page 7: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Solution

Can be solved trigonometrically:

a = l1 cos (θ1 ) + l2 cos(θ1 + θ2)b = l1 sin (θ1 ) + l2 sin (θ1 + θ2)Θ = θ1 + θ2

Page 8: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Inverse Kinematics

Going backwardsFind joint configuration given position & orientation of tool (end effector)More complex (path planning & dynamics)Usually solved either algebraically or geometricallyPossibility of no solution, one solution, or multiple solutions

Page 9: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Another example

Lets assume l1 = l2

What is the configuration of each joint if the end effectoris located at (l1, l2,-)?

(ie. Find θ1 and θ2)

Page 10: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Solution

θ1=0, θ2 = 90

Or

θ1=90, θ2 = 0

(Two Solutions)

Page 11: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

The Math

That was an easy one… what does the math look like?

⎟⎠⎞

⎜⎝⎛+

⎟⎟

⎜⎜

+=

xy2arctan

yx)sin(θarcsinθ

2222

1l

⎟⎟⎠

⎞⎜⎜⎝

⎛ −−+=

−−+=

−=−−−+=+

−+=

21

22

21

22

21

22

21

22

212

22

122

222

2arccosθ

2)cos(θ

)cos(θ)θ180cos()θ180cos(2)(

cos2

llllyx

llllyx

llllyx

Cabbac

2

2

22

2

Page 12: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Reachable Workspace

l1l2

Joint Limits:

-180 ° ≤ θ1 ≤ 180°

-180 ° ≤ θ2 ≤ 180°

Reachable Workspace

Page 13: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

PID Control

Proportional Integral Derivative ControlThe Basic Problem:

We have n joints, each with a desired position which we have specifiedEach joint has an actuator which is given a command in units of torqueMost common method for determining required torques is by feedback from joint sensors

Page 14: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

The Control Loop

e u

Page 15: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

What is PID Control?

Proportional, Integral, & Derivative ControlProportional: Multiply current error by constant to try to resolve error

Integral: Multiply sum of previous errors by constant to resolve steady state error (error after system has come to rest)

Derivative: Multiply time derivative of error change by constant to resolve error as quickly as possible

Page 16: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Summary

These concepts make up the low level functionality of general robot motionMuch more information about PID Control and Forward & Inverse Kinematics in other Robotics courses

Page 17: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Example: AIBO Actuators18 degrees of freedom with a continuously controllable range of motion

3 DOF in each leg (12 total)3 DOF in the head2 DOF in the tail1 DOF in the jaw

Each joint is controlled by specifying a desired joint angle2 binary motors for the earsA speaker for general sound production

Page 18: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Frame-Based Motion

Each motion is described by a series of “frames” which specify the position of the robot, and a time to interpolate between frames

Movement between frames is calculated through linear interpolation of each joint

Page 19: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Examples: Valid Motion Frames

LegAng(b,0, 0.0, 1.5, 0.0);LegAng(b,1, 0.0, 1.5, 0.0);LegAng(b,2, 0.1, 0.0, 0.2);LegAng(b,3, 0.1, 0.0, 0.2);m[n].body = b;m[n].time = 100;n++;

BodyPos(b,98,RAD(16));HeadAng(b, 0.5, 1.5, 0.0);MouthAng(b,-.7);LegPos(b,0, 123, 85,0);LegPos(b,1, 123,-85,0);LegPos(b,2, -80 , 75,0);LegPos(b,3, -80 ,-75,0);m[n].body = b;m[n].time = 100;n++;

BodyPos(b,98,RAD(16));HeadAng(b, 0.5, 1.5, 0.0);LegPos(b,0, 123, 85, 0);LegPos(b,1, 123,-85, 0);LegAng(b,2, 0.1, 0.0, 0.2);LegAng(b,3, 0.1, 0.0, 0.2);m[n].body = b;m[n].time = 100;n++;

m[n].body = b;m[n].time = 100;n++;

Page 20: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

The Motion Interface

Walk Engine

Walk Parameters

Frame Interpolator

Motion Frames

Dynamic Walking Motion Static Frame-Based Motion

Page 21: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Kicking

A series of set positions for the robotLinear interpolation between the frames

Kinematics and interpolation provided by CMWalkEngine

Set robot in desired positions and query the values of the joints

Page 22: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Page 23: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

High Sensitivity to ParametersGood Settings for Effective Kick

Page 24: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Use of Kicks in Behaviors

Modeling effects of kicking motionsBall vision analysisBall trajectory angle analysisKick strength analysis

Kick selection for behaviorsSelection algorithmPerformance comparison

Page 25: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Accuracy of Object Detection Varies -- Robot Standing --

500 1000 1500 2000 2500 3000 3500-1600

-1400

-1200

-1000

-800

-600

-400

-200

0

200

400Standing

Distance (mm)

Page 26: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Distance (mm)

Accuracy of Object Detection Varies -- Robot Pacing --

Page 27: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

-1000 0 1000 2000 3000 4000 5000-3000

-2000

-1000

0

1000

2000

3000Spinning

Distance (mm)

Accuracy of Object Detection Varies Accuracy of Object Detection Varies –– Robot Spinning Robot Spinning ----

Page 28: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Ball Trajectory Angle

Estimate the angle of the ball’s trajectory relative to the robot

Track ball’s trajectory after the kickRetain information about ball position in each vision frameCalculate angle of trajectory using linear regression

Page 29: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Angle Analysis

-100 -80 -60 -40 -20 0 20 40 60 80 1000

5

10

15

20

25

Forward KickRight Head Kick Left Head Kick

Page 30: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Kick Strength

Estimate the distance the ball will travel after a kick.

Impossible to track entire path of the ballCalculate only the final location of the ball relative to the kick positionEstimate failure rate of the kick using distance threshold

Page 31: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Forward Kick Distance Analysis

0 1000 2000 3000 4000 5000

-2500

-2000

-1500

-1000

-500

0

500

1000

1500

2000Forward Kick

Page 32: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Head Kick Distance Analysis

-4000 -3500 -3000 -2500 -2000 -1500 -1000 -500 0 500 1000-3000

-2000

-1000

0

1000

2000

3000Normal Head Kick

-4000 -3500 -3000 -2500 -2000 -1500 -1000 -500 0 500 1000-3000

-2000

-1000

0

1000

2000

3000Hard Head Kick

Page 33: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Kick Selection

Incorporate the kick models into the selection algorithm

The robot knows its position on the field relative to the goal and the desired ball trajectoryThe robot selects appropriate kick by referencing the kick modelIf no kick fits desired criteria, robot selects closest matching kick and turns/dribbles ball to appropriate position

Page 34: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Kick Selection Performance

52.055.0P4

60.076.5P3

44.857.8Total

27.242.5P2

39.856.7P1

Modeling & Prediction

(sec)

CMPack’02

(sec)Point

Experiment Results

Page 35: Actuators & Motion - Carnegie Mellon University · Actuators & Motion Manuela Veloso 15-491, Fall 2008  Computer Science Department Carnegie Mellon University

15-491 CMRoboBits

Summary

There is a variety of actuators.Effectiveness of motion is highly sensitive to motion parameters.We would like to set parameters automatically.