Dynamic Modelling & Simulation of A Four Legged Jumping Robot With Compliant Legs
Dynamic Modelling & Simulation of A Four Legged Jumping Robot With Compliant Legs
In the previous work, the various factors such as masses of legs, Notation for parameters
friction, impact force and inclined ground surface have not been Fi,f —Impact force at the front leg
considered. In this paper, dynamic modelling has been carried out τ1 —Torque applied at back leg (link 1)
for a quadruped with compliant legs by incorporating the above τ2 —Torque applied at back leg (link 2)
factors. Modelling has been made by considering the quadruped in τ3 —Torque applied at front leg (link 1)
sagittal plane with each leg having two links in which the legs with τ4 —Torque applied at front leg (link 2)
ground contact are the compliant ones. Simulation and animation t—Flight time
models have been made in the Simulink package and successfully
simulated. A controller has been made for controlling forward Fig. 2 shows the robot which is considered for dynamic
velocity by a PD controller. modelling and trajectory control. In dynamic modelling, masses of
the legs, locomotion in inclined plane, friction and impact forces
have been considered. The masses of the legs are assumed to be
2. Dynamic modeling with compliant legs concentrated on the toe to make a stable motion. The robot is
assumed to make locomotion without slip. The impact force acts
Dynamic modelling of a four legged jumping robot with on the robot along the bottom links of the leg. It is used to store
compliant legs is done for a bounding gait. For modelling, the the strain energy. Frictional force acts opposite to the direction
sagittal plane has been considered. Fig. 1 shows the different of motion. Each leg of the robot can be considered as a parallel
phases involved in a bounding gait. manipulator comprising of two links connected through a revolute
Notations used in the derivation of dynamic modelling are given joint. The XY coordinated system used for the dynamic modelling
below. They remain the same throughout the dynamic modelling is shown at the contact toe in Fig. 2. X represents the position of the
and control strategy. robot in the horizontal direction and Y represents the position of
the robot in the vertical direction. The state variables represented
Notation for state variables
in figures are represented by, θ as body pitch, θ1 as angle of rotation
θ –Body angle with respect to inclined plane
of back leg (link 1), θ2 as angle of rotation of back leg (link 2), θ3 as
θ1 —Angle of rotation of back leg (link 1)
angle of rotation of front leg (link 1), θ4 as angle of rotation of front
θ2 —Angle of rotation of back leg (link 2)
leg (link 2) and l2 as length of the leg which is making contact with
θ3 —Angle of rotation of front leg (link 1)
the ground.
θ4 —Angle of rotation of front leg (link 2)
l2,b —Back leg length of link 2 Eq. (1) shows the equation of motion in the simplified matrix
l2,f —Front leg length of link 2 form for stance phases of a four legged jumping robot with
compliant legs. It represents the dynamic equation of motion for
Notation for parameters
both back stance and front stance phases. The detailed derivation
L—Half the distance between the hip joints
for the back stance phase is given in Appendix A.1.
mb —Body mass
I—Body moment of inertia about the center of mass 4
4 4
4
rb —Body radius of gyration
Aij (q)q̈j + Bij (q̇j )q̇i + Gi = τi . (1)
k —Spring stiffness i =1 j =1 i=1 j=1
b—Damping coefficient
lo —Free leg length (zero spring force) The above equation is a second order, nonlinear differen-
l1 —Leg length of link 1 tial equation. In this Aij (q) represents the coefficient of iner-
m1 —Mass of leg link 1 tia, Bij represents the centrifugal and Coriolis force coefficient
m2 —Mass of leg link 2 and Gi represents the gravitational force. For back stance phases
I1 —Moment of inertia of link 1 (I1 = m1 l1 2 ) generalised coordinates of the quadruped are represented by
T
I2 —Moment of inertia of link 2 (I2 = m2 l2 2 ) l2,b , θ , θ1 , θ2
q = and the applied force/torque are repre-
θp —Inclination of plane w.r.to horizontal T
sented by τi = Fi,b , 0, τ1 , τ2 . For front stance phases gen-
θtd,n —Touchdown angle of leg at nth flight
eralised coordinates of the quadruped are represented as q =
θtd,n+1 —Touchdown angle of leg at (n + 1)th flight T
l2,f , θ , θ3 , θ4
θlo,1b —Lift-off angle rotation of back leg (link 1) and the applied force/torque is represented as
T
θlo,2b —Lift-off angle of rotation of back leg (link 2) τi = Fi,f , 0, τ3 , τ4 .
θlo,3b —Lift-off angle of rotation of front leg (link 1) Equation of motion for flight after back stance phase can be
θlo,4b —Lift-off angle of rotation of front leg (link 2) written as
xi —Body Cartesian coordinates from the supporting toe (i)
Xb —X value of the back leg Xlo + Ẋlo t
Xf —X value of the front leg Cartesian coordinates P = 1 (2)
− gt 2 + Ẏlo t + Ylo
Xlo —X value at lift-off 2
Xtd —X value at touchdown
Ẋlo
Xfl —X value during the flight phase Velocities Ṗ = (3)
Xs —X value during the stance phase −gt + Ẏlo
Xtd,n+1 —Horizontal position of tip at (n + 1)th flight Body pitch θ = θlo,b + θ̇lo,b t (4)
Xtd —Horizontal position of tip at nth flight
Xa —Actual position of body in X direction Body pitch speed θ̇ = θ̇lo,b (5)
Xd —Desired position of body in X direction Leg angle θ1 = θlo,1b + θ̇1b t θ2 = θlo,2b + θ̇2b t
Ẋa —Actual Velocity of body in X direction
Ẋd —Desired Velocity of body in X direction θ3 = θlo,3b + θ̇3b t θ4 = θlo,4b + θ̇4b t (6)
KP —Constant for Proportional controller Leg angle speed θ1 = θ̇1b θ2 = θ̇2b
KD —Constant for Differential controller
Fi,b —Impact force at the back leg θ3 = θ̇3b θ4 = θ̇4b . (7)
K. Ganesh Kumar, P.M. Pathak / Robotics and Autonomous Systems 61 (2013) 221–228 223
3. Controllers
Table 1
Initial conditions of state variables.
a
State variables θ θ1 θ2 θ3 θ4 Back leg Front leg
length length
Table 2
Physical parameters of quadruped.
Parameter Symbol Value
Body mass mb 23 kg
Leg mass of link 1 ml 0.85 kg
Leg mass of link2 m2 0.82 kg
b
Body inertia I 1.091 kg m2
Leg inertia for link 1 Il 0.020 kg m2
Leg inertia for link 2 I2 0.019 kg m2
Hip length 2L 0.8 m
Leg length link 1 l1 0.325 m
Leg length link 2 l2 0.325 m
Friction factor µ 0.35
Leg damping constant b 30 N s/m
Leg spring constant K 3600 N/m
a b
c d
e f
g h
Fig. 5. Time in seconds vs. position and velocity of body and legs.
5. Conclusion
system is chosen to be q = [l2 , θ , θ1 , θ 2 ]T . In terms of generalised × sin(θ1 − θ2 ) + Ll̇2 θ̇ cos(θ1 − θ2 ) − l1 l2 (θ̇1 − θ̇)
coordinates, the dynamics equations of motion can be derived as
follows: × (θ̇ + θ̇2 − θ̇1 ) cos(θ2 ) − l1 l̇2 (θ̇1 − θ̇ ) sin(θ2 ) .
Cartesian coordinates for body Potential Energy of the body
The body Cartesian coordinates can be expressed at the contact
Vbb = mb g L sin(θ + θp ) + l1 cos(θ1 − (θ + θp ))
point of the back leg’s toe and the ground as follows,
L cos(θ + θp ) + l1 sin θ1 − (θ + θp ) + l2 cos(θ2 − θ1 + (θ + θp )) .
−l2 sin(θ2 − θ1 + (θ + θp ))
[Pbb ] = . By obtaining the kinetic and potential energy for all the legs, the
L sin(θ + θ ) + l cos(θ − (θ + θ ))
p 1 1 p
Lagrangian function becomes:
+l2 cos(θ2 − θ1 + (θ + θp ))
1 ˙2 2
These can be differentiated with respect to time, in order to give
L = θ L (mb + 4 m1 + 4m2 ) + (θ̇1 − θ̇ )2 l1 2 (mb + m1 + m2 )
2
the body velocities in the x- and y-directions,
+ l2 2 (θ̇ + θ̇2 − θ̇1 )2 (mb + 2m1 + m2 )
Ṗbb
+ l̇2 2 (mb + 2m1 + m2 ) + mb rbf 2 θ˙2 + m1 rf 1 2 θ̇1 2
−Lθ̇ sin(θ + θp ) + l1 (θ̇1 − θ̇ ) cos(θ1 − (θ + θp ))
−l2 (θ̇2 − θ̇1 + θ̇ ) + m2 rf 2 2 θ̇2 2 + l1 2 θ˙2 (m1 + m2 ) + m2 l0 2 θ˙2
cos(θ2 − θ1 + (θ + θp )) − l̇2 sin(θ2 − θ1 + (θ + θp ))
= .
Lθ̇ cos(θ + θp ) − l1 (θ̇1 − θ̇ ) sin(θ1 − (θ + θp )) + (mb + 2m1 + 2m2 ) Ll1 θ̇ (θ̇ − θ̇1 ) sin(θ1 )
−l2 (θ̇ + θ̇2 − θ̇1 )
sin(θ2 − θ1 + (θ + θp )) + l̇2 cos(θ2 − θ1 + (θ + θp )) + Ll2 θ̇ (θ̇ + θ̇2 − θ̇1 ) sin(θ1 − θ2 ) + Ll̇2 θ̇ cos(θ1 − θ2 )
Kinetic Energy of the body can be expressed as, + (mb + m1 + m2 ) l1 l2 (θ̇ − θ̇1 )(θ̇ + θ̇2 − θ̇1 ) cos(θ2 )
1
Tbb = mb L2 θ̇ 2 + l1 2 (θ̇1 − θ̇ )2 + l2 2 (θ̇ + θ̇2 − θ̇1 )2 + l̇2 2 + l1 l̇2 (θ̇ − θ̇1 ) sin(θ2 )
2
+ rb 2 θ̇ 2 + 2 −Ll1 θ̇ (θ̇1 − θ̇ ) sin(θ1 ) + Ll2 θ̇ (θ̇ + θ̇2 − θ̇1 ) + (m1 + m2 ) −2Ll1 θ˙2 sin(θ3 ) − l1 2 (θ̇ − θ̇1 )
K. Ganesh Kumar, P.M. Pathak / Robotics and Autonomous Systems 61 (2013) 221–228 227
× θ̇ cos(θ1 + θ3 ) + l1 l̇2 θ̇ sin(θ1 − θ2 + θ3 ) + (m1 + m2 )l1 [−l̇2 (2θ̇ − θ̇1 + θ̇2 ) cos(θ1 − θ2 + θ3 )
+ l2 (2θ̇ − θ̇1 + θ̇2 )(θ̇1 − θ̇2 ) sin(θ1 − θ2 + θ3 ) + l̇2 (θ̇1 − θ̇2 )
− l1 l2 (θ̇ + θ̇2 − θ̇1 )θ̇ cos(θ1 − θ2 + θ3 )
× cos(θ1 − θ2 + θ3 )] + m2 l0 l1 θ̇1 (2θ̇ − θ̇1 ) sin(θ1 + θ 3 −θ4 )
+ m2 −2Ll0 θ˙2 sin(θ4 − θ3 ) + l1 l0 (θ̇1 − θ̇ )θ̇ + m2 l0 [−l̇2 (2θ̇ − θ̇1 + θ̇2 ) cos(θ2 − θ1 + θ4 − θ3 )
× cos(θ1 + θ3 − θ4 ) − l0 l̇2 θ̇ sin(θ2 − θ1 + θ4 − θ3 ) + l2 (2θ̇ − θ̇1 + θ̇2 ) sin(θ2 − θ1 + θ4 − θ3 ) + l̇2 (θ̇1 − θ̇2 )
× sin(θ2 − θ1 + θ4 − θ3 )] + g [(mb + 2m1 + 2m2 )L
− l2 l0 θ̇ (θ̇ + θ̇2 − θ̇1 ) cos(θ2 − θ1 + θ4 − θ3 )
× cos(θ + θp ) + (mb + m1 + m2 )l1 sin(θ1 − (θ + θp ))
+ l1 l0 θ̇ 2 cos(θ4 ) − g (mb + 2m1 + 2m2 )L sin(θ + θp )
− (mb + 2m1 + m2 )l2 sin(θ2 − θ1 + θ + θp ) + (m1 + m2 )l1
+ (mb + m1 + m2 )l1 cos(θ1 − (θ + θp )) × sin(θ + θp +θ 3 ) − m2 l0 sin(θ4 − (θ + θp +θ 3 ))] = 0.
− (m1 + m2 )l1 cos(θ3 + θ + θp ) − m2 l0
The equation of motion for generalised Coordinate θ1 becomes:
× cos(θ4 − (θ3 + θ + θp )) + (mb + 2m1 + m2 )l2
1 [−l1 (mb + m1 + m2 ) sin(θ2 )] l̈2 + −l1 2 (mb + m1 + m2 )
× cos(θ2 − θ1 + θ + θp ) − K (l2 − l0 )2 .
2
− l2 2 (mb + 2m1 + m2 ) − Ll1 (mb + 2m1 + 2m2 ) sin(θ1 )
The equation of motion for generalised Coordinate l2 becomes:
− 2l1 l2 (mb + m1 + m2 ) cos(θ2 ) + (m1 + m2 )l1 2
(mb + 2m1 + m2 )l̈2 + (mb + 2m1 + 2m2 )L cos(θ1 − θ2 ) × cos(θ1 + θ3 ) + (m1 + m2 )l1 l2
+ (mb + m1 + m2 )l1 sin(θ2 ) + (m1 + m2 )l1 × cos(θ1 − θ2 + θ3 ) + m2 l1 l0 cos(θ1 + θ3 − θ4 ) + m2 l2 l0
× cos(θ2 − θ1 + θ4 − θ3 ) − Ll2 (mb + 2m1 + 2m2 )
× sin(θ1 − θ2 + θ3 ) − m2 l0 sin(θ2 − θ1 + θ4 − θ3 ) θ̈
× sin(θ1 − θ2 ) θ̈
− [(mb + m1 + m2 )l1 sin(θ2 )] θ̈1 − [(mb + 2m1 + m2 )]
× l2 (θ̇ + θ̇2 − θ̇1 )2 − (mb + 2m1 + 2m2 )Lθ̇ 2 sin(θ1 − θ2 ) + l1 2 (mb + m1 + m2 ) + m1 r1 2 + l2 2 (mb + 2m1 + m2 )
− (mb + m1 + m2 )l1 (θ̇ − θ̇1 )2 cos(θ2 ) + (m1 + m2 )l1 θ̇ 2
+ 2l1 l2 (mb + m1 +m2 ) cos(θ2 ) θ̈1
× cos(θ1 − θ2 + θ3 ) + m2 l0 θ̇ 2 cos(θ2 − θ1 + θ4 − θ3 )
+ g (mb + 2m1 + m2 ) cos(θ2 − θ1 + θ + θp )
+ −l2 2 (mb + 2m1 + m2 )
+ K (l0 − l2 ) + bl˙2
= Fi cos(θ2 − θ1 + θ + θp ) + µFi cos(θ2 − θ1 + θ + θp ). − l1 l2 (mb + m1 + m2 ) cos(θ2 ) θ̈2
The equation of motion for generalised Coordinate θ becomes: − 2(mb + 2m1 + m2 )l2 l̇2 (θ̇ + θ̇2 − θ̇1 )
[(mb + 2m1 + 2m2 )L cos(θ1 − θ2 ) + (mb + m1 + m2 )l1 sin(θ2 ) + (mb + 2m1 + 2m2 )
× −Ll1 θ̇ 2 cos(θ1 ) − Ll2 θ̇ 2 cos(θ1 − θ2 )
+ (m1 + m2 )l1 sin(θ3 + θ1 − θ2 )
− m2 l0 sin(θ2 − θ1 + θ4 − θ3 )] + (mb + m1 + m2 )l1
× l̇2 (2θ̇2 − 2θ̇1 + 2θ̇ ) cos(θ2 )
× l̈2 + [(mb + 4m1 + 4m2 )L2 + (mb + m1 + m2 )l1 2
+ l2 θ̇2 (θ̇2 − 2θ̇1 + 2˙θ ) sin(θ2 )
+ (mb + 2m1 + m2 )l2 2 + (m1 + m2 )l1 2 + m2 l0 2
+ 2(mb + 2m1 + 2m2 )Ll1 sin(θ1 ) + 2(mb + 2m1 + 2m2 )
+ (m1 + m2 ) −l1 2 θ̇ 2 sin(θ1 + θ3 ) − l1 l2 θ̇ 2
× Ll2 sin(θ1 − θ2 ) + 2(mb + m1 + m2 )l1 l2 cos(θ2 )
− 4(m1 + m2 )Ll1 sin(θ3 ) − 2(m1 + m2 )l1 2 cos(θ1 +θ 3 ) × sin(θ1 − θ2 + θ3 )
− 2(m1 + m2 )l1 l2 cos(θ1 − θ2 + θ3 ) − 4m2 Ll0 sin(θ4 − θ3 )
+ m2 −l1 l0 θ̇ 2 sin(θ1 + θ3 − θ4 ) + l0 l2 θ̇ 2
− 2m2 l0 l1 cos(θ1 + θ 3 −θ4 ) − 2m2 l0 l2 cos(θ2 − θ1 + θ4 − θ3 )
+ 2m2 l0 l1 cos(θ4 ) + mb rb 2 ] θ̈ + [−(mb + m1 + m2 )l1 2 × sin(θ2 − θ1 + θ4 − θ3 )
− (mb + 2m1 + m2 )l2 2 − (mb + 2m1 + 2m2 )Ll1 sin(θ1 )
− (mb + 2m1 + 2m2 )Ll2 sin(θ1 − θ2 ) + g −(mb + m1 + m2 )l1 sin(θ1 − (θ + θp ))
− 2(mb + m1 + m2 )l1 l2 cos(θ2 ) + (m1 + m2 )l1 2 cos(θ1 +θ 3 )
+ (mb + 2m1 + m2 )l2 sin(θ2 − θ1 + θ + θp ) = τ1 .
+ (m1 + m2 )l1 l2 cos(θ1 − θ2 + θ3 ) + m2 l0 l1 cos(θ1 + θ 3 −θ4 )
+ m2 l0 l2 cos(θ2 − θ1 + θ4 − θ3 )] θ̈1 + [(mb + 2m1 + m2 )l2 2 The equation of motion for generalised Coordinate θ2 becomes:
+ (mb + 2m1 + 2m2 )Ll2 sin(θ1 − θ2 ) + (mb + m1 + m2 ) [(mb + 2m1 + m2 )l2 2 + (mb + 2m1 + 2m2 )Ll2 sin(θ1 − θ2 )
× l1 l2 cos(θ2 ) − (m1 + m2 )l1 l2 cos(θ1 − θ2 + θ3 ) + (mb + m1 + m2 )l1 l2 cos(θ2 )
− m2 l0 l2 cos(θ2 − θ1 + θ4 − θ3 )]θ̈2 + 2(mb + 2m1 + m2 ) − (m1 + m2 )l1 l2 cos(θ1 − θ2 + θ3 ) − m2 l0 l2
× l2 l̇2 (θ̇ − θ̇1 + θ̇2 ) + (mb + 2m1 + 2m2 )Ll1 θ̇1 (2θ̇ − θ̇1 )
× cos(θ2 − θ1 + θ4 − θ3 )] θ̈ + −l2 2 (mb + 2m1 + m2 )
× cos(θ1 ) + (mb + 2m1 + 2m2 )L[l̇2 (2θ̇ − θ̇1 + θ̇2 )
× sin(θ1 − θ2 ) + ( θ̇1 − θ̇2 )(2θ̇ − θ̇1 + θ̇2 ) cos(θ1 − θ2 ) − l1 l2 (mb + m1 + m2 ) cos(θ2 ) θ̈1 + l2 2 (mb + 2m1 + m2 )
− l̇2 (θ̇1 − θ̇2 ) sin(θ1 − θ2 )] + (mb + m1 + m2 )l1 [−l2 θ̇2
+ m2 r2 2 θ̈2 + (mb + 2m1 + 2m2 )Ll2 θ̇ 2 cos(θ1 − θ2 )
× (2θ̇ − 2θ̇1 + θ̇2 ) sin(θ2 ) + l̇2 (2θ̇ − 2θ̇1 + θ̇2 ) cos(θ2 )
+ l̇2 θ̇2 cos(θ2 )] + (m1 + m2 )l1 2 θ̇1 (2θ̇ − θ̇1 ) sin(θ1 +θ 3 ) + (mb + m1 + m2 )l1 l2 (θ̇ − θ̇1 )2 sin(θ2 )
228 K. Ganesh Kumar, P.M. Pathak / Robotics and Autonomous Systems 61 (2013) 221–228
+ (m1 + m2 ) l1 l2 θ̇ 2 sin(θ1 − θ2 + θ4 )
[9] Panagiotis Chatzakos, Evangelos Papadopoulos, Bio-inspired design of
electrically-driven bounding quadrupeds via parametric analysis, Mechanism
+ m2 l0 −l2 θ̇ 2 sin(θ2 − θ1 + θ4 − θ3 )
and Machine Theory (2009) 559–579.
[10] Dimitris Pongas, Michael Mistry, Stefan Schaal, A robust quadruped walking
− g (mb + 2m1 + m2 )l2 sin(θ2 − θ1 + θ + θp )
gait for traversing rough terrain, in: IEEE International Conference on Robotics
and Automation, Rome, Italy, 10–14 April 2007, pp. 1474–1479.
+ 2(mb + 2m1 + m2 )l2 l̇2 (θ̇ + θ̇2 − θ̇1 ) = τ2 . [11] Sooyeong Yi, Reliable gait planning and control for miniaturized quadruped
robot pet, Mechatronics (2010) 485–495.
Similarly, equations of motion can be derived for the front [12] Katayon Radkhah, Stefan Kurowski, Oskar von Stryk, Design considerations
stance phase. for a biologically inspired compliant four-legged robot, in: IEEE International
Conference on Robotics and Biomimetics, Guilin, China, 19–23 December,
2009.
References