The Construction of an Autonomously Driving Automobile

The Construction of an Autonomously Driving Automobile

Copyright © IF AC Mechatronic Systems, Sydney, Australia, 2004 ELSEVIER IFAC PUBLICATIONS www.elsevier.comllocatelifac THE CONSTRUCTION OF AN AUTON...

7MB Sizes 0 Downloads 67 Views

Copyright © IF AC Mechatronic Systems, Sydney, Australia, 2004

ELSEVIER

IFAC PUBLICATIONS www.elsevier.comllocatelifac

THE CONSTRUCTION OF AN AUTONOMOUSLY DRIVING AUTOMOBILE

Charles Brom, Ola Bengtsson and Petr Medricky Institute of Mechatronic Systems IMS, Zurich University of Applied Sciences, PO-Box 805, 8401 Winterthur, Switzerland A bstract: In this paper we discuss the modifications made to a standard automobi le in order to enable autonomous maneuvering. The configuration is tested by means of a parallel parking procedure. The control architecture consists of an off-line trajectory planner and a real-time motion controller. The generated trajectory to be followed is based on radar range data. The parking trajectory is evaluated by solving the inverse kinematics of the parking procedure. The developed controller and algorithmic is then experimentally verified on an automobile. C'opyrighl © 200" IFAC Keywords: Autonomous vehicles; sensor systems; data acquisition; detection algorithms; deterministic systems; intelligent knowledge-based systems; inverse kinematic problem; measuring range; position accuracy

I. INTRODUCTION

2. SYSTEM OVERVIEW

The introduction of drive-by-wire in the automobile industry and advances in sensor and actuator technology opens up new and promising ways to autonomously control a vehicle. Minor modifications and additions to the system make it possible to control the internal actuators and to use the odometer datn for position and trajectory calculations. This paper describes the development of an autonomously maneuverable vehicle, a basically con figured Smart automobile equipped with additional functions (actuators, sensors, controllers and software) that allow it to follow arbitrarily defined p~ths by using the odometer and differential Global Positioning System (DGPS) data. The parallel parking process. The paper is organized as follows: Section 2 presents an introduction to the system. Section .3 shows the structure of the developed software and algorithms. Section 4 describes the experiments and tests made, and the results are discussed in section 5.

Autonomous maneuvering in an unknown envIronment requires a sensor system that monitors the surroundings and transmits the gathered data to a central computing unit, which executes the appropriate action . In a prior project called «SmartParking», the sensor system was realized with ultrasonic sensors, which are described in section 2.1. Because of the known limitations that the ultrasonic sensor presents (weather condition errors and height measuring problems) a new radar system was introduced to respond to these limitations (see 2.2). The communication between sensors, actuators and the central computing unit takes place over the internal CAN-bus. The use of the existing CAN-bus and the control architecture in the vehicle are displayed in section 2 ..3 and 2.4. To enable the vehicle to maneuver autonomously , new actuators for the brakes and steering had to be designed . The configurations of these new actuators are described in section 2.5 .

2. 1 UI/rasonic sensors The ultrasonic sensor system was realized with four Polaroid 6500 ultrasonic sensors, operating with a frequency of 50 kHz. The range of operation lies between 0.3m and 10111. The horizontal beam angle of the sensor is approximately +/- 30 ". As a res~i1t of these characteristics, the ultrasonic sensors were positioned on the car as schematically shown in fig. 2. The sensor has a T REC =50 ms which gives a maxiIllUIll measuring distance of 8 m. Because the sensors are operated sequentially front/rear and side,

Fig. I. The converted automobile during a parallel parking maneuver.

49

the T Wait could be reduced to 40 ms, which ensures a measurement rate of 11 Hz. The ultrasonic sensor has a known error when measuring the parking bay depth. This occurs when the parking border is too low. Therefore a walI or a barrier has to be situated along the parking bay side to enclose the parking bay and ensure an accurate mapping. To increase the rear monitor area of the vehicle, a standard Park Pilot URF-4 system from Bosch was instalIed. The detection field of this sensor system has a depth of approximately 1.5 m, and horizontalIy each sensor covers an angle of 120°.

and brake actuator) and the internal vehicle system. The intersection electricalIy disconnects the CANbus from important actuators that are used to control the vehicle. The actuators of interest are the electronicalIy clutch/gear and the gas control. While the actuators are electronicalIy disconnected, the control is transferred to the central computing unit. where the gear is shifted with a gearshift signal generator which actuates the gear in place of the gearlever. The gas controlIer is directly controlIed over a differential analogue 110 clamp. The position from the internal incremental position encoders on the rear axle is transferred over the CAN-bus and used to calculate the position and speed of the vehicle. The position calculated during the parking process uses a differential model of the vehicle, where the error that occurs from tier slippage is neglected due to the short distance of the parking trajectory. The accuracy of the model is evaluated in chapter 4.1. To control the autonomous driving system a miniaturized micro-controlIer system is connected to the CAN-bus. The central computing unit has a PowerPC which runs a Java based real-time system, Jbed from Esmertec. The control algorithms are therefore written in Java code.

Fig. 2. The sensors system: The Bosch ultrasonic sensor is displayed in grey and the Polaroid ultrasonic sensors is black. The radar sensor is displayed as a grey rectangle on the passenger door.

2.2 Radar sensor To reduce the amount of radar sensors needed, a sensor has to cover the largest possible field of interest. This is achieved with the 24 GHz radar technology. A radar sensor from A.D.C. was used, which has a monitoring area that responds to 60° horizontally and 30° vertically. By means of sensorinternal triangulation is it possible to calculate the horizontal angle to an echo. The echo in question is treated as a target when it passes the adaptive filter threshold that is integrated in the sensor. The target is then transmitted over the CAN-bus to the central computing unit. The sensor wi\l always transmit the ten strongest targets at a time. The range of the sensor is approximately 0.2-20 m. This is sufficient to map targets in the surroundings and, in part, a parking bay which has a depth between 2 and 3 meters. The sensor also delivers the speed and reflection intensity of the target. These parameters are used for a second off-line filtering of the monitoring data to distinguish the targets of interest from imaginary targets.

Fig. 3. System structure of the test vehicle.

2.4 Control architecture The control architecture follows the concepts described by Large and Sekhavat (Large, et al., 2000), with an off-line trajectory planner and a motion controller that executes the required sensor/servo actions. The trajectory planner constructs the trajectory out of a number of predefined waypoints which the trajectory-following algorithm then executes. Special tasks like paralIel parking use other algorithms to calculate the trajectory. These maneuvre algorithms are filed in the «Maneuvre Library». The motion controller is the real-time execution part which implements tasks such as trajectory following and evasive actions. The control architecture is schematicalIy shown in fig. 4.

2.3 Interfacing the Smart internal system To exploit the sensors and actuators that are originally included in the vehicle, the internal CAN-bus is intersected with a CAN-bus interfacing unit (see fig.3). This intersection admits an interface between the new modules (central computing unit, steering

50

Fig. 5. 3D image of the realized steering actuator.

Fig. 4. Control architecture; the box with dashed lines indicates routines that are to be implemented. The test vehicle, a Smart automobile from Daimler Chrysler, did not include servos for steering and braking which could be controlled over the CANbus. To solve this problem, electronically controlled steering and a brake actuator with an external interface card had to be designed. Interface card: To manage the interface between the new actuators and the CAN-bus, a Fujitsu 16-bit microcontroller with an internal CAN controller and an external motion controller (HCTL) was used. The actuator position is controlled by governing the speed of the motor. The HCTL is therefore operated in the proportional velocity mode. The command velocity is calculated through a software P controller which runs on the microcontroller at a frequency of -I kHz. This has the advantage that a new motion command can be executed before the last motion command is finished, which would blocked if the HCTL were operated in the position mode.

Fig. 6. 3D image of the realized brake actuator. Brake actuator: The brake was designed to allow the driver to override the actuator and increase the braking force at any time. This is an important safety aspect which is considered in the design of the brake actuator shown in fig. 6. The brake pedal is controlled with a 150 Watt DC motor sliding the drive sledge lengthwise on the spider gear. Because the sledge is situated behind the pedal axle, the driver will always be able to increase the brake force if necessary. The position of the sledge is determined by initializing the differential encoder, using a reference position initialization and then reading the encoder value, which is converted using the transfer factor between spider gear and encoder value.

Steering actuator: The actuator was constructed as shown in fig. 5, with the actuator operating directly on the steering axle. A harmonic drive is used to amplify the torque of the motor. The power transition from the motor to the steering axle is realized with a belt drive and an electronically actuated clutch. The clutch is controlled over the CAN-bus via an analogue 1/0 interface. The motor used to power the actuator is a 150 Watt DC motor with a differential encoder to determine position. To monitor the steering angle, an absolute angle sensor is mounted directly onto the steering axle. The differential encoder value and the absolute angle data are fused on the interface card for the steering actuator. The counter for the differential encoder is set to zero when the clutch is activated. By using the transfer factor between the steering angle and the encoder counter it is possible at any time to calculate the actual steering angle which is transferred over the CAN-bus to the central computing unit.

3. SOFTWARE 3.1 Trajectory following

The path tracking is based on the concept of pure pursuit described by Amidi (Amidi, 1990) and the look-ahead vector proposed by Langer and Thorpe (Langer and Thorpe, 1995). The look-ahead vector was further developed by making the vector speed

51

and angle dependent. This visualizes a path constructed of cluthoids (speed and angle dependent ovals) and circles (minimum turning radius), which allows a smooth continuous curvature of the trajectory (Frachaird, 2(01).

3.3 Parking procedure A deterministic approach to the parallel parking procedure was implemented to calculate the parking . trajectory. The parking algorithm used was developed during the project «Pacificam (1996). The project proposed that the parking procedure for entering a minimum-sized parking bay sideways could be derived from the inverse analysis of exiting the parking bay in one single directional movement ending parallel and close to the curb. The procedure derived from these inverse kinematics consists of three motions, a left rotation, a translation, and a right rotation. The following three definitions were made to describe the procedure: 1. Increase the angle a with maximum steering angle (= rmin) until the normal AB passes the corner C (see fig.S). 2. Straight forward motion until rear axle is level with corner C. 3. Rotate with angle a to place the vehicle parallel with the parking bay. Definition 1 illustrates the end position of the parking procedure and definition 3 the starting position.

3.2 Detecting a parking bay The mapping of a parking bay in a prior project, «SmartParkin19), was realised with a state machine. The four states used where defined as: 1. 2. 3. 4.

Search for large depth transient => start of parking bay. Search for second depth transient => end of parking bay. If minimum length and depth of parking bay is adequate. Transfer the starting position coordinates.

Due to the format (multiple targets with horizontal angle information) and the amount of data that the radar sensor delivers, a new approach had to beexplored. It was decided to adopt a statistical approach to the problem. This means that a 2dimensional area of interest is chosen. The vehicle then moves along this area and collects the data from the surroundings, which are transferred into a matrix . By filtering the extracted data over speed, intensity and angle, a target plot from the area of interest is created (see fig. 7). From this target plot is it now possible to fit the ideal parking bay and extract the data needed to calculate the parking trajectory. The data extraction is performed by means of the same state machine as proposed in the preceding project.

....

..,. ... .,.. ..

Fig. S. Schematic image of the three parking motions . A geometrical model of the procedure is created to calculate the necessary variables (see fig. 9). The known variables in this model are: AI Vehicle length AM' Vehicle width Ar Tier distance Or Overhang rear rot Radius outer rear tier

:

.

.' ,

"

<10

lID

..

..

MW

"Ut

Mo

,eo"·"i.. '

The model variables needed to describe the trajectory (b l - t - b z) for the parking procedure are: PI Parking bay length a.. Entering angle S~ Start position in X-direction Sy Start position in Y-direction bl Length of I st rotation t Translation Length of2nd rotation bz

Fig. 7. The dots show the radar targets measures and the black rectangle a parking bay derived by interpretation ofthe acquired data.

52

To compensate for differences between the real position and the ideal starting position (5), a compensation factor has to be evaluated. The factor is dependent on the My (difference from ideal starting position), which gives the following equations:

I1T

=

M Y

sin(a e )

(8)

My

M x =----=::tan(a e )

Fig. 9. A schematic presentation of the parking procedure.

The variable I1T defines the difference in the translation motion and Mx the difference in the x direction.

The minimum parking bay length (P,) is established through the rotation in definition I. The geometry from fig. 9 provides the following equations for parking bay length.

4. EXPERIMENTAL RESULTS

4.1 Position calculatedfrom odometer data Where ror (radius of the outer rear tier) and rt (radius of the front right vehicle corner) are defined as follows:

ror rt

= ~rof

2

- Aw

= ~ro/ + (AI

2

The result from the position calculated with the odometer data was compared with the DapS position to estimate the position error. To measure the error, a short straight course of 12 m length and a circular course of 60 m range (fig. lOa, b) were driven. The mean distance error per driven cycle of the course was measured at 1.2 m with a standard deviation of 0.5 m. (The measured data is here due to Daps fallout only valid for 60 m.) The angle was also monitored during the test, and fig. 11 shows the angle accuracy of the differential vehicle model compared to the DapS reference compass. The mean error was calculated at 0.1 radians with a standard deviation of 0.1 radians. The shorter course (see fig. 12), which approximately equals the distance of a parking trajectory, had a mean error of 0.4 m with a standard deviation of 0.3 m.

(2)

- 0r)2

(3)

The ideal entering angle (a..) is calculated from the two triangles DAB and OCD as:

ae

= z-fi = . ror

. ror - Aw

= arcsm - - - arcsm

rt

(4)

rt

The starting position (S., Sy) is calculated by using the functions (4) and (6).

(5)

Sy =rir ·(l-cosae ) rir

= ror

- Aw

• (6)

The ideal trajectory length for the centre of the vehicle (h], t, b 2) is given as:

t = rt . cosz

Fig. lOa. The measured round course with the position calculated by means of odometer data and the DapS position. The DapS jump is clear to see after -6Om.

(7)

53

calculated from the vehicle odometer data. The result is shown in fig.l3 . The mean error from origin was calculated at 0.1 m with a standard deviation 0[0.01 m.

I ,~ J ,( / "

;

'

'.. "

' ; ... . )

I

~...'

i



i

.

n '

! '

I

1t-

.'

: . ';

.'



I

, '"

,

I ,

0'

;;

..

I

.. ..

-

,.

,.



Fig. lOb. The plot shows the error between the DGPS data and the odometer data for a distance of 60 m. The peeks come from the updating rate of the DGPS, which is lower than that of the odometer data. The local minimum is therefore to be taken as the real DGPS position, onto which an estimated error curve is fitted.

,-

. -----

,

~.... !

. .,.

,

" fig. 13. The parking trajectory with two different starting positions.

5. CONCLUSION

/ ' 20

·1

We have briefly presented the system modification necessary for autonomous control of an automobile and described the experimental testing of the proposed model and control algorithms. The experimental results show that a differential model of the vehicle using a closed-loop controlling algorithm is too inaccurate over longer distances. The position procedure measurement will therefore be improved with an open-loop control algorithm which allows sensor-aided position detennination during longer navigations. The results also show that the path following algorithm works accurately enough to follow a parallel parking trajectory . A new radar sensor was tested to monitor the surroundings and to map a parking bay. Future work will investigate the accuracy of the radar sensor as well as a symbolic and mathematical mapping model of the parking bay.

I=:::-I 80

80

Co4.ne driven (m)

Fig. 11 . The angle alteration recorded during the test.

.. U;

or·

..

.. I

'

,

,.'

REFERENCES

n '

; 0,

-

j

, '-'-

Amid, O. (1990). Integrated Mobile Robot Control. Technical Repon. Robotics Institute, Camegie MelIon University. Fraichard, Th. and I .-M. Ahuactzin (2001). Smooth Path Planning for Cars. IEEE Int. Conf. on Robotics and Automation. Langer, D. and C. Thorpe (1995). Range Sensor Based Outdoor Vehicle Navigation, Collision Avoidance and Parallel Parking. Autonomous Robots, 2, 147- 161. Large, F., S. Sekhavat, C. Laugier and E. Gauthier (2000). Towards Robust Sensor-Based Maneuvers for a Car-Like Vehicle. IEEE 1nl. Conf. on Robotics and Automation.

GN_

~, -~~-:--~ ':

"

Fig. 12. The gray curve shows the error between the DGPS and the odometer calculation.

4.2 Parallel parking To test the path following of a parallel parking trajectory, two different starting points were used to calculate a trajectory and then executed. The path following here is exclusively based on a position

54