Manoeuvring speed of a 666 autonomous vehicle using

979
Manoeuvring speed of a 666 autonomous vehicle
using a database obtained from multi-body
dynamic simulation
S-L Cho1, K-C Yi2, J-H Lee3, and W-S Yoo4*
1
Agency for Defense and Development, Jinyong, Geonynam, Republic of Korea
2
Research and Development Division, Hyundai Motor Company, Namyang, Kyunggi-do, Republic of Korea
3
Mechanical and Design Engineering, Pusan National University, Busan, Republic of Korea
4
School of Mechanical Engineering, Pusan National University, Busan, Republic of Korea
The manuscript was received on 22 December 2008 and was accepted after revision for publication on 30 April 2009.
DOI: 10.1243/09544070JAUTO1102
Abstract: For an autonomous vehicle that travels off-road, the driving speed is limited by the
driving circumstances. To decide on a stable manoeuvring speed, the driving system should
consider road conditions such as the height of an obstacle and road roughness. In general, an
autonomous vehicle has many sensors to preview road conditions, and the information
gathered by these sensors can be used to find the proper path for the vehicle to avoid
unavoidable obstacles. However, sensor data are insufficient for determining the optimal
vehicle speed, which could be obtained from the dynamic response of the vehicle. This paper
suggests an algorithm that can determine the optimal vehicle speed running over irregular
rough terrains such as when travelling off-road. In the determination of the manoeuvring
speed, the vehicle dynamic simulation is employed to decide whether the vehicle response is
within or beyond the prescribed limits. To determine the manoeuvring speed in real time, the
dynamic simulation should be finished much more quickly than the real motion speed of the
vehicle. In this paper, the equation of motion of the vehicle is derived in terms of the chassis
local coordinates to reduce the simulation time. The velocity transformation technique, which
combines the generality of Cartesian coordinates and the efficiency of relative coordinates, was
combined with a symbolic computation to enhance further the computational efficiency. First
the developed algorithm calculates the level of the previewed road roughness to determine the
manoeuvring speed. Then, the maximum stable speed is judged against the database, which
already has stored the maximum vertical accelerations as a function of the road roughness and
vehicle speed.
Keywords: unmanned ground vehicle, velocity decision algorithm, dynamic analysis, velocity
transformation technique
1
INTRODUCTION
The driving safety for an autonomous vehicle is
dependent on the driving circumstances of a vehicle.
In Grand Challenge programs in 2004 and 2005,
which were autonomous independent vehicle races
sponsored by the Defense Advanced Research
*Corresponding author: School of Mechanical Engineering,
Pusan National University, Janjeongdong, Kumjunggu, Busan
609-735, Republic of Korea.
email: [email protected]
JAUTO1102
Projects Agency, the vehicles drove off-road through
the Nevada desert. The key point in driving a vehicle
over a desert is to avoid high bumps, deep potholes,
and rocks. Therefore, the algorithms used in the race
were mainly focused on sensing the road conditions
and avoiding obstacles based on the previewed
signals [1].
Most autonomous algorithms are related to location detection, path generation, and vehicle tracking [2]. The algorithms judging traversability are related to fuzzy inference, but they do not consider
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016
980
S-L Cho, K-C Yi, J-H Lee, and W-S Yoo
the dynamic analysis of the vehicle [3, 4]. Without
dynamic analysis, these algorithms can determine
only the path but cannot predict the stable manoeuvring speed of the vehicle. Therefore, it is necessary to consider dynamic analysis for efficient
and stable manoeuvring of autonomous vehicles.
In this paper, an algorithm is proposed that can
determine the stable manoeuvring speed of an
autonomous vehicle which drives off roads. To
decide the manoeuvring speed in real time, the
algorithm must complete the dynamic simulation
faster than the real motion speed of the vehicle.
Therefore, the equation of motion of the vehicle is
derived in terms of the chassis local coordinates in
this paper. The terrains of different roughness were
categorized according to an International Organization for Standardization (ISO) classification. The
dynamic simulation generated a database containing maximum vertical accelerations as a function of
road roughness and vehicle speed for an autonomous vehicle.
2
EQUATIONS OF MOTION OF 666
AUTONOMOUS VEHICLE
For vehicle dynamic analysis, the equations of
motion (EOM) were derived. The coordinates for
the derivation of EOM were chosen from two
choices: the first was the Cartesian coordinates and
the second was relative coordinates. The Cartesian
coordinates are more general in constituting the
EOM systematically, but the size of the EOM based
on Cartesian coordinates can be larger than that
based on relative coordinates. On the other hand,
the size of the EOM based on relative coordinates is
small, and this compactness increases computational efficiency. However, it may give a less general
systematic derivation of the EOM than the Cartesian
coordinates. The velocity transformation (VT) technique is a method that can combine both the
generality of Cartesian coordinates and the efficiency of relative coordinates [5, 6].
In real-time dynamic analysis, it is important to
solve the EOM as quickly as possible. In this paper, a
VT matrix was derived in terms of local coordinates.
To further reduce the dynamic simulation time, the
mass matrix and the force vector were written
symbolically [7]. The autonomous vehicle used in
this paper has six rotating arms and six wheels for
driving over rough terrain, as shown in Fig. 1. The
topology of the vehicle is an open-loop system, as
shown in Fig. 2. The EOM derived in terms of
relative coordinates for this open loop system was
Fig. 1 666 autonomous vehicle with 18 degrees of
freedom
an ordinary differential equation and, thus, the
Newmark integration method was employed to solve
the EOM [8].
2.1
Equation of motion by using the VT technique
In Fig. 2, body 1 is the chassis, body 2 to body 7 are
arms, and body 8 to body 13 are wheels. Each arm is
connected to the chassis with a revolute joint, and so
is the wheel to the arm. The notation R in Fig. 2
represents a revolute joint. The VT matrix B can be
derived by substituting the contribution of a revolute
joint for the non-zero entry in the path matrix [5].
A total of 18 relative coordinates were used for the
modelling, where q1 to q6 are for the chassis, q7 to
q12 are for the six arms, and q13 to q18 are for the six
wheels. Since the connections of each arm and
wheel are the same, just one set for the arm and
wheel was picked for deriving the EOM. As shown in
Fig. 3, the front left arm of body 2 and the front left
wheel of body 8 are illustrated to define the vectors
used for the EOM. The vector cji represents the
distance vector from the centre of mass of the ith
body to the centre of mass of the jth body. The dji
vector represents the distance vector from the ith
joint to the centre of mass of the jth body. The
Fig. 2
Topology of the 666 system
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016
JAUTO1102
Manoeuvring speed of a 666 autonomous vehicle
981
and then converted into values with the chassis local
coordinates through coordinate transformation.
The DADS tyre model employs a liberalized slipfriction curve and the third-order polynomial equation for lateral force calculation. The tyre formulations are given by
0
sv0:2
: mlong ~1:05m|5:0s
0:5¡s
: mlong ~m
1
C
B 0:2¡sv0:25 : m ~1:05m
C
B
long
C
B
B 0:2¡sv0:5 : m ~1:05m{ ð1:05m{mÞðs{0:25Þ C ð4Þ
A
@
long
0:25
Fig. 3 Definition of the vectors
where Flong 5 mlongFn
"
distance vector sji is the vector from the centre of the
ith body to the jth joint.
The VT matrix relates the Cartesian velocity ẏ with
the joint velocity q̇, as shown by
y_ ~Bðq Þq_
ð1Þ
For the three-body system shown in Fig. 3, i.e. a
chassis with one arm and one wheel, the velocity
transformation matrix B can be written as
2
I3|3
60
6 3|3
6
6 I3|3
B18|8 ~6
60
6 3|3
6
4 I3|3
03|3
I3|3
{c~21
03|1
03|1
~ 2 d 22
u
I3|3
{~
c 81
u2
~ 2 d 82
u
03|3
I3|3
u2
3
03|1
03|1 7
7
7
03|1 7
7
03|1 7
7
7
~ 8 d 88 5
u
ð2Þ
u8
where the unit vectors u2 and u8 represent the
rotation axes of the arm and the wheel respectively.
All vectors in equation (2) are defined by the chassis
local coordinates. Using the velocity transformation
matrix B [9], the EOM can be written as
€ ~F
Mq
M~BT MB,
F ~BT F {MB_ q_ {h
ð3Þ
where M, F, and h are the mass matrix, the force
vector, and the Coriolis term respectively. The
external force vector in equation (3) includes the
gravitational force, tyre force, and spring force
installed between the chassis and the arm. The tyre
force in this research was developed according to the
DADS tyre model [10]. To calculate the forces in a
tyre, the gravitational force and tyre reaction force
were first defined in the global coordinate system
JAUTO1102
Flat ~
Ca
0:032
mFn
2
!
#
Ca 2
azCa a
Ca a{0:32
mFn
ð5Þ
Since the DADS tyre model has very simple
equations, it is very beneficial for real-time simulation. These simple equations reduce the force
calculation time.
2.2
Symbolic equation for real-time achievement
For real-time analysis, the symbolic operation was
adopted in the dynamic simulation. Since the multibody dynamic analysis proceeds with successive
time integration, the EOM should be updated at
every integration step as shown in equations (2) and
(3). To reduce the simulation time, the multiplications in evaluating matrix elements in equation (2)
and the matrix multiplication in equation (3) should
be reduced as little as possible. Therefore the
equations are derived with a compact mass matrix
M and a force vector F using the symbolic operation
in the MATLAB program. This process has several
advantages in real-time simulation. First, equations
can skip operations with zero values. Second,
constant values are calculated just once. Third,
numerical errors are decreased by the reduction in
operation counts.
The calculated terms in the EOM by symbolic
operation in the MATLAB program were directly
ported to the dynamic solver, which was written with
the C++ program in this paper. This symbolic work is
coded on the basis of the flow chart shown in Fig. 4
by using MATLAB [11]. In Fig. 4, the left blocks
represent a flow that can generate the full symbolic
EOM of the open-loop system. The right blocks show
the special code for an autonomous 666 vehicle for
inputting inertia data and system dimensions. Vectors and matrices evaluated through the symbolized
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016
982
S-L Cho, K-C Yi, J-H Lee, and W-S Yoo
Fig. 4 Flow chart for generating the EOM
state values are switched to the symbolic EOM in the
right blocks. The symbolized EOM is tested in a
constant external force condition and compared
with an ADAMS [12] simulation. The results are
exactly the same.
3
DECISION OF MANOEUVRING SPEED
The algorithm which can determine the fastest
stable speed is designed by using a dynamic analysis
database, which has already stored the maximum
vertical accelerations of the chassis as a function of
vehicle speed and road roughness. The vertical
acceleration is a key factor of maintenance and
stability of the vehicle system; thus it is selected as a
main factor in the dynamic database. The speed
decision algorithm is designed as shown in Fig. 5. If
the vertical acceleration is less than the prescribed
limit, then the vehicle can increase its speed. If the
acceleration goes above the limit, then the vehicle
speed should be reduced. These two velocities could
be used in linear interpolation to determine the
fastest stable speed Vmax of the vehicle.
Since the dynamic analysis is an initial value
problem, the response is very dependent on the
initial values. Therefore, the closer the initial velocity
V1 is to Vmax, the less time is required to obtain Vmax.
Thus, to estimate a reasonable V1, a fuzzy inference
algorithm based on the road obstacles, roughness,
and slope was adopted [13].
3.1
Database from dynamic analysis
To make the dynamic database, the road should be
classified according to its roughness. The road grade
is usually defined by ISO and uses the power
spectrum density (PSD) of road roughness as given
by
8
{N1
>
< SðV0 Þ VV
,
0
PSD~
{N2
>
: SðV Þ V
,
0 V0
1
for V¡V0 ~ 2p
cycle=m
for VwV0
ð6Þ
Fig. 5
Flow chart for manoeuvring speed decision
(Max Ver. Acc., maximum vertical acceleration)
where V is the spatial frequency and S(V) represents
the PSD of road roughness. According to S(V0), the
road grade is classified as shown in Table 1.
Because the vehicle in this paper drives over rough
terrain, the road is considered an F-grade road in
Table 1. This grade is divided into six detail levels.
Since a stochastic result is required for driving over
random roads, ten random roads with the same
grade are generated [14], and the dynamic analysis
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016
JAUTO1102
Manoeuvring speed of a 666 autonomous vehicle
983
Table 1 ISO road classification
Road roughness V0 (1026 m2/m21)
Fig. 6
Classification
N1
N2
Range
Average
A (very good)
B (good)
C (average)
D (poor)
E (very poor)
F
G
H
,8
8–32
32–128
128–512
512–2048
2048–8192
8192–32 768
. 32 768
4
16
64
256
1024
4096
16 384
2.0
2.0
2.0
2.0
2.0
2.0
2.0
2.0
1.5
1.5
1.5
1.5
1.5
1.5
1.5
1.5
Database from dynamic analysis
was carried out over each road by changing the
driving speed to 1 m/s, 3 m/s, 5 m/s, 7 m/s, and
9 m/s respectively. The average values of acceleration were fitted linearly, min–max fitting, as shown
in Fig. 6. In Fig. 6, the x axis is the driving velocity
and the y axis is the vertical acceleration. Each line
represents the road grade. The driving speed V1 and
the road roughness could be used to determine the
vertical acceleration a1 from this graph.
4
VELOCITY DECISION SIMULATION
The developed algorithm and dynamic solver were
coded with C++ language [15] and applied to a
vehicle. The vehicle was assumed to be driving over
two bumpy roads, shown in Figs 7 and 8, and two
random roads, shown in Figs 9 and 10. The bump in
Fig. 8 is higher than that in Fig. 7, and the road in
Fig. 10 is rougher than that in Fig. 9.
In Figs 9 and 10, the red curve represents the road
in contact with the left tyre and the blue curve
means that in contact with the right tyre. The
correlation between the two contact roads is higher
JAUTO1102
at a low spatial frequency than at a high spatial
frequency.
It is assumed that the limit velocity is 9 m/s and
limited vertical acceleration is 2 g. Table 2 shows the
simulation results of the proposed algorithm coded
by C++ in this paper.
In Table 2, amax means the maximum vertical
acceleration when the driving velocity is Vdet and is
computed to verify whether Vdet is correct or not. As
shown in Table 2, Vdet calculated by the developed
algorithm is reasonable since all the amax have values
under alim, and the solving time also showed good
performance in the real-time simulation.
Also, another simulation of the driving velocity
according to the operation mode was carried out
over two random roads, as shown in Figs 9 and 10.
The operation modes are assumed to be as given in
Table 3. The simulation results obtained from the
developed algorithm are given in Table 4. From
Table 4, in the patrol mode, the vehicle cannot go
over the random road of Fig. 10.
5
CONCLUSION
For real-time dynamic analysis of a 666 autonomous vehicle, the EOM was derived using the chassis
local coordinates. A symbolic representation was
employed for the mass matrix and force vector in the
EOM to reduce the operation counts.
Using a real-time dynamic model and a dynamic
database, a decision algorithm that could determine
the fastest stable speed of a vehicle was developed.
The developed database contained the vertical
accelerations as a function of the vehicle speed and
road roughness.
By simulations, the accuracy and efficiency of the
developed algorithm were verified. If the algorithm is
developed more robustly to an uncertain initial
velocity or the iteration velocity in the future, it
could be implemented on an autonomous vehicle
driven in a real battle field.
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016
984
S-L Cho, K-C Yi, J-H Lee, and W-S Yoo
Fig. 7
Bumpy road (maximum height of 0.2 m)
Fig. 8
Bumpy road (maximum height of 0.25 m)
Table 2
2
Fig. 9
Random road (V0 5 4096)
Fig. 10
Random road (V0 5 5096)
Simulation results for manoeuvring speed
Road
V1 (m/s)
a1 (m/s )
V2 (m/s)
a2 (m/s2)
Vdet (m/s)
amax (m/s2)
alim (m/s2)
Solving time (ms)
1
2
3
4
5
3
8.5
5.5
13.570
18.639
12.501
16.773
9
2.853
9
5.632
18.599
16.357
14.741
17.175
9
3.063
9
6.428
18.599
19.500
14.741
19.169
19.612
19.612
19.612
19.612
552
836
400
477
Table 3
Assumption of operation modes
Operation mode
Velocity
Limited vertical acceleration
Driving
Attack
Retreat
Patrol
Middle
High
Very high
Slow
1.4 g
2.0 g
2.5 g
0.8 g
Table 4
Simulation results according to operation modes
V0 5 4096 (Fig. 9)
V0 5 5096 (Fig. 10)
Mode
V1 (m/s)
V2 (m/s)
Vdet (m/s)
V1 (m/s)
V2 (m/s)
Vdet (m/s)
Driving
Attack
Retreat
Patrol
3
8.5
8.8
1
3.71
9
9
0
3
9
9
0.96
3
5.5
7.5
0.5
1.30
5.63
8.47
0
2.12
5
9
0
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016
JAUTO1102
Manoeuvring speed of a 666 autonomous vehicle
ACKNOWLEDGEMENTS
This work was partly supported by the Dual-Use
Technology Program of the Defense Acquisition
Program Administration/Dual-Use Technology
Center and the Ministry of Information and
Communication/Institute of Information Technology Assessment (06-DU-LC-01, ‘Development of
multi-purpose dog–horse robot based on the
network’).
F Authors 2009
985
13 Jin, G. G., Lee, H. S., Lee, Y. H., and Lee, Y. I.
Binary obstacle detection from terrain elevation
maps. In Proceedings of the Conference on
Military science and technology, Pohang, Republic
of Korea, 28–29 August 2008, available on CD
(Korean Institute of Military Science and Technology, Daejeon).
14 Kim, K. S. and Yoo, W. S. Generation of road
surface profiles with a power spectral density
function. Trans. KSAE, 1997, 5(1), 136–145.
15 Press, W. H., Teukolsky, S. A., Vetterling, W. T.,
and Flannery, B. P. Numerical recipe in C++, 2nd
edition, 1992 (Cambridge University Press, Cambridge).
REFERENCES
APPENDIX
1 Carnegie Mellon Tartran Racing Team, Pittsburgh,
Pennsylvania, USA, 2007, available from www.
tartanracing.org.
2 Yoon, Y. G., Lee, W. S., Ryu, D. S., and Kang, S. C.
Mobile robot ROBHAZ for dangerous works. J.
Control, Automn, Systems Engng, 2004, 10(4),
35–42.
3 Tunstel, E., Howard, A., and Seraji, H. Rule-based
reasoning and neural network perception for safe
off-road mobility. Expert Systems, 2002, 19(4),
191–200.
4 Gennery, D. B. Traversability analysis and path
planning for a planetary rover. Autonomous Robots,
1999, 6, 131–146.
5 Nikravesh, P. E. Computer aided analysis of mechanical systems, 1998 (Prentice-Hall, Upper Saddle
River, New Jersey).
6 Lee, J. W., Sohn, J. H., Kim, K. S., and Yoo, W. S.
Construction of system jacobian in the equations
of motion using velocity transformation technique.
J. Mech. Sci. Technol., 2001, 25(12), 1966–1973.
7 Choi, D. H., Kim, K. S., and Yoo, W. S. Efficiency of
a symbolic code for the real time dynamic simulation. In Proceedings of the KSME Spring Annual
Meeting A, Chunan, Republic of Korea, 23–24 April
1999, Spring Proceeding A, pp. 104–107 (Korean
Society of Mechanical Engineers, Seoul).
8 Yang, S. H. An efficient integration algorithm
method for multibody vehicle dynamic analysis.
Master’s Degree Thesis, Kookmin University,
Seoul, Republic of Korea, 1999.
9 Son, A. Derivation of 666 vehicle and efficient
simulation. Master’s Degree Thesis, Pusan National University, Busan, Public of Korea, 2008.
10 Han, D. H. Comparative study on tire models to
suggest default models for vehicle simulation.
Master’s Degree Thesis, Pusan National University,
Busan, Republic of Korea, 2001.
11 MATLAB user’s guide, 2006 (The MathWorks,
Natick, Massachusetts).
12 ADAMS user’s guide, 2003 (MSC Software Corporation, Santa Ana, California).
JAUTO1102
Notation
alim
u
Vmax
V1
V2
ẏ
limitation in the vertical acceleration
of the chassis
maximum vertical acceleration of the
chassis
velocity transformation matrix
distance vector from the ith body
centre to the jth body centre
cornering stiffness
distance vector from the ith body
joint to the jth body centre
lateral tyre force
longitudinal tyre force
normal tyre force
force vector
acceleration due to gravity
Coriolis vector
mass matrix
displacement in joint coordinates
velocity in joint coordinates
acceleration in joint coordinates
slip ratio
distance vector from the ith body
centre to the jth body joint
power spectrum density of the road
roughness
rotation axis vector
maximum driving velocity
initial driving velocity
driving velocity after interation
Cartesian velocity
a
m
mlong
V
slip angle
friction coefficient
longitudinal friction coefficient
spatial frequency
amax
B
cji
Ca
dji
Flat
Flong
Fn
F
g
h
M
q
q̇
q̈
s
sji
S(V)
Proc. IMechE Vol. 223 Part D: J. Automobile Engineering
Downloaded from pid.sagepub.com at PENNSYLVANIA STATE UNIV on September 19, 2016