Lateral Control of Truck Platooning with RoadRunner Scenario - MATLAB & Simulink
Video Player is loading.
Current Time 0:00
Duration 13:45
Loaded: 1.20%
Stream Type LIVE
Remaining Time 13:45
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected
    Video length is 13:45

    Lateral Control of Truck Platooning with RoadRunner Scenario

    This session expands on “Vehicle Platooning Controller with V2V Communication,” presented at the 2022 MathWorks Automotive Conference, by adding a lateral control to follow a lane center of a curved road while maintaining a predefined space between vehicles in a platoon. The lateral control has been implemented using linearized truck-trailer lateral dynamics and model predictive control. The closed-loop control system includes vehicle-to-vehicle (V2V) communication and a high-fidelity 6-DOF vehicle dynamics model of a three-axle tractor towing a three-axle trailer. Using RoadRunner Scenario enables the creation of various test scenarios and cosimulation with the Simulink model implementing the platooning control.

    Published: 26 May 2023

    Hello, everyone. Welcome to join this session at MathWorks Automotive Conference. I am Seo Park, an Application Engineer for ADAS and the automated driving from MathWorks. In this session, I will show you an example of how to implement a lateral control of truck platooning with RoadRunner Scenario. What is truck platooning?

    Well, truck platooning allows trucks to follow each other closely. As a result, we can reduce air drag and improve fuel efficiencies. Platooning helps to improve safety and can increase vehicle capacity on highway. Vehicle-to-vehicle communication allows truck platooning to form an electrically coupled two or more truck. I presented an early version of platooning controller last year at Mac. This platooning system had only longitudinal control, so it works only for a straight road.

    It has a truck-trailer kinematic model and vehicle-to-vehicle communication. I used a simple cuboid visualization. Based on this study, we released a reference example in 22b. This example shows a platooning longitudinal control with Unreal visualization, a high fidelity truck and trailer model, and vehicle-to-vehicle communication. We upgraded this example in 23a by adding lateral control and RoadRunner Scenario adoption.

    Now, we can simulate a curved road scenario. It has the longitudinal and lateral control. We implemented the lateral control via lane-keeping assist, MPC controller with regionalized truck-and-trailer dynamics. It simulate the Simulink test bench with the Road Runner Scenario. It has high fidelity truck-and-trailer model and vehicle-to-vehicle communication. We can add a truck with a trailer as a single actor group to a scenario with the RoadRunner Scenario.

    I drag a truck into the scene and attach a trailer to the parent truck. We can adjust the attachment point when I moved the truck the trailer moved together as a group. When the truck turns a corner, a trailer moves while attaching at the hitch point. This feature is very useful for simulating truck platooning.

    First, let me show you a quick demo before we deep dive into the detail. I often attach the scenario and start a co-simulation with Simulink. The truck and trailer follow the lane center of the curved road via lateral control while maintaining a predefined space between vehicles by long-distance control.

    When the lead trucks start to slow down, the follow try to match the lead speed while maintaining space between the vehicles. When the lead trucks start to speed up, the follow also speed up while maintaining the space. You can see, left-hand side shows longitudinal control performance-- right-hand side, lateral control performance. I like to explain overall workflow in three steps-- platooning test bench, scenario authoring, scenario simulation.

    Let's begin with the building of platooning test bench. The platooning test bench has several key components-- V2V receiver and transmitter, platooning controller. We need a vehicle model for the closer control, we use high fidelity truck and trailer dynamics. The truck platoon has lead and follows. The RoadRunner Scenario controls the lead car and other vehicles with the scenario logic.

    The follower trucks are controlled by Simulink co-simulation. Active behavior Simulink model exchange active runtime data with the RoadRunner Scenario during the co-simulation. This is active behavior Simulink model for the follower. We have a RoadRunner Scenario interface to read and write the active runtime value during the co-simulation with RoadRunner Scenario. It has a vehicle-to-vehicle receiver and transmitter, platooning controller, and tractor-trailer six degrees of freedom vehicle dynamics.

    Let's look into each block. First, let's look at the V2V receiver and transmitter block. The V2V transmitter contains an inside sensor and BSM encoder. BSM stands for Basic Safety Message defined by SAE J2735. The V2V receiver implements the pre-computed channel characteristic for cellular V2X. According to SAE J2735 standard, the BSM includes latitude, longitude, speed, heading angle, and so on.

    Please refer to this example or SAE spec for more details about the BSM data. The platooning controller consists of longitudinal control and lateral control. The longitudinal control generates an acceleration command to maintain a space between the vehicle and simultaneously follow the lead velocity. The controller eliminates spacing error between ego and preceding car and converge the ego speed to the lead car velocity.

    It takes a trade off between lead and preceding curves for the acceleration. The lateral control generates a student command to follow the reference plaths like a lane center of the curved road. Ideally, at the time of tk, the vehicle pose should match with the reference path. If actual vehicle pose deviates from the reference path, the path analyzes calculate the lateral and yaw angle deviation.

    The calculated deviations and previewed curvatures feed into the lane-keeping assist MPC control. As MPC is model-based optimal control, we must specify vehicle model to the MPC controller. We use linearized truck-and-trailer lateral dynamics to define the vehicle model. The vehicle model is defined by a state space matrices. We can drive the ABC matrices for the truck and trailer with this schematic diagram.

    The state vector contains lateral speed and yield rate for the truck and trailer. Please note that the forward velocity of the tractor is not included in the state vector to make the system linear. The linearized model was used for the adaptive MPC. We use high-fidelity six-degrees-of-freedom vehicle dynamics for the close-up simulation.

    It has a three-axle tractor towing a three-axle trailer from vehicle dynamic block set. Now, we have the platooning test bench. To verify the performance of the test bench, we need to test the scenario. Let's talk about the scenario authoring. I use the RoadRunner scene called "Curved Road" to create the test scenario. The control objective is truck follows a lane center of the curved road, this is lateral control, while maintaining a predefined space between vehicle in a platoon.

    This is longitudinal control. The first scenario is created in a mild curvature zone. The lead car slow down at the start of high curvatures. Then, we'll see how the followers react. The second scenario is created in a high-curvature zone. The other scenario has cut-in vehicle in a platoon. The leader car will slow down to avoid a collision. Then, we'll see how the follow react. I created an emergency braking situation to avoid a collision against a disabled car.

    When a disabled car is detected, the preceding box truck launch an evasive lane change. At this time, the leader car applies emergency braking. Then, we'll see how to followers react. This scenario looks complicated. You may wonder how to author this kind of scenario using RoadRunner scenario. Well, I use a Scenario Logic Editor. This is a graphical interface for defining a scenario logic.

    The box represent action phase. The circle indicates conditions. Here, we have a scenario logic. We select a disabled car and set speed to 0, which means stationary. And select box truck. Set initial speed to 10. And set the condition to the reference actor. The condition is if distance to the reference car is less than or equal to 35 meters, then set action.

    The action is change a lane from current lane to the left one line. And then, select lead truck, set initial speed, and set the condition to the reference actor. If distance to the reference actor is too close, then set action. Action is Change Speed to stop at a certain deceleration. Now, we also select the followers' initial speed.

    But follow is controlled by actor behavior model. The actor behavior platform is Simulink Follower1. For the Follower2, we also assigned Active Beaver Platform-- Follower2. Now, select the simulation tool. Set the camera view. And start the simulation. Now, BoxTruck detect disabled car and take lane change to the left.

    And leader car also detects the disabled and apply the emergency braking. These cars all controlled by RoadRunner Scenario logic. But the follower are controlled via Simulink co-simulation. We created test scenarios. Now, let's simulate the scenarios.

    Let us start the simulation. The followers are trying to reduce spacing to the set value. When lead car starts to slow down at high curvature zone, the followers also slow down while following very high curvature zone.

    Now, here, you can see when we leader car slows down at high curvature zone, the followers also slow down while maintaining spacing between vehicles. Right-hand side, you can see lateral controller performance-- for example, your angle deviation and lateral deviation kept very small value, which means vehicle followed curved road very well. Next, the scenario is emergency braking situation.

    White box truck detected disabled car and take evasive lane change. And leader car applied emergency braking. And follower also applied emergency braking. Here, you can see leader applied emergency braking and follower also applied emergency braking. This shows the spacing between the vehicle, even the space slightly lower than set value. But there is no collision here.

    Finally, cut in scenario-- this car bypassed the platoon. At the bypass, this car tried to cut in the platoon. Then, leader car slow down and followers also slow down while maintaining space between the vehicle. Here, you can see longitudinal and lateral control performance. Here is a summary of key takeaway from today's session.

    I demonstrated how to design a platooning test bench model consisting of platooning longitudinal and lateral control, high fidelity sixth degree freedom tractor-trailer model, vehicle-to-vehicle communication. I implemented the platooning lateral controller using lane-keeping assist MPC control and linearized truck-and-trailer lateral dynamics.

    I showed the simulation result for the Simulink test bench where the RoadRunner Scenario. Thank you for your attention.