In previous technical sharing sessions, sensors were usually installed outside or inside the car. However, this time we will introduce the sensor signals that are inherently equipped in cars, which are obtained from the Vehicle Control Unit (VCU).
The VCU, also known as the “driving computer”, communicates with various electronic devices such as the engine, transmission, throttle pedal, brake pedal, and body control module of the car through the CAN bus, reads the working status of each control unit, and controls them when necessary. The diagram below shows the structure.
If we compare a car to a human, then the VCU is the human brain. It records the status of the car chassis (speed, throttle pedal opening, brake pedal status, steering wheel angle, etc.), the status of the car body (door status, window status, headlight status, turn signal status, etc.), and the status of the engine (speed, output torque, fuel consumption, etc.).
As the interface between upper-level algorithms and chassis control, the VCU plays an important role not only in controlling the acceleration and steering of the car but also in accurately and timely delivering the chassis information to the algorithm layer. In the following, I will explain the types and applications of VCU signals.
Types of VCU signals
The VCU information (ChassisDetail) provided in Baidu Apollo 2.5 is as follows:
## Car Type – Type
From the figure, it can be directly seen that Apollo 2.5 can support two domestic vehicle types – Chery EQ and Changan Ruicheng.
Due to the different power systems, sizes, and functional configurations of different vehicle types, and the positions and angles where various sensors are installed may also differ, it is necessary to import different parameters into the autonomous driving system based on this Type value to ensure the accuracy of the calculation.
Basic Information – BasicInfo
Basic information includes information about the current vehicle driving status, engine status, airbag status, mileage, ACC button status, LKA button status, and GPS information.
In my personal opinion, the most important information in BasicInfo is the vehicle driving status and GPS information. The vehicle driving status is a flag indicating whether the car is in a state of autonomous driving, and since the car often needs to switch between human and autonomous driving, a flag is needed to reflect this state so that the VCU of the car can more accurately control safety-related mechanisms such as the throttle and brake. GPS information is closely related to the “positioning” issue for autonomous vehicles, and although the GPS information of the car itself may sometimes not be accurate, it cannot shake its position in the autonomous driving system.
Safety Related – Safety
The safety-related data includes whether the car doors, hood, and trunk are closed, whether the driver and passenger seat belts are fastened, whether the tire pressure of all four wheels is normal, whether the battery has power, and the driving mode of the vehicle.
It is worth mentioning the driving mode of the vehicle. The previous BasicInfo already had the vehicle driving status, which is divided into autonomous and human driving. The driving mode here has an intermediate state, namely the semi-autonomous driving mode, which means that the autonomous driving system only controls the steering wheel or only controls the accelerator and brake pedals. For example, the Adaptive Cruise Control (ACC) function is a kind of semi-autonomous driving mode. The semi-autonomous driving mode can decouple the vehicle’s lateral control (turning, lane changing) and longitudinal control (acceleration, deceleration), that is, to carry out debugging separately for one dimension, which can improve the efficiency of engineers’ debugging.
Gear Status – Gear
The gear status directly affects the vehicle’s driving. For example, when the vehicle is parked, a message needs to be sent to put the gearbox in P mode; when parking the car, you need to switch back and forth between D and R modes.
Engine Management System – EMS
EMS is used to view the current state of the engine, such as the engine speed.
Electronic Stability Program – ESP
Used to view and control the status of the vehicle’s electronic stability system.
Throttle Pedal Opening – GAS
By controlling the opening of the throttle pedal, acceleration and deceleration can be achieved. At the same time, it can also feedback whether the tester takes over the throttle pedal in the state of autonomous driving.
Electronic Parking Brake – EPBTranslated Markdown Text:
Used to view the status of the electronic parking brake. Generally used during the control of vehicle movement to check if the electronic parking brake has been released.
Brake Pedal Opening Brake
Used to check and control the opening of the brake pedal. When the vehicle is in unmanned driving mode, this signal can be used to detect whether the test driver has taken control of the brake pedal.
Braking Pressure Deceleration
Used to view the size of the current brake pressure.
Vehicle Speed VehicleSpd
In addition to the speed value, the vehicle speed signal also includes the current driving direction of the vehicle, the speed of the four tires, and the rate of change of the yaw angle.
Electric Power Steering EPS
The electric power steering signal includes the current steering wheel angle, rate of change of the steering angle, and torque applied by the driver. When the vehicle is in unmanned driving mode, the controller needs to input the steering direction and steering angle for the EPS system.
Signal Lamp Light
Describes the signals of some electronic devices on the vehicle, such as the headlights, turn signals, wiper switch, and horn switch. Tesla uses the lever (turn signal light) status to determine the driver’s intention to change lanes.
Battery Status Battery
Used to view the percentage of battery power and fuel information.
Surrounding Environment Status Surround
Some car models equipped with ADAS features (such as blind spot warning and lane departure warning) have some warning information stored in this signal. Messages from ultrasonic radars installed on the vehicle body are also stored in this signal.
The above lists most of the signals that the VCU of a car can use. The VCU signals vary from car to car, and the more luxurious the car, the more abundant the signals provided by its sensors.
Application of VCU Signals
The following are some commonly used VCU signals in unmanned driving: vehicle speed, steering wheel angle, change rate of vehicle heading angle, throttle opening, and brake pedal opening.
Different scenes have different application methods for data. Here, we mainly introduce two types of application methods: obstacle motion state calculation and navigation position calculation.
Obstacle Motion State Calculation
The speed of obstacles detected by onboard sensors (Lidar, mmWave Radar, cameras) is relative speed. Therefore, the absolute speed of obstacles needs to be determined by combining the vehicle speed. Further, based on the absolute speed, the motion state of obstacles (static, close, far away) can be determined.
Taking mmWave Radar data as an example, the blue arrow and letters represent the vehicle speed in the vehicle coordinate system, and the position of the obstacle, and the speed of the obstacle and the components of the speed in the x and y directions are represented in green.
Adding the velocity component of the obstacle in the x direction to the speed of the car v gives the absolute value of the velocity of the obstacle in the x direction, as shown by the black Va in the figure below.
Next, by judging the size and direction of Va, the current movement trend of an obstacle in actual traffic scenarios can be obtained.
Dead Reckoning
Dead reckoning (DR) refers to inferring the relative position of the car’s current location to its previous location when the location has been lost using the information from the car’s sensors.
When introducing dead reckoning, it is necessary to first understand the kinematic model of the car. The kinematic model of a car is generally the four-wheel model, but to simplify the calculation in many cases, engineers will simplify the four-wheel model into a two-wheel model, which is the bicycle model.
Using the bicycle model illustrated by CSDN blogger AdamShan, as shown in the figure below.
The steering angle of the car is δf as shown in the figure, but it does not mean that the motion angle of the car is δf.
Two rays perpendicular to the rear and front wheels respectively intersect at point O, and the two-wheeled model moves around point O. In a short time dt, O can be regarded as stationary. The line segment connecting point O and the center of mass of the car is perpendicular to the actual direction of motion v of the car. The angle between the motion direction ψ and the body direction of the car is called the yaw angle β.
Based on the previous assumptions, the approximate relationship between β and δf can be derived as follows:
Assuming the state of the car at time t is xt, yt, and at time t+1 after dt time, the state is xt+1, yt+1, then their relationship is:
Based on the above theory, it is possible to estimate the position and pose by relying on sensor information of the car itself in a short time after losing the positioning information.
Of course, VCU signals have more applications than the two mentioned above, and more applications will be introduced in subsequent sensor signal processing. Keep paying attention!
Conclusion
The above content provides a brief introduction to the signal of the car VCU. As a sensor that comes with the car, using these signals well can not only control the car well, but also interact with the outside world through the vehicle signal light.
Well, this is the end of the sharing on the signal of the car VCU.
This article is a translation by ChatGPT of a Chinese report from 42HOW. If you have any questions about it, please email bd@42how.com.