Professional Documents
Culture Documents
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
∑
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
( )
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
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
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.