Open Access

Realization of rolling locomotion by a wheel-spider-inspired hexapod robot

Robotics and Biomimetics20152:3

DOI: 10.1186/s40638-015-0026-7

Received: 15 July 2014

Accepted: 11 May 2015

Published: 7 July 2015

Abstract

This study aims to realize rolling locomotion by a multi-legged robot inspired by “wheel spider” in nature. A novel robot mechanism and a strategy for rolling locomotion is proposed in this paper based on motion analysis of wheel spider species in nature. We also present details of a model of a wheel-spider-inspired hexapod robot and design of its controller in realizing rolling locomotion. Results of numerical simulations validated the efficacy of the proposed approach in synthesizing rolling locomotion in a wheel-spider-inspired hexapod robot.

Keywords

Biologically inspired robot Multi-legged robot Wheel spider Rolling locomotion Modeling Simulation

Background

Rolling locomotion which has high mobility has been applied many times to mobile robots. Spherical robots are an example of mobile robots performing rolling locomotion. Spherical robots operate in hostile industrial environment, other planets or a human place like office or home. Spherical robots have been expected to obtain environmental data with sensors, gather and convey an object with an arm installed inside a spherical body in those environments [17]. However, it is considered that these environments have obstacles or difference in level that interrupt rolling locomotion. In this case, robots should apply other locomotion.

This paper focuses on creatures found in nature that can perform rolling locomotion and other locomotion. Spiders called “wheel spider (carparachne aureoflava)” which can perform rolling locomotion is one of the creatures in nature. The wheel spiders can reconfigure its body structures as wheels by fixing its legs into constant positions and perform rolling locomotion on its side on a slope [8].

This paper aims to realize rolling locomotion by a wheel-spider-inspired multi-legged robot on the flat ground.

Biologically inspired robots have been studied in literatures, e.g., [911]. Especially, biologically inspiredrolling locomotion has been discussed in literatures, e.g., [12, 13]. Lin has focused on caterpillars that can escape rapidly from predators by reconfiguring their body structures like wheels. Caterpillar-inspired soft robots have been developed and attempted rolling locomotion [12]. King has focused on rolling locomotion repeating somersault performed by a spider called “huntsman spider (cebrennus villosus)”. A quadruped robot which can somersault has been developed based on an image analysis of its rolling locomotion. The quadruped robot has performed rolling locomotion [13].

In those studies, although behavior of the creatures is analyzed by images, biologically inspired mathematical models are not developed. In this paper, a biologically inspired mathematical model of the wheel spiders is developed and rolling locomotion is analyzed through simulations. The model captures characteristics of rolling locomotion. In addition, motion analysis based on simulations applying the model allows physical parameters to be determined arbitrarily and it can be utilized to determine robot parameters.

To realize rolling locomotion by the wheel-spider-inspired multi-legged robot, it is necessary to develop the model considering the influence of the ground on the robot while rolling locomotion and design a controller. For such the issue, a model considering the influence of the ground on a system is developed by applying constraint force on the ground to a model without the influence of the ground and considering velocity transformation due to collision in a previous literature [14]. Applying the above method, a wheel spider rolling on a slope is modeled and analyzed through simulations at first. A mechanism of the multi-legged robot and the strategy for rolling locomotion are proposed based on results of motion analysis of the wheel spider and the model of the multi-legged robot is developed. The controller which can generate leg trajectories respectively in response to a robot state is designed. The effectiveness of the proposed controller is verified through numerical simulations of rolling locomotion by the multi-legged robot on the flat ground and it is shown that the multi-legged robot can achieve the rolling locomotion.

Method

2.1 Modeling of wheel spider rolling on the slope

The wheel spider can be found in the Namib Desert of Southern Africa and its size is 20 mm. The wheel spider reconfigures its body as a wheel by fixing its legs into constant positions after a short runup and goes down sand dunes when attacked by its nemesis. The wheel spider resumes walking with its legs straight as rotational speed reduces [8].

This section presents the model of the wheel spider rolling on the slope for motion analysis.

The wheel spider model is developed based on following assumptions.
  • Assumption 1. The wheel spider does not fall down while rolling.

  • Assumption 2. The wheel spider rolls without slipping on the ground.

  • Assumption 3. Positional relationships between the cephalothorax, the abdomen and each leg of the wheel spider do not change while rolling.

According to assumptions 1 and 2, the model diagram of the rolling wheel spider is shown in Fig. 1. The rolling wheel spider is described on the vertical two-dimensional surface. The x-axis describes the ground and is horizontal to the slope. The variables surrounded by the double line will be definitely independent.
Fig. 1

Model diagram of wheel spider rolling on slope. X-axis describes the ground and is horizontal to the slope. The rotational angles of the abdomen ψ a and legs ψ il , ψ ir are relative angle for the cephalothorax ψ c . The variables surrounded by the double line will be definitely independent

According to assumptions 2 and 3, the wheel spider rolls on the slope with keeping a posture. Only some parts touching the ground will be changed. Constraint conditions between the parts of the wheel spider does not therefore change and only the constraint conditions between the ground and some touching parts will change.

The motion equation of the wheel spider model is derived by applying a projection method [1517]. Assuming that a system is constituted of independent parts and the parts are connected by constraint conditions, the projection method involves a whole motion equation from motion equations and constraint conditions of each part.

In this paper, the motion equation of the rolling wheel spider is derived by applying constraint force on the ground to a motion equation of the wheel spider without the ground and considering velocity transformation due to collision [14, 18].

The parameters in the numerical simulations of the wheel spider rolling on the slope are set as shown in Table 1.
Table 1

Simulation parameters of rolling wheel spider

Mass of cephalothorax and abdomen (kg)

5.00×10−4

Mass of legs (kg)

1.00×10−4

Inertia moment of cephalothorax and abdomen (kgm 2)

6.25×10−9

Inertia moment of legs (kgm 2)

5.00×10−11

Viscosity of cephalothorax and abdomen (Nms/rad)

5.00×10−12

Viscosity of legs (Nms/rad)

1.00×10−12

Length from cephalothorax to abdomen (m)

1.00×10−2

Length from cephalothorax to pair of first legs (m)

6.50×10−3

Length from cephalothorax to pair of second legs (m)

9.00×10−3

Length from cephalothorax to pair of third legs (m)

1.20×10−2

Length from cephalothorax to pair of last legs (m)

1.40×10−2

Radius of cephalothorax and abdomen (m)

5.00×10−3

Radius of legs (m)

1.00×10−3

Gravity acceleration (m/s 2)

9.81

2.1.1 Model of wheel spider without the ground

An unconstrained motion equation is written to derive the motion equation of the wheel spider without the ground.

Generalized coordinates x s are defined as
$$\begin{array}{*{20}l} \boldsymbol{x}_{s} & = \left[\psi_{c}, x_{c}, z_{c}, \psi_{a}, \psi_{1l}, \psi_{1r}, \psi_{2l}, \psi_{2r}, \psi_{3l}, \psi_{3r}, \psi_{4l}, \psi_{4r}, \right. \\ & \quad\,\, x_{a}, z_{a}, x_{1l}, z_{1l}, x_{1r}, z_{1r}, x_{2l}, z_{2l}, x_{2r}, z_{2r},x_{3l}, z_{3l},x_{3r}, \\ &\quad \left. z_{3r}, x_{4l}, z_{4l}, x_{4r}, z_{4r} \right]^{T}, \end{array} $$
(1)
which include the rotational angle ψ n and center of gravity coordinates (x n ,z n ) of each part shown in Fig. 1. The subscript n denotes the set of indexes n={c,a,i l,i r}. Here the subscripts c, a, il, and ir denote the cephalothorax, the abdomen, the left legs, and the right legs, respectively and i=1,,4 denotes number of pair of the legs. The rotational angles of each leg and the abdomen are relative angle for the cephalothorax. These parts are assumed to be independent as shown in Fig. 2a.
Fig. 2

Image for constraining (a, b). The parts of the wheel spider are assumed to be independent. These parts are constrained by the constraint conditions which are definitions of positional relationships between the cephalothorax and other parts

The unconstrained motion equation is represented by
$$ \boldsymbol{M}_{s} \ddot{\boldsymbol{x}}_{s} = \boldsymbol{h}_{s}, $$
(2)

where M s is a generalized mass matrix and h s is a generalized force vector. The unconstrained motion equation (2) is constituted of motion equations of independent parts shown in Fig. 2a. The generalized mass matrix M s and the generalized force vector h s are given as

$$\begin{array}{*{20}l} \boldsymbol{M}_{s} & = \left[\begin{array}{cc} \boldsymbol{M}_{11} & \boldsymbol{0} \\ \boldsymbol{0} & \boldsymbol{M}_{22} \\ \end{array} \right], \end{array} $$
(3)
$$\begin{array}{*{20}l} \boldsymbol{M}_{11} & := \left[ \begin{array}{cccccccccccc} I_{s} & 0 & 0 & I_{a} & I_{1l} & I_{1r} & I_{2l} & I_{2r} & I_{3l} & I_{3r} & I_{4l} & I_{4r} \\ 0 & m_{c} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & m_{c} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ I_{a} & 0 & 0 & I_{a} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ I_{1l} & 0 & 0 & 0 & I_{1l} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ I_{1r} & 0 & 0 & 0 & 0 & I_{1r} & 0 & 0 & 0 & 0 & 0 & 0 \\ I_{2l} & 0 & 0 & 0 & 0 & 0 & I_{2l} & 0 & 0 & 0 & 0 & 0 \\ I_{2r} & 0 & 0 & 0 & 0 & 0 & 0 & I_{2r} & 0 & 0 & 0 & 0 \\ I_{3l} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & I_{3l} & 0 & 0 & 0 \\ I_{3r} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & I_{3r} & 0 & 0 \\ I_{4l} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & I_{4l} & 0 \\ I_{4r} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & I_{4r} \\ \end{array} \right], \\ \boldsymbol{M}_{22} & := \text{diag} \left(m_{a}, m_{a}, m_{1l}, m_{1l}, m_{1r}, m_{1r}, \cdots, \right.\\ &\quad\left. m_{4l}, m_{4l}, m_{4r}, m_{4r} \right), \\ I_{s} & := I_{1l} + I_{1r} \!+ I_{2l} \,+\, I_{2r} \,+\, I_{3l} \,+\, I_{3r} \,+\, I_{4l} + I_{4r} \,+\, I_{a} + I_{c}, \\ &\boldsymbol{h}_{s}\! =\! \left[ -c_{c} \dot{\psi}_{c}, m_{c} g\! \sin(\theta_{slp}), -m_{c} g \cos(\theta_{slp}), -c_{a} \dot{\psi}_{a},\!-c_{1l} \dot{\psi}_{1l},\right.\\ &\qquad -c_{1r} \dot{\psi}_{1r}, \cdots,- c_{4l} \dot{\psi}_{4l}, -c_{4r} \dot{\psi}_{4r},m_{a} g \sin(\theta_{slp}),\\ &\qquad -m_{a} g \cos(\theta_{slp}), m_{1l} g \sin(\theta_{slp}), -m_{1l} g \cos(\theta_{slp}), \\ & \qquad m_{1r} g \sin(\theta_{slp}), -m_{1r} g \cos(\theta_{slp}), \cdots,m_{4l} g \sin(\theta_{slp}), \\ & \qquad \left. -m_{4l} g \cos(\theta_{slp}), m_{4r} g \sin(\theta_{slp}), -m_{4r} g \cos(\theta_{slp}) \right]^{T}, \end{array} $$
(4)

where I n , m n and c n are the inertia moment, mass and viscosity of each part, θ slp is the angle of the slope and g is the gravity acceleration shown in Fig. 1.

The projection method leads a constrained motion equation by considering constraint conditions that constrain system behavior including definitions of positional relationships between each part. The constraint conditions of the wheel spider are the definitions of positional relationships between the cephalothorax and other parts. According to assumption 3, the positional relationships do not change while rolling. Therefore, the constraint conditions are given by
$$ \begin{cases} x_{a} = x_{c} + l_{a} \sin(\psi_{c} + \psi_{a}), \\ z_{a} = z_{c} + l_{a} \cos(\psi_{c} + \psi_{a}), \\ x_{il} = x_{c} + l_{il} \sin(\psi_{c} + \psi_{il}), \\ z_{il} = z_{c} + l_{il} \cos(\psi_{c} + \psi_{il}), \\ x_{ir} = x_{c} + l_{ir} \sin(\psi_{c} + \psi_{ir}), \\ z_{ir} = z_{c} + l_{ir} \cos(\psi_{c} + \psi_{ir}), \\ \psi_{a} = \pi, \\ \psi_{il} = -\alpha_{i}, \\ \psi_{ir} = \alpha_{i}, \\ \end{cases} $$
(5)

where l a , l il and l ir are the length from the cephalothorax to the abdomen, the left legs and the right legs shown in Fig. 1 and α i denote any constant angles shown in Fig. 2b. The constraint conditions (5) describe the linkages which connect the cephalothorax to other parts as shown in Fig. 2b.

A constraint matrix C s which should satisfy \(\boldsymbol {C}_{s} \dot {\boldsymbol {x}}_{s} = \boldsymbol {0}\) is obtained from the constraint conditions. Moving right member of each equation in (5) to the other side, they are combined into a constraint equation Φ s =0 as
$$ \boldsymbol{\Phi}_{s} = \left[ \begin{array}{c} \psi_{a} - \pi \\ \psi_{1l} + \alpha_{1} \\ \psi_{1r} - \alpha_{1} \\ \vdots \\ \psi_{4l} + \alpha_{4} \\ \psi_{4r} - \alpha_{4} \\ x_{a} - x_{c} - l_{a} \sin(\psi_{c} + \psi_{a}) \\ z_{a} - z_{c} - l_{a} \cos(\psi_{c} + \psi_{a}) \\ x_{1l} - x_{c} - l_{1l} \sin(\psi_{c} + \psi_{1l}) \\ z_{1l} - z_{c} - l_{1l} \cos(\psi_{c} + \psi_{1l}) \\ x_{1r} - x_{c} - l_{1r} \sin(\psi_{c} + \psi_{1r}) \\ z_{1r} - z_{c} - l_{1r} \cos(\psi_{c} + \psi_{1r}) \\ \vdots \\ x_{4l} - x_{c} - l_{4l} \sin(\psi_{c} + \psi_{4l}) \\ z_{4l} - z_{c} - l_{4l} \cos(\psi_{c} + \psi_{4l}) \\ x_{4r} - x_{c} - l_{4r} \sin(\psi_{c} + \psi_{4r}) \\ z_{4r} - z_{c} - l_{4r} \cos(\psi_{c} + \psi_{4r}) \\ \end{array} \right] = \boldsymbol{0}. $$
(6)
The constraint matrix C s is represented by
$$ \boldsymbol{C}_{s} = \frac{\partial \boldsymbol{\Phi}_{s}}{\partial \boldsymbol{x}_{s}}. $$
(7)
Utilizing the constraint matrix C s and Lagrange’s undetermined multipliers λ s , a constrained system is given by
$$ \boldsymbol{M}_{s} \ddot{\boldsymbol{x}}_{s} = \boldsymbol{h}_{s} + \boldsymbol{C}_{s}^{T} \boldsymbol{\lambda}_{s}. $$
(8)

Since (8) has redundant degrees of freedom, they are reduced.

An independent velocity vector under constrained state \(\dot {\boldsymbol {q}}_{s}\) which is selected from \(\dot {\boldsymbol {x}}_{s}\) is defined as
$$ \dot{\boldsymbol{q}}_{s} = \left[ \dot{\psi}_{c}, \dot{x}_{c}, \dot{z}_{c} \right]^{T}. $$
(9)
Given that \(\dot {\boldsymbol {x}}_{s} = \left [ \dot {\boldsymbol {q}}_{s}^{T}, \boldsymbol {v}_{s}^{T} \right ]^{T}\), the constraint matrix C s can be represented by C s =[C s1,C s2] to satisfy \(\boldsymbol {C}_{s} \dot {\boldsymbol {x}}_{s} = \boldsymbol {C}_{s1} \dot {\boldsymbol {q}}_{s} + \boldsymbol {C}_{s2} \boldsymbol {v}_{s}\). From this relationship, an orthogonal matrix D s can be obtained so as to C s D s =0 and \(\dot {\boldsymbol {x}}_{s} = \boldsymbol {D}_{s} \dot {\boldsymbol {q}}_{s}\). Since \(\boldsymbol {C}_{s} \dot {\boldsymbol {x}}_{s} = \boldsymbol {0}\) gives
$$\begin{array}{*{20}l} \boldsymbol{C}_{s1} \dot{\boldsymbol{q}}_{s} + \boldsymbol{C}_{s2} \boldsymbol{v}_{s} & = \boldsymbol{0}, \\ \boldsymbol{v}_{s} & = -\boldsymbol{C}_{s2}^{-1} \boldsymbol{C}_{s1} \dot{\boldsymbol{q}}_{s}, \end{array} $$
(10)
the orthogonal matrix D s is obtained from \(\dot {\boldsymbol {x}}_{s} = \left [ \dot {\boldsymbol {q}}_{s}^{T}, \boldsymbol {v}_{s}^{T} \right ]^{T} = \boldsymbol {D}_{s} \dot {\boldsymbol {q}}_{s}\) as
$$ \boldsymbol{D}_{s} = \left[ \begin{array}{c} \boldsymbol{I}_{3} \\ -\boldsymbol{C}_{s2}^{-1} \boldsymbol{C}_{s1} \end{array} \right], $$
(11)
where I denotes an identity matrix and the index of I denotes the dimensions of the identity matrix. The dimensions of I 3 should equal the dimensions of the independent velocity vector \(\dot {\boldsymbol {q}}_{s}\). Besides, (11) satisfies
$$\begin{array}{*{20}l} \boldsymbol{C}_{s} \boldsymbol{D}_{s} & = \left[ \begin{array}{cc} \boldsymbol{C}_{s1} & \boldsymbol{C}_{s2} \\ \end{array} \right] \left[ \begin{array}{c} \boldsymbol{I}_{3} \\ -\boldsymbol{C}_{s2}^{-1} \boldsymbol{C}_{s1} \\ \end{array} \right], \\ & = \boldsymbol{C}_{s1} - \boldsymbol{C}_{s2} \boldsymbol{C}_{s2}^{-1} \boldsymbol{C}_{s1}, \\ & = \boldsymbol{0}. \end{array} $$
The constrained motion equation is derived by projecting the constrained system (8) on a space constrained by \(\boldsymbol {D}_{s}^{T}\) and transforming the coordinates of component vectors. Thus the motion equation of the wheel spider without the ground is derived as
$$ \boldsymbol{D}_{s}^{T} \boldsymbol{M}_{s} \boldsymbol{D}_{s} \ddot{\boldsymbol{q}}_{s} + \boldsymbol{D}_{s}^{T} \boldsymbol{M}_{s} \dot{\boldsymbol{D}}_{s} \dot{\boldsymbol{q}}_{s} = \boldsymbol{D}_{s}^{T} \boldsymbol{h}_{s}. $$
(12)

2.1.2 Consideration of constraint force on the ground

The motion equation of the wheel spider rolling on the slope is derived by applying constraint force on the ground to the motion equation of the wheel spider without the ground [14].

Applying the constraint force on the ground τ I to the motion equation of the wheel spider without the ground (8), the motion equation of the wheel spider rolling on the slope is given by
$$ \boldsymbol{M}_{s} \ddot{\boldsymbol{x}}_{s} = \boldsymbol{h}_{s} + \boldsymbol{C}_{s}^{T} \boldsymbol{\lambda}_{s} + \boldsymbol{\tau}_{I}. $$
(13)
Applying a constraint matrix depending on the ground C I and Lagrange’s undetermined multipliers λ I , τ I is represented by
$$ \boldsymbol{\tau}_{I} = \boldsymbol{C}_{I}^{T} \boldsymbol{\lambda}_{I}, $$
(14)

and C I should satisfy \(\boldsymbol {C}_{I} \dot {\boldsymbol {x}}_{s} = \boldsymbol {0}\).

When the height of a grounding point h n is less than or equal to 0 (h n ≤0) and the ground reaction force λ n is greater than 0 (λ n >0), consider the following constraint conditions that
  1. 1.

    grounding parts roll without slipping,

     
  2. 2.

    height of grounding parts does not change.

     
Here h n can be represented by h n =z n r n , where r n is the radius of each part shown in Fig. 1. The following expressions are derived from the above:
$$ \begin{cases} x_{n} = x_{n 0} + r_{n} (\psi_{c} - \psi_{c 0}) \\ z_{n} = r_{n} \end{cases},~~h_{n} \leq 0 \cap \lambda_{n} > 0, $$
(15)

where x n0 and ψ c0 are the x-coordinate of each part and the angle of the cephalothorax when the constraints occur, respectively.

Thus the constraint matrix depending on the ground C I is represented by
$$\begin{array}{*{20}l} \boldsymbol{C}_{I} & = \frac{\partial \boldsymbol{\Phi}_{I}}{\partial \boldsymbol{x}_{s}}, ~~h_{n} \leq 0 \cap \lambda_{n} > 0, \\ \boldsymbol{\Phi}_{I} & := \left[ \begin{array}{c} x_{n} - (x_{n 0} + r_{n} (\psi_{c} - \psi_{c 0})) \\ z_{n} - r_{n} \end{array} \right] = \boldsymbol{0}, \end{array} $$
(16)

where the constraint equation Φ I =0 is obtained from (15).

When (16) holds, (13) can be transformed into
$$ \boldsymbol{D}_{s}^{T} \boldsymbol{M}_{s} \boldsymbol{D}_{s} \ddot{\boldsymbol{q}}_{s} + \boldsymbol{D}_{s}^{T} \boldsymbol{M}_{s} \dot{\boldsymbol{D}}_{s} \dot{\boldsymbol{q}}_{s} = \boldsymbol{D}_{s}^{T} \boldsymbol{h}_{s} + \boldsymbol{D}_{s}^{T} \boldsymbol{C}_{I}^{T} \boldsymbol{\lambda}_{I}, $$
(17)

by projecting (13) on the space constrained by \(\boldsymbol {D}_{s}^{T}\) and transforming the coordinates of component vectors.

Besides, (13) can also be represented by
$$\begin{array}{*{20}l} \boldsymbol{M}_{s} \ddot{\boldsymbol{x}}_{s} & = \boldsymbol{h}_{s} + \boldsymbol{C}_{ss}^{T} \boldsymbol{\lambda}_{ss}, \\ \boldsymbol{C}_{ss} & := \left[ \boldsymbol{C}_{s}^{T}, \boldsymbol{C}_{I}^{T} \right]^{T}, \\ \boldsymbol{\lambda}_{ss} & := \left[ \boldsymbol{\lambda}_{s}^{T}, \boldsymbol{\lambda}_{I}^{T} \right]^{T}, \end{array} $$
(18)
substituting (14) into (13). Since \(\boldsymbol {C}_{\textit {ss}} \dot {\boldsymbol {x}}_{s} = \boldsymbol {0}\) and \(\boldsymbol {C}_{\textit {ss}} \ddot {\boldsymbol {x}}_{s} =~- \dot {\boldsymbol {C}}_{\textit {ss}} \dot {\boldsymbol {x}}_{s}\), (18) can be transformed into
$$\begin{array}{*{20}l} \boldsymbol{C}_{ss} \ddot{\boldsymbol{x}}_{s} & = \boldsymbol{C}_{ss} \boldsymbol{M}_{s}^{-1} \boldsymbol{h}_{s} + \boldsymbol{C}_{ss} \boldsymbol{M}_{s}^{-1} \boldsymbol{C}_{ss}^{T} \boldsymbol{\lambda}_{ss}, \\ \boldsymbol{\lambda}_{ss} & = \left(\boldsymbol{C}_{ss} \boldsymbol{M}_{s}^{-1} \boldsymbol{C}_{ss}^{T} \right)^{-1} \left(\boldsymbol{C}_{ss} \boldsymbol{M}_{s}^{-1} \boldsymbol{h}_{s} + \dot{\boldsymbol{C}}_{ss} \dot{\boldsymbol{x}}_{s} \right). \end{array} $$
(19)

λ I included in (17) is produced from (19).

2.1.3 Velocity transformation

In the case of touching each part of the wheel spider to the ground, collisions occur. Thus velocities before the collision should be changed to velocities after the collision. Assuming that completely inelastic collision occurs when some parts touch the ground, the velocities after the collision is obtained from the velocities before the collision [14, 18].

Transforming (13), λ s is given by
$$\begin{array}{*{20}l} \boldsymbol{\lambda}_{s} & = -\boldsymbol{X}_{s}^{-1} \left(\boldsymbol{C}_{s} \boldsymbol{M}_{s}^{-1} \boldsymbol{h}_{s} + \dot{\boldsymbol{C}}_{s} \dot{\boldsymbol{x}}_{s} \right) -\boldsymbol{X}_{s}^{-1} \boldsymbol{C}_{s} \boldsymbol{M}_{s}^{-1} \boldsymbol{\tau}_{I}, \\ \boldsymbol{X}_{s} & := \boldsymbol{C}_{s} \boldsymbol{M}_{s}^{-1} \boldsymbol{C}_{s}^{T}. \end{array} $$
(20)
Substituting (14) and (20), (13) is transformed into
$$\begin{array}{*{20}l} \boldsymbol{M}_{s} \ddot{\boldsymbol{x}}_{s} & = \boldsymbol{Y}_{s} \boldsymbol{h}_{s} - \boldsymbol{C}_{s}^{T} \boldsymbol{X}_{s}^{-1} \dot{\boldsymbol{C}}_{s} \dot{\boldsymbol{x}}_{s} + \boldsymbol{Y}_{s} \boldsymbol{C}_{I}^{T} \boldsymbol{\lambda}_{I}, \\ \boldsymbol{Y}_{s} & := \boldsymbol{I}_{30} - \boldsymbol{C}_{s}^{T} \boldsymbol{X}_{s}^{-1} \boldsymbol{C}_{s} \boldsymbol{M}_{s}^{-1}, \end{array} $$
(21)

where the dimensions of I 30 should equal the dimensions of the generalized coordinates x s .

Let \(\dot {\boldsymbol {x}}_{s}^{-}\) denotes the velocities before the collision and \(\dot {\boldsymbol {x}}_{s}^{+}\) after the collision. From (21), a velocity relationship between the velocities before the collision and after that is represented by
$$ \boldsymbol{M}_{s} \dot{\boldsymbol{x}}_{s}^{+} - \boldsymbol{M}_{s} \dot{\boldsymbol{x}}_{s}^{-} = \boldsymbol{Y}_{s} \boldsymbol{C}_{I}^{T} \boldsymbol{\lambda}_{I}. $$
(22)
Since \(\dot {\boldsymbol {x}}_{s}^{+}\) should satisfy \(\boldsymbol {C}_{I} \dot {\boldsymbol {x}}_{s}^{+} = \boldsymbol {0}\), λ I is given by
$$\begin{array}{*{20}l} \boldsymbol{\lambda}_{I} & = -\boldsymbol{Z}_{s}^{-1} \boldsymbol{C}_{I} \dot{\boldsymbol{x}}_{s}^{-}, \\ \boldsymbol{Z}_{s} & := \boldsymbol{C}_{I} \boldsymbol{M}_{s}^{-1} \boldsymbol{Y}_{s} \boldsymbol{C}_{I}^{T}. \end{array} $$
(23)
Substituting (23) into (22), \(\dot {\boldsymbol {x}}_{s}^{+}\) is obtained from
$$ \dot{\boldsymbol{x}}_{s}^{+} = \left(\boldsymbol{I}_{30} - {\boldsymbol{M}_{s}}^{-1} \boldsymbol{Y}_{s} \boldsymbol{C}_{I}^{T} {\boldsymbol{Z}_{s}}^{-1} \boldsymbol{C}_{I} \right) \dot{\boldsymbol{x}}_{s}^{-}. $$
(24)

2.2 Simulation of rolling wheel spider

Behavior of the wheel spider rolling on the slope is simulated for motion analysis. The initial position and angle of the cephalothorax are set at (x c ,y c )=(0.00,1.50×10−2) m and ψ c deg, respectively. The rotational angles of the legs are set at α 1=60.0, α 2=95.0, α 3=1.30×102 and α 4=1.55×102 deg and the angle of the slop is set at θ slp =10.0 deg. The wheel spider rolls on the slope from the state of grounding the abdomen to the ground.

Simulation results are shown in Figs. 3, 4, 5, 6, 7, 8, 9, 10, 11 and 12. Figure 3 shows the angle of the cephalothorax, Figs. 4, 5 and 6 show the x direction positions of each part, Figs. 7, 8 and 9 show the z direction positions of each part and Figs. 10, 11 and 12 show the positions of each part on the two-dimensional surface.
Fig. 3

Rotational angle of cephalothorax. The rotational angle of the cephalothorax increases over time. The wheel spider rotates about 11 times in 3 s

Fig. 4

X direction positions of cephalothorax and abdomen (xc: cephalothorax, xa: abdomen). The x direction positions of the cephalothorax and the abdomen increase over time. They move about 0.7 m with moving back and forth in 3 s

Fig. 5

X direction positions of left legs (x1l: first leg, x2l: second leg, x3l: third leg, x4l: last leg). The x direction positions of the left legs increase over time. They move about 0.7 m with moving back and forth in 3 s

Fig. 6

X direction positions of right legs (x1r: first leg, x2r: second leg, x3r: third leg, x4r: last leg). The x direction positions of the right legs increase over time. They move about 0.7 m with moving back and forth in 3 s

Fig. 7

Z direction positions of cephalothorax and abdomen (zc: cephalothorax, za: abdomen). The z direction positions of the cephalothorax and the abdomen repeatedly increase and decrease. They do not achieve the height of 5 mm or less since their radius is 5 mm

Fig. 8

Z direction positions of left legs (z1l: first leg, z2l: second leg, z3l: third leg, z4l: last leg). The z direction positions of the left legs repeatedly increase and decrease. They do not achieve the height of 1 mm or less since their radius is 1 mm

Fig. 9

Z direction positions of right legs (z1r: first leg, z2r: second leg, z3r: third leg, z4r: last leg). The z direction positions of the right legs repeatedly increase and decrease. They do not achieve the height of 1 mm or less since their radius is 1 mm

Fig. 10

Positions of cephalothorax and abdomen on two-dimensional surface (c: cephalothorax, a: abdomen). The cephalothorax and the abdomen proceed to the positive x direction with changing their height

Fig. 11

Positions of left legs on two-dimensional surface (1l: first leg, 2l: second leg, 3l: third leg, 4l: last leg). The left legs proceed to the positive x direction with changing their height

Fig. 12

Positions of right legs on two-dimensional surface (1r: first leg, 2r: second leg, 3r: third leg, 4r: last leg). The right legs proceed to the positive x direction with changing their height

Figures 3, 4, 5 and 6 show that the angle of the cephalothorax and the x direction positions of the wheel spider increase over time. The wheel spider rotates about 11 times and moves about 0.7 m in 3 s. Here, it is found that the wheel spider rolls at a constant speed since displacement increase at a constant rate except when it starts rolling. Figures 7, 8 and 9 show that the z direction positions repeatedly increase and decrease without decreasing to below the height of the ground and at least one of the parts of the wheel spider constantly touch the ground. Furthermore, Figs. 10, 11 and 12 show that the wheel spider proceeds to the positive x direction with changing the height of each part.

From the above results, it is found that the wheel spider goes downhill at a constant speed with rolling. The wheel spider rolls only gravitationally since it is not provided with an initial velocity in the simulations. It is therefore effective in rolling locomotion by the multi-legged robot on the flat ground to utilize gravity skillfully.

2.3 Rolling locomotion by wheel-spider-inspired hexapod robot

The results of motion analysis of the rolling wheel spider show that the utilizing of gravity is effective in rolling locomotion by the multi-legged robot. Rolling locomotion utilizing gravity is therefore proposed. It includes the raising of the center of gravity of the multi-legged robot and the shifting of it forward on the overturned posture.

In this section, the mechanism of the multi-legged robot is proposed and then the model of the multi-legged robot with rolling locomotion is developed to realize the strategy for rolling locomotion.

The controller which can generate leg trajectories respectively in response to a multi-legged robot state is designed.

The multi-legged robot is not developed in this paper. The implementing and the testing of the multi-legged robot are issues in the future.

2.3.1 Mechanism of wheel-spider-inspired hexapod robot

The utilizing of gravity is adopted as the strategy for rolling locomotion on the flat ground. The rolling locomotion utilizing gravity includes the raising of the center of gravity of the multi-legged robot and the shifting of it forward on the overturned posture. This paper describes the raising of the center of gravity of the multi-legged robot as a raising movement and the shifting of it forward as a shifting movement.

To perform rolling locomotion, a hexapod robot with the legs having parallel linkage is proposed. The robot has the legs assembled equiangularly and hence can perform rolling locomotion by moving its legs in a regular pattern. The robot has two motors on each leg and hence can move its legs forward and backward and up and down as shown in Fig. 13. The robot has the inertial measurement unit on the body and the angular encoders on the motors to detect and keep postures.
Fig. 13

Mechanism of wheel-spider-inspired hexapod robot. The robot has the legs assembled equiangularly, as shown in (a). The robot can hence perform rolling locomotion by moving its legs in a regular pattern. The robot has two motors on each leg and hence can move its legs forward and backward and up and down. The legs are composed of the supporting columnar linkage and two linkage connecting it with the body, as shown in (b). The legs move up and down and inside and outside with keeping the side of each leg parallel to the side of the body

The legs are composed of a supporting columnar linkage and two linkage connecting it with the body as shown in Fig. 13b. The legs move up and down and inside and outside with keeping the side of each leg parallel to the side of the body.

The robot performs rolling locomotion on the overturned posture. The robot locates the legs equiangularly and near the body with grounding two legs for an initial overturned posture as shown in Fig. 14a. When the legs are located near the body, the overturned posture is stabilized easily since the center of gravity of the body and the legs are on the line perpendicular to the ground when viewed from the forward as shown in Fig. 14b. The supporting columnar linkages of the legs help the robot to roll smoothly.
Fig. 14

Overturned posture for rolling locomotion. The robot locates the legs equiangularly and near the body with grounding two legs for the initial overturned posture, as shown in (a). When the legs are located near the body, the overturned posture is stabilized easily since the center of gravity of the body and the legs are on the line perpendicular to the ground, as shown in (b). The supporting columnar linkages of the legs help the robot to roll smoothly

Utilizing the mechanism of the legs, the robot performs the raising movement for rolling locomotion by moving the grounding leg from inside to outside, thereby pushing the ground on the overturned posture as shown in Fig. 15a. The robot performs the shifting movement by moving the grounding leg forward and backward, thereby swinging the body as shown in Fig. 15b.
Fig. 15

Raising and shifting movement for rolling locomotion. The robot performs the raising movement by moving the grounding leg from inside to outside, thereby pushing the ground on the overturned posture, as shown in (a). The robot performs the shifting movement by moving the grounding leg forward and backward, thereby swinging the body, as shown in (b)

2.3.2 Modeling of wheel-spider-inspired hexapod robot with rolling locomotion

The model of the wheel-spider-inspired hexapod robot with rolling locomotion is developed in the manner similar to the modeling of the wheel spider.

The robot model is developed based on following assumptions.
  • Assumption 1. The robot does not fall down while rolling.

  • Assumption 2. The robot rolls without slipping on the ground.

  • Assumption 3. The robot can swing, elongate and contract its legs.

According to the assumptions, the model diagram of the rolling hexapod robot is shown in Fig. 16 and the variables are shown in Table 2. Here the subscript b denotes the body, α j, β j and γ j denote the first, second and third parts of the legs, respectively and j=1,,6 denotes number of legs. The translational distances of the second parts are relative distance for the first parts and the rotational angles of the first parts are relative angle for the body.
Fig. 16

Model diagram of rolling wheel-spider-inspired hexapod robot. X-axis describes the flat ground. The translational distances of the second parts of the legs d β1, …, d β6 are relative distance for the first parts (x α1,z α1), …, (x α6,z α6) and the rotational angles of the first parts ψ α1, …, ψ α6 are relative angle for the body ψ b . The variables surrounded by a double line will be definitely independent

Table 2

Variables of rolling wheel-spider-inspired hexapod robot (j=1,,6)

Center of gravity coordinates of body (m)

(x b ,z b )

Center of gravity coordinates of first parts of legs (m)

(x α j ,z α j )

Center of gravity coordinates of third parts of legs (m)

(x γ j ,z γ j )

Translational distance of second parts of legs (m)

d β j

Rotational angle of body (rad)

ψ b

Rotational angle of first parts of legs (rad)

ψ α j

Joint torque of first parts of legs (Nm)

τ α j

Force of second parts of legs (N)

F β j

According to assumptions 1 and 2, rolling locomotion by the robot is described on the vertical two-dimensional surface as the rolling wheel spider. X-axis describes the flat ground. The variables surrounded by the double line will be definitely independent.

According to assumptions 3, it is supposed that the legs of the robot have translational joints and rotational joints, respectively. Motor torque to power parallel linkages of legs are provided for translational joints as force.

The parameters in the numerical simulations of the hexapod robot with rolling locomotion on the flat ground are set as shown in Table 3.
Table 3

Simulation parameters of wheel-spider-inspired hexapod robot with rolling locomotion

Mass of body (kg)

1.70×10−1

Mass of first parts of legs (kg)

1.20×10−2

Mass of second parts of legs (kg)

1.30×10−2

Mass of third parts of legs (kg)

3.00×10−2

Inertia moment of body (kgm 2)

7.65×10−5

Inertia moment of first parts of legs (kgm 2)

2.00×10−6

Inertia moment of second parts of legs (kgm 2)

2.00×10−6

Inertia moment of third parts of legs (kgm 2)

2.10×10−6

Viscosity of body (Nms/rad)

1.70×10−9

Viscosity of first parts of legs (Nms/rad)

5.50×10−10

Damping coefficient of second parts of legs (Ns/m)

5.50×10−12

Spring constant of second parts of legs (N/m)

1.10×10−9

Length from body to center of gravity of first parts of legs (m)

1.00×10−2

Length from center of gravity of second parts to third parts of legs (m)

1.00×10−2

Radius of body (m)

3.00×10−2

Radius of third parts of legs (m)

1.50×10−2

Gravity acceleration (m/s 2)

9.81

Although the motion equation of the robot is derived in the manner similar to the modeling of the rolling wheel spider, it is difficult to derive an unconstrained motion equation including relative distance and angle directly. The unconstrained motion equation including relative distance and angle is therefore derived by transforming coordinates after deriving an unconstrained motion equation letting center of gravity coordinates of the second parts of legs be absolute position and rotational angles of the legs be absolute angle.

Given that the absolute positions of the second parts are \(\left (\tilde {x}_{\beta j},\tilde {z}_{\beta j} \right)\) and the absolute angles of the first parts are \(\tilde {\psi }_{\alpha j}\), generalized coordinates \(\tilde {\boldsymbol {x}}_{h}\) are defined as
$$ \begin{aligned} \tilde{\boldsymbol{x}}_{h} & =\left[ \psi_{b}, \tilde{\psi}_{\alpha 1}, \cdots, \tilde{\psi}_{\alpha 6}, \tilde{x}_{\beta 1}, \tilde{z}_{\beta 1}, \cdots, \right.\\ &\qquad \tilde{x}_{\beta 6}, \tilde{z}_{\beta 6}, x_{b}, z_{b}, x_{\alpha 1}, z_{\alpha 1}, \cdots,\\ & \qquad \left. x_{\alpha 6}, z_{\alpha 6}, x_{\gamma 1}, z_{\gamma 1}, \cdots, x_{\gamma 6}, z_{\gamma 6}\vphantom{\tilde{\psi}_{\alpha 1}} \right]^{T}. \end{aligned} $$
(25)
The unconstrained motion equation is represented by
$$ \tilde{\boldsymbol{M}}_{h} \ddot{\tilde{\boldsymbol{x}}}_{h} = \tilde{\boldsymbol{h}}_{h}, $$
(26)
where \(\tilde {\boldsymbol {M}}_{h}\) is a generalized mass matrix and \(\tilde {\boldsymbol {h}}_{h}\) is a generalized force vector. The generalized mass matrix \(\tilde {\boldsymbol {M}}_{h}\) and the generalized force vector \(\tilde {\boldsymbol {h}}_{h}\) are given by
$$ \begin{aligned} \tilde{\boldsymbol{M}}_{h} & =\text{diag} \left(I_{b}, I_{l1}, \cdots, I_{l6}, m_{\beta 1}, m_{\beta 1}, \cdots, \right.\\ &\quad\;\! m_{\beta 6}, m_{\beta 6}, m_{b}, m_{b}, m_{\alpha 1}, m_{\alpha 1}, \cdots,\\ & \quad\! \left. m_{\alpha 6}, m_{\alpha 6}, m_{\gamma 1}, m_{\gamma 1}, \cdots, m_{\gamma 6}, m_{\gamma 6} \right), \end{aligned} $$
(27)
$$I_{lj} := I_{\alpha j} + I_{\beta j} + I_{\gamma j}, $$
$$ \begin{aligned} \tilde{\boldsymbol{h}}_{h} &= \left[-\sum_{j=1}^{6} \tau_{\alpha j} - c_{b} \dot{\psi}_{b} + \sum_{j=1}^{6} \left(c_{\alpha j} \left(\dot{\tilde{\psi}}_{\alpha j} - \dot{\psi}_{b} \right) \right),\right.\\ &\quad\tau_{\alpha 1} - c_{\alpha 1} \left(\dot{\tilde{\psi}}_{\alpha 1} - \dot{\psi}_{b} \right), \cdots, \tau_{\alpha 6} - c_{\alpha 6} \left(\dot{\tilde{\psi}}_{\alpha 6} - \dot{\psi}_{b} \right), \\ &\quad F_{\beta 1} \sin(\tilde{\psi}_{\alpha 1}) - \eta_{\beta 1} \left(\dot{\tilde{x}}_{\beta 1} - \dot{x}_{\alpha 1} \right) - k_{\beta 1} \left(\tilde{x}_{\beta 1} - x_{\alpha 1} \right), \\ &\quad F_{\beta 1} \cos(\tilde{\psi}_{\alpha 1}) - \eta_{\beta 1} \left(\dot{\tilde{z}}_{\beta 1} - \dot{z}_{\alpha 1} \right) - k_{\beta 1} \left(\tilde{z}_{\beta 1} - z_{\alpha 1} \right) \\ &\quad- m_{\beta 1} g, \cdots, F_{\beta 6} \sin(\tilde{\psi}_{\alpha 6}) - \eta_{\beta 6} \left(\dot{\tilde{x}}_{\beta 6} - \dot{x}_{\alpha 6} \right) \\ &\quad- k_{\beta 6} \left(\tilde{x}_{\beta 6} - x_{\alpha 6} \right), F_{\beta 6} \cos(\tilde{\psi}_{\alpha 6}) - \eta_{\beta 6} \left(\dot{\tilde{z}}_{\beta 6} \,-\, \dot{z}_{\alpha 6} \right) \\ &\quad- k_{\beta 6} \left(\tilde{z}_{\beta 6} - z_{\alpha 6} \right) - m_{\beta 6} g, 0,-m_{b} g, -F_{\beta 1} \sin(\tilde{\psi}_{\alpha 1}) \\ &\quad+ \eta_{\beta 1} \left(\dot{\tilde{x}}_{\beta 1} \,-\, \dot{x}_{\alpha 1} \right) \,+\, k_{\beta 1} \!\left(\tilde{x}_{\beta 1} \,-\, x_{\alpha 1} \right),-F_{\beta 1} \!\cos(\tilde{\psi}_{\alpha 1}) \\ &\quad+ \eta_{\beta 1} \left(\dot{\tilde{z}}_{\beta 1} - \dot{z}_{\alpha 1} \right) \,+\, k_{\beta 1} \left(\tilde{z}_{\beta 1} - z_{\alpha 1} \right) - m_{\alpha 1} g, \cdots, \\ &\quad-F_{\beta 6} \sin(\tilde{\psi}_{\alpha 6}) \,+\, \eta_{\beta 6} \left(\dot{\tilde{x}}_{\beta 6} \,-\, \dot{x}_{\alpha 6} \right) \,+\, k_{\beta 6} \left(\tilde{x}_{\beta 6} \,-\, x_{\alpha 6} \right), \\ &\quad -F_{\beta 6} \cos(\tilde{\psi}_{\alpha 6}) + \eta_{\beta 6} \left(\dot{\tilde{z}}_{\beta 6} - \dot{z}_{\alpha 6} \right) \,+\, k_{\beta 6} \left(\tilde{z}_{\beta 6} \,-\, z_{\alpha 6} \right) \\ &\quad-\left. m_{\alpha 6} g, 0, -m_{\gamma 1} g, \cdots, 0, -m_{\gamma 6} g {\vphantom{\sum_{j=1}^{6}}}\right]^{T}, \end{aligned} $$
(28)

where I m and m m are the inertia moment and mass of each part, c b and c α j are the viscosity of the body and the first parts of the legs, η β j is the damping coefficient of the second parts and k β j is the spring constant of the second parts shown in Fig. 16 The subscript m denotes the set of indexes m={b,α j,β j,γ j}.

Here \(\left (\tilde {x}_{\beta j},\tilde {z}_{\beta j} \right)\) and \(\tilde {\psi }_{\alpha j}\) are transformed into d β j and ψ α j , respectively. Given that transformed generalized coordinates x h are
$$\begin{array}{*{20}l} & \boldsymbol{x}_{h} = \left[ \psi_{b}, \psi_{\alpha 1}, \cdots, \psi_{\alpha 6}, d_{\beta 1}, \cdots, d_{\beta 6}, x_{b}, z_{b}, x_{\alpha 1}, z_{\alpha 1}, \cdots, \right. \\ & \quad \left. x_{\alpha 6}, z_{\alpha 6}, x_{\gamma 1}, z_{\gamma 1}, \cdots, x_{\gamma 6}, z_{\gamma 6} \right]^{T}, \end{array} $$
(29)
\(\left (\tilde {x}_{\beta j},\tilde {z}_{\beta j} \right)\) and \(\tilde {\psi }_{\alpha j}\) are represented by
$$ \begin{cases} \tilde{x}_{\beta j} = x_{\alpha j} + d_{\beta j} \sin \left(\psi_{b} + \psi_{\alpha j} + \frac{j - 1}{3} \pi \right), \\ \tilde{z}_{\beta j} = z_{\alpha j} + d_{\beta j} \cos \left(\psi_{b} + \psi_{\alpha j} + \frac{j - 1}{3} \pi \right), \\ \tilde{\psi}_{\alpha j} = \psi_{b} + \psi_{\alpha j} + \frac{j - 1}{3} \pi. \\ \end{cases} $$
(30)
A velocity transformation matrix A h which should satisfy \(\dot {\tilde {\boldsymbol {x}}}_{h}=\boldsymbol {A}_{h}\dot {\boldsymbol {x}}_{h}\) can thus be obtained from
$$ \boldsymbol{A}_{h} = \frac{\partial \tilde{\boldsymbol{x}}_{h}}{\partial \boldsymbol{x}_{h}}, $$
(31)

substituting (30) into (25).

Since \(\ddot {\tilde {\boldsymbol {x}}}_{h}=\dot {\boldsymbol {A}}_{h}\dot {\boldsymbol {x}}_{h}+\boldsymbol {A}_{h}\ddot {\boldsymbol {x}}_{h}\), a transformed unconstrained motion equation is obtained as
$$\begin{array}{*{20}l} \tilde{\boldsymbol{M}}_{h} \left(\dot{\boldsymbol{A}}_{h} \dot{\boldsymbol{x}}_{h} + \boldsymbol{A}_{h} \ddot{\boldsymbol{x}}_{h} \right) & = \tilde{\boldsymbol{h}}_{h}, \\ \boldsymbol{A}_{h}^{T} \tilde{\boldsymbol{M}}_{h} \boldsymbol{A}_{h} \ddot{\boldsymbol{x}}_{h} & = \boldsymbol{A}_{h}^{T} \left(\tilde{\boldsymbol{h}}_{h} - \tilde{\boldsymbol{M}}_{h} \dot{\boldsymbol{A}}_{h} \dot{\boldsymbol{x}}_{h} \right). \end{array} $$
(32)

Given that \({\boldsymbol {M}_{h}=\boldsymbol {A}_{h}^{T} \tilde {\boldsymbol {M}}_{h} \boldsymbol {A}_{h}}\) and \(\boldsymbol {h}_{h}=\boldsymbol {A}_{h}^{T} (\tilde {\boldsymbol {h}}_{h} -\tilde {\boldsymbol {M}}_{h} \dot {\boldsymbol {A}}_{h} \dot {\boldsymbol {x}}_{h})\), (32) can be represented by \(\boldsymbol {M}_{h} \ddot {\boldsymbol {x}}_{h} = \boldsymbol {h}_{h}\).

The constraint conditions of the hexapod robot are the definitions of positional relationships between the body and each leg. The constraint conditions are given by
$$ \fontsize{7}{12}{\left\{\!\!\begin{aligned} &x_{\alpha j} = x_{b} + r_{b} \sin \left(\psi_{b} + \frac{j - 1}{3} \pi \right) + l_{\alpha j} \sin \left(\psi_{b} + \psi_{\alpha j} + \frac{j - 1}{3} \pi \right), \\ &z_{\alpha j} = z_{b} + r_{b} \cos \left(\psi_{b} + \frac{j - 1}{3} \pi \right) + l_{\alpha j} \cos \left(\psi_{b} + \psi_{\alpha j} + \frac{j - 1}{3} \pi \right), \\ &x_{\gamma j} \,=\, x_{b} + r_{b} \sin \left(\! \psi_{b} \,+\, \frac{j - 1}{3} \pi\! \right) \,+\, (\,l_{\alpha j} \,+\, d_{\beta j} \,+\, l_{\beta j} \,+\, r_{\gamma j}) \sin \left(\psi_{b} \,+\, \psi_{\alpha j} \,+\, \frac{j - 1}{3} \pi \right), \\ &z_{\gamma j} \,=\, z_{b} \,+\, r_{b} \cos\! \left(\psi_{b}\! +\! \frac{j \,-\, 1}{3} \pi \right)\! + \!(\,l_{\alpha j} \,+\, d_{\beta j} + l_{\beta j} \,+\, r_{\gamma j}) \cos \left(\psi_{b} \!+ \!\psi_{\alpha j} \,+\, \frac{j - 1}{3} \pi \right), \end{aligned}\right.} $$
(33)

where l α j is the length from the body to each center of gravity of first part of leg, l β j is the length from each center of gravity of second part to each third part and r b and r γ j are the radius of the body and the third parts shown in Fig. 16.

Settling a constraint equation Φ h =0 as
$$ \boldsymbol{\Phi}_{h} = \left[ \begin{array}{c} x_{\alpha 1} - x_{b} - r_{b} \sin \left(\psi_{b} + \frac{0}{3} \pi \right) - l_{\alpha 1} \sin \left(\psi_{b} + \psi_{\alpha 1} + \frac{0}{3} \pi \right) \\ z_{\alpha 1} - z_{b} - r_{b} \cos \left(\psi_{b} + \frac{0}{3} \pi \right) - l_{\alpha 1} \cos \left(\psi_{b} + \psi_{\alpha 1} + \frac{0}{3} \pi \right) \\ \vdots \\ x_{\alpha 6} - x_{b} - r_{b} \sin \left(\psi_{b} + \frac{5}{3} \pi \right) - l_{\alpha 6} \sin \left(\psi_{b} + \psi_{\alpha 6} + \frac{5}{3} \pi \right) \\ z_{\alpha 6} - z_{b} - r_{b} \cos \left(\psi_{b} + \frac{5}{3} \pi \right) - l_{\alpha 6} \cos \left(\psi_{b} + \psi_{\alpha 6} + \frac{5}{3} \pi \right) \\ x_{\gamma 1} - x_{b} - r_{b} \sin \left(\psi_{b} + \frac{0}{3} \pi \right) - (l_{\alpha 1} + d_{\beta 1} + l_{\beta 1} + r_{\gamma 1}) \sin \left(\psi_{b} + \psi_{\alpha 1} + \frac{0}{3} \pi \right) \\ z_{\gamma 1} - z_{b} - r_{b} \cos \left(\psi_{b} + \frac{0}{3} \pi \right) - (l_{\alpha 1} + d_{\beta 1} + l_{\beta 1} + r_{\gamma 1}) \cos \left(\psi_{b} + \psi_{\alpha 1} + \frac{0}{3} \pi \right) \\ \vdots \\ x_{\gamma 6} - x_{b} - r_{b} \sin \left(\psi_{b} + \frac{5}{3} \pi \right) - (l_{\alpha 6} + d_{\beta 6} + l_{\beta 6} + r_{\gamma 6}) \sin \left(\psi_{b} + \psi_{\alpha 6} + \frac{5}{3} \pi \right) \\ z_{\gamma 6} - z_{b} - r_{b} \cos \left(\psi_{b} + \frac{5}{3} \pi \right) - (l_{\alpha 6} + d_{\beta 6} + l_{\beta 6} + r_{\gamma 6}) \cos \left(\psi_{b} + \psi_{\alpha 6} + \frac{5}{3} \pi \right) \\ \end{array} \right] = \boldsymbol{0}, $$
(34)
from (33), a constraint matrix C h can be calculated by
$$ \boldsymbol{C}_{h} = \frac{\partial \boldsymbol{\Phi}_{h}}{\partial \boldsymbol{x}_{h}}. $$
(35)
A constrained system is given by
$$ \boldsymbol{M}_{h} \ddot{\boldsymbol{x}}_{h} = \boldsymbol{h}_{h} + {\boldsymbol{C}_{h}}^{T} \boldsymbol{\lambda}_{h}, $$
(36)
and an independent velocity vector under constrained state \(\dot {\boldsymbol {q}}_{h}\) is given by
$$ \dot{\boldsymbol{q}}_{h} = \left[\dot{\psi}_{b}, \dot{\psi}_{\alpha 1}, \cdots, \dot{\psi}_{\alpha 6}, \dot{d}_{\beta 1}, \cdots, \dot{d}_{\beta 6}, \dot{x}_{b}, \dot{z}_{b} \right]^{T}. $$
(37)
An orthogonal matrix D h to reduce degrees of freedom of (36) is obtained as
$$ \boldsymbol{D}_{h} = \left[ \begin{array}{c} \boldsymbol{I}_{15} \\ -\boldsymbol{C}_{h2}^{-1} \boldsymbol{C}_{h1} \\ \end{array} \right]. $$
(38)
Thus the motion equation of the hexapod robot without the ground is derived as
$$ \boldsymbol{D}_{h}^{T} \boldsymbol{M}_{h} \boldsymbol{D}_{h} \ddot{\boldsymbol{q}}_{h} + \boldsymbol{D}_{h}^{T} \boldsymbol{M}_{h} \dot{\boldsymbol{D}}_{h} \dot{\boldsymbol{q}}_{h} = \boldsymbol{D}_{h}^{T} \boldsymbol{h}_{h}, $$
(39)

by projecting the constrained system (36) on the space constrained by \(\boldsymbol {D}_{h}^{T}\) and transforming the coordinates of component vectors.

The constraint conditions depending on the ground are given as
$$ \left\{\!\!\begin{aligned} &x_{\gamma j} \,=\, x_{{\gamma j}_{0}} \,+\, r_{\gamma j} \left(\psi_{b} \,+\, \psi_{\alpha j} \,-\, (\psi_{b_{0}} \,+\, \psi_{{\alpha j}_{0}}) \right) \\ &z_{\gamma j} \,=\, r_{\gamma j} \end{aligned}\right.,h_{\gamma j} \!\leq\! 0 \cap \lambda_{\gamma j} \!>\! 0, $$
(40)

where h γ j =z γ j r γ j is the height of a grounding point and λ γ j is ground reaction force. \(x_{{\gamma j}_{0}}\phantom {\dot {i}\!}\), \(\psi _{b_{0}}\phantom {\dot {i}\!}\) and \(\psi _{{\alpha j}_{0}}\phantom {\dot {i}\!}\) are the x-coordinate of each third part of leg and the angle of the body and the third parts when constraints occur, respectively.

Utilizing the constraint conditions (40), the motion equation of the hexapod robot with rolling locomotion can be derived by applying constraint force on the ground to the motion equation of the hexapod robot without the ground and considering velocity transformation due to collision.

2.4 Design of controller

To realize rolling locomotion by the wheel-spider-inspired hexapod robot on the flat ground, it is necessary to perform the raising movement and the shifting movement. In this case, the robot stands on two legs and the center of gravity is shifted by these legs. Legs getting off the ground return to the initial position after shifting the center of gravity. For that reason, each leg should behave differently. A controller which generates a target trajectory depending on each leg state and allows a joint to track it is therefore designed.

The control system configuration is shown in Fig. 17. Determining the final states of target trajectories in each state and activating times beforehand, the trajectories from current states to the final states are generated by quintic interpolation when the states switched. And then, the joints of the robot are worked by applying a PID controller as a position servo system.
Fig. 17

Control system schematic for wheel-spider-inspired hexapod robot with rolling locomotion. Determining the final states of target trajectories and the activating times beforehand, the trajectories from current states to the final states are generated by the quintic interpolation trajectory generator when the states switched. The joints of the robot are worked by applying the PID controller

2.4.1 Target trajectory generation

Time is defined to be t. Target trajectories of position, velocity and acceleration are given by
$$\begin{array}{*{20}l} f(t) & = a_{5} t^{5} + a_{4} t^{4} + a_{3} t^{3} + a_{2} t^{2} + a_{1} t + a_{0}, \end{array} $$
(41)
$$\begin{array}{*{20}l} \dot{f}(t) & = 5a_{5} t^{4} + 4a_{4} t^{3} + 3a_{3} t^{2} + 2a_{2} t + a_{1}, \end{array} $$
(42)
$$\begin{array}{*{20}l} \ddot{f}(t) & = 20a_{5} t^{3} + 12a_{4} t^{2} + 6a_{3} t + 2a_{2}, \end{array} $$
(43)
where a 0, …, a 5 are coefficients. An initial state and a final state are defined to be x s and x f , respectively. Initial and final time are defined to be t 0=0 and t f , respectively. (44) are obtained from (41) - (43).
$$ f(0) = a_{0} = x_{s},~~ \dot{f}(0) = a_{1} = \dot{x}_{s},~~ \ddot{f}(0) = 2a_{2} = \ddot{x}_{s}. $$
(44)
a 0, …, a 2 are obtained by (44). Furthermore, a 3, …, a 5 are obtained from
$$\begin{array}{*{20}l} \left[ \begin{array}{c} a_{3} \\ a_{4} \\ a_{5} \\ \end{array} \right] &= \boldsymbol{A}^{-1} \left[ \begin{array}{c} x_{f} - \frac{\ddot{x}_{s}}{2} {t_{f}^{2}} - \dot{x}_{s} t_{f} - x_{s} \\ \dot{x}_{f} - \ddot{x}_{s} t_{f} - \dot{x}_{s} \\ \ddot{x}_{f} - \ddot{x}_{s} \\ \end{array} \right],\\ \boldsymbol{A} &:= \left[ \begin{array}{ccc} {t_{f}^{3}} & {t_{f}^{4}} & {t_{f}^{5}} \\ 3{t_{f}^{2}} & 4{t_{f}^{3}} & 5{t_{f}^{4}} \\ 6t_{f} & 12{t_{f}^{2}} & 20{t_{f}^{3}} \\ \end{array} \right], \end{array} $$
(45)

when t=t f . A target state x r (t) is obtained by applying a 0, …, a 5 to (41) - (43) within t 0tt f . When 0≠t a tt b , A target state is obtained from x r (t)=f(tt a ) and t a tt b after coefficients of trajectories were obtained for t 0=0 and t f =t b t a .

2.4.2 PID controller

The PID controller is designed to let the joints track the target trajectories. Let an error between a target joint state x r and a current joint state x be e=x r x and the position servo system is designed as
$$ \tau = K_{p} e + K_{i} \int e \mathrm{d}t + K_{d} \dot{e}, $$
(46)

where K p , K i and K d denote the proportional, integral and differential gain, respectively. (46) calculates input and allows the joints to track the target trajectories.

Results and discussion

3.1 Simulation of rolling locomotion by wheel-spider-inspired hexapod robot on the flat ground

The rolling locomotion utilizing gravity by the wheel-spider-inspired hexapod robot on the flat ground is simulated to verify the effectiveness of the proposed controller. The initial rotational angles of the body and the legs are set at ψ b =30.0 and ψ α j =0.00 deg and initial translational distances of legs are set at d β j =1.50×10−2 m. The hexapod robot starts rolling locomotion from a state standing on two legs.

The final states of target trajectories and the activating times are set as Table 4. Here the initial and final states of velocities and accelerations are 0. The PID gains of the translational and rotational joints are shown in Table 5.
Table 4

Final states of target trajectories and activating times

State

Target distance

Target angle

Activating

 

(m)

(deg)

time (s)

Grounded forward leg

3.50×10−2

−25.0

5.00×10−1

Grounded backward leg

5.00×10−3

0.00

5.00×10−1

Ungrounded leg

1.50×10−2

0.00

1.00

Table 5

PID gains of translational and rotational joints

Joint

Proportional gain

Integral gain

Differential gain

Translational joint

3.50×103

1.50×103

40.0

Rotational joint

15.0

5.00

6.00×10−2

Simulation results are shown in Figs. 18, 19, 20, 21, 22 and 23. Figure 18 shows the angle of the body, Fig. 19 shows the x direction positions of the body and the third parts of the legs, Fig. 20 shows the z direction positions of the body and the third parts of the legs, Fig. 21 shows the positions of the body and the third parts of the legs on the two-dimensional surface, Fig. 22 shows the angles of the legs and Fig. 23 shows the translational distances of the legs.
Fig. 18

Rotational angle of body. The rotational angle of the body increases over time. The robot rotates about 2.32 times in 10 s

Fig. 19

X direction positions of body and third parts of legs (xb: body, xlj: third parts). The x direction positions of the body and the third parts of the legs increase over time. They move about 1.26 m with moving backward and forward in 10 s

Fig. 20

Z direction positions of body and third parts of legs (zb: body, zlj: third parts). The z direction positions of the body and the third parts of the legs repeatedly increase and decrease. The third parts do not achieve the height of 15 mm or less except when the legs get off the ground since their radius are 15 mm

Fig. 21

Positions of body and third parts of legs on two-dimensional surface (b: body, lj: third parts). The body and the third parts of the legs proceed to the positive x direction with changing their height

Fig. 22

Rotational angles of legs (pslj: legs). The rotational angles of the legs move periodically toward the target angles from 2 s later

Fig. 23

Translational distances of legs (dlj: legs). The translational distances of the legs move periodically toward the target distances from 2 s later

Figures 18 and 19 show that the angle of the body and the x direction positions of the robot increase over time. The robot rotates about 2.32 times and moves about 1.26 m in 10 s. Here, it is found that the robot rolls at a constant speed since displacement increase at a constant rate except when the robot starts rolling. Figure 20 shows that the z direction positions repeatedly increase and decrease without decreasing to below the height of the ground except when legs get off the ground. The exceptions when the legs get off the ground are due to push the ground with the legs. Figure 21 shows that the robot proceeds to a positive x direction with changing the height of each part.

Figures 21, 22 and 23 show that the raising movement and the shifting movement can be performed by tracking the trajectories which is generated in response to the leg states.

From the above results, the proposed controller is effective in realizing the proposed strategy for rolling locomotion and the wheel-spider-inspired hexapod robot can achieve rolling locomotion.

Conclusions

This paper aimed to realize rolling locomotion by the wheel-spider-inspired hexapod robot on the flat ground. To realize rolling locomotion by the robot, the wheel spider rolling on the slope was modeled and analyzed through simulations. The model of the rolling wheel spider is developed by applying constraint force on the ground to the model of the wheel spider without the ground and considering velocity transformation due to collision. The mechanism of the robot and the rolling locomotion utilizing gravity which includes the raising of the center of gravity of the robot and the shifting of it forward on the overturned posture were proposed based on the results of motion analysis of the wheel spider and the robot model was developed. The controller which can generate the leg trajectories respectively in response to a robot state was designed. Finally, the rolling locomotion by the robot on the flat ground was simulated applying the proposed controller. As a result, it was found that the proposed controller is effective in realizing the proposed strategy for rolling locomotion. In conclusion, it was verified through numerical simulations that the wheel-spider-inspired hexapod robot can achieve the rolling locomotion utilizing gravity.

The proposed controller has the control issue that it does not consider the influence of touching the legs of the robot to the ground. Trajectory tracking errors hence occur when the legs are touching the ground. The designing of a controller considering the influence of the ground and the implementing and testing of the wheel-spider-inspired hexapod robot are issues in the future.

Declarations

Acknowledgements

Mr. Shunsuke Nansai made enormous contribution to design simulation programs.

Authors’ Affiliations

(1)
Tokyo Denki University
(2)
Singapore University of Technology and Design

References

  1. Halme A, Schonberg T, Wang Y (1996) Motion control of a spherical mobile robot In: Advanced Motion Control, 1996. AMC’96-MIE. Proceedings., 1996 4th International Workshop On, 259–264.. IEEE, Washington, DC, USA.Google Scholar
  2. Michaud F, Caron S (2002) Roball, the rolling robot. Autonomous robots 12(2): 211–222.View ArticleMATHGoogle Scholar
  3. Behar A, Matthews J, Carsey F, Jones J (2004) Nasa/jpl tumbleweed polar rover In: Aerospace Conference, 2004. Proceedings. 2004 IEEE,. IEEE, Washington, DC, USA.Google Scholar
  4. Otani T, Urakubo T, Maekawa S, Tamaki H, Tada Y (2006) Position and attitude control of a spherical rolling robot equipped with a gyro In: Advanced Motion Control, 2006. 9th IEEE International Workshop On, 416–421.. IEEE, Washington, DC, USA.View ArticleGoogle Scholar
  5. Ylikorpi T, Suomela J (2007) Ball-shaped robots. Climbing & Walking Robots, Towards New Applications. Itech, Vienna, Austria,235–256.Google Scholar
  6. Joshi VA, Banavar RN (2009) Motion analysis of a spherical mobile robot. Robotica 27(3): 343–353.View ArticleGoogle Scholar
  7. Joshi VA, Banavar RN, Hippalgaonkar R (2010) Design and analysis of a spherical mobile robot. Mechanism and Machine Theory 45(2): 130–136.View ArticleMATHGoogle Scholar
  8. Armour RH, Vincent JF (2006) Rolling in nature and robotics: a review. Journal of Bionic Engineering 3(4): 195–208.View ArticleGoogle Scholar
  9. Guillot A (2008) Biologically inspired robots In: Springer Handbook of Robotics, 1395–1422.. Springer.Google Scholar
  10. Wood RJ (2008) The first takeoff of a biologically inspired at-scale robotic insect. Robotics, IEEE Transactions on 24(2): 341–347.View ArticleGoogle Scholar
  11. Chen Z, Shatara S, Tan X (2010) Modeling of biomimetic robotic fish propelled by an ionic polymer–metal composite caudal fin. Mechatronics, IEEE/ASME Transactions on 15(3): 448–459.View ArticleGoogle Scholar
  12. Lin HT, Leisk GG, Trimmer B (2011) Goqbot: a caterpillar-inspired soft-bodied rolling robot. Bioinspiration & biomimetics 6(2): 026007.View ArticleGoogle Scholar
  13. King RS (2013) BiLBIQ: A Biologically Inspired Robot with Walking and Rolling Locomotion. Springer.Google Scholar
  14. Ohta H, Yamakita M, Furuta K (2001) From passive to active dynamic walking. International Journal of Robust and Nonlinear Control 11(3): 287–303.MathSciNetView ArticleMATHGoogle Scholar
  15. Arczewski K, Blajer W (1996) A unified approach to the modelling of holonomic and nonholonomic mechanical systems. mathematical modelling of systems 2(3): 157–174.MathSciNetView ArticleMATHGoogle Scholar
  16. Blajer W (2001) A geometrical interpretation and uniform matrix formulation of multibody system dynamics. ZAMM-Journal of Applied Mathematics and Mechanics/Zeitschrift für Angewandte Mathematik und Mechanik81(4): 247–259.MathSciNetView ArticleGoogle Scholar
  17. Ohsaki H, Iwase M, Hatakeyama S (2007) A consideration of nonlinear system modeling using the projection method In: SICE, 2007 Annual Conference, 1915–1920.. IEEE, Washington, DC, USA.View ArticleGoogle Scholar
  18. Ohata A, Sugiki A, Ohta Y, Suzuki S, Furuta K (2004) Engine modeling based on projection method and conservation laws In: Control Applications, 2004. Proceedings of the 2004 IEEE International Conference On, 1420–1424.. IEEE, Washington, DC, USA.View ArticleGoogle Scholar

Copyright

© Nemoto et al. 2015

This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.