||
151-0851-00 Vlecture: CAB G11 Tuesday 10:15 – 12:00, every weekexercise: HG E1.2 Wednesday 8:15 – 10:00, according to schedule (about every 2nd week)
Marco Hutter, Roland Siegwart, and Thomas Stastny
03.10.2017Robot Dynamics - Kinematics 3 1
Lecture «Robot Dynamics»: Multi-body Kinematics
|| 03.10.2017Robot Dynamics - Kinematics 3 2
19.09.2017 Intro and Outline Course Introduction; Recapitulation Position, Linear Velocity26.09.2017 Kinematics 1 Rotation and Angular Velocity; Rigid Body Formulation, Transformation 26.09.2017 Exercise 1a Kinematics Modeling the ABB
arm
03.10.2017 Kinematics 2 Kinematics of Systems of Bodies; Jacobians 03.10.2017 Exercise 1b Differential Kinematics of the ABB arm
10.10.2017 Kinematics 3 Kinematic Control Methods: Inverse Differential Kinematics, Inverse Kinematics; Rotation Error; Multi-task Control
10.10.2017 Exercise 1c Kinematic Control of the ABB Arm
17.10.2017 Dynamics L1 Multi-body Dynamics 17.10.2017 Exercise 2a Dynamic Modeling of the ABB Arm
24.10.2017 Dynamics L2 Floating Base Dynamics 24.10.201731.10.2017 Dynamics L3 Dynamic Model Based Control Methods 31.10.2017 Exercise 2b Dynamic Control Methods
Applied to the ABB arm
07.11.2017 Legged Robot Dynamic Modeling of Legged Robots & Control 07.11.2017 Exercise 3 Legged robot14.11.2017 Case Studies 1 Legged Robotics Case Study 14.11.201721.11.2017 Rotorcraft Dynamic Modeling of Rotorcraft & Control 21.11.2017 Exercise 4 Modeling and Control of
Multicopter28.11.2017 Case Studies 2 Rotor Craft Case Study 28.11.201705.12.2017 Fixed-wing Dynamic Modeling of Fixed-wing & Control 05.12.2017 Exercise 5 Fixed-wing Control and
Simulation12.12.2017 Case Studies 3 Fixed-wing Case Study (Solar-powered UAVs - AtlantikSolar, Vertical
Take-off and Landing UAVs – Wingtra)19.12.2017 Summery and Outlook Summery; Wrap-up; Exam
||
Machines are built and controlled to achieve extremely accurate positions, independent of the load the robot carries
Very stiff structure Play-free gears and transmissions High-accurate joint sensors
End-effector accuracy +/- 0.02mm!
Large variety of robot arms
03.10.2017Robot Dynamics - Kinematics 3 3
Multi-body KinematicsIntro
||
Base frame is rigidly connected to ground Often indicated as CS 0
Base frame is free floating Often indicated as CS B (base) 6 unactuated DOFs!
03.10.2017Robot Dynamics - Kinematics 3 4
Fixed Base vs. Floating Base Robot
||
joints revolute (1DOF) prismatic (1DOF)
1 links moving links 1 fixed link
03.10.2017Robot Dynamics - Kinematics 3 5
Classical Serial Kinematic LinkagesGeneralized robot arm
|| 03.10.2017Robot Dynamics - Kinematics 3 6
Configuration ParametersGeneralized coordinates
Generalized coordinatesA set of scalar parameters q that describe the robot’s configuration Must be complete (Must be independent)
=> minimal coordinates Is not unique
6 parameters• 3 positions• 3 orientations
5 constraints
n moving links: 6n parametersn 1DoF joints: 5n parameters6n – 5n = n DoFs
Degrees of Freedom Nr of minimal coordinates
||
End-effector configuration parameters A set of m parameters that completely specify
the end-effector position and orientation with respect to I
Operational space coordinates the m0 configuration parameters are independent
=> m0 number of degrees of freedom of end-effector
03.10.2017Robot Dynamics - Kinematics 3 7
End-effector Configuration Parameters
{I}
{E}
||
Most general robot arm: q = = = = =
SCARA robot arm q = = = = =
ANYpulator: robot arm with 4 rotational joints q = = = = =
03.10.2017Robot Dynamics - Kinematics 3 8
End-effector Configuration ParametersExample
1... jnq q
6 6
, , , , ,x y zx y z , , , , ,x y zx y z
, , ,
6 4
, , , , ,x y zx y z , , , zx y z
1 2 3 4, , ,q q q q
6 4
, , , , ,x y zx y z
||
Planar robot arm 3 revolute joints 1 end-effector (gripper) <= don’t consider this for the moment
What are the joint coordinates (generalized coordinates)?
What are the end-effector parameters?
03.10.2017Robot Dynamics - Kinematics 3 9
End-effector Configuration ParametersSimple example
||
Joint Coordinates
Operational Coordinates 03.10.2017Robot Dynamics - Kinematics 3 10
Configuration Space Joint Space
||
Joint Coordinates => Joint Space
Operational Coordinates => Operational Space03.10.2017Robot Dynamics - Kinematics 3 11
Configuration Space Joint Space
1
2
3
x
z
1
2
3
q
e
xz
χ
obstacle
||
End-effector configuration as a function of generalized coordinates
For multi-body system, use transformation matrices
Note: depending on the selected end-effector parameterization, it is not possible to analytically write down end-effector parameters!
03.10.2017Robot Dynamics - Kinematics 3 12
Forward Kinematics
en
||
What is the end-effector configuration as a function of generalized coordinates?
03.10.2017Robot Dynamics - Kinematics 3 13
Forward KinematicsSimple example
0 01 12 23 3IE I E T T T T T T
1 1 2 2 3 3
1 1 0 2 2 1 3 3 2 3
1 0 0 0 c 0 0 c 0 0 c 0 0 1 0 0 00 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 00 0 1 0 0 0 0 0 0 10 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
s s s
s c l s c l s c l l
123 123 1 1 2 12 3 123
123 123 0 1 1 2 12 3 123
c 00 1 0 0
...0
0 0 0 1
s l s l s l s
s c l l c l c l c
||
Forward Kinematics
Forward Differential Kinematics Analytic:
03.10.2017Robot Dynamics - Kinematics 3 14
Forward Differential KinematicsAnalytical Jacobian
P
R
ee e
e
χχ χ q
χ
with
||
Given (from last example)
Determine the analytical Jacobian
03.10.2017Robot Dynamics - Kinematics 3 15
Analytical JacobianPlanar robot arm
||
Analytic:
Geometric:
Algebra:
03.10.2017Robot Dynamics - Kinematics 3 16
Forward Differential Kinematics
with
Depending on parameterization!!
Independent of parameterization
||
Definitions
Remember the difference:
Velocity
Time derivative of coordinates:03.10.2017Robot Dynamics - Kinematics 3 17
Velocity in Moving Bodies
||
For non-moving reference frames:
For moving reference frames:
Vector differentiation in moving frames (A = inertial/reference frame):
03.10.2017Robot Dynamics - Kinematics 3 18
Vector Differentiation in Moving FrameEuler differentiation rule
||
Apply transformation rule as learned before
Differentiate with respect to time
Substitute
Rigid body formulation
03.10.2017Robot Dynamics - Kinematics 3 19
Velocity in Moving BodiesRigid body formulation
||
Rigid body formulation at a single element
Apply this to all bodies
Angular velocity propagation
…get the end-effector velocity
03.10.2017Robot Dynamics - Kinematics 3 20
Geometric Jacobian Derivation
with
||
Position Jacobian
Rotation Jacobian from
03.10.2017Robot Dynamics - Kinematics 3 21
Geometric Jacobian Derivation
||
Preparation: determine the rotation matrices
Determine the rotation axes Locally Inertial frame
Determine the position vectors
Get the Jacobian
03.10.2017Robot Dynamics - Kinematics 3 22
Geometric JacobianPlanar robot arm
…
…=…
||
Analytical Jacobian
Relates time-derivatives of config. parameters to generalized velocities
Depending on selected parameterization (mainly rotation) in 3D Note: there exist no “rotation angle”
Mainly used for numeric algorithms
Geometric (or basic) Jacobian
Relates end-effector velocity to generalized velocities
Unique for every robot
Used in most cases
03.10.2017Robot Dynamics - Kinematics 3 23
RecapitulationAnalytical and Kinematic Jacobian
χ q
||
Kinematics (mapping of changes from joint to task space) Inverse kinematics control Resolve redundancy problems Express contact constraints
Statics (and later also dynamics) Principle of virtual work Variations in work must cancel for all virtual displacement Internal forces of ideal joint don’t contribute
Dual problem from principle of virtual work03.10.2017Robot Dynamics - Kinematics 3 24
Importance of Jacobian
0
TTi i E E
iTT
E
W
f x τ q F x
τ q F J q q
FE
1
23
T
qxFτ
JJ
||
151-0851-00 Vlecture: CAB G11 Tuesday 10:15 – 12:00, every weekexercise: HG E1.2 Wednesday 8:15 – 10:00, according to schedule (about every 2nd week)office hour: LEE H303 Friday 12.15 – 13.00Marco Hutter, Roland Siegwart, and Thomas Stastny
03.10.2017Robot Dynamics - Kinematics 3 25
Floating Base Kinematics
||
Generalized coordinates
Generalized velocities and accelerations? Time derivatives depend on parameterization
Often
Linear mapping 03.10.2017Robot Dynamics - Kinematics 3 26
Floating Base SystemsKinematics
with
,q q
||
Position of an arbitrary point on the robot
Velocity of this point
03.10.2017Robot Dynamics - Kinematics 3 27
Floating Base SystemsDifferential kinematics
BQ jr qB bC qIB IB br qI
QJ qI
TT
T
T
C C
C
ω
C CC
ω
CC BI BI
IB
I IB IB
I
B
IB I BIBB IB
with
||
A contact point is not allowed to move:
Constraint as a function of generalized coordinates:
Stack of constraints
03.10.2017Robot Dynamics - Kinematics 3 28
Contact Constraints
||
Contact constraints
Point on wheel
Jacobian
Contact constraints
=> Rolling condition03.10.2017Robot Dynamics - Kinematics 3 29
Contact ConstraintWheeled vehicle simple example
x
qUn-actuated base
Actuated joints
sincos0
IP
x rr r
rI
0x r
10 00 0
IP P
rx
r J q 0
I I
1 cos0 sin0 0
P
rr
JI
||
Contact Jacobian tells us, how a system can move. Separate stacked Jacobian
Base is fully controllable if
Nr of kinematic constraints for joint actuators:
Generalized coordinates DON’T correspond to the degrees of freedom Contact constraints!
Minimal coordinates (= correspond to degrees of freedom) Require to switch the set of coordinates depending on contact state (=> never used)
03.10.2017Robot Dynamics - Kinematics 3 30
Properties of Contact Jacobian
relation between base motion and constraints
-
c b jn n n
||
Floating base system with 12 actuated joint and 6 base coordinates (18DoF)
03.10.2017Robot Dynamics - Kinematics 3 31
Quadrupedal Robot with Point Feet
Total constraints
Internal constraints
Uncontrollable DoFs
0
0
6
3
0
3
6
1
1
9
3
0
12
6
0
||
Exercise TOMORROW Differential Kinematics Use it as extended office hour!
Next Lecture Script Section 2.9 (Kinematic Control Methods) Inverse Kinematics Inverse Differential Kinematics
03.10.2017Robot Dynamics - Kinematics 3 32
Outlook
{E}
Inverse Kinematics
Configurationend-effector
Joint angles
{I}