main
-
Upload
rafael-rojas -
Category
Documents
-
view
181 -
download
0
Transcript of main
-
Project and Implementation of a DynamicallyStable Gait in the Robot Nao
Universita degli Studi di Roma La SapienzaMaster in Mechanical Engineering
Rafael Rojas
Rafael Rojas Biped Locomotion in Nao Robot
-
1 Motivations.
2 Kajita simplification of gait dynamics.
3 Walking Pattern Generator.
4 The kinematic controller.
5 Implementation in Nao.
Rafael Rojas Biped Locomotion in Nao Robot
-
Motivations
Nao comes with build-in functions to make the robot walkgiven some parameters, such velocity or a position of arriving.
But we dont have access to the walking algorithm.
To modify the motion planner and make it robust, forexample, with respect to external disturbance, it is necessaryto have access to the walking pattern generator.
The development of a new walking pattern generator it isnecessary also for planning the motion of the robot throughobstacles.
Rafael Rojas Biped Locomotion in Nao Robot
-
The Kajita simplified dynamics
zcgx + x = ZMPx
zcgy + y = ZMPy (1)
This approach have a linear relationship between the state of thesystem and the Zero Moment Point (ZMP) position in thelocomotion plane.
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG
The Walking Pattern Generator (WPG) is a block, where afootstep sequence with a ZMP trajectory are transformed into atrajectories of the feed and the center of Mass (CoM) that allowsan humanoid robot to walk with dynamic stability.
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: Preview Controller
Our WPG is based on a feedback controlled system with a controllaw noted as preview controller.
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: Preview Controller
The control law is:
u(k) = GIk
i=0
e(i) Gxx(k)NLl=1
Gd(l)ZMPd(k + l)
and the values of GI , Gx and Gd(l) are calculated to minimize theperformance index:
J =i=k
[eT (i)Qee(i) + x
T (i)Qxx(i) + uT (i)Ru(i)
]this is done through the resolution of the discrete algebraic riccatiequation (DARE).
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: our variables
Our WPG have the follow variables that we can modify:
time of double support Tds
time of single support Tss
discretization time T
height of the car of the kajita model zc
the trajectory of the swinging foot
the trajectory of the ZMP
Rafael Rojas Biped Locomotion in Nao Robot
-
DARE risolution
with a discretization time of T = 0.01 s, Nl = 150 future samplesof ZMPd and zc = 0.31
0
500
1000
1500
2000
0 0.2 0.4 0.6 0.8 1 1.2
GI = 1149.635782.
Gx = 42986.459193 8251.545731 114.108039.
Gd is in the figure.
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: ZMP trajectory
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: CoM trajectory
-0.06
-0.04
-0.02
0
0.02
0 2 4 6 8 10 12 14
posizione del CoM lungo x0
0.2
0.4
0.6
0.8
1posizione del CoM lungo x
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: left foot trajectory
0 0.050.10.15
0.20.250.30.35
-0.1-0.05
00.05
0.10
0.01
0.02
0.03
0.04
0.05
0
0.002
0.004
0.006
0.008
0.01
0.012
0 2 4 6 8 10 12 14
z0.042
0.043
0.044
0.045
0.046
0.047
0.048
0.049
0 2 4 6 8 10 12 14
y
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4 x
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: rigth foot trajectory
0 0.050.10.15
0.20.250.30.35
-0.1-0.05
00.05
0.10
0.01
0.02
0.03
0.04
0.05
0
0.002
0.004
0.006
0.008
0.01
0.012
0 2 4 6 8 10 12 14
z
-0.4
-0.2
0
0.2
0 2 4 6 8 10 12 14
y
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4 x
Rafael Rojas Biped Locomotion in Nao Robot
-
WPG: trajectory in the space
00.1
0.20.3
0.40.5
-0.2-0.15
-0.1-0.05
00.05
0.10.15
0.20
0.1
0.2
0.3
0.4
0.5
Rafael Rojas Biped Locomotion in Nao Robot
-
Kinematic Controller
the WPG implicitly splits the problem of the dynamically stablegait in two parts:
a dynamic part solved by the WPG, that generates stabletrajectories
a kinematic part of solving the inverse kinematic problem oftracking the trajectories generated by the WPG.
Rafael Rojas Biped Locomotion in Nao Robot
-
Kinematic Control: resolution of kinematic redundancy
the general solution of the inverse kinematicsfor a task ti is:
q = J#ti ti+Piuj where Pi = IJ#ti Jti and uj R
n
the vector uj Rn can be used to trackanother task tj :
uj = (JtjPi )#[tj JtjJ#ti ti
]+ Pjuk
with Pj = I (JtjPi )# (JtjPi )
Rafael Rojas Biped Locomotion in Nao Robot
-
this reasoning can be usedrecursively to solve and array of Ntask t1, t2, , tN sorted by priority,defining:
i = i1Pi with 0 = I
Jti = Jti i1 with Jt1 = Jt1
Pi = I J#ti Jti ,vi =i
k=1 k1J#tk
(tk Jkvk1
)with v0 = 0.
q =Ni=1
i1J#ti
(ti Jivi1
)after, we need to integrate numerically: qk+1 = qk + q(k)T
Rafael Rojas Biped Locomotion in Nao Robot
-
General View of the Project
Rafael Rojas Biped Locomotion in Nao Robot
-
Simulation in Webots
Webots is an environment of develop, design and dynamicsimulation of mobile robots.
Rafael Rojas Biped Locomotion in Nao Robot
-
Simulation: Indici di prestazioni
Now we can show an example of the performance of our WPG andkinematic controller on the physic model of Nao that we can foundin webots.The performance index that we have used is:
Total Square Torque: TST = QTQ,
where Q is the vector of actual torque in the motors.
Rafael Rojas Biped Locomotion in Nao Robot
-
Example: one trajectory of the ZMP
Rafael Rojas Biped Locomotion in Nao Robot
-
Example: one trajectory of the ZMP
Rafael Rojas Biped Locomotion in Nao Robot
-
Example
(Loading Circle-m-increase3.mp4)
Rafael Rojas Biped Locomotion in Nao Robot
sim2video.aviMedia File (video/avi)
-
Example: performance index
0
100
200
300
400
500
0 50 100 150 200 250 300 350 400 450
Rafael Rojas Biped Locomotion in Nao Robot
-
Integration in Nao
We start the implementation of our software in NaoQi from onemodule example named fastgetsetexample that uses themodule DCM. We have modified the lines from 347 to 385 andthere we have put the next pseudocode :
1 get DCM time and set in the variable command
2 get the feedback of the motors of nao withfMemoryFastAccess->GetValues(sensorValues);
3 compute the WPG actual desired position and velocities
4 resolve the inverse kinematic problem as we shown below
5 send the desired position to Nao withdcmProxy->setAlias(commands);
Rafael Rojas Biped Locomotion in Nao Robot