Using Fuzzy
Using Fuzzy
Automated versions
U ntil recently, in-vehicle computing has been largely relegated to auxiliary
fuel, oil, and battery-charge levels. Now, however, computers are increasingly assum-
of a mass-produced ing driving-related tasks in some commercial models. Among those tasks are
vehicle use fuzzy logic • maintaining a reference velocity or keeping a safe nomous robots and fuzzy control systems and the
distance from other vehicles, Universidad de Alcalá de Henares’s knowledge of
techniques to both • improving night vision with infrared cameras, and artificial vision. (The “Intelligent-Vehicle Systems”
• building maps and providing alternative routes. sidebar discusses other such projects.) We’re devel-
address common oping a testbed infrastructure for vehicle driving that
Still, many traffic situations remain complex and includes control-system experimentation, strategies,
challenges and difficult to manage, particularly in urban settings. and sensors. All of our facilities and instruments are
The driving task belongs to a class of problems that available for collaboration with other research groups
incorporate human depend on underlying systems for logical reasoning in this field. So far, we’ve automated and instru-
and dealing with uncertainty. So, to move vehicle mented two Citroën Berlingo mass-produced vans
procedural knowledge computers beyond monitoring and into tasks related to carry out our objectives.
to environment perception or driving, we must inte-
into the vehicle control grate aspects of human intelligence and behaviors Automated-vehicle equipment
so that vehicles can manage driving actuators in a Figure 1 shows two mass-produced electric Cit-
algorithms. way similar to humans. roën Berlingo vans, which we’ve automated using
This is the motivation behind the AUTOPIA program, an embedded fuzzy-logic-based control system to
a set of national research projects in Spain. AUTOPIA control their speed and steering. The system’s main
has two primary objectives. First, we want to imple- sensor inputs are a CCD (charge-coupled device)
ment automatic driving using real, mass-produced color camera and a high-precision global position-
vehicles tested on real roads. Although this objective ing system. Through these, the system controls the
might be called “utopian” at the moment, it’s a great vehicle-driving actuators—that is, the steering, throt-
starting point for exploring the future. Our second tle, and brake pedals. Both vehicles include an
aim is to develop our automated system using mod- onboard PC-based computer; a centimetric, real-time
ular components that can be immediately applied in kinematic differential GPS (RTK DGPS); Wireless
the automotive industry. LAN support; two servomotors; and an analog/dig-
AUTOPIA builds on the Instituto de Automática ital I/O card. We added a vision system in another
Industrial’s extensive experience developing auto- computer connected to the control computer. Figure
2 shows the control system that we developed control. To automate the steering, we installed card. The brake pedal is fully mechanical; we
to handle all these devices. a DC servomotor in the steering wheel col- automated it using a pulley and a DC servo-
The computer drives the vans using two umn. The Berlingo has an electronic throttle motor. We equipped the transmission with an
fuzzy-logic-based controllers: the steering control, so we shortened the electronic circuit electronic gearbox with forward and reverse
(lateral) control and the speed (longitudinal) to actuate the throttle using an analog output selection. We automated this using a digital
0 0
–0.8 0 0.8 –180 –2 0 2 180
(a) Meters (b) Degrees
0 0
–5.9 0 3.75 –180 –53 0 63 180
(c) Meters (d) Degrees
LESS THAN null null MORE THAN null LESS THAN null null MORE THAN null
1 1
0 0
–15 0 20 –35 0 13
(e) kmh (f) kmh/s
LESS THAN nullf nullf MORE THAN nullf LESS THAN nullf nullf
1 1
0 0
–14 0 3 25 –5 0
(g) kmh (h) kmh/s
Figure 3. The membership function definition for fuzzy variables: (a) Lateral_Error straight, (b) Angular_Error straight, (c) Lateral_Error curves,
(d) Angular_Error curves, (e) Speed_Error throttle, (f) Acceleration throttle, (g) Speed_Error brake, and (h) Acceleration brake.
using a singleton without turning limitations. user-defined target speed, and the Acceleration IF Acceleration LESS THAN nullf THEN Brake up
We fine-tuned the membership functions crisp value is the speed’s variation during a
experimentally, comparing their behavior time interval. The throttle pressure range is where brake/throttle down means depress the brake
with human operations and correcting it 2–4 volts, and the brake pedal range is and throttle, and brake/throttle up means release
accordingly until the system performed ac- 0–240 degrees of the actuation motor. the brake and throttle. The associated mem-
ceptably. So, the driving system selects a The fuzzy rules containing procedural bership functions of the fuzzy linguistic labels
fuzzy membership function set depending on knowledge for throttle control are null and nullf define the degree of nearness to 0
the situation, which leads to different reac- of Acceleration and Speed_Error, respectively.
tions for each route segment. IF Speed_Error MORE THAN null THEN Throttle up Figures 3e through 3h show the member-
IF Speed_Error LESS THAN null THEN Throttle down ship functions of null (for the throttle con-
Speed control IF Acceleration MORE THAN null THEN Throttle up troller) and nullf (for the brake controller) for
To control speed, we use two fuzzy input IF Acceleration LESS THAN null THEN Throttle down Speed_Error and Acceleration, respectively. An
variables: Speed_Error and Acceleration. To con- asymmetry exists in the two variable defini-
trol the accelerator and the brake, we use The rules for brake control are tions for two reasons:
two fuzzy output variables: Throttle and Brake.
The Speed_Error crisp value is the difference IF Speed_Error MORE THAN nullf THEN Brake down • to account for the difference in how accel-
between the vehicle’s real speed and the IF Speed_Error LESS THAN nullf THEN Brake up erating and braking vehicles behave, and
Figure 4. The adaptive cruise control + Stop&Go controller’s performance in an automated vehicle. Keeping a safe distance (a) at 30
kmh, (b) during speed reduction, and (c) in stop-and-go situations.
• to coordinate both pedals’ actuation to work at speeds lower than 40 kmh, so they situation. A few seconds later, the trailing
emulate human driving. can’t offer stop-and-go maneuvers. Second, vehicle starts up again, eventually stopping
the systems manage only the throttle auto- behind the lead vehicle. Figure 5a shows the
Throttle and brake controllers are inde- matically; consequently, the speed adapta- system using the throttle and brake to con-
pendent, but they must work cooperatively. tion range is limited. tinuously control the distance and time head-
Activating the two pedals produces similar Our system overcomes these limitations way. Figure 5b shows that the trailing vehi-
outcomes and can by automating the throttle and brake, which cle maintains its distance even if the speed is
lets the system act across the vehicle’s entire low and the time headway is no longer sig-
• increase the target speed (stepping on the speed range. In our case, we selected GPS as nificant. When the lead vehicle starts up, the
throttle or stepping off the brake on down- the safety-distance sensor. We installed GPS trailing vehicle follows, respecting the time
hill roads), in both vehicles, and they communicate their headway (see figure 5c). Finally, figure 5d
• maintain speed (stepping on or off either position to one another via WLAN. shows each vehicle’s speed profile, which
pedal when necessary), and Keeping a user-defined safety distance indicates the cars’ behavior in relation to
• reduce the vehicle’s speed (downshifting from the next vehicle is a speed-dependent pedal pressure.
the throttle or stepping on the brake. function: the higher the speed, the larger the
required intervehicle gap. This is the time- Overtaking
ACC+Stop&Go headway concept—a time-dependent safety The system can also manage obstacles or
With ACC, the system can change the distance maintained between two vehicles. other vehicles in the vehicle’s path by calcu-
vehicle’s speed to keep a safe distance from If we set a safety time gap of two seconds, lating when the vehicle should change lanes
the lead vehicle. As an extreme example, the for example, the space gap is 22.2 meters for to overtake the (mobile or immobile) obsta-
lead vehicle might come to a complete stop a vehicle moving at 40 kmh but approxi- cle. First,
owing to a traffic jam. In this case, the ACC mately 55.5 meters for 100 kmh. The time
must stop the vehicle using a stop-and-go gap setting depends on the vehicle’s braking • the vehicle must be in the straight-lane
maneuver; when the road is clear, the ACC power, the weather, the maximum speed, and driving mode,
reaccelerates the vehicle until it reaches the so on. For example, Article 54 of the Span- • the left lane must be free, and
target speed. Combining ACC with stop- ish Highway Code states, • there must be room for the overtaking.2
and-go maneuvers increases driving com- The driver of a vehicle trailing another shall
fort, regulates traffic speed, and breaks up keep a distance such that he or she can stop his Given this, overtaking occurs as follows:
bottlenecks more quickly. Many rear-end or her vehicle without colliding with the lead-
collisions happen in stop-and-go situations ing vehicle should this brake suddenly, taking 1. Initially, the vehicle is in straight-lane
because of driver distractions. into account speed, adherence and braking mode.
conditions.
ACC systems have been on the market 2. The driving mode changes to lane-
since 1995, when Mitsubishi offered the Pre- Figure 4 shows our ACC+Stop&Go con- change mode, and the vehicle moves
view Distance Control system in its Dia- troller’s performance in one of our auto- into the left lane.
mante model. Several sensors can provide mated vehicles. At the experiment’s begin- 3. The driving mode changes to straight-
the vehicle with ACC capability: radar, laser ning, the trailing vehicle starts moving, lane mode until the vehicle has passed
vision, or a combination thereof. Almost all speeds up, and eventually stops because the the obstacle or vehicle.
car manufacturers now offer ACC systems lead vehicle is blocking the way. The lead 4. The driving mode again changes to
for their vehicles, but they all have two clear vehicle then starts moving, gains speed, and lane-change mode, and the vehicle
drawbacks. First, the ACC systems don’t brakes again, emulating a congested traffic returns to the right lane.
0.7
0.6
0.5
0.4
0.3
0.2
0.1
(a) 0
60
Headway distance
50
40
Headway (m)
30
20
10
(b) 0
10
9 Time-headway error
8
7
Headway time (sec.)
6
5
4
3
2
1
0
–1
–2
–3
(c) –4
30
Pursued speed
Pursuer speed
25
20
Speed (kmh)
15
10
(d) 0
0 10 20 30 40 50 60 70
Time (sec.)
Figure 5. Performance measures: (a) normalization of throttle and brake pressure, (b) headway distance, (c) time-headway error,
and (d) each vehicle’s speed.
A l
Car ahead– (a)
overtaking
condition
Yes
No (b) l
Headway?
Figure 7. The overtaking maneuver (a) starts with a change from the right to the left
Yes lane and (b) ends with a change from the left to the right lane. A is the distance at
which the vehicle changes lanes, and l is the vehicle’s length.
Select lane-change mode
Change to the left lane 5. When the vehicle is centered in the lar_Error must be less than 2 degrees and Lat-
lane, the driving mode changes back to eral_Error less than 0.8 meter. The system tran-
straight-lane mode, and driving contin- sitions to step 4 when the overtaking vehicle’s
No
ues as usual. rear end passes the overtaken vehicle’s front
Lane end and the separation is l (see figure 7b).
change Figure 6 shows a detailed flowchart of Finally, the transition to step 5 is the same as
completed?
this algorithm. We calculate the time for from steps 2 to 3.
starting the transition from the first to the
Yes second step as a function of the vehicles’ Vision-based vehicle detection
Select straight-lane tracking
relative speed and the overtaking vehicle’s To achieve reliable navigation, all auto-
length. Figure 7 illustrates the overtaking nomous vehicles must master the basic skill
maneuver. The overtaking vehicle must of obstacle detection. This vision-based task
Pass the overtaken car change lanes at point A + l, where A is the is complex. Consider, for example, common
distance at which the vehicle changes lanes situations in urban environments, such as
No and l is the vehicle’s length. The dot on the missing lane markers, vehicles parked on
back of each vehicle represents a GPS both sides of the street, or crosswalks. All
Overtake
completed? antenna, located over the rear axle. Vehicles such situations make it difficult for a sys-
use the GPS receptor and the WLAN link tem to reliably detect other vehicles, creat-
Yes to continuously track their own position and ing hazards for the host vehicle. To address
that of other vehicles. The lane change pro- this, we use a monocular color-vision sys-
Select lane-change mode ceeds only if the front of the overtaking tem to give our GPS-based navigator visual
vehicle is completely in the left lane upon reactive capacity.
Change to the right lane reaching the rear of the overtaken vehicle
in the right lane. Search and vehicle detection
A is speed dependent—A = F(v), where v We sharply reduce execution time by lim-
No is the relative speed between the overtaking iting obstacle detection to a predefined area
Lane and overtaken vehicles because the higher in which obstacles are more likely to appear.
change the velocity, the larger the lane-change dis- This rectangular area—or region of interest
completed? tance. A is a function of the relative speed (ROI)—covers the image’s central section.
between both vehicles because overtaking To robustly detect and track vehicles
Yes depends on the two mobile objects’ speed. In along the road, we need two consecutive
this case, l is 4 meters, a Citroën Berlingo’s processing stages. First, the system locates
length. vehicles on the basis of their color and
Figure 6. A flow chart of the overtaking
algorithm. The system transitions from step 2 to step shape properties, using vertical edge and
3 when the overtaking vehicle’s angular and color symmetry characteristics. It combines
lateral errors are both low. Specifically, Angu- this analysis with temporal constraints for
Figure 8. Two vehicle detection examples: (a) the original image, (b) the image with region-of-interest edge enhancement,
(c) a vertical symmetry map, and (d) the detected vehicle’s position.
consistency, assuming that vehicles gener- quence. A major challenge of temporal-spa- we want to determine whether any object in
ally have artificial rectangular and sym- tial validation is for the system to identify the the current frame matches the vehicle being
metrical shapes that make their vertical same vehicle’s appearance in two consecu- tracked. To do this, we specify a limited
edges easily distinguishable. Second, the tive frames. To this end, our system uses the search area around the vehicle position, lead-
system tracks the detected vehicle using a object’s (x, y) position in correlative frames. ing to fast, efficient detection. We also estab-
real-time estimator. That is, it can use the position differences to lish a minimum correlation value and tem-
describe the vehicle’s evolution in the image plate size to end the tracking process if the
Vertical-edge and symmetry plane. At time instant t0, the system annotates system obtains poor correlations or if the
discriminating analysis each target object’s (x, y) position in a vehicle moves too far away or leaves the
After identifying candidate edges repre- dynamic list, and starts a time count to track scene.
senting the target vehicle’s limits, the system all candidate vehicles’ temporal consistency. Next, we filter the vehicle position mea-
computes a symmetry map3 of the ROI to At time t0 + 1, it repeats the process using the surements using a recursive least-squares
enhance the objects with strong color sym- same spatial-validation criterion. We increase estimator with exponential decay.5 To avoid
metry characteristics. It computes these char- the time count only for those objects whose partial occlusions, the system keeps the pre-
acteristics using pixel intensity to measure distance from some previous candidate vehi- viously estimated vehicle position for five
the match between two halves of an image cles is less than dv. Otherwise, we reset the consecutive iterations—without calculating
region around a vertical axis. It then consid- time count. A candidate object is validated any validated position—before considering
ers the vertical edges of paired ROIs with as a real vehicle when its time count reaches the vehicle track as lost. Given a loss, the
high symmetry measures (rejecting uniform t = 0.5s. system stops vehicle tracking and restarts
areas). It does this only for pairs represent- Given that the vision algorithm’s com- the vehicle detection stage. Figure 9 illus-
ing possible vehicle contours, disregarding plete execution time is 100 ms, an empiri- trates our algorithm, showing how the sys-
any combinations that lead to unrealistic cal value dv = 1m has proven successful in tem tracked the lead vehicle in real traffic
vehicle shapes. effectively detecting real vehicles in the situations.
scene. Figure 8 shows examples of the orig-
Temporal consistency inal and filtered images along with the ROI Adaptive navigation
In the real world, using only spatial fea- symmetry map and the detected vehicle’s After detecting the lead vehicle’s position,
tures to detect obstacles leads to sporadic, final position. we must ensure safe navigation in ACC mode
incorrect detection due to noise. We there- if the lead vehicle suddenly brakes within the
fore use a temporal-validation filter to Vehicle tracking safety gap limits. This event could easily lead
remove inconsistent objects from the scene.4 We track the detected vehicle’s position to a crash unless the host vehicle rapidly
That is, the system must detect any spatially using position measurement and estimation. detects the braking situation and brakes hard.
interesting object in several consecutive We use the detected vehicle’s ROI image as To ensure this, the system must detect the
image iterations to consider that object a real a template to detect position updates in the lead vehicle’s brake light activation, which
vehicle; it discards all other objects. next image using a best-fit correlation. We clearly indicates braking.
We use the value t = 0.5s to ensure that a then use the vehicle’s (x, y) location in data A vehicle’s brake light position varies de-
vehicle appears in a consistent time se- association for position validation. Basically, pending on its model and manufacturer. So,
NOW
jnaranjo@[Link].
[Link]/intelligent/[Link]
current research in
Teresa de Pedro is a researcher at the Consejo Superior de Investigaciones artificial intelligence.
Científicas’ Instituto de Automatica Industrial, where she works on AI as Breakthroughs in areas such
applied to automation and leads the ISAAC (Integration of Sensors to Active
as intelligent agents, the
Aided Conduction) project. Her research interests include fuzzy models for
unmanned vehicles. She received her PhD in physics from the Universidad Semantic Web, data mining,
Complutense of Madrid. Contact her at Instituto de Automática Industrial and natural language
(CSIC), Ctra. Campo Real Km. 0,200 La Poveda, Arganda del Rey, Madrid, processing will revolutionize
Spain; tere@[Link]. your work and leisure
activities. Read about this
research as it happens in
IEEE Intelligent Systems.
2. R. Garcia et al., “Frontal and Lateral Control door Environments, doctoral dissertation,
for Unmanned Vehicles in Urban Tracks,” Univ. of Alcalá, 2001.
IEEE Intelligent Vehicle Symp. (IV2002), vol.
2, IEEE Press, 2002, pp. 583–588. 5. H. Scheneiderman and M. Nashman, “A Dis-
criminating Feature Tracker for Vision-Based
3. A. Broggi et al., “The Argo Autonomous Autonomous Driving,” IEEE Trans. Robotics
Vehicle’s Vision and Control Systems,” Int’l and Automation, vol. 10, no. 6, 1994, pp.
J. Intelligent Control and Systems, vol. 3, no. 769–775.
4, 2000, pp. 409–441.
4. M.A. Sotelo, Global Navigation System For more information on this or any other com-
Applied to the Guidance of an Terrestrial puting topic, please visit our Digital Library at
Autonomous Vehicle in Partially Known Out- [Link]/publications/dlib.