[IEEE Control (MSC) - Denver, CO, USA (2011.09.28-2011.09.30)] 2011 IEEE International Conference on...
Transcript of [IEEE Control (MSC) - Denver, CO, USA (2011.09.28-2011.09.30)] 2011 IEEE International Conference on...
A Leg-wheel Robot-based Approach to the Solution of Flipper-trackRobot Kinematics
Alan Mutka and Zdenko Kovacic
Abstract— This paper presents the method of solving kine-matics of a flipper-track robot. A general kinematics frameworkbased on the screw theory is introduced for the leg-wheelrobots. Focusing on the contact point between a flipper and theground surface, the flipper-track robot kinematics is presentedwith the equivalent hybrid leg-wheel robot kinematics. For astudied four flipper-track robot, several robot control modesand corresponding kinematics solutions are identified. Thealgorithm for robot posture and tracking control is presentedrespecting robot’s mechanical constraints. The kinematics androbot posture control were tested by simulation on a virtualrobot in the MATLAB-ODE simulation environment.
I. INTRODUCTION
The main idea in ground vehicle robotics is to create a
locomotion system able to move a robot from one place to
another. There is significant diversity of competing mobility
requirements such as speed, complexity, maneuverability,
flexibility and robustness leading to an equally diverse set
of mechanical solutions.
Three main forms of locomotion for ground robot plat-
forms are met: wheeled, tracked, and legged. Wheeled robot
platforms are best suited for use on prepared surfaces. The
main advantages are energy saving and simplified control. On
the other hand, the mobility and maneuverability of wheeled
systems are very limited. They often face difficulties when
encountering large obstacles or narrow paths. In contrast,
legged robot platforms are preferred for crossing rough ter-
rains, but the price paid is their complexity and lower power
efficiency. Tracked locomotion creates a large contact area
with the ground, which provides better traction on natural
terrains than with wheels [1]. However, power consumption
is much higher than in wheeled robots due to friction and
slippage effects. In recent years, there has been growing in-
terest in getting benefits by combining these three locomotion
concepts. The results are hybrid locomotion robots like leg-
wheel, leg-track-wheel and flipper-track robots.
Wheeled robots are locomotion systems whose main chas-
sis is connected to a set of wheels through links and joints.
Adding articulations between the wheels and chassis allows
the location of the wheel to be altered with respect to the
chassis during locomotion. Carefully designed kinematics
of articulations helps a robot to roll over much larger
obstacles and better adapt to terrain profile. The widely
recognized family of passive wheeled platforms presented in
[2] are robots Mars Pathfinder and Rocky. Control of robotic
vehicles moving on rough terrains with actively articulated
suspensions is introduced in [3]. Kinematics analysis and
control of an omnidirectional mobile robot moving on rough
terrain is presented in [4]. In [5] motion kinematics analysis
of a leg-wheel rover moving over 3D surface with posture
adaptation is presented. Based on a general kinetostatic
model a posture control algorithm is introduced. A general
framework for articulated wheeled robots based on twist
manipulation and nonholonomic ground-wheel constraints is
presented in [6].
Another type of hybrid robots are tracked hybrid robots
which use active flippers to improve reversibility on uneven
terrain. However, control of flippers also increases control
complexity, especially for the remotely operated vehicles.
Semi-autonomous traversal on uneven terrain for a tracked
vehicle using autonomous control of active flippers is pre-
sented in [7]. Semi-autonomous control of a six degrees of
freedom (6 DOF) Crawler robot having flipper for getting
over unknown steps is presented in [8]. A self-reconfigurable
tracked mobile robot designed for motion in unstructured
environments is presented in [9].
The robot described herein is a professional service robot
designed for execution of exploration and inspection (E&I)
tasks in dangerous environments (see Figure 1). Built as a
four flipper-track mobile robot equipped with various sen-
sors, its aim is to explore buildings, detect potential sources
of danger and locate people caught in the accidents. Having
each flipper-track independently controlled by a single servo
drive unit, three control modes can take place - track motion
control, flipper motion control, and exchange of control
modes. When all four tracks and flippers are considered,
this enables various combinations of robot control modes
including robot tracks control only, robot flippers control
only and mixed flippers-tracks control.
In order to be able to control the position and the posture
of the robot in motion, problems of direct and inverse
kinematics must be solved. In this paper we describe the use
of leg-wheel robot-based approach to solving the kinematics
of a tracked E&I robot with four active flippers. Respecting
Fig. 1. Four flipper-track mobile robot
2011 IEEE International Conference on Control Applications (CCA)Part of 2011 IEEE Multi-Conference on Systems and ControlDenver, CO, USA. September 28-30, 2011
978-1-4577-1063-6/11/$26.00 ©2011 IEEE 1443
{F}
X
Z
Y
{M}
X
Z
Y
r
pF
rB
rF
Fig. 2. Homogeneous transformation
the shape of the flippers shown in Figure 1 and variations of
kinematics related to the variation of a contact point with
the ground surface, the general kinematics framework is
built on the twist theory described in [10],[11],[12]. Based
on the contact between a flipper and ground surface, the
flipper-track kinematics is represented as hybrid leg-wheel
kinematics.
In section II a brief discussion of mathematical tools
being used is presented. This includes a brief summary of
homogenous transform, formulation of Jacobian matrices for
a nonholonomically constrained mechanical system and gen-
eral approach to kinematics design for wheeled and flipper-
track robots based on the twist theory. In section III the
kinematics of a four flipper-track robot and a control scheme
are introduced. Section IV. provides simulation results of
robot posture control obtained in the virtual environment
using Matlab and Open Dynamics Engine (ODE). In section
V. we give some conclusions and discuss ideas for future
work.
II. GENERAL KINEMATICS FRAMEWORK BASED ON
SCREW THEORY
A. Twist assembled jacobian matrix
The homogenous transformation of a mobile frame {M}relative to a fixed (inertial) frame {F} (shown in Figure 2)can be defined by the following matrix:
TMF =
[RMF pF0 1
](1)
where RMF is a 3×3 matrix describing rotation of {M} with
respect to {F}, and pF is a 3×1 vector describing translationof the origin of {M} with respect to {F}.A body-fixed twist matrix corresponding to the motion of
frame {M} relative to {F} and expressed in the coordinatesof {M} is given by:
[ΞΞΞMF
]M=[TMF]−1 [ d
dt
[TMF]]=
[[ΩΩΩMF]M [
vMF]M
0 0
](2)
where[vMF
]M= [v1 v2 v3]
T is a linear velocity vector
and[ΩΩΩMF]M
is a 3×3 skew symmetric matrix with angular
velocities of frame {M} relative to {F} as its elements:
[ΩΩΩMF]M=
⎡⎣ 0 −ω3 ω2
ω3 0 −ω1−ω2 ω1 0
⎤⎦ (3)
A six-dimensional twist vector can be found from (2) and
(3): [ξξξMF
]M = [v1 v2 v3 ω1 ω2 ω3]T (4)
The twist vector (4) can be transformed to any arbitrary
frame {N} by: [ξξξMF
]N= AdNM ·
[ξξξMF
]M(5)
where AdNM is a 6×6 adjoint transformation matrix definedby:
AdNM =
[RNMT −RN
MT ·pN
0 RNMT
](6)
B. General kinematics model of a leg-wheel robot
A general model of a leg-wheel robot with n wheels is
shown in Figure 3. Dashed lines represent kinematic chains
from the robot body to the wheels. An assumption is made
that each kinematic chain (leg) has l active joints. Positionand posture control of a robot with respect to a selected
inertial frame {F} is accomplished using l×n active joints
that form a vector of active joint variables qa ∈ℜl×n.Position and posture control of the robot shown in Figure
3 is actually a task of controlling position and orientation of a
robot body coordinate frame {B} attached to the robot bodycenter point and expressed relative to {F}. The correspondingconfiguration vector has a form:
wFB =
[[xB]F [yB]F [zB]F [φB]F [θB]F [ψB]F]T (7)
where:[xB]F,[yB]F,[zB]F
- body center coordinates
(origin of frame {B}), φB, θB , ψB - body orientation (yaw,pitch, and roll angles of frame {B}) all expressed relative to{F}.Six coordinates of wF
B are system variables which can
be treated as unactuated degrees of freedom of the robotic
system, qu ∈ℜ6.
In total, the system has l×n+6 DOF, and the main goalis to control qu by using actuated robot joints qai j ∈ ℜl×nwhere i= 1, ....n, j = 1, ....l.Each wheel rotation corresponds to one actuated DOF of a
robotic system. A wheel is represented as a rigid planar disc
with center Owi and normal zwi (Figure 4). Each wheel has acoordinate frame {Wi}=(Owi,xwi,ywi,zwi), i= 1, ...n, attachedto the wheel axle.
An assumption is made that initially the wheel has only
one contact point with the ground designated as a coordinate
1444
xb
yb
zb
{W2}
{W1}
{Wn-1}
{Wn}
{C2}
{C1}
{Cn-1}
{Cn}
{F}xf
yf
zf
{B}Ob
{Wi}{Ci}
..... .......
Fig. 3. A general model of a leg-wheel robot with n legs-wheels
{c}
{Wi}
ywi
zwi
{Ci0}
zci0
yci0 xci0
xwi
Owi
Oci0{Ci}
xci
�i
Fig. 4. Model of wheel ground contact
frame {Ci0}=(Oci0,xci0,yci0,zci0) (see Figure 4). For an arbi-trary contact point location {Ci} a transformation between
{Ci} and {Wi} should be taken into account defined as a
rotation around vector zwi by an angle γi. It should be notedthat γi can change abruptly depending on the posture takenby the robot, shape of the wheel, and configuration of the
contact surface. For example, by climbing steps, getting over
the edge of a step and loosing the contact with the ground
causes discrete changes of γi.The twist vector which represents an unactuated linear and
angular velocity of body frame {B} with respect to some
inertial frame {F} and expressed in {B} is defined as:[ξξξBF
]B=[xB yB zB φB θB ψB
]T(8)
All twists defined in different frames form a resultant
twist that can be expressed in a common frame of reference.
For example, in the N-DOF system where frame {F} is theinertial frame and frames {1}...{N} are successive frames
being involved, the twist of the outmost frame {N} with
respect to frame {F} expressed in the common frame {N}is obtained as the sum of transformed twist vectors (let {F}= {0}:
[ξξξNF
]N=[ξξξN0
]N=
N
∑i=1
AdNi[ξξξ ii−1
]i=
= AdN1 ·[ξξξ 10
]1+AdN2 ·
[ξξξ 21
]2+ ...+
[ξξξNN−1
]N (9)
For the robot shown in Figure 3, a twist vector of contact
frame {Ci} with respect to {F} and expressed in {Ci} is
determined by the following sum:
[ξξξCiF
]Ci= AdCiB ·
[ξξξBF
]B+AdCiWi
·[ξξξWiB
]Wi+[ξξξCiWi
]Ci(10)
It follows that the twist vector[ξξξCiF
]Cican be divided into
two parts containing unactuated and actuated DOF:[ξξξCiF
]Ci= AdCiB ·
[ξξξBF
]B+Ji · q j (11)
where Ji represents a Jacobian matrix of actuated joints.The contact point between a wheel and the ground (Figure
4) is constrained by a pure rolling contact condition which
limits the contact point linear velocity in all directions. In
order to apply the constraint, the first three rows in (11)
related to linear velocities are extracted and the resultant
twist vector[ξξξCiF
]Ciis set to zero. By taking the constraint
into account, equation (11) attains a form:
Pi[ξξξBF
]B=Qiq j (12)
where Pi is a 3× 6 submatrix of AdCiB and Qi is a 3× jsubmatrix of −Ji.Finally the general kinematics for all kinematic branches
is:
⎡⎢⎢⎣
P1P2...Pn
⎤⎥⎥⎦3n×6
·[ξξξBF
]B6×1
=
⎡⎢⎢⎣
Q1 0 0 0
0 Q2 0 0
0 0 ... 0
0 0 0 Qn
⎤⎥⎥⎦3n× j
·
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣
˙q11...q1l....˙qn1...qnl
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦j×1(13)
III. KINEMATICS MODEL OF FLIPPER-TRACK ROBOT
We deal herein with modeling of a four flipper-track
mobile robot shown in Figure 5. Let us define the following
flipper-track notation: i= 1 front left, i= 2 front right, i= 3
back left, i = 4 back right. Based on the contact between
a flipper and the ground, the flipper-track kinematics can
be represented as hybrid leg-wheel kinematics. As shown
in Figure 5, a virtual wheel of a radius ri is inserted at thecontact point of the flipper with the ground. The flipper itself
is modeled as a link li between the virtual wheel frame {Wvi}and the flipper axis frame {Hi}.In order to be able to simultaneously control 6 unactuated
DOF of the robot body center wFB , flipper/track pairs (qa ∈
ℜ8) should be also simultaneously controlled. This assumes
1445
{Hi}
r{Wi}
{Ci}Contact
{B}bx
by
bz
{F}X
Y
Z{B}X
Y
Z
{W1} {Wn}
{C1}{Cn}
. . .
{W2}{C2} {Wi}
{Ci}. . . . .
{Wn-1}{Cn-1}
Fig. 5. Hybrid leg-wheel kinematics
the use of two motors, one for the flipper and one for the
track. This way of control enables the use of a general
kinematics model of the robot. Having each flipper/track
pair actuated by a single servo drive unit, each pair can
assume either a track state (denoted as T) or a flip state
(denoted as F) that exclude each other. The consequence is
that a general robot kinematics becomes divided into a set
of 16 separate kinematics modes (from ”TTTT” to ”FFFF”).
It should be kept in mind that each mode ”XXXX” defined
by a flipper/track pair actuation state is able to control only
a subset of coordinates of wFB .
A ”TTTT” control mode implies that all flippers are
blocked. By controlling the tracks motion, this mode affects
only body center coordinates xB, yB, and yaw angle ψB. An”FFFF” control mode keeps tracks blocked and primarily
affects the robot body center height zB, roll angle φB, andpitch angle θB, respectively. To minor extent in this mode
changes of zB also affect xB, as well as flipper rotationsmay cause rolling motion and thus change yB etc.). It shouldbe noted that leg movements with ”FFFF” kinematics (i.e.
changes of xB, yB and ψB ) are constrained. This is why
”FFFF” kinematics is selected to control only changes of
zB, φB, and θB. Other three coordinates xB, yB and ψB are
using the ”TTTT” control mode. The same holds for the twist
vector (8) which can be split into two parts,
[ξξξAF ]B=[0 0 zB φB θB 0
]T(14)
[ξξξAT ]B=[xB yB 0 0 0 ΨB
]T(15)
the first controlled using ”FFFF” kinematics and the latter
the ”TTTT” one. In this way, a twist vector (8) represents the
union of [ξξξAF ]Band [ξξξAT ]
Belements arranged in the proper
order:
[ξξξBF
]B= [ξξξAF ]
B∪ [ξξξAT ]B (16)
Mixed control regime (all other 14 modes) assumes that
one or more tracks/flipper pairs are in the ”T” control
mode, while the others operate in the complementary ”F”
control mode. This normally allows robot kinematics vari-
ations which may significantly contribute to better robot
maneuverability.
Each mode, depending on a selected T/F combination,
is able to control some of unactuated robot body variables
(8). At the same time, it can be shown that some unactu-
ated variables are more sensitive to track/flip control mode
changes than others, which could be used for optimization
of switchings between different T/F control modes. The
manipulability theory [14] based on jacobian matrix can be
used for making an analysis how changes of actuated system
variables affect changes of the unactuated ones. The thorough
analysis of advantages of mixed control and manipulability
theory is the subject of ongoing research.
A. ”FFFF” kinematics
As already mentioned, the kinematics presented in this
section allows robot posture control in terms of controlling
robot height zB, and roll and pitch angles φB and θB,respectively.
The front right flipper (i = 2) together with its frames
{Wv2} and {H2} is shown in Figure 6. The distance betweenthe body center frame {B} and the central body side frame{AR} is denoted as s. Accordingly, the distance between
the central body side frame {AR} and the flipper frame
{H2} is denoted as l. Eventually, the distance between theflipper frame {H2} and the virtual wheel frame {Wv2} is
denoted as d. Radius r2 is defined as a distance between
1446
PAF =
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣
S(q1F + γ1) 0 −C(q1F + γ1) −s ·C(q1F + γ1) d ·Cγ1+ l ·C(q1F + γ1) −s ·S(q1F + γ1)0 −1 0 −r ·C(q1F + γ1)+d ·S(q1F ) 0 −l−d ·Cq1F − r ·S(q1F + γ1)
−C(q1F + γ1) 0 −S(q1F + γ1) −s ·S(q1F + γ1) r+d ·Sγ1+ l ·S(q1F + γ1) s ·C(q1F + γ1)S(q2F + γ2) 0 −C(q2F + γ2) s ·C(q2F + γ2) d ·Cγ2+ l ·C(q2F + γ2) s ·S(q2F + γ2)
0 −1 0 −r ·C(q2F + γ2)+d ·S(q2F ) 0 −l−d ·Cq2F − r ·S(q2F + γ2)−C(q2F + γ2) 0 −S(q2F + γ2) s ·S(q2F + γ2) r+d ·Sγ2+ l ·S(q2F + γ2) −s ·C(q2F + γ2)S(q3F + γ3) 0 −C(q3F + γ3) −s ·C(q3F + γ3) d ·Cγ3− l ·C(q3F + γ3) −s ·S(q3F + γ3)
0 −1 0 −r ·C(q3F + γ3)+d ·S(q3F ) 0 l−d ·Cq3F − r ·S(q3F + γ3)−C(q3F + γ3) 0 −S(q3F + γ3) −s ·S(q3F + γ3) r+d ·Sγ3− l ·S(q3F + γ3) s ·C(q3F + γ3)S(q4F + γ4) 0 −C(q4F + γ4) s ·C(q4F + γ4) d ·Cγ4− l ·C(q4F + γ4) s ·S(q4F + γ4)
0 −1 0 −r ·C(q4F + γ4)+d ·S(q4F ) 0 l−d ·Cq4F − r ·S(q4F + γ4)−C(q4F + γ4) 0 −S(q4F + γ4) s ·S(q4F + γ4) r+d ·Sγ4− l ·S(q4F + γ4) −s ·C(q4F + γ4)
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦
(17)
the virtual wheel frame {Wv2} and the wheel contact frame{C2}. Using abbreviation Cx for cos(x), the consequent
homogenous transformations have the following forms:
TH2B =
⎡⎢⎢⎣1 0 0 l0 0 −1 −s0 1 0 0
0 0 0 1
⎤⎥⎥⎦
TWv2H2=
⎡⎢⎢⎣Cq2F −Sq2F 0 d ·Cq2FSq2F Cq2F 0 d ·Sq2F0 0 1 0
0 0 0 1
⎤⎥⎥⎦
TC2Wv2=
⎡⎢⎢⎣Sγ2 0 −Cγ2 r ·Sγ2−Cγ2 0 −Sγ2 −r ·Cγ20 1 0 0
0 0 0 1
⎤⎥⎥⎦
(18)
The contact twist is defined as:
[ξξξC2F
]C2= AdC2B ·
[ξξξBF
]B+AdC2H2 ·
[ξξξH2B
]H2+AdC2Wv2
·[ξξξWv2H2
]Wv2+[ξξξC2Wv2
]C2 (19)
Recalling equation (4), all twist vectors obtain a form:
Fig. 6. Flipper-track robot frames
[ξξξBF
]B=[xB yB zB φB θB ψB
]T[ξξξH2B
]H2= [0 0 0 0 0 0]T
[ξξξWv2H2
]Wv2= [0 d · q2F 0 0 0 q2F ]T
[ξξξC2Wv2
]C2= [0 0 − r · q2T 0 0 q2T ]T
(20)
Nonholonomic constraints for a contact point are used in
xc, yc and zc directions. Considering that all four flippers arein the flipper control mode, the twist attains the form:[
ξξξCiWvi
]Ci= [0 0 0 0 0 0]T (21)
At the same time the body twist[ξξξBF
]Bis replaced with
[ξξξAF ]B.
Assuming that all flipper kinematic parameters are the
same, s1 = s2 = s3 = s4 = s, l1 = l2 = l3 = l4 = l, d1 = d2 =d3 = d4 = d, the ”FFFF” kinematics equation for all four
flippers based on (13) has a following matrix form:
PAF · [ξξξAF ]B =QAF · qAF (22)
where qAF = [q1F q2F q3F q4F ]T , PAF is (17) and
QAF =
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣
d ·Cγ1 0 0 0
0 0 0 0
r+d ·Sγ1 0 0 0
0 d ·Cγ2 0 0
0 0 0 0
0 r+d ·Sγ2 0 0
0 0 d ·Cγ3 0
0 0 0 0
0 0 r+d ·Sγ3 0
0 0 0 d ·Cγ40 0 0 0
0 0 0 r+d ·Sγ4
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦(23)
1447
{B}
l
s
{Wv2}{H2}
d
{AR}
i=1
i=2i=4
i=3{AL}
B. ”TTTT” kinematics
Considering that all flippers are in the track control mode,
the twist between the flipper frame and the virtual wheel
frame becomes a zero twist[ξξξWviHi
]Wvi= [0 0 0 0 0 0]T . After
applying nonholonomic constraints, the ”TTTT” kinematics
equation for all flippers based on (13) is:
PAT · [ξξξAT ]B =QAT · qAT (24)
where qAT = [q1T q2T q3T q4T ]T , PAT = PAF
and
QAT =
⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣
0 0 0 0
0 0 0 0
r 0 0 0
0 0 0 0
0 0 0 0
0 r 0 0
0 0 0 0
0 0 0 0
0 0 r 0
0 0 0 0
0 0 0 0
0 0 0 r
⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦
(25)
The matrix (25) is invertible only if ri > 0.
C. Control scheme for remotely operated vehicle
The inverse kinematics equation for the flippers only
control algorithm can be obtained from equation (22):
qAF =Q−1AF ·PAF · [ξξξAF ]B (26)
The equation (26) represents the inverse kinematics solu-
tion used in a robot posture control algorithm.
The inverse kinematics solution for the tracks only control
algorithm can be obtained from (24):
qAT =Q−1AT ·PAT · [ξξξAT ]B (27)
Desired amounts of motion along xB, yB direction and
required changes of the yaw angle ψB are obtained throughjoystick interface from a human operator.
In order to control robot’s position and posture in the
inertial frame {F}, the twist vector 8 should be transformedas follows:[
ξξξBF]B= [ξξξAF ]
B∪ [ξξξAT ]B = AdFB ·[ξξξBF
]F(28)
where[ξξξBF
]F=[[xB]
F [yB]F [zB]
F [φB
]F [θB
]F[ψB]F
]TA general scheme for robot posture control is presented in
Figure 7. Combined control is used in simulation in order to
provide a better insight into the robot’s kinematics behavior.
The proportional control has been used to maintain a desired
robot pose.
Desired pose +
-
Posture ControlP reg
InverseFlipping
Kinematics
Robotdynamics
Actual pose
Joystick input
+Inverse
TrackingKinematics
Fig. 7. Robot posture control scheme
ODE environmet
MATLAB-ODEMEX
communicator
MATLABRegulatorsKinematicsActuator modeling
Fig. 8. Matlab-ODE simulation environment
IV. SIMULATION RESULTS
Robot posture control using the described ”FFFF” and
”TTTT” kinematics has been tested in the virtual environ-
ment using Matlab and Open Dynamics Engine (ODE).
The clocks in Matlab and ODE are synchronized which
provides a good virtual robot testing base. ODE is a high
performance library for simulating rigid body dynamics
[13]. It uses simple rigid bodies (boxes, cylinders, capped-
cylinders, and spheres) to build a robot model and the model
of environment. Thus ODE computes collisions much faster
and provides simulation results almost in real-time.
A MEX-communicator is developed to provide synchro-
nized communication between Matlab and ODE (Figure
8). In each control interval Td Matlab prepares new speed
references for joints of a 3D robot model. The communicator
fetches the references and starts ODE virtual simulation for
one control interval and returns new ”sensor” readings to
Matlab. Besides a current robot state, ODE returns also
information about robot’s virtual surrounding.
The four flipper-track robot presented in this paper has
been modeled inside the ODE environment (Figure 5).
Unlike the real robot (Figure 1) which can have its legs
controlled either in flipper or track control mode, the virtual
one can be fully controlled which means that both flipper
and track control can affect the robot legs at the same time.
A. Simulation results - ”FFFF” kinematics
The first simulation experiment is concerned with robot
posture control using only the ”FFFF” kinematics. A given
posture is controlled by controlling the height (DTG -
distance to ground), the roll angle (Roll), and the pitch angle(Pitch). The results of a roll control test are shown in Figures9 and 10. Roll is changed stepwise in both directions whilePitch and DTG are kept at still. It can be noticed that changes
1448
Fig. 9. Roll test - ODE environment
0 0.5 1 1.5 2 2.5 3 3.5−0.2
−0.1
0
0.1
0.2
t[s]
Rol
l(rad
)
ReferenceActual
0 0.5 1 1.5 2 2.5 3 3.5−0.02
0
0.02
0.04
t[s]
Pitc
h(ra
d)
ReferenceActual
0 0.5 1 1.5 2 2.5 3 3.5
0.29
0.3
0.31
0.32
t[s]
DTG
[m]
ReferenceActual
Fig. 10. Roll test - results
of Roll also induce changes of Pitch and Z but applied
control successfully compensates them. The duration of the
transient response is less than a second. The results of pitch
control while Roll and DTG are kept at still are shown in
Figures 11 and 12. They indicate a problem of controlling
the Pitch value just by flipping and not tracking also at
the same time. Namely, such control approach emphasizes a
static friction problem which can be seen in the pitch angle
transient responses.
The second simulation experiment shows the results of
robot posture control while the robot is driving on an uneven
terrain (Figure 13). The roll and pitch references are set to
zero and the height reference is set to 0.3m. The robot isset to move straight forward since both left and right track
references are the same. The results of the experiment are
shown in Figure 14. The maximum roll and pitch error are
0.05rad = 2.8◦. It is a large improvement compared to theresults of driving without enabled posture control shown in
Figure 15 where the maximum error of roll and pitch angles
is around 0.2rad = 11.5◦. The video showing the simulationresults in the ODE environment can be seen at [14].
V. CONCLUSIONS AND FUTURE WORK
In this paper a general framework for a four-flipper robot
kinematics is presented. Having tracks/flippers independently
Fig. 11. Pitch test - ODE environment
0 0.5 1 1.5 2 2.5 3 3.5 4−5
0
5x 10−3
t[s]
Rol
l(rad
)
ReferenceActual
0 0.5 1 1.5 2 2.5 3 3.5 4−0.4
−0.2
0
0.2
0.4
t[s]
Pitc
h(ra
d)
ReferenceActual
0 0.5 1 1.5 2 2.5 3 3.5 40.25
0.3
0.35
0.4
0.45
t[s]
DTG
[m]
ReferenceActual
Fig. 12. Pitch test - results
controlled by a single servo drive unit, two separate and ex-
clusive robot kinematics are described: flipping and tracking
kinematics. The kinematics models are built on the twist
theory that provides a Jacobian matrix-based solution that
can be used for robot position and posture control. The robot
kinematics has been validated in a MATLAB−ODE simu-
lation environment. For this purpose a MEX-communicator
has been developed to provide synchronization of Matlab
environment where control algorithms are running and ODE
environment where robot dynamics is modeled. The simu-
lation results obtained in realistic operating conditions such
as moving on an uneven terrain indicate a very good quality
of robot posture control with the flipping kinematics. During
simulation a tracking reference has been obtained through a
standard joystick interface.
While the flipping kinematics has been well tested through
robot posture control, algorithms for trajectory tracking that
would control robot motion on flat surfaces (robot position
and orientation), as well as on uneven surfaces (robot posi-
tion and posture) still need to be developed and validated.
Also, a mixed kinematics model needs to be built and tested
for a real robot using all mechanical constrains. Control
algorithms for various mixed kinematics of the robot need
to be implemented and tested in real operating conditions.
1449
Fig. 13. Crossing uneven terrain ODE
0 1 2 3 4 5 6 7 8 9−0.1
−0.05
0
0.05
0.1
t[s]
Rol
l(rad
)
ReferenceActual
0 1 2 3 4 5 6 7 8 9−0.05
0
0.05
0.1
0.15
t[s]
Pitc
h(ra
d)
ReferenceActual
0 1 2 3 4 5 6 7 8 90
0.2
0.4
0.6
0.8
t[s]
DTG
[m]
ReferenceActual
Fig. 14. Crossing uneven terrain - results
VI. ACKNOWLEDGMENTS
The work described in this paper has been performed
within the project ”Exploration robot for fire fighting units”
supported by the grant from the National Foundation for
Science, Higher Education and Technological Development
of the Republic of Croatia and the industry partner Hrid-NDT
d.o.o., Zagreb, Croatia.
REFERENCES
[1] J. Y. Wong and W. Huang, ”Wheels vs. tracks - a fundamentalevaluation from the traction perspective,” Journal of Terramechanics,vol. 43, no. 1, pp. 27-42, Jan. 2006.
0 1 2 3 4 5 6 7 8 9−0.2
−0.1
0
0.1
0.2
0.3
t[s]
Rol
l(rad
)
ReferenceActual
0 1 2 3 4 5 6 7 8 9−0.2
−0.1
0
0.1
0.2
t[s]
Pitc
h(ra
d)
ReferenceActual
0 1 2 3 4 5 6 7 8 90.2
0.3
0.4
0.5
0.6
0.7
t[s]
DTG
[m]
ReferenceActual
Fig. 15. Crossing uneven terrain withouth control - results
[2] S. Hayati, R. Volpe, P. Backes, J. Balaram, R. Welch, R. Ivlev,G. Tharp, S. Peters, T. Ohm, R. Petras, and S. Laubach, ”TheRocky 7 rover: a Mars sciencecraft prototype,” in IEEE InternationalConference on Robotics and Automation, Albuquerque, NM, USA,1997, pp. 2458-64.
[3] Iagnemma, K., Rzepniewski, A., and Dubowsky, S., 2003, ”Control ofrobotic vehicles with actively articulated suspensions in rough terrain,”Autonomous Robots, 14(1), pp. 5-16.
[4] M. Udengaard, M. Udengaard, and K. Iagnemma, ”Kinematic analysisand control of an omnidirectional mobile robot in rough terrain,” inIEEE/RSJ International Conference on Intelligent Robots and Sys-tems,2007, pp. 795-800
[5] Grand, C. and Benamar F. and Plumet F. (2010). Motion kinematicsanalysis of wheeled-legged rover over 3D surface with posture adap-tation . Mechanism and Machine Theory . Vol 45 No 3 Pages 477-495
[6] Q. Fu and V. Krovi, ”Articulated Wheeled Robots: Exploiting Recon-figurability and Redundancy” in Proceedings of 2008 ASME DynamicSystems and Control Conference, DSCC2008-130, Ann Arbor, Michi-gan, USA., 2008.
[7] Nagatani, K. Yamasaki, A. Yoshida, K. Yoshida, T. Koyanagi, E.,”Semi-autonomous traversal on uneven terrain for a tracked vehicleusing autonomous control of active flippers”, in IEEE InternationalConference on Intelligent Robots and Systems, IROS 2008, Issue Date22-26 Sept 2008, pp. 2667-2672
[8] Kazunori Ohno, Shouich Morimura, Satoshi Tadokoro, Eiji Koy-anagi and Tomoaki Yoshida, ”Semi-autonomous Control System ofRescue Crawler Robot Having Flippers for Getting Over Unknown-Steps,” Proc. of IEEE/RSJ Inc. Conf. on Intelligent Robots andSystems,pp.3012-3018, 2007.
[9] Yugang Liu and Guangjun Liu, ”Mobile manipulation using tracks of atracked mobile robot”, in IEEE International Conference on IntelligentRobots and Systems, IROS 2009, Issue Date 10-15 Oct 2009, pp. 948-953
[10] Richard M. Murray , S. Shankar Sastry , Li Zexiang, A MathematicalIntroduction to Robotic Manipulation, CRC Press, Inc., Boca Raton,FL, 1994
[11] Ball, R. S. (1876). The theory of screws: A study in the dynamics ofa rigid body. Hodges, Foster.
[12] Hunt, K. H. and Davidson, J. K., 2004, ”Robots and Screw Theoryapplications of kinematics and statics to robotics”, Oxford UniversityPress.
[13] Russell Smith, ”Open Dynamics Engine v0.5 User Guide”, February2006.
[14] Tsuneo Yoshikawa, ”Foundations of robotics: analysis and control”,MIT Press, 1990.
[15] The movie link: http://161.53.68.32/movies/FlipperTrackMSC2011.avi
1450