You are on page 1of 6

BALANCE CONTROL OF ARTICULATED ROVERS WITH ACTIVE SUSPENSION

Gregory McDermott, Mahmoud Tarokh and Lorena Mireles

Department of Computer Science


San Diego State University
San Diego, CA 92182-7720, U.S.A.
tarokh@sdsu.edu

Abstract: The paper proposes a simple and computationally efficient method for the modelling of
highly articulated rovers traversing rough terrain. The method is based on the propagation of
position and orientation velocities through wheels and various joints and linkages of the rover.
These velocity equations are combined to form the Jacobian matrix of the rover that relates the
position and orientation of the rover to various active (actuated) and passive rover joint variables. A
rearrangement of the Jacobian equation allows determining the actuation variables for motion
control. Rover balance control for avoiding tipover is achieved by actuating the suspension joints.
This is done through a pseudo-inverse method which optimizes a balance performance criterion. To
illustrate the kinematics modelling and balance control concepts, the method is applied to a rover
similar to the NASA’s Sample Return Rover. Copyright © 2006 IFAC

Keywords: Rover control, Rover Kinematics, Articulated Rovers.

1. INTRODUCTION methodology is applied to a rover for demonstration


purposes.
Articulated rovers will be used increasing in diverse
applications such as terrestrial and planetary explorations 2. KINEMATICS MODEL DEVELOPMENT
(Schenker et al 2003), (Volpe 2003), forestry (Gonthier
1998), agriculture (Baerveldt 2002) mining industries We define an articulated rover with active suspension
(Cunningham et al 1998), defense applications and system (ARAS) as a wheeled mobile robot consisting of a
hazardous material handling and de-mining (DeBolt et al main body connected to wheels via a set of linkages and
1997). Rovers with active suspension mechanisms are joints that can be adjusted, some actively and some
capable of modifying their configurations by adjusting passively for keeping the rover balanced. The active
their suspension linkages and joints so as to change their linkages and joints have actuators through which their
center of mass, thus avoiding tipover while traversing values can be controlled, whereas passive ones change
rough and sloppy terrain. their values to comply with the terrain topology.
Rovers with adjustable suspension system have been The goal of balance control is to determine the actuation
considered by Sreenivasan and Waldron (1996) for a quantities for balancing the rover to avoid tipover. We will
specific vehicle. More recently, Iagnemma and Dubowsky ignore dynamic effects as the rover moves slowly over the
(2003) presented stability-based suspension control for a terrain. In order to achieve balance control, we must
specific rover using an essentially geometric approach and determine the contributions of each wheel and suspension
performing a rather complex optimization procedure. mechanism to the overall motion of the rover. We attach a
In a previous paper (Tarokh and McDermott 2005), we number of frames starting from the wheel-terrain contact
developed full kinematics models of articulated rovers and frame then going through the steering and suspension
provided analysis of these rovers. The purpose of the frames and finally to the rover reference frame. Since we
present paper is twofold. First, is to present an alternative are interested in the motion, we relate the translational and
method for kinematics modeling of articulated rovers, rotational velocities of the next frame in terms of the
which is straightforward, appealing, and computationally previous frame. Let u a = [ xa y a z a ]T and
efficient. Second is to develop an optimization technique
and incorporate it within the kinematics formulation to u b = [ xb y b z b ]T denote the position of the current and
achieve simultaneous motion and balance control for
next frames, respectively. Similarly, let
rovers with active suspension mechanisms. The developed T and T be the
ϕ a = [α a β a γ a ] ϕ b = [α b β b γ b ]
orientation of the current and next frames, respectively,
where α , β and γ are the rotation around x, y and z axis, where the composite identity matrix on the left is 6n × n ,
or pitch, roll and yaw, respectively . The 3 × 1 translation u& c = (u& c1 u& c 2 L u& cn )T and
velocity vector of the next frame b is dependent on the
translational and rotational velocities of the current frame a ϕ&c = (ϕ&c1 ϕ&c 2 L ϕ&cn )T are 3n × 1 vectors of
plus any translational velocity added to the frame b itself. composite wheel velocities at the contact points, and η& is
This can be written as (Craig 2005)
the ν × 1 vector of the joint variables which has both active
(actuated) and passive joints. Note that in general some
u& b = Rb, a (u& a + ϕ& a × p b ) + u& ob (1)
wheels share common suspension links and joints so that


n
where Rb,a and p b are, respectively, the rotation matrix ν≤ ν i . The composite Jacobian matrix of the
i =1
and position vector of the frame b relative to the frame a, rover J has a dimension of 6n × (6n + ν ) .
and u& ob is the translational velocity added to the frame b.
The latter is zero if the joint associated with the frame b is
not prismatic. The rotational velocity of the next frame b 2.1 Example
is dependent on the rotational velocity of the frame a plus
any rotational velocity ϕ& ob added to the frame b itself, i.e. The articulated rover with active suspension (ARAS) to be
considered here is similar to the JPL Sample Return Rover
(Craig 2005) shown in Fig.1. The schematic diagram of ARAS to be
analyzed is shown in Fig. 2. The rover has four wheels
ϕ& b = Rb,a ϕ& a + ϕ& ob (2) with each independently actuated and rotation angles
subscripted with a clockwise direction so that θ1 , θ 4 are
We start at wheel i ( i = 1,2, L , n ) contact frame c i which for the left side and θ2 , θ3 are for the right side. At either
has the translational and rotational velocities side of the rover, two legs are connected via an adjustable
u&ci = [ x&ci y& ci z&ci ] T and ϕ& ci = [ α& ci β& ci γ& ci ] T , and hip joint. In Fig. 2 the hip angles on the left and right sides
perform the frame to frame velocity propagation until we are denoted as 2σ 1 and 2σ 2 , respectively. These joints
reach to the rover reference frame to obtain rover velocities are actuated and used for balancing the rover. The two hips
are connected to the body via a differential which has an
u& r = [ x& r y& r z& r ] T and ϕ& r = [ α& r β& r γ& r ] T . Let
angle ρ on the left side and −ρ on the right side. On a
the joint variable vector that includes each wheel-terrain
flat surface ρ is zero but becomes non-zero when one side
contact angle, steering angle, and various prismatic and
moves up or down with respect to the other side. The
revolute joint variables be denoted by the ν i × 1 vector η i .
differential joint ρ is passive (unactuated) and provides for
Then we will obtain an equation of the general form the compliance with the terrain. The wheels are steerable
with steering angles denoted by ψ i . The wheel terrain
⎛ u& ci ⎞
⎛ u& r ⎞ ⎜ ⎟ contact angle δ i is the angle between the z-axes of the i-th
⎜⎜ ⎟⎟ = J i ⎜ ϕ& ci ⎟ ; i = 1,2, L , n (3)
ϕ&
⎝ r⎠ ⎜η& ⎟ wheel axle frame Ai and contact coordinate frame c i as
⎝ ci ⎠
shown in Fig. 3.
where J i is the Jacobian matrix of the wheel i. Note that
the wheel translational and rotational velocity vectors
u& ci and ϕ& ci include various slips. For example
x& ci = ri θ&i + ζ& roll −i where ri is the radius of wheel i, θ&i is
the angular velocity of that wheel, and ζ& is the
roll−i
rolling slip rate. Similarly y& ci and z& ci can, respectively,
have side slip ζ&side−i and bounce ζ&bnce−i (up and down
off the terrain movement) components. In addition, α& ci ,
β& and γ& can be associated, respectively, with tilt
ci ci

ζ& tilt −i , sway ζ&sway −i and turn ζ&turn−i slip rate Fig. 1 The JPL’s sample return rover
components. In practice some of these slip components are
unnecessary due to terrain topology and surface conditions,
the path to be traversed (e.g. straight, serpentine, wavy)
and mechanical arrangement of the wheels and suspension ρ
differential
system.
Equation (3) describes the contribution of individual
wheel motion and the connecting joints to the rover body steering 2σ1 steering
motion. The net body motion is the composite effect of all ψ1 adjustable ψ4
height joint
wheels and can be obtained by combining (3) into a single
matrix equation as
θ1 θ4

⎛ I6 ⎞ ⎛ u& c ⎞
⎜ ⎟⎛ u& r ⎞ ⎜ ⎟ wheel 1 wheel 4
⎜ M ⎟⎜⎜ ⎟⎟ = J ⎜ ϕ& c ⎟
⎜ I ⎟⎝ ϕ& r ⎠ ⎜ η& ⎟ Fig. 2 Schematic diagram of the left side of ARAS
⎝ 6⎠ ⎝ ⎠ (4)
zc i Frame γ dh d dh a dh α dh
δ ci z
ci D 0 k1 k2 − 900
Ai x Ai H1 90 − σ 1 + ρ k3 k4 0
H2 90 − σ 2 − ρ -k3 k4 0
H3 90 + σ 3 − ρ -k3 k4 0
ci x H4 90 + σ 4 + ρ k3 k4 0
ci
S1 σ 1 − 90 o 0 0 900
Fig. 3 Definition of contact angle S2 σ 2 − 900 0 0 900
In order to derive the kinematics equations, we must S3 σ 3 − 90 o 0 0 900
assign coordinates frames. Fig. 4 illustrates our choice of
coordinate frames for the left side of the rover. The right S4 σ 4 − 90 o 0 0 900
side is assigned similar frames. In Fig. 4, R is the rover A1 ψ1 0 0 0
reference frame whose origin is located on the center of
gravity of the rover, its x-axis along the rover straight line A2 ψ2 0 0 0
forward motion, its y-axis across the rover body and its z- A3 ψ3 0 0 0
axis represents the up and down motion. The differential
A4 ψ4 0 0 0
frame D has a vertical (along z-axis) offset denoted by
k1 and a horizontal distance of k 2 from R. The distance
Table 1 D-H Parameters for the ARAS
from the differential to the hip, denoted by k 3 , is half the
width of the rover. We now introduce three more frames,
all of which have origin at the wheel axle. The length of We must now use the basic frame to frame equations
the legs from the hip to the wheel axle is k 4 . The hip (1)-(2) and go through the frames sequentially from wheel
i terrain contact c i , wheel axle Ai , steering S i , hip H i ,
frames H 1 , L , H 4 for the four wheels are obtained from
differential D, and finally to the rover reference R.
the differential frame by rotation and translation as shown
Equation (1)-(2) for the contact to the axle becomes
with the Denavit-Hartenberg (D-H) parameters
γ dh , d dh , a dh and α dh in Table 1 and in Fig 3. Similarly
the steering frames S1 ,L , S 4 and axle frames
(
u& Ai = R Ai ,ci u& ci + ϕ& ci × (0 0 r )T )
A 1 , L , A 4 are defined in Table 1 and Fig 3. (
ϕ& Ai = R Ai ,ci ϕ& ci + 0 − δ&i 0 ) T
(5)
⎛ cδ ci 0 sδ ci ⎞
⎜ ⎟
where the rotation matrix is R Ai ,ci = ⎜ 0 1 0 ⎟ , as
⎜ − sδ ⎟
k2 ⎝ ci 0 cδ ci ⎠
k1
ρ
evident from Fig. 3. Next we form wheel i axle to steering
D k3 velocity propagation as
z
x
y z k4
(
u& Si = RSi , Ai u& Ai + ϕ& Ai × (0 0 0 )T )
σ1 y
y
ϕ& Si = RSi , Ai ϕ& Ai + (0 0 − ψ& i ) T
(6)
H4 z
R x
x k4 ⎛ cψ i − sψ i 0 ⎞
⎜ ⎟
where R Si , Ai = ⎜ sψ i cψ i 0 ⎟ . The next in the chain
⎜ 0 0 1 ⎟⎠

H1
z is the hip frame, and we can write

( )
y
x
u& Hi = R Hi,Si u& Si + ϕ& Si × (0 0 0 )T
Fig. 4 Reference R, differential D, and hip H coordinate frames ϕ& Hi = R Hi,Si ϕ& Si + (0 0 − hiσ& i )T (7)

⎛ s (hi σ i ) 0 − c(hi σ i ) ⎞
⎜ ⎟
zS1 yA1 with R Hi, Si = ⎜ − c(hi σ i ) 0 s ( hi σ i ) ⎟ , σ 4 = σ1 ,
⎜ 0 1 0 ⎟
yS1 ⎝ ⎠
xS1
⎧ 1 i = 1,2
σ 3 = σ 2 , and hi = ⎨ . The differential frame
β 1 -90 ⎩− 1 i = 3,4
ψ1
xA1 velocities are obtained from (1)-(2) and Table 1 as
xH 1 yH 1 xS 1

Fig. 5 Side (left figure) and top views of wheel 1 (


u& Di = RDi ,Hi u& Hi + ϕ& Hi × (− k4 0 bi k3 )T )
ϕ& Di = RDi ,Hi ϕ&Si + (0 0 hiσ& i + bi ρ&i )T (8)
⎛ s (hiσ i + bi ρ i ) − c( hiσ i + bi ρ i ) 0 ⎞ operating conditions (e.g., flat surface). The second term
⎜ ⎟ represents the rover roll which must be minimized to keep
where R Di , Hi = ⎜ c(hiσ i + bi ρ i ) s (hi σ i + bi ρ i ) 0 ⎟ ,
the rover body level. The product term is the tipover
⎜ 0 0 1 ⎟⎠
⎝ measures which must be maximized, hence the negative
⎧−1 i = 1,4 sign. Note that without the first term, minimizing f would
ρ 4 = ρ1 = ρ , ρ 2 = ρ 3 = − ρ , and bi = ⎨ . result in a rover configuration that is maximally flat or
⎩ 1 i = 2,3 spread out even when the rover moves over a flat surface.
Finally, the rover velocities are obtained as The weighting factors a1 , a 2 and a3 place relative

( )
emphasis between achieving rover balancing and the desire
u& r = Rr , Di u& Di + ϕ& Di × (− k 2 − k1 0 )T to operate near the nominal configuration.
The balance and motion control problem may be stated
ϕ& r = Rr , Di ϕ& Di + (0 0 0) T
(9)
as follows. Given the desired rover forward speed x& d and
heading γ d , determine the commands to the wheel, and
Substituting recursively (5) through (8) into (9) we obtain
an equation of the form (3) where actuated joints, which include the steering, such that the
rover maintains the desired forward speed and heading
( & T
)
η& i = ρ& i σ& i ψ& i δ ci . Due to space limitation, the while minimizing the balance criterion (14).
Jacobian matrices J i and their elements are not given here The composite equation (4) reflects the contribution of
various position and angular rates to the overall motion of
but can be found in our technical report (Mireles, et al the rover. In order to control the rover motion while
2005). The elements of J i are trigonometric functions of maintaining the rover balance, we must determine
the joint variables ρ i , σ i ,ψ i and δ ci . commands to the wheels, steering and joints actuators. For
this, we rearrange (4) into an equation of the form

3. BALANCE CRITERION AND CONTROL A χ& = B q& (15)

An active suspension system is used to operate the rover to where χ& is the n x × 1 vector of unknown quantities to be
achieve balanced rover configurations such that when the
determined, and q& is the n q × 1 vector of known
rover traverses on a slope or rough terrain, tipover is
prevented. We must now define and quantify more quantities. The unknown vector consists of actuation
precisely the notion of a balanced configuration and signals such as active suspension joints, wheel roll rates,
express it in terms of rover orientation angles and and un-measurable quantities such as wheel-terrain contact
adjustable joint angles. To this end, we use wheel-terrain angles and appropriate slips. The known vector consists of
contact position vectors u i , which represent vectors drawn desired quantities such as the desired forward rover
velocity x& d and heading γ& d as well as sensed quantities
from the rover reference point to the wheel-terrain contact
point. Each consecutive pair of these vectors (i.e., u i and such as pitch and roll rates α& and β& , and rocker angle rate
u i +1 ) form a plane denoted by π i . The unit vector ρ& . The matrices A and B are obtained from the elements
perpendicular to this plane is given by of J and the identity matrices I1 , I 2 ,L , I 6 in (4). After
partitioning (4) into the form (15), the dimensions of A and
u i × u i +1 B are 6n × n x and 6n × n q . In order to be able to solve
si = ; i = 1, L , n ; u n+1 = u1 (11)
u i × u i +1 (15) while minimizing (14), we must have an
underdetermined system of equations, so that the null space
Assuming that the rover reference frame R is at the center of A can be used for optimization. In this case we can solve
(15) subject to minimization of (12) as (Nakamura 1991)
of rover mass, the rover unit gravity vector g can be
expressed in terms of pitch and roll angles as
⎛ ∂f / ∂σ ⎞
χ& = A # B q& − k ( E − A # A) ⎜⎜ ⎟⎟ (16)
(
g = sφ y − sφ x cφ y − cφ x cφ y )T (12) ⎝ 0 ⎠
where A # is the pseudo-inverse of A, k is a scalar, E is
Now we define the balance measure as the dot product n x × n x identity matrix, ∂F / ∂σ is the nσ × 1 vector of
between unit vectors si and g , i.e. the gradient of the performance function with respect to the
active suspension joints σ , and the zero vector had
μ i = g T si (13)
dimension (n x − nσ ) × 1 . In the next section we specify
Higher value of μ i represents a more balanced rover. the above quantities for our ARAS. The gradient can be
computed numerically or analytically from (14).
When the gravity vector g lies in any of the planes π i ,
the vectors g and si become orthogonal, resulting in 4. SIMULATION RESULTS
μ i = 0 . Tipover occurs when μ i < 0 . We must now In this section we present the results of balance control for
define an objective function whose optimization results in the ARAS introduced in Section 2.1. The full Jacobian
a balanced configuration. Consider minimization of an equation is not given here due to space limitations but is
objective function of the form provided in (Mireles et al 2005). For the ARAS, the vector
χ& in (15) is
n
f = a1 η a − ηˆ a + a 2 β r2 − a3 ∏ μ i (14)
i =1
[
χ& = σ& y& r z& r α& r β& r δ&c u& c φ&c ]T (17)
where η a is the vector of actuated suspension joints and
η̂ a is the nominal or desired values under normal
where σ = [σ 1 σ 2 ]T is the actuated hip vector; y r , z r
and α r , β r are the unknown rover position and attitude
angles; δ c = [δ c1 L δ c 4 ]T is the contact angle vector,
u c = [u c1 L u c 4 ]T is vector of wheel contact
translations, and φ c = [φ c1 L φ c 4 ]T is the vector of
wheel contact rotations. Thus χ& is a 34 × 1 vector, and A
is a 6n × 34 = 24 × 34 matrix. Note that in general some
rows of A are linearly dependent and thus rank (A ) ≤ 24 .
The vector of the known quantities in (15) is

q& = [x& r γ& r ρ& ψ& ]T (18)


Fig. 6 Inclined terrain and traces of rover wheels
where x& r and γ& r are the desired (specified) rover forward
velocity and heading (yaw) rate, respectively, ρ& is the
measured rocker rate, and ψ& = [ψ& 1 ψ& 2 ψ& 3 ψ& 4 ]T is
the steering angle rates vector. Note that since the axes of
steering and wheel turn slip are coincident in this rover, the
steering angles are indistinguishable from turn slip. In this
case, a geometric approach is used to determine the
steering angle rates ψ& using the desired forward velocity
x& r and γ& r (Tarokh and McDermott 2005), and thus ψ& is
a known quantity. Thus the dimension of the known
vector q is 7 × 1 , and B has the dimension 24 × 7 .
We have developed a simulation environment using
Matlab/Simulink. We study the behavior of the rover for
Fig. 7 Hip joint angle trajectories
three terrains. Since the purpose of this study is balance
control, in all cases we consider straight line motion to
avoid mixing of different behaviors. The rover speed is set
at 1cm / s to ease the conversion between distance and time
on the graphs.

Case 1: Inclined Terrain

The terrain and the trace of the rover wheels are shown in
Fig. 6. The terrain is flat but has a 45 degrees slope which
could result in tipover without actuated suspension. The
hip angles start at their nominal values, e.g.
2σ 1 = 2σ 2 = 90 degrees. The hip joint angles as given in
Fig. 7 shows that the right joint has increased to raise the
right side but the right angle is increased to lower the left
side. This has almost leveled the rover as is evident by the Fig. 8 Rover body roll and pitch angle profiles
rover roll angle shown in Fig, 8 where the initial roll angle
of about 38 degrees has been reduced to about 13 degrees.

Case 2: Wavy and Bumpy Terrain

The terrain shown in Fig. 9 consists of a bump which is


wavy (sinusoidal) under the left wheels and smooth under
the right wheels. The hip joint angles are depicted in Fig.
10. It is interesting to note that the right and left hip joint
values also go through sinusoidal type changes but in the
opposite directions to maintain a level and balanced rover
body. The rocker also shows sinusoidal behavior. The
rover roll and pitch angles are seen in Fig. 11. The rover
roll exhibits small changes due to the hip adjustments,
whereas the rover pitch goes through relatively large
variations due to the traversing up and then down the wavy Fig. 9 Wavy and bumpy terrain
bump.
Fig. 14 Rover roll and pitch trajectories
Fig. 10 Hip joint angle trajectories
5. CONCLUSIONS

A new methodology is presented for the kinematics


modeling and control of articulated rovers for achieving
rover balance when traversing rough terrain. The main
feature of the work is the formulation of rover kinematics
which uses simple velocity propagation starting from
wheel-terrain contact and going through various joints and
linkages to finally reach the rover reference frame. This
formulation makes the computer implementation very
efficient through simple repeated function calls. Rover
balance control is achieved through a pseudo-inverse
method which optimizes balance criterion. The latter
depends on the rover roll as well as angles between the
rover gravity and certain vectors drawn from the rover
reference to the wheel contact points. Application to the
Fig. 11 Rover roll and pitch trajectories
kinematics model of an articulated rover demonstrates that
the proposed method is effective in achieving balance
Case 3: Inclined Ditch and Bump Terrain control.
In this case, the terrain has a slope of 45 degrees with a REFRERENCES
bump under the left side wheels and a ditch under the right
side wheels as shown in Fig. 12. The hip angles are Baerveldt,A-J. Ed. (2002), Agricultural Robotics,
adjusted accordingly to balance the rover as shown in Fig. Autonomous Robots, Vol 13-1, Kluwer Academic Publishers.
13. The rover exhibits a maximum roll angle of about 16 Craig, J. Introduction to Robotics, Mechanics and Control (2005),
degrees as seen from Fig. 14; much smaller than the 45 pp.144-146, Pearson Prentice-Hall.
degree terrain slope. Cunningham, J., J. Roberts, P. Corke and H. Durrant-Whyte
(1998). Automation of underground LHD and truck haulage.
Proc. Australian IMM Conf.. pp. 241-246.
DeBolt, Ch., Ch. O’Donnell, S. Freed, and T. Nguyen, The bugs
‘basic uxo gathering system’ project for uxo clearance and
mine countermeasures. Proc. IEEE Int. Conf. Robotics
and Automation, pp. 329-334, Albuquerque, N.M., 1997.
Gonthier, Y., and E. Papadopoulos (1998). On the development of
a real-time simulator for and electro-hydraulic forestry
machine. Proc. IEEE Int. Conf. Robotics & Automation,
Leuven, Belgium.
Iagnemma, K. and S. Dubowski (2003). Traction Control of
wheel mobile robots in rough terrain with applications to
planetary rovers. Int. J. Robotics Res., vol. 23, No. 10-11, pp.
1029-1040.
Mireles, L., G. McDermott and M. Tarokh (2005). Two
approaches to kinematics modelling of articulated
Fig. 12 Inclined ditch and bump terrain rovers.http://www-
rohan.sdsu.edu/~tarokh/lab/publications.html
Nakamura, N. (1991). Advanced Robotics- Redundancy and
Optimization, Chapt. 4, Addison and Wesley.
Schenker, P., T. Huntsberger, P. Pirjanian, E. Baumgartner, and E.
Tunstel (2003). Planetary rover developments supporting
Mars exploration, sample return and future human robotic
colonization, Autonomous Robots, vol. 14, pp. 103-126.
Sreenivasan, S. and K. Waldron (1996). Displacement analysis of
an actively articulated vehicle configuration with extensions
to motion planning on uneven terrain. Trans. ASME J.
Mechanical Design, vol. 118, pp. 312-317.
Tarokh,T. and G. McDermott. (2005) Kinematics Modeling and
Analysis of Articulated Rovers. IEEE Trans. Robotics, vol.
21, No. 4, 539-553.
Volpe, R. (2003). Rover functional autonomy development for
Mars mobile science Proc. IEEE Aerospace Conf. pp. 643-
Fig. 13 Hip joint angle trajectories 652.

You might also like