Modeling the icub with a kinematic and dynamic...
Transcript of Modeling the icub with a kinematic and dynamic...
![Page 1: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/1.jpg)
Modeling the icub with a kinematic and dynamic library
Semester project intermediary presentation
Julia Jesse November 2008
![Page 2: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/2.jpg)
Introduction
The iCub robot :
small sized humanoid robot
European project among several universities, which aims to study cognition
http://robotcub.org
![Page 3: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/3.jpg)
Introduction
Goal of the project : biped gait stability.
Need:
Model of the robot
Denavit-Hartenberg’s parameters
Description of the movements
Forward vs. Inverse kinematic
KDL (Kinematic and Dynamic Library)
![Page 4: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/4.jpg)
Modeling
body
joint
connectivity graph
body
joint
![Page 5: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/5.jpg)
Floating base
base
xy
z
xy
z
6 DoFjoint
floating base
![Page 6: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/6.jpg)
Geometric Model
base frame
x0
y0
z0
x1
y1
z1
x2
y2
z2
A01
A12
F0
F1
F2
end-effector
![Page 7: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/7.jpg)
Denavit-Hartenberg Parameters
Idea : most common joint types can be characterized by a line in space
Need only four parameters to locate a line:
ai : link (body) lengthαi : link twistdi : link offsetθi : joint angle
Usually for revolute joints ai, αi, di are constants, θi is the only variable
![Page 8: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/8.jpg)
Denavit-Hartenberg Parameters
Main features :
a base coordinate frame
n joint axes
an end-effector frame, embedded in the final body
![Page 9: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/9.jpg)
Denavit-Hartenberg Parameters
Rules to place the DH coordinate frames:
align z0 and zn+1 with the z axis of the base and end-effector frame
align zi with joint axis i (revolut joint : rotation axis)
axis xi intersects zi and zi+1 and is perpendicular to them
yi is derived from xi and zi, right-handed coordinate frame
![Page 10: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/10.jpg)
Denavit-Hartenberg Parameters
xi
yizi
yi+1
di+1
ai+1
αi+1
xi+1
xi
zi zi+1
xi
θi+1
zi+1
ai : link (body) lengthαi : link twistdi : link offsetθi : joint angle
Oi
Oi+1
![Page 11: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/11.jpg)
Forward vs. Inverse Kinemtatic
Forward kinematic :
Determine the position of the end-effector knowing the joint angles -> unique solution
Inverse kinematic :
Determine the joint angles knowing the position of the end-effector -> multiple solutions.
Used in this project
![Page 12: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/12.jpg)
KDL
KDL = Kinematic and Dynamic Library
Part of the Open Robot Control Project (Orocos)
Goal : develop a free software and framework for robot and machine control
KDL : Modeling and computing of kinematic chains such as robots
![Page 13: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/13.jpg)
KDL and the Icub
Model arms and legs with kinematic chains using DH parameters (http://eris.liralab.it/wiki/ICubForwardKinematics)
API : Chains, made of Segments which contain a Joint to define rotation axis and a coordinate Frame expressed with DH parameters
Forward kinematic
API : recursive algorithm to calculate the position from joint space to cartesian space.
![Page 14: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/14.jpg)
KDL and the IcubInverse kinematic
API : iterative algorithm based on Newton-Raphson iterations.
Idea: begin with an estimate a’ of joint angles.
Calculate forward position p’ and compare with input position p.
If the difference is very small : stop. Else calculate new estimate and continue.
![Page 15: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/15.jpg)
Some results
Comparing forward kinematic found by KDL with matrix multiplication of transformation matrices defined with DH parameters.
➡ Same results.
Applying forward, inverse, forward kinematic.
➡ Get the same end-effector position.
➡ Get different joint angles (multiplicity of solutions).
![Page 16: Modeling the icub with a kinematic and dynamic librarybiorob2.epfl.ch/pages/studproj/birg70053/intermediary_presentation.… · KDL KDL = Kinematic and Dynamic Library Part of the](https://reader034.fdocuments.us/reader034/viewer/2022052011/60277797ce3b1d5c8e632ad6/html5/thumbnails/16.jpg)
Questions ?