Upload
kalanchiyarani
View
216
Download
0
Embed Size (px)
Citation preview
8/3/2019 Embedded Sy
1/17
PRESENTED BY
M.SHINO PRATHIBHA III-IT
V.PRIYANGA III-IT
SYED AMMAL ENGINEERING COLLEGE
DR.E.M.ABDULLAH CAMPUS,
RAMNAD
E-mail:[email protected]
1
8/3/2019 Embedded Sy
2/17
Real-Time Embedded Hybrid Control Software
For Intelligent Cruise Control Applications
ABSTRACTABSTRACT
Embedded systems various application like chocolate vending machine for children.Embedded systems various application like chocolate vending machine for children.
Provide money through ATM for college students for going movies. For homemakers itsProvide money through ATM for college students for going movies. For homemakers its
used for home appliance purchase. There are various applications. We concern ourselvesused for home appliance purchase. There are various applications. We concern ourselves
with the development and implementation of model-based, real-time, embedded, hybridwith the development and implementation of model-based, real-time, embedded, hybrid
control software. In particular, we target intelligent cruise control applications, includingcontrol software. In particular, we target intelligent cruise control applications, including
Adaptive Cruise Control (ACC), in which a forward looking range sensor (radar or Lidar,Adaptive Cruise Control (ACC), in which a forward looking range sensor (radar or Lidar,
usually) is used to follow a vehicle, and Cooperative ACC (CACC), a variation in whichusually) is used to follow a vehicle, and Cooperative ACC (CACC), a variation in which
wireless communications are used to supplement the forward looking sensor. We discusswireless communications are used to supplement the forward looking sensor. We discuss
modeling and simulation as well as experimental results obtained on automated vehicles.modeling and simulation as well as experimental results obtained on automated vehicles.
Our approach emphasizes the maintenance of a single model throughout the developmentOur approach emphasizes the maintenance of a single model throughout the development
process, with particular emphasis on tight-loop verification and testing at each step.process, with particular emphasis on tight-loop verification and testing at each step.
2
8/3/2019 Embedded Sy
3/17
INTRODUCTIONINTRODUCTION
Real-time, embedded systems have become prevalent in our everyday life. AnReal-time, embedded systems have become prevalent in our everyday life. An
embedded system is a special-purpose computer system built into a larger device . Sinceembedded system is a special-purpose computer system built into a larger device . Since
manymany embedded systems are produced in the tens of thousands toembedded systems are produced in the tens of thousands to millions of units range,millions of units range,
reducing cost is a major concern.reducing cost is a major concern. Embedded systems often use a (relatively) slowEmbedded systems often use a (relatively) slow
processorprocessor clock speed and small memory size to cut costs. Programs onclock speed and small memory size to cut costs. Programs on an embeddedan embedded
system often must run with real-time constraints;system often must run with real-time constraints; that is, a late answer is considered athat is, a late answer is considered a
wrong answer. Often therewrong answer. Often there is no disk drive, operating system, keyboard or screen. Cellis no disk drive, operating system, keyboard or screen. Cell
phones, PDA, televisions, washing machines, microwave phones, PDA, televisions, washing machines, microwave ovens and calculators allovens and calculators all
contain embedded processors.contain embedded processors.
Demands placed on the functionality, complexity and criticalDemands placed on the functionality, complexity and critical nature of embeddednature of embedded
systems are ever increasing. Modern-daysystems are ever increasing. Modern-day automobiles now contain many differentautomobiles now contain many different
processors thatprocessors that perform functions ranging from engine control to ABS toperform functions ranging from engine control to ABS to vehicle stabilityvehicle stability
and traction control to electronic control of power windows, mirrors, and driver-seatand traction control to electronic control of power windows, mirrors, and driver-seat
settings. Aircraftsettings. Aircraft control systems can be several orders of magnitude morecontrol systems can be several orders of magnitude more complicated,complicated,
due in part to greater need for systemdue in part to greater need for system reconfiguration from mission to mission, and toreconfiguration from mission to mission, and to
fault tolerancefault tolerance and redundancy requirements that include having severaland redundancy requirements that include having several back-up copiesback-up copies
of critical sensing and actuation systems.of critical sensing and actuation systems. As expectations abound for ever moreAs expectations abound for ever more
complicated embeddedcomplicated embedded systems, organized real-time, embedded software developmentsystems, organized real-time, embedded software development
3
ImplementationImplementation
Requirement
Specification
System
Specification
ModuleDesign
ModuleTest
SystemDesign
System
Test
System
Delivery
SystemIntegration
Figure 1. Typical embedded software development process [1]
8/3/2019 Embedded Sy
4/17
processes are needed. Current industry standards fall short ofprocesses are needed. Current industry standards fall short of producing high degree ofproducing high degree of
confidence, reusable code.confidence, reusable code.
Our I tractions with automotive partners indicate that thenOur I tractions with automotive partners indicate that then typical embedded softwaretypical embedded software
development process is as showndevelopment process is as shown in figure 1. A large pitfall of the current state of the artin figure 1. A large pitfall of the current state of the art
is thatis that most bugs are caught in the final phases of the process, atmost bugs are caught in the final phases of the process, at system integration andsystem integration and
testing time. Correcting the problemtesting time. Correcting the problem often involves modifying the system requirements,often involves modifying the system requirements,
specification or design, and such changes are costly as theyspecification or design, and such changes are costly as they simplysimply significant rework ofsignificant rework of
the system.the system.
The model-based process we present in this paper, shown inThe model-based process we present in this paper, shown in figure 2, places strongfigure 2, places strong
emphasis on performing as much testing and verification in tight-loops as possible.emphasis on performing as much testing and verification in tight-loops as possible.
Thus we hope toThus we hope to catch bugs early on in the development process and minimizecatch bugs early on in the development process and minimize costcost
associated with fixing the problems. We choose to frameassociated with fixing the problems. We choose to frame our models and controllers inour models and controllers in
the context of hybrid automata.the context of hybrid automata.
The use of a model with well understood mathematicalThe use of a model with well understood mathematical properties allows formal properties allows formal
verification of the controller, andverification of the controller, and additional information about the experimental platformadditional information about the experimental platform
allowsallows us to verify timing properties of the software. This gives us aus to verify timing properties of the software. This gives us a high degree ofhigh degree of
confidence in the performance of the generated code. Hybrid verification of controlconfidence in the performance of the generated code. Hybrid verification of control
analysis of timing properties are conducted through third party tool.analysis of timing properties are conducted through third party tool.
Plant Library
Simulation
CA CC
Hybrid System
Verification
Third partytools
Until HSIF
matures
QNX
Low-level C code
Device drivers
P/S database
QNX Machine
C++C++
code
Car, Pentiums
Schedulability
Analysis
Third
party tools
QNX Machine
Figure 2. Intelligent cruise control software development
process.
This development process was conceived in a joint effortThis development process was conceived in a joint effort between the University of between the University of
California at Berkeley, FordCalifornia at Berkeley, Ford Scientific Research Laboratories and General Motors. WeScientific Research Laboratories and General Motors. We
4
8/3/2019 Embedded Sy
5/17
startstart with hybrid system models of the plant and controller, whichwith hybrid system models of the plant and controller, which allows formalallows formal
verification, simulation and automatic codeverification, simulation and automatic code generation. Timing properties of thegeneration. Timing properties of the
generated code can begenerated code can be checked. The approach is applied to Adaptive Cruise Controlchecked. The approach is applied to Adaptive Cruise Control
(ACC) and Cooperative ACC systems.(ACC) and Cooperative ACC systems.
While regular cruise control systems track a desired vehicleWhile regular cruise control systems track a desired vehicle speed, Adaptive Cruisespeed, Adaptive Cruise
Control (ACC) systems adapt theirControl (ACC) systems adapt their behavior if there is a vehicle ahead on the roadway,behavior if there is a vehicle ahead on the roadway,
and followand follow the leader vehicle at a driver requested time gap using line-of-sight sensorsthe leader vehicle at a driver requested time gap using line-of-sight sensors
such as radar and/or Lidar. When there is nosuch as radar and/or Lidar. When there is no leader vehicle present, ACC defaults toleader vehicle present, ACC defaults to
conventional cruiseconventional cruise control and reverts to the driver set speed. ACC systems arecontrol and reverts to the driver set speed. ACC systems are nownow
available on several production cars, including the Nissanavailable on several production cars, including the Nissan
Q45 and FX45, the Mercedes S-class, the Lexus 330 and 430,Q45 and FX45, the Mercedes S-class, the Lexus 330 and 430, the Audi A8, and selectthe Audi A8, and select
Jaguar and Cadillac models. TheseJaguar and Cadillac models. These production ACC systems obtain their distance andproduction ACC systems obtain their distance and
closing rateclosing rate information about the leading vehicle through the use of theirinformation about the leading vehicle through the use of their forward-forward-
looking sensor. These sensors are typically subject tolooking sensor. These sensors are typically subject to noise, interference, false alarms andnoise, interference, false alarms and
drop-outs, and their use requires heavy filtering. This, in turn, introduces delays intodrop-outs, and their use requires heavy filtering. This, in turn, introduces delays into thethe
system, and limits the ability of the ACC equippedsystem, and limits the ability of the ACC equipped vehicles to follow the leader vehiclevehicles to follow the leader vehicle
closely or respond quicklyclosely or respond quickly to change in its speed. A variant if Cooperative ACC (CACC),to change in its speed. A variant if Cooperative ACC (CACC),
where the forward-looking sensor is complemented by awhere the forward-looking sensor is complemented by a
wireless communication linkwireless communication link
that provides hop-by-hop, leaderthat provides hop-by-hop, leader to follower updates of critical information. Such ato follower updates of critical information. Such a
system cansystem can be designed to follow vehicles with higher accuracy and fasterbe designed to follow vehicles with higher accuracy and fasterresponse thanresponse than
traditional ACC systems, and should allow fortraditional ACC systems, and should allow forfreeway throughput capacity increases. Infreeway throughput capacity increases. In
addition, the CACCaddition, the CACC system can be designed to have proven string stability, so itsystem can be designed to have proven string stability, so it couldcould
contribute to dampening shock waves in the freewaycontribute to dampening shock waves in the freeway traffic stream.traffic stream.
This application domain makes use of several roboticThis application domain makes use of several robotic technologies that are applied totechnologies that are applied to
intelligent transportationintelligent transportation systems. Measurement systems are used to keep track of thesystems. Measurement systems are used to keep track of the
target vehicle. In particular, microwave and Doppler radars, andtarget vehicle. In particular, microwave and Doppler radars, and a Lidar were considereda Lidar were considered
in this project. In addition, toin this project. In addition, to supplement information obtained from the forward-lookingsupplement information obtained from the forward-looking
sensors, wireless communications were used to providesensors, wireless communications were used to provide frequent updates of keyfrequent updates of key
information. Automotive vehicles caninformation. Automotive vehicles can be very nonlinear, and the control of such systemsbe very nonlinear, and the control of such systems
5
8/3/2019 Embedded Sy
6/17
is ofis of paramount interest to the robotics community, as commonparamount interest to the robotics community, as common nonlinearities such asnonlinearities such as
actuator saturation affect both worlds. The intelligent cruise controller has multipleactuator saturation affect both worlds. The intelligent cruise controller has multiple
modes and mustmodes and must deal with switching between CC, ACC and CACC in a safe anddeal with switching between CC, ACC and CACC in a safe and smoothsmooth
manner, a problem that is currently a topic of researchmanner, a problem that is currently a topic of research for robotic vehicles as well asfor robotic vehicles as well as
automotive applications. Finally,automotive applications. Finally, the software development process that we present isthe software development process that we present is
equallyequally applicable to the development of robot mission software. The generated code hasapplicable to the development of robot mission software. The generated code has
been run and tested as a prototype onbeen run and tested as a prototype on automated vehicles.automated vehicles.
The vehicle and controller models are presented. Implementation of the controllers onThe vehicle and controller models are presented. Implementation of the controllers on
automated cars isautomated cars is discussed, in terms is sensing issues, experimental platformdiscussed, in terms is sensing issues, experimental platform capabilitiescapabilities
and software implementation, and experimentaland software implementation, and experimental results are shown.results are shown.
II. VEHICLE MODEL AND CONTROLLER DESIGNII. VEHICLE MODEL AND CONTROLLER DESIGN
The vehicle model used for controller development is anThe vehicle model used for controller development is an eleven-state model, whicheleven-state model, which
includes vehicle state dynamics,includes vehicle state dynamics, throttle and brake system dynamics, a two-state modelthrottle and brake system dynamics, a two-state model
for thefor the spark-ignition engine as presented in , including externalspark-ignition engine as presented in , including external data maps which requiredata maps which require
interpolation, and models the ofinterpolation, and models the oftorque converter, transmission and wheel slip, as showntorque converter, transmission and wheel slip, as shown
inin figure 3.figure 3.
The vehicle state dynamics have two continuous states, vehicle position and velocity, andThe vehicle state dynamics have two continuous states, vehicle position and velocity, and
consider vehicle mass, airconsider vehicle mass, air drag and rolling resistance. The throttle and brake dynamicsdrag and rolling resistance. The throttle and brake dynamics
are both first-order, with one continuous state for each representing actuator dynamics forare both first-order, with one continuous state for each representing actuator dynamics for
6
0
200
400
600
0
50
e
Spark Ignition Engine
C.T. nonlinear model:
Maps are usedwhich require both 1 and 2-d
Transmission
Discrete transitions are taken during gear
changes based on vehicle speed.
Abrupt gear changes cause abrupt gear
ratio changes, so a filter is added which
includes 1 C.T. state.
Torque Converter
No C.T. states. 2 Hybrid states: Coupled
& Uncoupled
Throttle
1 C.T. State
representingthrottle dynamics.
Brakes
1 C.T. Staterepresenting time
response lag
Vehicle State Dynamics
2 C.T. States: Position, Velocity.
Includes vehicle mass, air drag, rolling
resistance, etc.
Wheel Slip Model
Models the tire slip
dynamics.
Requires 4 C.T.States one per
wheel.
Figure 3. Vehicle model (figure courtesy of Michael Drew, [2])
8/3/2019 Embedded Sy
7/17
the throttle and time response lag for the brakes. Complete details of the model arethe throttle and time response lag for the brakes. Complete details of the model are
availableavailable
The controller design process stems from system requirements.The controller design process stems from system requirements.
We consider only the longitudinal control of passengerWe consider only the longitudinal control of passenger vehicles (no automatic steering).vehicles (no automatic steering).
Vehicles may beVehicles may be heterogeneous, that is of different types, makes and models. Inheterogeneous, that is of different types, makes and models. In ourour
experiments, we limit ourselves to the utilization of two automated cars. This excludesexperiments, we limit ourselves to the utilization of two automated cars. This excludes
cut-in scenarios for thecut-in scenarios for the experiments (they were considered in simulation). Theexperiments (they were considered in simulation). The automatedautomated
cars are 1996 and 1997 model-year Buick LeSabres.cars are 1996 and 1997 model-year Buick LeSabres. The maximum acceleration recordedThe maximum acceleration recorded
on the test track (zero toon the test track (zero to full throttle as a step) is on the order of 4m/s 2, and thefull throttle as a step) is on the order of 4m/s 2, and the
maximummaximum deceleration obtained during this project on the track is on thedeceleration obtained during this project on the track is on the order of -4m/sorder of -4m/s
2, obtained manually. Dynamic capabilities of the2, obtained manually. Dynamic capabilities of the1)1) vehicles must also be considered.vehicles must also be considered.
Environmental limitationsEnvironmental limitations include wanting to avoid stationary objects, such as trees andinclude wanting to avoid stationary objects, such as trees and aa
fence that runs the length of the test track. The desiredfence that runs the length of the test track. The desired behavior for the automated vehiclebehavior for the automated vehicle
is to perform cruise controlis to perform cruise control2)2) if the road is clear, otherwise follow the vehicle in front atif the road is clear, otherwise follow the vehicle in front at
aa predetermined time gap.predetermined time gap.
The controller was split hierarchically between an upper levelThe controller was split hierarchically between an upper level controller that has severalcontroller that has several
modes, namely cruise control (CC),modes, namely cruise control (CC), adaptive cruise control (ACC) and coordinatedadaptive cruise control (ACC) and coordinatedadaptive cruiseadaptive cruise control (CACC). In ACC mode we use only information fromcontrol (CACC). In ACC mode we use only information from the hostthe host
vehicles forward-looking sensors, and in CACC modevehicles forward-looking sensors, and in CACC mode we supplement this informationwe supplement this information
with data from the wireless communication system.with data from the wireless communication system.
7
8/3/2019 Embedded Sy
8/17
The upper control generates a desired host vehicleThe upper control generates a desired host vehicle acceleration, which is sent to theacceleration, which is sent to the
lower-level controller. Thelower-level controller. The lower-level controller converts this desired acceleration to alower-level controller converts this desired acceleration to a
desired torque, then chooses whether to apply the brakes ordesired torque, then chooses whether to apply the brakes orthrottle, and in what amount.throttle, and in what amount.
Both controllers are run onBoth controllers are run on separate control computers.separate control computers.
Fa is the aerodynamic drag force.Fa is the aerodynamic drag force.
Mrr is the rolling resistance moment.Mrr is the rolling resistance moment.
Rg is the gear ratio (related to engine and vehicle speeds)Rg is the gear ratio (related to engine and vehicle speeds)
bades is the desired synthetic accelerationbades is the desired synthetic acceleration
ct is the control torquect is the control torque
h is the effective wheel radius.h is the effective wheel radius.
Throttle control is used if:
0)sin( +++ ctarrgades mgFMR
For throttle control, the desired torque is computed as:
)sin( mghhFMRarrgadesedes+++=
Brake control is used if:
0)sin(
8/3/2019 Embedded Sy
9/17
From the desired torque, the desired throttle angle is computed using an engine map.From the desired torque, the desired throttle angle is computed using an engine map.
Brake controlBrake control
From the desired torque, two different brake control strategies have been implemented.From the desired torque, two different brake control strategies have been implemented.
In the first strategy, the master cylinder pressure is controlled. A pressure regulator valveIn the first strategy, the master cylinder pressure is controlled. A pressure regulator valve
controls the pressure applied on the hydraulic actuator. Seal friction exists in the mastercontrols the pressure applied on the hydraulic actuator. Seal friction exists in the master
cylinder and the actuator, and a small amount of hysteresis is present in the pressurecylinder and the actuator, and a small amount of hysteresis is present in the pressure
regulation valve. The friction is modeled as hyperbolas from various points in theregulation valve. The friction is modeled as hyperbolas from various points in the
hysteresis loop and can be written as:hysteresis loop and can be written as:
Pmc = g(u)Pmc = g(u)
Feed-forward plus proportional feedback control is used, as developed in [6]. The controlFeed-forward plus proportional feedback control is used, as developed in [6]. The control
law can be written as:law can be written as:
)()( _1
mcdesmcbmcb PPkPgu +=
Where ub is the applied command input to the brake solenoid valve, Pmc_des the desiredWhere ub is the applied command input to the brake solenoid valve, Pmc_des the desired
master cylinder pressure, Pmc the measured master cylinder pressure, and kb>0 amaster cylinder pressure, Pmc the measured master cylinder pressure, and kb>0 a
feedback gain.feedback gain.
In the second brake control strategy, the wheel brake pressure is controlled, and the brakeIn the second brake control strategy, the wheel brake pressure is controlled, and the brakesystem is modeled. The control law uses dynamic surface control and can be written as:system is modeled. The control law uses dynamic surface control and can be written as:
2
)(
=
qw
wdeswbwdeswmc
CV
P
PPPPP
Where Pw_des is the desired wheel pressure, V is the volume of displaced brake fluid,Where Pw_des is the desired wheel pressure, V is the volume of displaced brake fluid,
Pw the pressure at the wheel, Cq a flow coefficient, andPw the pressure at the wheel, Cq a flow coefficient, and b is a control gain.b is a control gain.
9
8/3/2019 Embedded Sy
10/17
The following figure shows data that was taken during an acceleration-tracking run onThe following figure shows data that was taken during an acceleration-tracking run on
the test car, using the low-level control law. The desired acceleration is a square pattern.the test car, using the low-level control law. The desired acceleration is a square pattern.
TheThe velocity, acceleration and desired acceleration are shown on the first line, versusvelocity, acceleration and desired acceleration are shown on the first line, versus
time. The second line has the desired and actual brake pressure, and throttle angle, vs.time. The second line has the desired and actual brake pressure, and throttle angle, vs.
time.time.
Cruise Control LawCruise Control Law
The purpose of cruise control is to maintain a desired velocity. A vehicle may be in cruiseThe purpose of cruise control is to maintain a desired velocity. A vehicle may be in cruise
control mode if it is not equipped with ACC or CACC, has no vehicle immediately incontrol mode if it is not equipped with ACC or CACC, has no vehicle immediately in
front of it or has at least 100 meters of clearance to the preceding vehicle, or by decisionfront of it or has at least 100 meters of clearance to the preceding vehicle, or by decision
of the human driver. The controller uses a feedback and feed-forward control law of theof the human driver. The controller uses a feedback and feed-forward control law of the
form:form:
)( ddd vvkva =
Where: ad is the desired acceleration of the vehicle, v is the speed of the vehicle, vd is theWhere: ad is the desired acceleration of the vehicle, v is the speed of the vehicle, vd is the
desired speed of the vehicle and k is a gain set to 0.75.desired speed of the vehicle and k is a gain set to 0.75.
ACC and CACC LawACC and CACC Law
10
Figure 5. Results of acceleration tracking run, on test track.
Green quantities are actual, red are measured, blue are filtered.
8/3/2019 Embedded Sy
11/17
The control law for ACC and CACC is identical. The main difference between bothThe control law for ACC and CACC is identical. The main difference between both
modes is in the sensor fusion, and in the quality of the state information. Also, themodes is in the sensor fusion, and in the quality of the state information. Also, the
operating logic is different in both modes. The purpose of an ACC or CACC law is tooperating logic is different in both modes. The purpose of an ACC or CACC law is to
regulate the range between vehicles to a user-selected value, and to adjust the vehicleregulate the range between vehicles to a user-selected value, and to adjust the vehicle
speed to the speed of downstream traffic. Velocity dependent (headway) control is used,speed to the speed of downstream traffic. Velocity dependent (headway) control is used,
with:with: += vRdes
Typical values for headway time range form 1.8 seconds to 0.7 seconds.Typical values for headway time range form 1.8 seconds to 0.7 seconds.
The control law was designed using sliding control, where a surface is usually defined asThe control law was designed using sliding control, where a surface is usually defined as
a function of the error, derivatives of the error and/or integrals of the error. The surface isa function of the error, derivatives of the error and/or integrals of the error. The surface is
defined such that the state will exponentially decay along the surface to the desired point.defined such that the state will exponentially decay along the surface to the desired point.
The input is chosen to guarantee that the state will converge and stay on the slidingThe input is chosen to guarantee that the state will converge and stay on the sliding
surface. We define the error as:surface. We define the error as:
e = R Rd
where the range R is defined as R = x1 - x2, 21 xxR = and
2121 aaxxR == .
We derive the sliding surface control in two different ways,
which basically lead to the same control law.
Feedback linearization:
Let a2 = a1-. Then =R .
Let ekekR pdd=
. Then 0=++
ekeke pd .The control law obtained by feedback linearization is:
ekekRaa pdd ++= 12
The first two terms in the control law are feed-forward, and the
last two are feedback.
Double First-Order Method:
Define ees += . Then 00 es .
We have: ees += . If: ksee = , then 0=+kss .
Now, dd RaaRRe == 21 .
This leads to the following control law:
kseRaa d ++= 12 ,
that is:
ekekRaa d +++= )(12
Once again, the first two terms in the control law are feed forward, and the last two areOnce again, the first two terms in the control law are feed forward, and the last two are
feedback. Both control laws are in essence equivalent.feedback. Both control laws are in essence equivalent.
11
8/3/2019 Embedded Sy
12/17
Double click the iconDouble click the icon
III. SOFTWAREIII. SOFTWARE
DEVELOPMENT PROCESSDEVELOPMENT PROCESS
We used a model-based approachWe used a model-based approach
throughout the control and softwarethroughout the control and software
development. We phrased the vehicledevelopment. We phrased the vehicle
models as hybrid automata and used the TEJA language to simulate and exercise themodels as hybrid automata and used the TEJA language to simulate and exercise the
models. We designed our controllers, and also phrased them as hybrid automata in TEJA.models. We designed our controllers, and also phrased them as hybrid automata in TEJA.
This allowed us to perform simulation over a wide range of conditions. In particular,This allowed us to perform simulation over a wide range of conditions. In particular,
switching conditions from one mode to the next (for example ACC into CACC) wereswitching conditions from one mode to the next (for example ACC into CACC) were
designed by hand and were tested carefully.designed by hand and were tested carefully.
In addition, hybrid system verification was conducted to answer questions such as willIn addition, hybrid system verification was conducted to answer questions such as will
the distance between the two vehicles ever become less than zero? (an undesirablethe distance between the two vehicles ever become less than zero? (an undesirable
circumstance). Results were obtained by several different groups and can be found .TEJAcircumstance). Results were obtained by several different groups and can be found .TEJA
allows true control and software architecture co-design, in that the programmer canallows true control and software architecture co-design, in that the programmer can
organize his/her hybrid automata into tasks, allocate tasks to processors (manually), andorganize his/her hybrid automata into tasks, allocate tasks to processors (manually), and
select communication mechanisms between distributed processors, or between separateselect communication mechanisms between distributed processors, or between separate
tasks. The chosen architecture can then be simulated, and C or C++ code can betasks. The chosen architecture can then be simulated, and C or C++ code can be
generated for each task independently. This allows us to maintain a single modelgenerated for each task independently. This allows us to maintain a single model
containing all of our control and software information. The code that is generated fromcontaining all of our control and software information. The code that is generated from
TEJA for the controllers interfaces with legacy code, such as device drivers, driverTEJA for the controllers interfaces with legacy code, such as device drivers, driver
display units etc, through the use of a shared-memory database on the publish-and-display units etc, through the use of a shared-memory database on the publish-and-
subscribe model. On the experimental test vehicles, all of the software is run on Pentiumsubscribe model. On the experimental test vehicles, all of the software is run on Pentium
computers running the QNX4.25 real-time operating system. After experimental testing,computers running the QNX4.25 real-time operating system. After experimental testing,
calibrations may be made to the controller by modifying the original TEJA automata,calibrations may be made to the controller by modifying the original TEJA automata,
then regenerating the TEJA code.then regenerating the TEJA code.
IV. IMPLEMENTATION AND EXPERIMENTAL RESULTSIV. IMPLEMENTATION AND EXPERIMENTAL RESULTS
12
8/3/2019 Embedded Sy
13/17
The TEJA-generated software for CC, ACC and CACC was run on experimental testThe TEJA-generated software for CC, ACC and CACC was run on experimental test
vehicles operated by California PATH.vehicles operated by California PATH.
A. Sensor IssuesA. Sensor Issues
In the TEJA simulation, we considered that we had range and closing rate informationIn the TEJA simulation, we considered that we had range and closing rate information
available (for ACC, supplemented by communicated acceleration and maximum brakingavailable (for ACC, supplemented by communicated acceleration and maximum braking
rate for CACC) for a target vehicle located ahead of the host vehicle. We consideredrate for CACC) for a target vehicle located ahead of the host vehicle. We considered
noise models for the range, closing rate and lead vehicle acceleration and droppednoise models for the range, closing rate and lead vehicle acceleration and dropped
packets and bandwidth limitations for the communicated data. However, the sensors thatpackets and bandwidth limitations for the communicated data. However, the sensors that
were mounted on the test vehicles did not have such simple outputs. We used twowere mounted on the test vehicles did not have such simple outputs. We used two
different types of radar and a lidar, in addition to the wireless communicationsdifferent types of radar and a lidar, in addition to the wireless communications
(conducted over 802.11b). The first radar we consider is microwave radar that was(conducted over 802.11b). The first radar we consider is microwave radar that was
custom-made by Delco for vehicle platoon operations. It operates in the millimeter-wavecustom-made by Delco for vehicle platoon operations. It operates in the millimeter-wave
region at 76-77 GHz, has a narrow beam and a range of approximately 40m. The shortregion at 76-77 GHz, has a narrow beam and a range of approximately 40m. The short
range made this radar useless for highway-speed type ACC, but very useful for slow-range made this radar useless for highway-speed type ACC, but very useful for slow-
speed, stop-and-go type ACC and CACC that were also developed as part of this project.speed, stop-and-go type ACC and CACC that were also developed as part of this project.
The second radar we considered is a Doppler (monopulse) radar, part of the EVT300The second radar we considered is a Doppler (monopulse) radar, part of the EVT300
collision warning system (Eaton-Vorad Technologies), with a 12 degree beam width. Itcollision warning system (Eaton-Vorad Technologies), with a 12 degree beam width. It
provides range, derivative of range and azimuth information for up to 7 targets, has aprovides range, derivative of range and azimuth information for up to 7 targets, has a
range of approximately 100m, and, due to its operating principles, provides norange of approximately 100m, and, due to its operating principles, provides no
information on objects having zero relative velocity.information on objects having zero relative velocity.
The lidar we used is a Mitsubishi unit with a field of view of 12 degrees (+/- 6) in theThe lidar we used is a Mitsubishi unit with a field of view of 12 degrees (+/- 6) in the
horizontal plane. It provides distance and intensity values for each of 80 equal segmentshorizontal plane. It provides distance and intensity values for each of 80 equal segments
over the 12 degrees of field of view.over the 12 degrees of field of view.
Due to the nature of the sensors, the raw sensor data must be processed to provide fusedDue to the nature of the sensors, the raw sensor data must be processed to provide fused
information about a single target vehicle, ahead of the host vehicle, in the same lane, thatinformation about a single target vehicle, ahead of the host vehicle, in the same lane, that
is used by the control algorithm.is used by the control algorithm.
Several strategies were evaluated for processing of the radar and lidar data, includingSeveral strategies were evaluated for processing of the radar and lidar data, including
limiting potential targets to those in a target zone, which can be shaped tolimiting potential targets to those in a target zone, which can be shaped to
accommodate for curves in the road using information from a gyro, placing thresholds,accommodate for curves in the road using information from a gyro, placing thresholds,
target locking based on persistence over time, elimination of non-feasible objects, etcIntarget locking based on persistence over time, elimination of non-feasible objects, etcIn
addition, the algorithms were developed to function both in highway conditions (highaddition, the algorithms were developed to function both in highway conditions (high
13
8/3/2019 Embedded Sy
14/17
speeds, low curvature) and in stop and- go conditions (low speeds, and one may havespeeds, low curvature) and in stop and- go conditions (low speeds, and one may have
parked cars, pedestrians etc on the road). This presented an additional level of parked cars, pedestrians etc on the road). This presented an additional level of
difficulty. Details about the sensor processing and fusion algorithms can be found.difficulty. Details about the sensor processing and fusion algorithms can be found.
B. Experimental PlatformB. Experimental Platform
The experimental vehicles are 1996 and 1997 model-year BuickThe experimental vehicles are 1996 and 1997 model-year Buick
LeSabres.LeSabres.
They are equipped with throttle, brake and steering actuating systems , as well as withThey are equipped with throttle, brake and steering actuating systems , as well as with
numerous sensors, including accelerometers, wheel speed sensors, engine speed andnumerous sensors, including accelerometers, wheel speed sensors, engine speed and
manifold pressure sensors, as well as magnetometers that are used as part of the lateralmanifold pressure sensors, as well as magnetometers that are used as part of the lateral
control. In addition, for our project, both radars and the lidar described above werecontrol. In addition, for our project, both radars and the lidar described above were
mounted to the front bumper of the vehicles. There are two control computers located inmounted to the front bumper of the vehicles. There are two control computers located in
the trunk. Both run the QNX 4.25 operating system and communicate over serial portthe trunk. Both run the QNX 4.25 operating system and communicate over serial port
connections. The computers run a host of tasks necessary for automated control of theconnections. The computers run a host of tasks necessary for automated control of the
vehicles, including reading sensor data and writing to actuators, control computationsvehicles, including reading sensor data and writing to actuators, control computations
such as those described above for the ACC/CACC system and low-level controllers, andsuch as those described above for the ACC/CACC system and low-level controllers, and
tasks pertaining to driver display information.tasks pertaining to driver display information.
There are about 30 different tasks running on the most heavily loaded of the controlThere are about 30 different tasks running on the most heavily loaded of the control
computers, and timing is fairly critical as human test drivers are in the cars during runscomputers, and timing is fairly critical as human test drivers are in the cars during runs
and their safety is paramount. In consequence, we teamed up with another MoBIES teamand their safety is paramount. In consequence, we teamed up with another MoBIES team
at Carnegie Mellon University to perform schedulability analysis of all tasks, using Rateat Carnegie Mellon University to perform schedulability analysis of all tasks, using Rate
14
Figure 6. Experimental test vehicles.
8/3/2019 Embedded Sy
15/17
Monotonic Scheduling algorithms . Execution times for the different tasks were measuredMonotonic Scheduling algorithms . Execution times for the different tasks were measured
on the control computer, and a choice of priorities to set the tasks at in QNX was foundon the control computer, and a choice of priorities to set the tasks at in QNX was found
that guarantees that timing properties are not violated.that guarantees that timing properties are not violated.
C. Experimental ResultsC. Experimental Results
The next figure shows a velocity-tracking run on the test car, using the cruise controller.The next figure shows a velocity-tracking run on the test car, using the cruise controller.
The vehicle is tracking a half-sine wave in velocity, as shown in the top-left portion ofThe vehicle is tracking a half-sine wave in velocity, as shown in the top-left portion of
the figure.the figure.
The speed limit on the Berkeley test track is 25mph. higher speed testing is doneThe speed limit on the Berkeley test track is 25mph. higher speed testing is doneregularly remote facility. Results for regularly remote facility. Results for
Figure 7. Results of velocity-tracking cruise control run, on test
track. Green quantities are actual, red are measured, blue are
filtered.
a CACC run on the Berkeley test track are presented below.a CACC run on the Berkeley test track are presented below.
Green line indicates velocity of lead car, red velocity of follower car; blue lines indicateGreen line indicates velocity of lead car, red velocity of follower car; blue lines indicate
relative velocity as obtained from the communications and radar filtering.relative velocity as obtained from the communications and radar filtering.
The vehicle speeds match well, especially when the discontinuous nature of the speedThe vehicle speeds match well, especially when the discontinuous nature of the speed
profile is taken into consideration. A constant range policy was used for this particularprofile is taken into consideration. A constant range policy was used for this particular
low-speed test and the range between the vehicles was maintained at 15 meterslow-speed test and the range between the vehicles was maintained at 15 meters
throughout the test.throughout the test.
15
8/3/2019 Embedded Sy
16/17
V. CONCLUSIONSV. CONCLUSIONS
This paper presents the use of a model-base approach to the development of real-time,This paper presents the use of a model-base approach to the development of real-time,
embedded, hybrid control software. The concepts are illustrated with a scenario involvingembedded, hybrid control software. The concepts are illustrated with a scenario involving
speed profile tracking and vehicle following applications for passenger vehicles. Thespeed profile tracking and vehicle following applications for passenger vehicles. The
model-based approach was developed in partnership between the University of Californiamodel-based approach was developed in partnership between the University of California
at Berkeley, Ford Research Labs and GM. A prototype ACC and CACC system has beenat Berkeley, Ford Research Labs and GM. A prototype ACC and CACC system has been
tested in prototype phase, both at highway speeds and in stop-and-go situations (such astested in prototype phase, both at highway speeds and in stop-and-go situations (such as
driving in congested traffic).driving in congested traffic).
Robotic technologies such as range, velocity and acceleration measurements, and theirRobotic technologies such as range, velocity and acceleration measurements, and their
processing and fusion were used as part of the system. In addition, vehicles can presentprocessing and fusion were used as part of the system. In addition, vehicles can present
very nonlinear behavior, especially at low speeds, and their control presents a formidablevery nonlinear behavior, especially at low speeds, and their control presents a formidable
challenge.challenge.
The problem domain of intelligent cruise control applications has been described inThe problem domain of intelligent cruise control applications has been described in
detail, along with control and software development methodologies. We are currentlydetail, along with control and software development methodologies. We are currently
16
Figure 8. Results of CACC cruise control run, on test track.
Green line indicates velocity of lead car, red velocity of
follower car, blue lines indicate relative velocity as obtained
from the communications and radar filtering.
8/3/2019 Embedded Sy
17/17
working on applying the same model-based approach to the development of intelligentworking on applying the same model-based approach to the development of intelligent
cruise control systems for automated transit buses.cruise control systems for automated transit buses.
Thanking youThanking you
17