Embedded Sy

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]

    [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