# Rolling Locomotion Control of a Biologically Inspired Quadruped Robot Based on Energy Compensation

Authors: Takuma Nemoto; Rajesh Elara Mohan; Masami Iwase
Journal: Journal of Robotics
 (2015)

---

## Abstract

We have developed a biologically inspired reconfigurable quadruped robot which can perform walking and rolling locomotion and transform between walking and rolling by reconfiguring its legs. This paper presents an approach to control rolling locomotion with the biologically inspired quadruped robot. For controlling rolling locomotion, a controller which can compensate robot’s energy loss during rolling locomotion is designed based on a dynamic model of the quadruped robot. The dynamic model describes planar rolling locomotion based on an assumption that the quadruped robot does not fall down while rolling and the influences of collision and contact with the ground, and it is applied for computing the mechanical energy and a plant in a numerical simulation. The numerical simulation of rolling locomotion on the flat ground verifies the effectiveness of the proposed controller.
The simulation results show that the quadruped robot can perform periodic rolling locomotion with the proposed energy-based controller. In conclusion, it is shown that the proposed control approach is effective in achieving the periodic rolling locomotion on the flat ground.


---

## Body

## 1. Introduction

Reconfigurable robots have the capability to adapt to different tasks and environments. Various designs of reconfigurable robots have been investigated, for instance, modular robots [1–3], cooperative robots [4–6], and transformable multilegged or parallel robots [7–12].Designs of reconfigurable robots can be inspired by creatures in nature [13–16]. Reconfigurable robots inspired by a creature performing walking and rolling locomotion particularly provide the capability to attain the fast and energy-efficient movement on the flat ground with rolling locomotion and high stability and mobility on the uneven ground with walking locomotion. Such reconfigurable robots have been discussed in literatures [17, 18]. Lin et al. have focused on a caterpillar that can escape rapidly from predators by reconfiguring its body structure like a wheel and have developed a caterpillar-inspired soft robot, which has attempted rolling locomotion [17]. King has focused on somersault rolling locomotion performed by a spider called “huntsman spider (Cebrennus villosus)” and has developed a quadruped robot capable of somersaulting, which has performed somersault rolling locomotion [18].We have optimized the design mechanism presented in [18] and have developed reconfigurable robotic platforms which can perform walking and rolling locomotion and transform between walking and rolling by reconfiguring their legs. For the platforms, we have built a feedforward controller and a terrain perception system in our previous work [19]. Applying the feedforward controller and the terrain perception system has provided walking and rolling locomotion on the platforms; however, we have not achieved stable and periodic rolling locomotion.In this paper, we discuss periodic rolling locomotion control of one of our platforms called the huntsman-spider-inspired quadruped robot. For periodic rolling locomotion, we focus on robot’s energy during rolling locomotion, though previous studies of rolling locomotion on reconfigurable robots [8, 11, 20, 21] have focused on the movement of robot’s center of gravity (COG). We show that the quadruped robot performs periodic rolling locomotion with energy-based control.The quadruped robot loses some of robot’s energy due to collision and contact with the ground while rolling, and therefore it cannot perform periodic rolling locomotion without energy supply. It hence requires energy compensation, which is provided by applying control methods based on object’s energy discussed in literatures [22–26].In this paper, a controller which can compensate the robot’s energy loss during rolling locomotion is designed based on a dynamic model of the quadruped robot. Its dynamic model describes planar rolling locomotion based on an assumption that it does not fall down while rolling and the influences of collision and contact with the ground. Applying the dynamic model, the controller computes robot’s energy and input for energy compensation. The effectiveness of the proposed controller is verified through a numerical simulation of its rolling locomotion.


## 2. Modeling the Huntsman-Spider-Inspired Quadruped Robot with Rolling Locomotion

This section presents the dynamic model of the huntsman-spider-inspired quadruped robot with rolling locomotion.Figure1 shows the developed platform. This robot has four legs and three motors on each leg, namely, twelve motors. Three motors on each leg are mounted as their axes are at right angles to each other.Figure 1
Huntsman-spider-inspired quadruped robot: (a) walking form and (b) rolling form. This robot has four legs and three motors on each leg, namely, twelve motors. Three motors on each leg are mounted as their axes are at right angles to each other.
(a)
(b)The robot has the walking form and rolling one shown in Figure1 and can transform between walking and rolling by reconfiguring their legs as shown in Figure 2. By utilizing these forms, it can adapt to different tasks and environments.Figure 2
Transformation between walking and rolling. The quadruped robot has the walking form and rolling one and can transform between walking and rolling by reconfiguring their legs.The robot can roll on the flat ground by moving the front legs or the rear legs simultaneously as shown in Figure3, which shows rolling locomotion with feedforward control. In this paper, the rolling locomotion is modeled.Figure 3
Rolling locomotion with feedforward control. The quadruped robot can roll on the flat ground by moving the front legs or the rear legs simultaneously.The quadruped robot model is developed based on the following assumptions.Assumption 1.
The quadruped robot can swing the legs while rolling.Assumption 2.
The quadruped robot does not fall down while rolling.Assumption 3.
The quadruped robot rolls across the high frictional flat ground without slipping.Assumption 4.
Collision with the ground is assumed as completely inelastic in nature.According to the assumptions, the model diagram of the rolling quadruped robot is shown in Figure4, the physical parameters are shown in Table 1, and the variables are shown in Table 2. The subscripts b and l
j denote the body and the legs, respectively, and j
=
1,2 denotes number of the legs. The rotational angles of the legs are a relative angle against the body. The model diagram describes planar rolling locomotion on the quadruped robot in the vertical two-dimensional surface, and its X-axis describes the flat ground.Table 1
Physical parameters of the rolling huntsman-spider-inspired quadruped robot.
Parameter
Character
Value
Mass of body (kg)
m
b
1.70
×
1
0
-
1
Mass of leg (kg)
m
l
5.50
×
1
0
-
2
Inertia moment of body (kgm2)
I
b
7.65
×
1
0
-
5
Inertia moment of leg (kgm2)
I
l
6.10
×
1
0
-
6
Viscosity of body (Nms/rad)
c
b
1.70
×
1
0
-
9
Viscosity of leg (Nms/rad)
c
l
5.50
×
1
0
-
10
Length from COG of body to joint (m)
l
b
5.50
×
1
0
-
2
Length from joints to COG of leg (m)
l
g
l
5.83
×
1
0
-
2
Angle from leg to COG of leg (rad)
α
g
l
5.40
×
1
0
-
1
Radius of ground contact area (m)
r
l
8.00
×
1
0
-
2
Gravity acceleration (m/s2)
g
9.81Table 2
Variables of the rolling huntsman-spider-inspired quadruped robot (j
=
1,2).
COG coordinates of body (m)
(
x
b
,
y
b
)
COG coordinates of legj (m)
(
x
l
j
,
y
l
j
)
Rotational angle of body (rad)
θ
b
Rotational angle of legj (rad)
θ
l
j
Joint torque of legj (Nm)
τ
l
jFigure 4
Model diagram of the rolling huntsman-spider-inspired quadruped robot. The model diagram describes planar rolling locomotion on the quadruped robot in the vertical two-dimensional surface, and itsX-axis describes the flat ground.A motion equation of the rolling quadruped robot model is derived by applying the projection method [27–29]. To derive it, the projection method yields a base motion equation of the quadruped robot, which does not contain the influences of collision and contact with the ground on the robot, from independent motion equations of components constituting the robot and constraint conditions between each component. It is then obtained by giving a constraint force due to collision and contact with the ground, which is given by constraint conditions posed to the quadruped robot while the collision or contact occurs, to the base motion equation [30, 31]. The constraint force also gives discontinuous changes of velocity due to collision according to Assumption 4.


### 2.1. The Base Model of the Huntsman-Spider-Inspired Quadruped Robot

An unconstrained motion equation constituted of the motion equations of the independent components is written to derive the base motion equation of the quadruped robot.Generalized coordinatesx
q are defined as(1)
x
q
=
θ
b
,
θ
l
1
,
θ
l
2
,
x
b
,
y
b
,
x
l
1
,
y
l
1
,
x
l
2
,
y
l
2
T
.A generalized mass matrixM
q and a generalized force vector h
q are given by(2)
M
q
=
diag
⁡
M
11
,
M
22
,
M
11
≔
I
b
+
2
I
l
I
l
I
l
I
l
I
l
0
I
l
0
I
l
,
M
22
≔
d
i
a
g
m
b
,
m
b
,
m
l
,
m
l
,
m
l
,
m
l
,
h
q
=
-
c
b
θ
˙
b
,
τ
l
1
-
c
l
θ
˙
l
1
,
τ
l
2
-
c
l
θ
˙
l
2
,
0
,
-
m
b
g
,
0
,
-
m
l
g
,
0
,
-
m
l
g
T
.The unconstrained motion equation is represented byM
q
x
¨
q
=
h
q.The projection method leads to a constrained motion equation by considering conditions to constrain system behavior including definitions of positional relationships between each component. The constraint conditions of the quadruped robot are definitions of positional relationships between the body and each leg. They are given by(3)
x
l
1
=
x
b
+
l
b
cos
⁡
θ
b
+
l
g
l
cos
⁡
θ
b
+
θ
l
1
+
α
g
l
,
y
l
1
=
y
b
-
l
b
sin
⁡
θ
b
-
l
g
l
sin
⁡
θ
b
+
θ
l
1
+
α
g
l
,
x
l
2
=
x
b
-
l
b
cos
⁡
θ
b
-
l
g
l
cos
⁡
θ
b
+
θ
l
2
+
α
g
l
,
y
l
2
=
y
b
+
l
b
sin
⁡
θ
b
+
l
g
l
sin
⁡
θ
b
+
θ
l
2
+
α
g
l
.The constraint conditions give a constraint matrixC
q which should satisfy C
q
x
˙
q
=
0. They are combined into a constraint equation Φ
q
=
0 by moving the right member of each equation in (3) to the other side. The constraint matrix C
q is thus represented by(4)
C
q
=
∂
Φ
q
∂
x
q
.Applying the constraint matrixC
q and Lagrange’s undetermined multipliers λ
q yields a constrained system(5)
M
q
x
¨
q
=
h
q
+
C
q
T
λ
q
.Since (5) has redundant degrees of freedom, they are reduced.An independent velocity vector under constrained stateq
˙
q which is selected from x
˙
q is defined as(6)
q
˙
q
=
θ
˙
b
,
θ
˙
l
1
,
θ
˙
l
2
,
x
˙
b
,
y
˙
b
T
.Since applying the independent velocity vector q
˙
q yields x
˙
q
=
q
˙
q
T
,
v
q
T
T, we can represent the constraint matrix by C
q
=
C
q
1
,
C
q
2 so that C
q can satisfy C
q
x
˙
q
=
C
q
1
q
˙
q
+
C
q
2
v
q. From this relationship, an orthogonal matrix D
q can be obtained so as to be C
q
D
q
=
0 and x
˙
q
=
D
q
q
˙
q. Since C
q
x
˙
q
=
C
q
1
q
˙
q
+
C
q
2
v
q
=
0 gives v
q
=
-
C
q
2
-
1
C
q
1
q
˙
q, the orthogonal matrix D
q is obtained from x
˙
q
=
q
˙
q
T
,
v
q
T
T
=
D
q
q
˙
q as(7)
D
q
=
I
5
-
C
q
2
-
1
C
q
1
,where I denotes an identity matrix and an index of I denotes a dimensions of an identity matrix. Besides (7) satisfies C
q
D
q
=
C
q
1
-
C
q
2
C
q
2
-
1
C
q
1
=
0.The constrained motion equation is derived by projecting the constrained system (5) on the space constrained by D
q
T and transforming the coordinates of the component vectors. The base motion equation of the quadruped robot is thereby derived as(8)
D
q
T
M
q
D
q
q
¨
q
+
D
q
T
M
q
D
˙
q
q
˙
q
=
D
q
T
h
q
.


### 2.2. Consideration of the Constraint Force due to Collision and Contact with the Ground

The motion equation of the quadruped robot with rolling locomotion is derived by applying the constraint force due to collision and contact with the ground to the base motion equation of the quadruped robot.Applying the constraint force due to collision and contact with the groundτ
I to the base motion equation (5) yields the motion equation of the quadruped robot with rolling locomotion(9)
M
q
x
¨
q
=
h
q
+
C
q
T
λ
q
+
τ
I
.The constraint force τ
I is represented by(10)
τ
I
=
C
I
T
λ
I
,where C
I is the constraint matrix due to collision and contact with the ground, λ
I is the Lagrange’s undetermined multipliers, and C
I should satisfy C
I
x
˙
q
=
0.When the height of a grounding point of the quadruped roboth
j is less than or equal to 0 (h
j
≤
0) and the ground reaction force λ
j is greater than 0 (λ
j
>
0), consider the following constraint conditions:(1)
grounding legs roll without slipping;
(2)
a height of a grounding leg does not change.Here the coordinates of ground basing point (
x
c
j
,
y
c
j
) are given by(11)
x
c
1
=
x
b
+
l
b
cos
⁡
θ
b
+
l
c
cos
⁡
θ
b
+
θ
l
1
+
α
c
,
y
c
1
=
y
b
-
l
b
sin
⁡
θ
b
-
l
c
sin
⁡
θ
b
+
θ
l
1
+
α
c
,
x
c
2
=
x
b
-
l
b
cos
⁡
θ
b
-
l
c
cos
⁡
θ
b
+
θ
l
2
+
α
c
,
y
c
2
=
y
b
+
l
b
sin
⁡
θ
b
+
l
c
sin
⁡
θ
b
+
θ
l
2
+
α
c
,and h
j can be represented by h
j
=
y
c
j
-
r
l, where l
c
=
5.70
×
1
0
-
2 m and α
c
=
1.30 rad are the length from the joint to the ground basing point and angle from the leg to the ground basing point, respectively. The following expressions are thus derived from the above:(12)
x
c
j
=
x
c
j
0
+
r
l
θ
b
+
θ
l
j
-
θ
b
0
+
θ
l
j
0
,
y
c
j
=
r
l
,
h
j
≤
0
∩
λ
j
>
0
,where x
c
j
0, θ
b
0, and θ
l
j
0 are the x-coordinate of each leg and the angle of the body and the legs when constraints occur, respectively.The constraint matrixC
I is consequently represented by(13)
C
I
=
∂
Φ
I
∂
x
q
,
h
j
≤
0
∩
λ
j
>
0
,where the constraint equation Φ
I
=
0 is obtained from (12).When (13) holds, projecting (9) on the space constrained by D
q
T and transforming the coordinates of the component vectors can transform (9) into(14)
D
q
T
M
q
D
q
q
¨
q
+
D
q
T
M
q
D
˙
q
q
˙
q
=
D
q
T
h
q
+
D
q
T
C
I
T
λ
I
.Besides substituting (10) into (9) can also represent (9) as(15)
M
q
x
¨
q
=
h
q
+
C
q
q
T
λ
q
q
,
C
q
q
≔
C
q
T
,
C
I
T
T
,
λ
q
q
≔
λ
q
T
,
λ
I
T
T
.Since C
q
q
x
˙
q
=
0 and C
q
q
x
¨
q
=
-
C
˙
q
q
x
˙
q, (15) can be transformed into(16)
C
q
q
x
¨
q
=
C
q
q
M
q
-
1
h
q
+
C
q
q
M
q
-
1
C
q
q
T
λ
q
q
,
λ
q
q
=
C
q
q
M
q
-
1
C
q
q
T
-
1
C
q
q
M
q
-
1
h
q
+
C
˙
q
q
x
˙
q
.
λ
I included in (14) is produced from (16).


### 2.3. Velocity Transformation

In the case of touching each leg of the quadruped robot to the ground, a collision occurs and the velocities of the components change discontinuously. The velocities after the collision can be determined by the constraint conditions (12) posed to the robot when the collision with the ground occurs and the velocities before the collision. According to Assumption 4, the collision is assumed as completely inelastic collision, and the velocities after the collision are obtained from the velocities before the collision as follows.Transforming (9) gives λ
q as(17)
λ
q
=
-
X
q
-
1
C
q
M
q
-
1
h
q
+
C
˙
q
x
˙
q
+
C
q
M
q
-
1
τ
I
,
X
q
≔
C
q
M
q
-
1
C
q
T
.Substituting (10) and (17) into (9) yields(18)
M
q
x
¨
q
=
Y
q
h
q
-
C
q
T
X
q
-
1
C
˙
q
x
˙
q
+
Y
q
C
I
T
λ
I
,
Y
q
≔
I
9
-
C
q
T
X
q
-
1
C
q
M
q
-
1
.Letx
˙
q
- denote the velocities before the collision and let x
˙
q
+ denote the velocities after the collision. From (18), we obtain the following velocity relationship between the velocities before the collision and after that:(19)
M
q
x
˙
q
+
-
M
q
x
˙
q
-
=
Y
q
C
I
T
λ
I
.Since x
˙
q
+ should satisfy C
I
x
˙
q
+
=
0, λ
I is given by(20)
λ
I
=
-
Z
q
-
1
C
I
x
˙
q
-
,
Z
q
≔
C
I
M
q
-
1
Y
q
C
I
T
.The velocities after the collision x
˙
q
+ are thus obtained by substituting (20) into (19) as(21)
x
˙
q
+
=
I
9
-
M
q
-
1
Y
q
C
I
T
Z
q
-
1
C
I
x
˙
q
-
.


## 2.1. The Base Model of the Huntsman-Spider-Inspired Quadruped Robot

An unconstrained motion equation constituted of the motion equations of the independent components is written to derive the base motion equation of the quadruped robot.Generalized coordinatesx
q are defined as(1)
x
q
=
θ
b
,
θ
l
1
,
θ
l
2
,
x
b
,
y
b
,
x
l
1
,
y
l
1
,
x
l
2
,
y
l
2
T
.A generalized mass matrixM
q and a generalized force vector h
q are given by(2)
M
q
=
diag
⁡
M
11
,
M
22
,
M
11
≔
I
b
+
2
I
l
I
l
I
l
I
l
I
l
0
I
l
0
I
l
,
M
22
≔
d
i
a
g
m
b
,
m
b
,
m
l
,
m
l
,
m
l
,
m
l
,
h
q
=
-
c
b
θ
˙
b
,
τ
l
1
-
c
l
θ
˙
l
1
,
τ
l
2
-
c
l
θ
˙
l
2
,
0
,
-
m
b
g
,
0
,
-
m
l
g
,
0
,
-
m
l
g
T
.The unconstrained motion equation is represented byM
q
x
¨
q
=
h
q.The projection method leads to a constrained motion equation by considering conditions to constrain system behavior including definitions of positional relationships between each component. The constraint conditions of the quadruped robot are definitions of positional relationships between the body and each leg. They are given by(3)
x
l
1
=
x
b
+
l
b
cos
⁡
θ
b
+
l
g
l
cos
⁡
θ
b
+
θ
l
1
+
α
g
l
,
y
l
1
=
y
b
-
l
b
sin
⁡
θ
b
-
l
g
l
sin
⁡
θ
b
+
θ
l
1
+
α
g
l
,
x
l
2
=
x
b
-
l
b
cos
⁡
θ
b
-
l
g
l
cos
⁡
θ
b
+
θ
l
2
+
α
g
l
,
y
l
2
=
y
b
+
l
b
sin
⁡
θ
b
+
l
g
l
sin
⁡
θ
b
+
θ
l
2
+
α
g
l
.The constraint conditions give a constraint matrixC
q which should satisfy C
q
x
˙
q
=
0. They are combined into a constraint equation Φ
q
=
0 by moving the right member of each equation in (3) to the other side. The constraint matrix C
q is thus represented by(4)
C
q
=
∂
Φ
q
∂
x
q
.Applying the constraint matrixC
q and Lagrange’s undetermined multipliers λ
q yields a constrained system(5)
M
q
x
¨
q
=
h
q
+
C
q
T
λ
q
.Since (5) has redundant degrees of freedom, they are reduced.An independent velocity vector under constrained stateq
˙
q which is selected from x
˙
q is defined as(6)
q
˙
q
=
θ
˙
b
,
θ
˙
l
1
,
θ
˙
l
2
,
x
˙
b
,
y
˙
b
T
.Since applying the independent velocity vector q
˙
q yields x
˙
q
=
q
˙
q
T
,
v
q
T
T, we can represent the constraint matrix by C
q
=
C
q
1
,
C
q
2 so that C
q can satisfy C
q
x
˙
q
=
C
q
1
q
˙
q
+
C
q
2
v
q. From this relationship, an orthogonal matrix D
q can be obtained so as to be C
q
D
q
=
0 and x
˙
q
=
D
q
q
˙
q. Since C
q
x
˙
q
=
C
q
1
q
˙
q
+
C
q
2
v
q
=
0 gives v
q
=
-
C
q
2
-
1
C
q
1
q
˙
q, the orthogonal matrix D
q is obtained from x
˙
q
=
q
˙
q
T
,
v
q
T
T
=
D
q
q
˙
q as(7)
D
q
=
I
5
-
C
q
2
-
1
C
q
1
,where I denotes an identity matrix and an index of I denotes a dimensions of an identity matrix. Besides (7) satisfies C
q
D
q
=
C
q
1
-
C
q
2
C
q
2
-
1
C
q
1
=
0.The constrained motion equation is derived by projecting the constrained system (5) on the space constrained by D
q
T and transforming the coordinates of the component vectors. The base motion equation of the quadruped robot is thereby derived as(8)
D
q
T
M
q
D
q
q
¨
q
+
D
q
T
M
q
D
˙
q
q
˙
q
=
D
q
T
h
q
.


## 2.2. Consideration of the Constraint Force due to Collision and Contact with the Ground

The motion equation of the quadruped robot with rolling locomotion is derived by applying the constraint force due to collision and contact with the ground to the base motion equation of the quadruped robot.Applying the constraint force due to collision and contact with the groundτ
I to the base motion equation (5) yields the motion equation of the quadruped robot with rolling locomotion(9)
M
q
x
¨
q
=
h
q
+
C
q
T
λ
q
+
τ
I
.The constraint force τ
I is represented by(10)
τ
I
=
C
I
T
λ
I
,where C
I is the constraint matrix due to collision and contact with the ground, λ
I is the Lagrange’s undetermined multipliers, and C
I should satisfy C
I
x
˙
q
=
0.When the height of a grounding point of the quadruped roboth
j is less than or equal to 0 (h
j
≤
0) and the ground reaction force λ
j is greater than 0 (λ
j
>
0), consider the following constraint conditions:(1)
grounding legs roll without slipping;
(2)
a height of a grounding leg does not change.Here the coordinates of ground basing point (
x
c
j
,
y
c
j
) are given by(11)
x
c
1
=
x
b
+
l
b
cos
⁡
θ
b
+
l
c
cos
⁡
θ
b
+
θ
l
1
+
α
c
,
y
c
1
=
y
b
-
l
b
sin
⁡
θ
b
-
l
c
sin
⁡
θ
b
+
θ
l
1
+
α
c
,
x
c
2
=
x
b
-
l
b
cos
⁡
θ
b
-
l
c
cos
⁡
θ
b
+
θ
l
2
+
α
c
,
y
c
2
=
y
b
+
l
b
sin
⁡
θ
b
+
l
c
sin
⁡
θ
b
+
θ
l
2
+
α
c
,and h
j can be represented by h
j
=
y
c
j
-
r
l, where l
c
=
5.70
×
1
0
-
2 m and α
c
=
1.30 rad are the length from the joint to the ground basing point and angle from the leg to the ground basing point, respectively. The following expressions are thus derived from the above:(12)
x
c
j
=
x
c
j
0
+
r
l
θ
b
+
θ
l
j
-
θ
b
0
+
θ
l
j
0
,
y
c
j
=
r
l
,
h
j
≤
0
∩
λ
j
>
0
,where x
c
j
0, θ
b
0, and θ
l
j
0 are the x-coordinate of each leg and the angle of the body and the legs when constraints occur, respectively.The constraint matrixC
I is consequently represented by(13)
C
I
=
∂
Φ
I
∂
x
q
,
h
j
≤
0
∩
λ
j
>
0
,where the constraint equation Φ
I
=
0 is obtained from (12).When (13) holds, projecting (9) on the space constrained by D
q
T and transforming the coordinates of the component vectors can transform (9) into(14)
D
q
T
M
q
D
q
q
¨
q
+
D
q
T
M
q
D
˙
q
q
˙
q
=
D
q
T
h
q
+
D
q
T
C
I
T
λ
I
.Besides substituting (10) into (9) can also represent (9) as(15)
M
q
x
¨
q
=
h
q
+
C
q
q
T
λ
q
q
,
C
q
q
≔
C
q
T
,
C
I
T
T
,
λ
q
q
≔
λ
q
T
,
λ
I
T
T
.Since C
q
q
x
˙
q
=
0 and C
q
q
x
¨
q
=
-
C
˙
q
q
x
˙
q, (15) can be transformed into(16)
C
q
q
x
¨
q
=
C
q
q
M
q
-
1
h
q
+
C
q
q
M
q
-
1
C
q
q
T
λ
q
q
,
λ
q
q
=
C
q
q
M
q
-
1
C
q
q
T
-
1
C
q
q
M
q
-
1
h
q
+
C
˙
q
q
x
˙
q
.
λ
I included in (14) is produced from (16).


## 2.3. Velocity Transformation

In the case of touching each leg of the quadruped robot to the ground, a collision occurs and the velocities of the components change discontinuously. The velocities after the collision can be determined by the constraint conditions (12) posed to the robot when the collision with the ground occurs and the velocities before the collision. According to Assumption 4, the collision is assumed as completely inelastic collision, and the velocities after the collision are obtained from the velocities before the collision as follows.Transforming (9) gives λ
q as(17)
λ
q
=
-
X
q
-
1
C
q
M
q
-
1
h
q
+
C
˙
q
x
˙
q
+
C
q
M
q
-
1
τ
I
,
X
q
≔
C
q
M
q
-
1
C
q
T
.Substituting (10) and (17) into (9) yields(18)
M
q
x
¨
q
=
Y
q
h
q
-
C
q
T
X
q
-
1
C
˙
q
x
˙
q
+
Y
q
C
I
T
λ
I
,
Y
q
≔
I
9
-
C
q
T
X
q
-
1
C
q
M
q
-
1
.Letx
˙
q
- denote the velocities before the collision and let x
˙
q
+ denote the velocities after the collision. From (18), we obtain the following velocity relationship between the velocities before the collision and after that:(19)
M
q
x
˙
q
+
-
M
q
x
˙
q
-
=
Y
q
C
I
T
λ
I
.Since x
˙
q
+ should satisfy C
I
x
˙
q
+
=
0, λ
I is given by(20)
λ
I
=
-
Z
q
-
1
C
I
x
˙
q
-
,
Z
q
≔
C
I
M
q
-
1
Y
q
C
I
T
.The velocities after the collision x
˙
q
+ are thus obtained by substituting (20) into (19) as(21)
x
˙
q
+
=
I
9
-
M
q
-
1
Y
q
C
I
T
Z
q
-
1
C
I
x
˙
q
-
.


## 3. Design of the Energy-Based Controller

This section presents the controller based on the robot’s energy during rolling locomotion. The quadruped robot loses some of the robot’s energy due to collision and contact with the ground while rolling, and therefore it cannot perform periodic rolling locomotion without energy supply. It hence requires a controller which can compensate the robot’s energy loss [25].We derive a motion equation and mechanical energy of the quadruped robot based on its grounding point on a supporting leg. Applying them, the controller generates joint torque for its supporting leg that allows the robot’s kinetic energy to reach target energy at the moment when it switches the supporting leg.The quadruped robot performs an energy recovery action immediately before switching the supporting leg. Otherwise it returns and keeps the legs to initial positions.


### 3.1. Transforming the Motion Equation

The transformed motion equation and the mechanical energy of the quadruped robot are derived by defining a grounding leg as the supporting leg and another leg as the idling leg and shifting the origin 0 to the grounding point of the supporting leg as shown in Figure5. Here the subscripts s and i denote the supporting leg and the idling leg, respectively. The origin 0 is switched to the grounding point of the supporting leg after switching each supporting leg.Figure 5
Transformed model diagram of the rolling huntsman-spider-inspired quadruped robot. A grounding leg is defined as the supporting leg and another leg is defined as the idling leg. The grounding point of the supporting leg is defined as the origin 0, which is switched to the point after switching each supporting leg.The transformed motion equation is derived by modifying the constraint conditions and the independent velocity vector. The constraint conditions after shifting the origin are given by(22)
x
b
=
-
l
c
cos
⁡
θ
b
+
θ
s
+
α
c
-
l
b
cos
⁡
θ
b
,
y
b
=
l
c
sin
⁡
θ
b
+
θ
s
+
α
c
+
l
b
sin
⁡
θ
b
+
r
l
,
x
s
=
-
l
c
cos
⁡
θ
b
+
θ
s
+
α
c
+
l
g
l
cos
⁡
θ
b
+
θ
s
+
α
g
l
,
y
s
=
l
c
sin
⁡
θ
b
+
θ
s
+
α
c
-
l
g
l
sin
⁡
θ
b
+
θ
s
+
α
g
l
+
r
l
,
x
i
=
-
l
c
cos
⁡
θ
b
+
θ
s
+
α
c
-
2
l
b
cos
⁡
θ
b
-
l
g
l
cos
⁡
θ
b
+
θ
i
+
α
g
l
,
y
i
=
l
c
sin
⁡
θ
b
+
θ
s
+
α
c
+
2
l
b
sin
⁡
θ
b
+
l
g
l
sin
⁡
θ
b
+
θ
i
+
α
g
l
+
r
l
.The independent velocity vector q
˙
q is also modified as(23)
q
˙
q
=
θ
˙
b
,
θ
˙
s
,
θ
˙
i
T
,where θ
˙
s and θ
˙
i are the controllable variables and θ
˙
b is uncontrollable one; however, θ
˙
i is not utilized for energy compensation control. Applying the modified constraint conditions (22) and the independent velocity vector (23) yields the constraint matrix C
q and the orthogonal matrix D
q in the manner described in the previous section, and thereby we can derive the quadruped robot motion equation with the origin at the grounding point of the supporting leg.The transformed motion equation is represented by(24)
M
c
q
q
q
¨
q
+
C
c
q
q
,
q
˙
q
q
˙
q
+
∂
U
∂
q
q
=
T
c
,where M
c
(
q
q
) is the inertia matrix, C
c
(
q
q
,
q
˙
q
) is the damping matrix, U is the potential energy, and T
c is the input torque and also M
c
(
q
q
)
=
D
q
T
M
q
D
q and T
c
=
0
,
τ
s
,
τ
i
T.The mechanical energyE, the kinetic energy K, and the potential energy U are defined as(25)
E
=
K
+
U
,
K
=
1
2
q
˙
q
T
M
c
q
q
q
˙
q
,
U
=
m
b
y
b
+
m
l
y
s
+
y
i
g
.Additionally the relationship between the time derivative mechanical energy and the input torque is represented by(26)
E
˙
=
K
˙
+
U
˙
=
q
˙
q
T
T
c
.


### 3.2. Energy Compensation Control

Some of the kinetic energyK is lost due to collision and contact with the ground. We hence set the kinetic energy at the moment when the quadruped robot switches the supporting leg for the case of completing rolling locomotion as the target energy E
d for control and assume that K
=
E
d is satisfied at the moment while it is completing that. On the basis of the above, the energy state function V is defined as(27)
V
=
1
2
K
-
E
d
2
,
V
˙
=
K
-
E
d
K
˙
.Equation (27) is V
>
0 obviously and satisfies V
=
0 for K
=
E
d. When V
˙
<
0, V
→
0 and K
→
E
d is satisfied. Rolling locomotion is thus achieved by satisfying K
→
E
d when the joint torque which satisfies V
˙
<
0 is given to the supporting leg.The time derivative of the energy state functionV
˙ is written by applying (26) and (27) as(28)
V
˙
=
K
-
E
d
q
˙
q
T
T
c
-
U
˙
,
=
K
-
E
d
θ
˙
s
τ
s
+
θ
˙
i
τ
i
-
U
˙
<
0
.Since the kinetic energy is recovered only by movement of the supporting leg, let θ
˙
i
τ
i
=
0. Equation (28) is definitely transformed into(29)
V
˙
=
K
-
E
d
θ
˙
s
τ
s
-
U
˙
<
0
.This paper supposes that the quadruped robot should roll only in the positive direction on theX-coordinate. In order for the robot to roll in only one direction, we restrict the angular velocity of the supporting leg during an energy recovery action to θ
˙
s
<
0. Under this restriction, if K
-
E
d
<
0, that is, K
<
E
d, then(30)
θ
˙
s
τ
s
-
U
˙
>
0
.Since θ
˙
s
<
0, let θ
˙
s
=
-
θ
˙
s. Equation (30) is calculated as(31)
τ
s
<
-
U
˙
θ
˙
s
,
U
˙
≥
0
∩
θ
˙
s
<
0
,
U
˙
θ
˙
s
,
U
˙
<
0
∩
θ
˙
s
<
0
.If K
-
E
d
≥
0, that is, K
≥
E
d, then(32)
τ
s
>
-
U
˙
θ
˙
s
,
U
˙
≥
0
∩
θ
˙
s
<
0
,
U
˙
θ
˙
s
,
U
˙
<
0
∩
θ
˙
s
<
0
.The input is determined to satisfy (31) and (32). The input τ
s is defined as(33)
τ
s
=
-
ζ
U
˙
θ
˙
s
,
K
-
E
d
<
0
∩
θ
˙
s
<
0
,
ζ
U
˙
θ
˙
s
,
K
-
E
d
≥
0
∩
θ
˙
s
<
0
,
0
,
θ
˙
s
≥
0
,where ζ is the gain to adjust the input and 1
<
ζ
<
∞. Besides an initial angular velocity is provided by another input since θ
˙
s has the singular point in (33).To determineζ, values of the energy state function V at the moment when the quadruped robot switches the supporting leg are set as the Poincare mapping ξ
=
{
ξ
1
,
ξ
2
,
…
,
ξ
k
,
…
}. Here ξ
k denotes the value of the energy state function V for the time t
k at the moment. The control target is achieved when the Poincare mapping is settled to 0. The gain ζ settling the Poincare mapping to 0 is defined as(34)
ζ
=
ζ
0
+
∑
k
=
1
N
κ
p
Δ
ξ
k
+
κ
i
∑
n
=
1
k
Δ
ξ
n
+
κ
d
Δ
ξ
k
-
Δ
ξ
k
-
1
Δ
t
k
,where Δ
ξ
k
=
ξ
k
-
ξ
∗ is the difference between the value ξ
k and the terget value ξ
∗
=
0 of the energy state function V, Δ
t
k
=
t
k
-
t
k
-
1 is the difference between the time t
k and the previous time t
k
-
1 at the moment, and ζ
0, κ
p, κ
i, and κ
d are the adjustable parameters and should be positive constant.


## 3.1. Transforming the Motion Equation

The transformed motion equation and the mechanical energy of the quadruped robot are derived by defining a grounding leg as the supporting leg and another leg as the idling leg and shifting the origin 0 to the grounding point of the supporting leg as shown in Figure5. Here the subscripts s and i denote the supporting leg and the idling leg, respectively. The origin 0 is switched to the grounding point of the supporting leg after switching each supporting leg.Figure 5
Transformed model diagram of the rolling huntsman-spider-inspired quadruped robot. A grounding leg is defined as the supporting leg and another leg is defined as the idling leg. The grounding point of the supporting leg is defined as the origin 0, which is switched to the point after switching each supporting leg.The transformed motion equation is derived by modifying the constraint conditions and the independent velocity vector. The constraint conditions after shifting the origin are given by(22)
x
b
=
-
l
c
cos
⁡
θ
b
+
θ
s
+
α
c
-
l
b
cos
⁡
θ
b
,
y
b
=
l
c
sin
⁡
θ
b
+
θ
s
+
α
c
+
l
b
sin
⁡
θ
b
+
r
l
,
x
s
=
-
l
c
cos
⁡
θ
b
+
θ
s
+
α
c
+
l
g
l
cos
⁡
θ
b
+
θ
s
+
α
g
l
,
y
s
=
l
c
sin
⁡
θ
b
+
θ
s
+
α
c
-
l
g
l
sin
⁡
θ
b
+
θ
s
+
α
g
l
+
r
l
,
x
i
=
-
l
c
cos
⁡
θ
b
+
θ
s
+
α
c
-
2
l
b
cos
⁡
θ
b
-
l
g
l
cos
⁡
θ
b
+
θ
i
+
α
g
l
,
y
i
=
l
c
sin
⁡
θ
b
+
θ
s
+
α
c
+
2
l
b
sin
⁡
θ
b
+
l
g
l
sin
⁡
θ
b
+
θ
i
+
α
g
l
+
r
l
.The independent velocity vector q
˙
q is also modified as(23)
q
˙
q
=
θ
˙
b
,
θ
˙
s
,
θ
˙
i
T
,where θ
˙
s and θ
˙
i are the controllable variables and θ
˙
b is uncontrollable one; however, θ
˙
i is not utilized for energy compensation control. Applying the modified constraint conditions (22) and the independent velocity vector (23) yields the constraint matrix C
q and the orthogonal matrix D
q in the manner described in the previous section, and thereby we can derive the quadruped robot motion equation with the origin at the grounding point of the supporting leg.The transformed motion equation is represented by(24)
M
c
q
q
q
¨
q
+
C
c
q
q
,
q
˙
q
q
˙
q
+
∂
U
∂
q
q
=
T
c
,where M
c
(
q
q
) is the inertia matrix, C
c
(
q
q
,
q
˙
q
) is the damping matrix, U is the potential energy, and T
c is the input torque and also M
c
(
q
q
)
=
D
q
T
M
q
D
q and T
c
=
0
,
τ
s
,
τ
i
T.The mechanical energyE, the kinetic energy K, and the potential energy U are defined as(25)
E
=
K
+
U
,
K
=
1
2
q
˙
q
T
M
c
q
q
q
˙
q
,
U
=
m
b
y
b
+
m
l
y
s
+
y
i
g
.Additionally the relationship between the time derivative mechanical energy and the input torque is represented by(26)
E
˙
=
K
˙
+
U
˙
=
q
˙
q
T
T
c
.


## 3.2. Energy Compensation Control

Some of the kinetic energyK is lost due to collision and contact with the ground. We hence set the kinetic energy at the moment when the quadruped robot switches the supporting leg for the case of completing rolling locomotion as the target energy E
d for control and assume that K
=
E
d is satisfied at the moment while it is completing that. On the basis of the above, the energy state function V is defined as(27)
V
=
1
2
K
-
E
d
2
,
V
˙
=
K
-
E
d
K
˙
.Equation (27) is V
>
0 obviously and satisfies V
=
0 for K
=
E
d. When V
˙
<
0, V
→
0 and K
→
E
d is satisfied. Rolling locomotion is thus achieved by satisfying K
→
E
d when the joint torque which satisfies V
˙
<
0 is given to the supporting leg.The time derivative of the energy state functionV
˙ is written by applying (26) and (27) as(28)
V
˙
=
K
-
E
d
q
˙
q
T
T
c
-
U
˙
,
=
K
-
E
d
θ
˙
s
τ
s
+
θ
˙
i
τ
i
-
U
˙
<
0
.Since the kinetic energy is recovered only by movement of the supporting leg, let θ
˙
i
τ
i
=
0. Equation (28) is definitely transformed into(29)
V
˙
=
K
-
E
d
θ
˙
s
τ
s
-
U
˙
<
0
.This paper supposes that the quadruped robot should roll only in the positive direction on theX-coordinate. In order for the robot to roll in only one direction, we restrict the angular velocity of the supporting leg during an energy recovery action to θ
˙
s
<
0. Under this restriction, if K
-
E
d
<
0, that is, K
<
E
d, then(30)
θ
˙
s
τ
s
-
U
˙
>
0
.Since θ
˙
s
<
0, let θ
˙
s
=
-
θ
˙
s. Equation (30) is calculated as(31)
τ
s
<
-
U
˙
θ
˙
s
,
U
˙
≥
0
∩
θ
˙
s
<
0
,
U
˙
θ
˙
s
,
U
˙
<
0
∩
θ
˙
s
<
0
.If K
-
E
d
≥
0, that is, K
≥
E
d, then(32)
τ
s
>
-
U
˙
θ
˙
s
,
U
˙
≥
0
∩
θ
˙
s
<
0
,
U
˙
θ
˙
s
,
U
˙
<
0
∩
θ
˙
s
<
0
.The input is determined to satisfy (31) and (32). The input τ
s is defined as(33)
τ
s
=
-
ζ
U
˙
θ
˙
s
,
K
-
E
d
<
0
∩
θ
˙
s
<
0
,
ζ
U
˙
θ
˙
s
,
K
-
E
d
≥
0
∩
θ
˙
s
<
0
,
0
,
θ
˙
s
≥
0
,where ζ is the gain to adjust the input and 1
<
ζ
<
∞. Besides an initial angular velocity is provided by another input since θ
˙
s has the singular point in (33).To determineζ, values of the energy state function V at the moment when the quadruped robot switches the supporting leg are set as the Poincare mapping ξ
=
{
ξ
1
,
ξ
2
,
…
,
ξ
k
,
…
}. Here ξ
k denotes the value of the energy state function V for the time t
k at the moment. The control target is achieved when the Poincare mapping is settled to 0. The gain ζ settling the Poincare mapping to 0 is defined as(34)
ζ
=
ζ
0
+
∑
k
=
1
N
κ
p
Δ
ξ
k
+
κ
i
∑
n
=
1
k
Δ
ξ
n
+
κ
d
Δ
ξ
k
-
Δ
ξ
k
-
1
Δ
t
k
,where Δ
ξ
k
=
ξ
k
-
ξ
∗ is the difference between the value ξ
k and the terget value ξ
∗
=
0 of the energy state function V, Δ
t
k
=
t
k
-
t
k
-
1 is the difference between the time t
k and the previous time t
k
-
1 at the moment, and ζ
0, κ
p, κ
i, and κ
d are the adjustable parameters and should be positive constant.


## 4. Simulation of Rolling Locomotion on the Flat Ground

Rolling locomotion on the quadruped robot on the flat ground is simulated to verify the effectiveness of the proposed controller. The initial state of the rotational angle of the body and the legs is set atθ
b
=
8.73
×
1
0
-
2 rad and θ
l
j
=
1.57 rad, respectively. The quadruped robot starts rolling locomotion when the first leg contacts the ground. The robot performs the energy recovery action immediately before switching the supporting leg. At this time the horizontal COG of the robot X
g
=
(
m
b
x
b
+
m
l
(
x
s
+
x
i
)
)
/
(
m
b
+
2
m
l
)
≥
1.25
×
1
0
-
2.The model described in the section about modeling is applied as a plant. A PID controller is applied with the proposed controller in order to return and keep the legs to the initial positions and provide an initial angular velocity for the supporting leg. The PID controller works when the proposed controller is not active.The controller parameters are shown in Table3.Table 3
Controller parameters.
E
d
5.00
×
1
0
-
2
α
0
10.0
K
p
1.00
×
1
0
2
K
i
20.0
K
d
1.00
×
1
0
-
1Simulation results are shown in Figures6–11. Figure 6 shows the rotational angle of the body, Figures 7 and 8 show the positions of the body and the legs, Figure 9 shows the rotational angles of the legs, Figure 10 shows the joint torque values with energy compensation control, and Figure 11 shows the error between the kinetic energy and the target energy.Figure 6
Rotational angle of the body. The rotational angle of the body increases over time. It means that the quadruped robot rolls continuously, and the robot rotates 5.57 times in 10 s.Figure 7
X direction positions of the body and the legs (x
b: body, x
l
j: leg j). The X direction positions of the body and the legs increase over time. It means that the quadruped robot moves in the positive direction, and the robot moves 2.91 m in 10 s.Figure 8
Y direction positions of the body and the legs (y
b: body, y
l
j: leg j). The Y direction positions of the body and the legs repeatedly increase and decrease. The positional relationship between the legs shows that the quadruped robot rolls with switching the supporting leg.Figure 9
Rotational angles of the legs (θ
l
j: leg j). The quadruped robot moves the supporting leg in the negative direction immediately before switching the supporting leg to increase the robot’s kinetic energy. The legs return to its initial position immediately after that.Figure 10
Joint torque values with energy compensation control (τ
l
j: leg j). The negative joint torque values are supplied to the legs immediately before the quadruped robot switches the supporting leg.Figure 11
Error of energy. The joint torque values allow the error of energy to be more than 0, which means that the robot’s energy loss is compensated by the proposed controller.Figures6 and 7 show that the quadruped robot moves in the positive direction with rolling continuously. It rotates 5.57 times and moves 2.91 m in 10 s. Figure 8 shows that Y direction positions repeatedly increase and decrease. The positional relationship between the legs in Figure 8 shows that it rolls with switching the supporting leg.Figure9 shows that the quadruped robot performs the energy recovery action immediately before switching the supporting leg and returns it to the initial position immediately after that. The legs rotate in the negative direction when it is the supporting leg. Figure 9 also shows that the angular variations of the legs are converged to periodic trajectories. The joint torque values for the energy recovery action shown in Figure 10 allow the error of energy to be more than 0 as shown in Figure 11. It means that the robot’s energy loss is compensated by the proposed controller. The above results show that the proposed controller is effective in achieving periodic rolling locomotion on the flat ground with the quadruped robot.


## 5. Conclusion

This paper has presented an approach to control rolling locomotion with a huntsman-spider-inspired quadruped robot. A dynamic model of the quadruped robot with rolling locomotion has been developed by applying a constraint force due to collision and contact with the ground to a base quadruped robot model. The rolling locomotion is limited to planar one by an assumption that the quadruped robot does not fall down while rolling. A transformed model and mechanical energy of the quadruped robot have been derived based on its grounding point on a supporting leg. Employing these, a controller which can compensate the robot’s energy loss during rolling locomotion has been designed. The effectiveness of the proposed controller has been verified through a numerical simulation of rolling locomotion on the flat ground. The simulation results have shown that the quadruped robot can perform periodic rolling locomotion with the proposed energy-based controller. The proposed control approach is effective in achieving periodic rolling locomotion in conclusion. The proposed controller will be implemented in our platforms and its effectiveness will be tested in future work.



---

*Source: 649819-2015-10-05.xml*