Integrating Inter-vehicular Communication, Vehicle Localization, and a Digital Map for Cooperative Adaptive Cruise Control with Target Detection Loss

Adaptive Cruise Control (ACC) is an Advanced Driver Assistance System (ADAS) that enables vehicle following with desired inter-vehicular distances. Cooperative Adaptive Cruise Control (CACC) is upgraded ACC that utilizes additional inter-vehicular wireless communication to share vehicle states such as acceleration to enable shorter gap following. Both ACC and CACC rely on range sensors such as radar to obtain the actual inter-vehicular distance for gap-keeping control. The range sensor may lose detection of the target, the preceding vehicle, on curvy roads or steep hills due to limited angle of view. Unfavourable weather conditions, target selection failure, or hardware issue may also result in target detection loss. During target detection loss, the vehicle following system usually falls back to Cruise Control (CC) wherein the follower vehicle maintains a constant speed. In this work, we propose an alternative way to obtain the inter-vehicular distance during target detection loss to continue vehicle following. The proposed algorithm integrates inter-vehicular communication, accurate vehicle localization, and a digital map with lane center information to approximate the inter-vehicular distance. In-lab robot following experiments demonstrated that the proposed algorithm provided desirable inter-vehicular distance approximation. Although the algorithm is intended for vehicle following application, it can also be used for other scenarios that demand vehicles' relative distance approximation. The work also showcases our in-lab development effort of robotic emulation of traffic for connected and automated vehicles.



There are no comments yet.


page 1

page 4

page 7

page 10


Towards a Realistic Simulation Framework for Vehicular Platooning Applications

Cooperative vehicle platooning applications increasingly demand realisti...

Towards Secure Infrastructure-based Cooperative Adaptive Cruise Control

Cooperative Adaptive Cruise Control (CACC) is a pivotal vehicular applic...

An Online Learning System for Wireless Charging Alignment using Surround-view Fisheye Cameras

Electric Vehicles are increasingly common, with inductive chargepads bei...

Cooperative Localization with Angular Measurements and Posterior Linearization

The application of cooperative localization in vehicular networks is att...

A GPS Pseudorange Based Cooperative Vehicular Distance Measurement Technique

Accurate vehicular localization is important for various cooperative veh...

A Controller for Network-Assisted CACC based Platooning

Platooning involves a set of vehicles moving in a cooperative fashion at...

Multi-Stream Attention Learning for Monocular Vehicle Velocity and Inter-Vehicle Distance Estimation

Vehicle velocity and inter-vehicle distance estimation are essential for...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

ACC systems are commercially available vehicle following systems that allow a vehicle to adjust its speed to maintain a desired distance or time gap between the vehicle itself and its preceding vehicle [1]. The time gap setting is a popular choice as it allows the inter-vehicular distance to increase linearly with the follower vehicle’s speed, which abides with safety concerns. An ACC system usually includes two components: one is obtaining the inter-vehicular distance via sensors and their algorithms, and the other is gap-keeping feedback control [2, 3, 4, 5]. As inter-vehicular connectivity is introduced [6], CACC systems are developed such that vehicles follow one anther in a cooperative manner [7, 8]. An exemplary CACC system builds upon ACC feedback control and adds additional feedforward control which utilizes the preceding vehicle’s acceleration received wirelessly as the feedforward input [9]. It has been demonstrated that CACC systems maintain shorter gap following compared to ACC [10, 11].

Many automotive ACC systems utilize sensors such as radar, lidar, or stereo cameras to detect the preceding vehicle and obtain the inter-vehicular distance for gap-keeping control [12]. These sensors usually have a limited angle of view (except for 360 view sensors) and may lose the target detection on curvy roads or steep hills [13, 14, 15]. The target detection loss may also occur when the target selection algorithm of the sensor fails to differentiate the preceding vehicle from nearby vehicles in adjacent lanes. With unfavorable weather conditions such as fog, the sensors may also lose the target due to low reflectance [16, 17]. In addition, hardware problems might happen which could lead to sensor failure. During these target detection loss scenarios, ACC usually falls back to CC such that the follower vehicle keeps a constant speed until the sensor detects the preceding vehicle again [18]. The ACC target detection loss is evident in the system development and experienced by users. Due to such limitations, ACC is an assistance instead of a safety system and requires drivers’ full attention at all time.

Vehicle-to-everything communication (V2X) which enables connectivity among vehicles, infrastructure, and pedestrians is a major trend of transportation revolution that will improve transportation mobility and safety. With inter-vehicular communication, vehicles can share acceleration for the CACC and share positions for blind spot warning. With vehicle-to-infrastructure communication, vehicles can perform communication-based highway merging [19], eco-routing [20], and cooperative intersection control [21]. Different countries may have different communication standards for V2X such as the Dedicated Short Range Communication (DSRC) in the US [22] and Cellular-V2X in China [23]. 5G mobile network technology which is currently under development and deployment will provide much faster and more reliable wireless communication for V2X [24].

Automated driving is another trend of transportation revolution that reduces human drivers’ driving tasks. The Society of Automotive Engineers has characterized five levels of driving automation which ranges from “No Automation” to “Full Automation”. ACC systems fall into the second level which is “Driver Assistance”. The higher the automation level, the more sophisticated the technology. One of the technological areas for highly automated driving is vehicle localization [25]. A lot of automated driving tasks such as path following control and collision avoidance would require vehicle localization. The accuracy requirement for vehicle localization is at the centimeter scale due to performance and collision avoidance concerns [26]. Accurate vehicle localization is achieved through information fusion by fusing data from different sources which may include Global Positioning System (GPS), Inertial Measurement Unit (IMU), odometry, camera, Lidar, and a high-definition (HD) digital map [27, 28, 29]. Recent studies also investigate collaborative localization which adds communicated information in the data fusion to provide desirable localization results [30].

The purpose of this work is to address the problem of vehicle following when the range sensor loses detection of the target preceding vehicle. We propose a method the can approximate the inter-vehicular distance using the essential functions of connected and automated vehicles which include inter-vehicular communication and vehicle localization. The proposed algorithm is an alternative way of obtaining inter-vehicular distances as opposed to directly using range sensors. As a proof of concept, we implement and validate the proposed algorithm on autonomous mobile robots for CACC robot following. In-lab experiments have demonstrated that the proposed algorithm provides desirable inter-robot distance approximation. We conclude that the proposed algorithm is a viable solution for vehicle following during target detection loss in real-world driving.

The rest of this paper is organized as follows: Section II introduces the CACC problem formulation and control system design. Section III details the proposed algorithm for inter-vehicular distance approximation. Section IV documents the setup of our robotic emulation of traffic for CACC robot following experiments. Section V shows the CACC robot following experiment results with the proposed inter-vehicular distance approximation algorithm. Section VI draws the conclusion of this work.

Ii CACC Problem Formulation

The problem that we are addressing is vehicle following with target detection loss. The vehicle following system can be either CACC or ACC. In this work, CACC is used since CACC has been proved in the literature to successfully enable shorter gap following as compared to ACC [10, 11]. In this section, we focus on the mathematical formulation and an exemplary control system design of CACC while also introducing the target detection loss issue.

Fig. 1 shows a schematic of CACC vehicle following with target detection loss. The longitudinal distances traveled by the preceding and following vehicles (measured from the vehicle front bumper) are denoted as and , respectively. Mathematically, the actual distance between these two vehicles is where is the body length of the preceding vehicle . This actual inter-vehicular distance is obtained by range sensors such as radar in actual implementation. The desired distance is dictated by a constant time gap setting and is computed as where is the constant time gap, is the follower vehicle’s velocity, and is a standstill safety distance. The objective of CACC vehicle following control is to minimize the gap-keeping error between the actual and desired distances, i.e., .

In Fig. 1, the symbols and are the horizontal and vertical positions of the preceding vehicle, respectively; the symbols and are the horizontal and vertical positions of the follower vehicle, respectively. These positions can be obtained through vehicle localization. These positions are cartesian coordinates that are used for the inter-vehicular distance approximation which is described in the next section.

Fig. 1: Schematic for CACC vehicle following with target detection loss.

Fig. 2 shows the block diagram of an exemplary CACC system [9]. This CACC system consists of two portions: one is the traditional ACC feedback control that minimizes the error between the actual and desired distances; the other is the feedforward control that utilizes the acceleration of the preceding vehicle received through wireless communication. The feedforward control portion has a feedforward filter that filters the acceleration of the preceding vehicle. To derive the analytical expression of the feedforward filter , the Laplace Transform of the error is obtained and set to zero to obtain . For the detailed derivation, readers can refer to [9] or our previous work [31]. The feedforward input is supposed to be the instantaneous actual acceleration of the preceding vehicle. However, the actual acceleration that can be obtained through either IMU or wheel encoders can be noisy. Thus, we use the target acceleration of the preceding vehicle as the feedforward input.

Fig. 2: Block diagram of the CACC system.

The feedback control portion of the CACC system has a feedback controller that minimizes the gap-keeping error. The feedback controller that we use is a Proportional-Derivative (PD) controller [7]. It has been demonstrated in [9] that such CACC system design can realize vehicle following with string stability at a small time gap = 0.6 seconds.

Iii Inter-vehicular Distance Approximation

This section illustrates the inter-vehicular distance approximation algorithm which is the core of this work. The algorithm requires accurate vehicle localization to obtain vehicle positions, inter-vehicular wireless communication to share those positions, and a digital map with lane center points. Fig. 3 shows the method of the inter-vehicular distance approximation. The main idea of this method is to obtain the inter-vehicular distance based on vehicles’ projected positions on a quadratic curve that fits the lane center points.

Fig. 3: Schematic for the inter-vehicular distance approximation algorithm.

Firstly, each vehicle needs accurate localization method to obtain global positions. As stated earlier in the Introduction, current localization methods provide vehicle positioning information with centimeter-level accuracy. The localization results may be GPS-type positions with latitude, longitude and height values based on the earth geodetic coordinate. The GPS-type positions for all vehicles need to be transformed into cartesian coordinates with the same coordinate origin to be used in the inter-vehicular distance approximation algorithm. The approximation algorithm neglects the height information and assumes two-dimensional flat road surface. With actual height changes of the road, the actual inter-vehicular distances are larger than the approximated values. This makes vehicle following safer since the vehicles actually keep larger gaps between them.

In Fig. 3, the triangles represent the localized positions given by the localization results, and the squares represent the vehicles’ true positions which are the positions of the GPS receivers on the vehicles. Via inter-vehicular wireless communication, the follower vehicle receives the localized position of its preceding vehicle (, ). Together with the localized position of itself (, ) and the digital map with lane center points, the follower vehicle obtains the approximated inter-vehicular distance using the following procedure.

Firstly, on the cartesian coordinate system, a bounding box is used to select a rectangular region that covers the localized positions of both vehicles. The bounding box is selected such that the smallest distances from the localized positions to the sides of the bounding box (shown by the dashed lines in Fig. 3) are all the same. The bounding box covers a segment of the road with a number of lane center points. The lane center points covered by the bounding box are fitted with a quadratic curve function. The localized positions may not be exactly on the fitted quadratic curve of lane center points due to localization errors or that the vehicles may not follow the lane center exactly. Thus, the localized positions are projected on the quadratic curve. A projection point is obtained as the intersection between the quadratic curve and the straight line that passes through the localized position and is perpendicular to the two lane center points closest to the localized position. Two projection points are obtained for the localized positions of the two vehicles.

The approximated inter-vehicular distance is defined as the arc length between the two projection points on the quadratic curve, see the thicker black curve that overlaps some lane center points in Fig. 3. Assuming the quadratic curve function as


where , , and are the coefficients that can be obtained through fitting the lane center points in the bounding box. The arc length between the two projection points, (, ) for the preceding vehicle and (, ) for the follower vehicle, on the quadratic curve can be computed as


In the event that the lane center points are perfectly on a straight line, the coefficient of the quadratic function becomes zero. The quadratic function actually turns into a line function. However, the above methodology to obtain the approximated inter-vehicular distance still works by setting .

Iv Robotic Emulation of Traffic

We created the robotic emulation of traffic using mobile robots to evaluate the inter-vehicular approximation algorithm with robot following experiments. The robotic emulation of traffic is both computationally and financially affordable as compared to real-world connected and automated vehicles and allows us to proof-test algorithms in a faster manner. In the following, we introduce the mobile robot testbed preparation which include the robot hardware and software, system identification of robot longitudinal dynamics, robot wireless communication, robot lane keeping, in-lab emulated city and emulated GPS, and robot self-localization.

Iv-a Robot Hardware and Software

The mobile robots are differential-drive skid-steering robots, Wifibot Lab V4, developed by Nexter Robotics, see the robots in Fig. 4. Each robot has a mini-computer with Intel Core I5 CPU. The CPU operates a Linux System Ubuntu 14.04. Qt is installed on the Linux System as the C++ IDE. All the robot system capabilities are programmed in C++ for real-time application. The mini-computer connects to a forward-facing camera for lane detection, hosts a wifi card for inter-robot wireless communication, and interfaces with a low-level micro-controller through RS232 serial communication. The mini-computer executes high-level algorithm processing and sends velocity commands to the low-level micro-controller for motor motion control. The low-level micro-controller also obtains wheel encoder reading as robot velocity and Infrared (IR) sensor reading as inter-vehicular distance. Note that we use the IR sensor to emulate radar because the IR sensor is much more affordable and can provide desirable inter-vehicular distance measurements for the robot experiment purpose.

Fig. 4: Two robots used for CACC robot following experiments.

Iv-B Robot Longitudinal Dynamics

The CACC system requires the transfer function of the mobile robot longitudinal dynamics . Therefore, we send step inputs of desired velocity to the robot and obtain the actual velocity output using the wheel encoder, see Fig. 5. Note that the robot takes in only velocity commands for motor control. We consider the transfer function from the desired velocity input to actual velocity ouput as a first-order system with as the Laplace Transform variable, as the time constant of the first order system, and as the time delay. Using MATLAB System Identification toolbox, we obtained = 0.0661 seconds and = 0.04 seconds for the experimental response data in Fig. 5. We then use Simulink to obtain the simulated response of the obtained first-order system to the same desired step input. In Fig. 5, the simulated response matches the actual velocity output fairly well.

Fig. 5: System Identification to obtain the transfer function of robot longitudinal dynamics.

As the robot longitudinal dynamics transfer function in the CACC system requires the desired input as acceleration and output as traversed distance, we obtain as


Iv-C Wireless Communication

The robots utilize wifi for inter-robot wireless communication. The mini-computer on each robot has a 802.11a/b/g Qualcomm Atheros AR93xx WLAN interface card and an antenna, see Fig. 4. The wireless communication is realized through User Datagram Protocol (UDP) programmed in C++. The communication is decentralized ad hoc network with direct robot-to-robot communication. The communication spectrum is in the 5.9GHz frequency band with sending and receiving rate fixed at 20Hz. In-lab communication tests showed very little (less than 5%) packet loss.

In the CACC robot experiments, each robot has a unique IP address and pre-stores its predecessor and follower’s IP addresses. In this manner, a preceding robot sends its information exclusively to its follower robot using the follower robot’s IP address. We acknowledge that this approach may not be feasible in real-world driving. However, it’s possible to have a relative positioning algorithm to identify surrounding vehicles as long as they are engaged in the current vehicle following activity. This needs to be further investigated and implemented in future work.

Iv-D Lane Keeping

Lane keeping capability was developed for the mobile robots to run on in-lab artificial lanes autonomously. As the lane keeping method is documented in our previous work in details [32]

, we provide a description of the method here. The lane keeping includes lane detection using computer vision and lane following using pure pursuit path following control. For lane detection, a forward-facing camera is used to obtain images of lane markers in front of the robot. The computer vision algorithm includes undistorting each image through camera calibration, extracting lane markers via edge detection, obtaining a top view of the lane markers through inverse perspective mapping, and removing outliers (erroneous lane markers) by checking lane width and lane slope. The middle point of the detected left and right lane marker points for each row within a defined region of interest is obtained to form the center of lane. The computer vision algorithm is programmed in C++ with OpenCV libraries.

Pure pursuit control is used for a mobile robot to follow the obtained center of lane. The pure pursuit control algorithm utilizes a constant look-ahead horizontal line to intersect the center of lane to obtain a look-ahead point. An instantaneous turning circle that connects the look-ahead point and the vehicle centroid, and whose circle center is on the line that is perpendicular to the robot body length direction can then be constructed. The radius of the instantaneous turning circle is the desired instantaneous turning radius for the robot. Given a target longitudinal velocity provided by the CACC control system, the left and right wheel velocities of the robot can be computed using robot kinematics to achieve the desired instantaneous turning radius. For the mathematical details, readers can refer to our previous work [32]. Note that the pure pursuit control does not guarantee that the robot stays exactly on the center of lane since there is no lane deviation feedback control.

Iv-E In-lab Track & Emulated GPS

We built an in-lab emulated city with artificial lanes to emulate road infrastructure. Fig. 7 in the CACC Experiments and Results section shows a top view of the in-lab emulated city from an overhead camera. The emulated city has an intersection in the middle and surrounding lane tracks on the outside. The robot following experiments were conducted on the very outside closed-loop track with solid lane markers. On the top-view image, we manually obtained lane center points for the outside track to create the digital map needed for the inter-vehicular distance approximation algorithm. The average distance between two lane center points is around 15 centimeters on the robot track.

A vision-based emulated GPS is developed using the overhead camera to provide robot positions in the emulated city. The main idea of the emulated GPS is to automatically identify and localize a LED light placed on top of each robot, see Fig. 4. The corresponding computer vision algorithm includes undistorting the raw image obtained from the overhead camera, setting a brightness threshold on the raw image to obtain a black-and-white image whose white pixels represent the bright LED light, and obtaining the robot horizontal and vertical positions as the average of all the white pixels’ horizontal and vertical locations on the image, respectively. The obtained horizontal and vertical positions are cartesian coordinates with the bottom left corner of the undistorted image as the coordinate origin. The positions are originally in the unit of pixels but are converted to values in meters by comparing the same object length in pixels on the image and in meters of ground truth.

The emulated GPS is run on an independent laptop with a Linux system for real-time image processing since the overhead camera image size is large (5Mb). The independent laptop also has wifi which allows the position values to be sent to the corresponding robots instantaneously using the UDP introduced in the Wireless Communication session. The emulated GPS provides positions at 2Hz since the overhead camera frame rate is 2 frames per second. The emulated GPS also outputs heading angle value which is computed as the angle from a horizontal line to the line that connects two neighboring positions of the same robot obtained from two neighboring image frames.

Iv-F Localization

The localization provides localized positions of the robots to be used in the inter-vehicular distance approximation algorithm. The emulated GPS provides positions only at 2Hz, which is not sufficient for continuous operation of the approximation algorithm. Thus, we fuse the emulated GPS and IMU data using an extended Kalman filter to provide positioning information at the IMU frequency which is

= 100Hz. We achknowledge that the state-of-the-art localization methods for self-driving cars fuse information from more sources such as lidar, camera, odometry, and/or a HD map to provide highly accurate positioning information. However, in our indoor lab setting, fusing just the emulated GPS and IMU data provides desirable accuracy for the approximation algorithm.

In the following, the extended Kalman filter method to fuse the emulated GPS and IMU data is explained. The state equations for the vehicle motion update are


where , , and are the horizontal position, vertical position, and heading angle of the robot, respectively, see Fig. 6. These three variables are also called state variables. The is the longitudinal velocity magnitude of the robot obtained through wheel encoders. The is the yaw rate (angular velocity) obtained through the IMU. The is the updating time step which is determined by the IMU frequency = 0.01 seconds.

Fig. 6: Robot motion update from time step to .

The measurement variables for the correction step in Kalman filtering are the same as the state variables and are provided by the emulated GPS. Using state space representation, we rewrite the state and measurement update equations in vector form as


where is the vector of the state variables; is the vector of the inputs which include the longitudinal velocity obtained from wheel encoders and the yaw rate obtained from the IMU; is the vector of the measurement variables. The matrix is

The is the process noise covariance matrix that results from the inaccuracy of the state equations. In the state equations, the vehicle longitudinal velocity instead of the actual velocity is used which results in the inaccuracy. In other words, the actual velocity should have been used in the state equations to describe the correct vehicle motion update. The actual velocity consists of both longitudinal and lateral velocity components where the lateral velocity contributes to the vehicle turning behavior. As wheel encoder sensors measure just the longitudinal velocity, we use the longitudinal velocity in the state equations. Due to the inaccuracy, we define the constant as

The is the measurement noise covariance matrix that results from the inaccuracy of the measurements. As our vision-based algorithm delivers highly accurate emulated GPS positions, we consider zero error for the position measurements. Thus, we define the constant as

To use the extended Kalman filter, the state transition matrix is obtained as the Jacobian of the non-linear state equations.

The following shows the extended Kalman filter update steps. First, a prior error covariance estimate of the next time step

is computed as


where is the posterior error covariance estimate for the current time step ; its initial value is defined as

The Kalman filter gain is calculated as


The posterior state estimate can then be computed as


These are the state variable outputs among which the robot horizontal and vertical positions are used in the inter-vehicular distance approximation algorithm.

Last, the posterior error covariance estimate is updated as


where I is a 3 by 3 identity matrix.

Note that the above extended Kalman filter update steps are only used when new emulated GPS measurements are available. When new emulated GPS measurements are not available, the state variable outputs are computed using just the robot motion update state equations . Thus, the robot positions for the time periods between the arrivals of two emulated GPS positions rely on the IMU data. The matrix calculation for the Kalman filtering was realized with Armadillo: a template-based C++ library for linear algebra [33, 34].

V CACC Experiments and Results

With the mobile robot testbed, we conducted two sets of robot following experiments to evaluate the proposed inter-vehicular distance approximation algorithm. For the first set of experiment, the inter-robot distance was provided solely by the proposed approximation algorithm. In other words, no range sensor (IR sensor) was used in the first set of experiment. For the second set of experiment, the range sensor (IR sensor) was used together with the proposed approximation algorithm to provide the inter-robot distance. In the second set of experiment, the IR sensor provided the inter-robot distance whenever possible and the proposed approximation algorithm was used only when the IR sensor was not able to provide the inter-robot distance around the curve. The second set of experiment is based on a switching mechanism that allows a vehicle to switch from using the range sensor to using the proposed approximation algorithm to obtain the inter-vehicular distance. The switching mechanism design can be potentially applied on the current commercial ACC systems so that it allows a vehicle to continue to follow during target detection loss. In the following, the two sets of robot experiments are explained and the corresponding results are shown.

V-a CACC without range sensor

Fig. 7: Localization results for CACC using solely the proposed approximation algorithm (without using the IR sensor). LABEL: leader and LABEL: follower robot localization results.
Fig. 8: Robot following experiment results for CACC using solely the proposed approximation algorithm (without using the IR sensor). LABEL: velocity, LABEL: inter-vehicular distance, and LABEL: time gap. The two dashed curves at the bottom in each plot show the horizontal positions of the two robots.

In the first set of robot following experiment, a follower robot obtained the inter-robot distance using solely the proposed inter-vehicular distance approximation algorithm during the entire experiment and the IR sensor was not used at all. Two robots were used with one being the leader robot and the other being the follower robot. The leader robot’s velocity profile was pre-defined and pre-programmed such that it traversed a complete circle of the outside track of the emulated city. We considered various speeds in one run to investigate the impact of speeds on the accuracy of the inter-vehicular distance approximation, see Fig. 8. A video of the robot following experiment can be seen on the website of the Autonomous Systems and Intelligent Machines Lab in the Mechanical Engineering Department at Virginia Tech.

Fig. 7 shows the localization results for both robots using the robot localization method introduced previously. Comparing the emulated GPS positions and the lane center points of the digital map, we conclude that the lane keeping method desirably restricted the robot to follow the center of lane. However, The robots were not exactly on the center of lane, especially around the curve where the robots seemed to slightly “over-steer” and stayed inside the circle of the center of lane. This could lead to a slight increase of the follower robot’s velocity when the leader robot was at the curve and a slight decrease of the follower robot’s velocity when the follower robot was at the curve, since the “over-steering” created shorter driving path compared to the lane center path. These can be validated in the velocity plots of Fig. 8 and Fig. 10.

In Fig. 7, the distance between two emulated GPS positions increases as the robot speed increases. This should also be true to the localized positions obtained from localization. The localization method provides robot positions at a much higher frequency 100Hz compared to the emulated GPS frequency 2Hz. In the plots, the localization results are plotted using curves instead of discreet points due to visualization concerns. Since the latest localized positions are used to estimate the distance in the algorithm, a higher frequency for localization update is essential for smooth distance approximation. For the robot speeds considered, the present localization update frequency 100Hz is sufficient to obtain smooth inter-vehicular distance, see Fig. 8.

In Fig. 8, the actual time gap values are very close to the desired time gap

= 0.8 seconds despite the fluctuations mainly caused by the data measurement errors. The actual time gap values have an average of 0.8000 seconds and a standard deviation of 0.0264 seconds. This indicates that the CACC system leads to satisfying robot gap-keeping control.

V-B CACC with switching mechanism

In the second set of robot following experiment, the follower robot used the range sensor (IR sensor) as the priority option and switched to using the proposed approximation algorithm to obtain the inter-robot distance only when the IR sensor was not able to provide the distance values. Fig. 9 shows the flow chart for the switching mechanism. Note that the proposed approximation algorithm computes the inter-vehicular distance all the time in the background, while the computed distances are only used then range sensor is not able to provide the inter-vehicular distance.

Fig. 9: Flow chart for the switching mechanism to obtain inter-vehicular distance for CACC.

For the current automobile ACC systems, the sensors may lose detection of the preceding vehicle due to various reasons at various occasions. For our robot experiment, the occasion of driving around the curve is considered. Since the IR sensor on the robot provides just a scalar representing the distance, we define the switching condition as that the IR sensor returns erroneous distance values. Since the leader robot maintained a constant speed = 0.5m/s in this experiment (Fig. 10), the IR sensor distance became erroneous when it was significantly larger or smaller than the constant desired distance = 0.8*0.5 + 0.2 = 0.6m. In fact, we defined the erroneous values as and meters. In other words, the follower robot used the IR sensor to obtain the inter-robot distance when and used the proposed approximation algorithm otherwise. Note that the switching conditions for real cars are different since the existing automobile ACC systems self-determine target detection loss at various occasions. The goal of our robot experiment is to just introduce the switching method.

Fig. 10 shows the velocity results of both robots during the experiment. The follower robot experienced velocity fluctuations due to the “over-steering” around the curve explained previously. Fig. 10 shows the inter-robot distance. By observing the robot horizontal positions, we see that the follower robot utilized the IR sensor to obtain the inter-robot distance when both robots were on straight paths and utilized the proposed approximation algorithm otherwise (around the curve). When the IR sensor distance was used, the proposed approximation algorithm also computed the approximated distance in the background although it was not used. By comparing the IR sensor distance and the unused approximated distance, we conclude that the proposed approximation algorithm provided close approximation to the IR sensor distance. Fig. 10 shows that the actual time gap values of the robot following. The actual time gap values are also close to the desired time gap = 0.8 seconds with an average of 0.8005 seconds and a standard deviation of 0.0359 seconds.

Fig. 10: Robot following experiment results for CACC with switching between using the IR sensor and using the proposed algorithm to obtain the inter-robot distance. LABEL: velocity, LABEL: inter-robot distance, and LABEL: time gap. The two dashed curves at the bottom in each plot show the horizontal positions of the two robots. The grey color vertical lines denotes the times when the switching happened.

Vi Conclusion

In conclusion, we proposed an inter-vehicular distance approximation algorithm for vehicle following with target detection loss. The algorithm integrates inter-vehicular wireless communication, accurate vehicle localization, and a digital map with lane center information. More specifically, a follower vehicle receives the position of its preceding vehicle via wireless communication and utilizes its own position and road geometry from the map to mathematically compute the inter-vehicular distance. We have demonstrated through robot experiments that the proposed algorithm could be a complete replacement of range sensors for long-period vehicle following. We also designed the switching mechanism such that an ACC or CACC system can switch from using a range sensor to using the proposed algorithm to obtain the inter-vehicular distance for short-term target detection loss.

Through the robot following experiments, we discovered some factors that contribute to accurate and smooth inter-vehicular distance approximation using the proposed algorithm. A high vehicle localization update rate and a high wireless communication frequency are essential in the approximation since a follower vehicle requires instantaneous positions of both itself and its preceding vehicle to obtain the instantaneous inter-vehicular distance. The accuracy of the vehicle positions produced by the vehicle localization methods and the correctness of lane center locations of the digital map also directly impacts the approximation accuracy.

In the event of low localization update rates and communication frequencies or communication packet loss, an interpolation or prediction method may be needed to generate vehicle positions with high update rates. Future works also include implementing the proposed inter-vehicular approximation algorithm on real cars and conduct high-speed testing.


The authors would like to thank Chaoxian Wu for providing the C++ code for the UDP wireless communication and Christopher Kappes for helping with the system identification to obtain the robot longitudinal dynamics.


  • [1] A. Eskandarian, Handbook of intelligent vehicles.   Springer London, 2012.
  • [2] C.-Y. Liang and H. Peng, “Optimal adaptive cruise control with guaranteed string stability,” Vehicle system dynamics, vol. 32, no. 4-5, pp. 313–330, 1999.
  • [3] J. E. Naranjo, C. González, J. Reviejo, R. García, and T. De Pedro, “Adaptive fuzzy control for inter-vehicle gap keeping,” IEEE Transactions on Intelligent Transportation Systems, vol. 4, no. 3, pp. 132–142, 2003.
  • [4] L. Luo, H. Liu, P. Li, and H. Wang, “Model predictive control for adaptive cruise control with multi-objectives: comfort, fuel-economy, safety and car-following,” Journal of Zhejiang University SCIENCE A, vol. 11, no. 3, pp. 191–201, 2010.
  • [5] B. Ganji, A. Z. Kouzani, S. Y. Khoo, and M. Shams-Zahraei, “Adaptive cruise control of a HEV using sliding mode control,” Expert Systems with Applications, vol. 41, no. 2, pp. 607–615, 2014.
  • [6] J. J. Blum, A. Eskandarian, and L. J. Hoffman, “Challenges of intervehicle ad hoc networks,” IEEE transactions on intelligent transportation systems, vol. 5, no. 4, pp. 347–351, 2004.
  • [7] K. C. Dey, L. Yan, X. Wang, Y. Wang, H. Shen, M. Chowdhury, L. Yu, C. Qiu, and V. Soundararaj, “A review of communication, driver characteristics, and controls aspects of cooperative adaptive cruise control (CACC),” IEEE Transactions on Intelligent Transportation Systems, vol. 17, no. 2, pp. 491–509, 2016.
  • [8] Y. Zheng, S. E. Li, J. Wang, D. Cao, and K. Li, “Stability and scalability of homogeneous vehicular platoon: Study on the influence of information flow topologies,” IEEE Transactions on Intelligent Transportation Systems, vol. 17, no. 1, pp. 14–26, 2016.
  • [9] G. J. Naus, R. P. Vugts, J. Ploeg, M. J. van de Molengraft, and M. Steinbuch, “String-stable CACC design and experimental validation: A frequency-domain approach,” IEEE Transactions on Vehicular Technology, vol. 59, no. 9, pp. 4268–4279, 2010.
  • [10] V. Milanés, S. E. Shladover, J. Spring, C. Nowakowski, H. Kawazoe, and M. Nakamura, “Cooperative adaptive cruise control in real traffic situations,” IEEE Transactions on Intelligent Transportation Systems, vol. 15, no. 1, pp. 296–305, 2014.
  • [11] Y. Lin and A. Eskandarian, “Experimental evaluation of cooperative adaptive cruise control with autonomous mobile robots,” in 2017 IEEE Conference on Control Technology and Applications (CCTA).   IEEE, 2017, pp. 281–286.
  • [12] G. R. Widmann, M. K. Daniels, L. Hamilton, L. Humm, B. Riley, J. K. Schiffmann, D. E. Schnelker, and W. H. Wishon, “Comparison of lidar-based and radar-based adaptive cruise control systems,” SAE Technical Paper, Tech. Rep., 2000.
  • [13] F. Ahmed-Zaid, G. H. Engelman, and P. R. Haney, “Object detection in adaptive cruise control,” Nov. 22 2005, US Patent 6,968,266.
  • [14] H. Sudou and T. Hashizume, “Adaptive cruise control system,” Jan. 10 2006, US Patent 6,985,805.
  • [15] G. H. Engelman, M. J. Richardson, P. A. Barber, and P. J. King, “Adaptive vehicle cruise control system and methodology,” May 15 2001, US Patent 6,233,515.
  • [16] P. M. Austin, “Relation between measured radar reflectivity and surface rainfall,” Monthly Weather Review, vol. 115, no. 5, pp. 1053–1070, 1987.
  • [17] J. DiFranco and B. Rubin, Radar detection.   The Institution of Engineering and Technology, 2004.
  • [18] H. Winner, S. Hakuli, F. Lotz, and C. Singer, Handbook of Driver Assistance Systems: Basic Information, Components and Systems for Active Safety and Comfort.   Springer Publishing Company, Incorporated, 2015.
  • [19] J. Rios-Torres and A. A. Malikopoulos, “Automated and cooperative vehicle merging at highway on-ramps,” IEEE Transactions on Intelligent Transportation Systems, vol. 18, no. 4, pp. 780–789, 2017.
  • [20] A. Elbery, H. Rakha, M. Elnainay, W. Drira, and F. Filali, “Eco-routing using v2i communication: System evaluation,” in 2015 IEEE 18th International Conference on Intelligent Transportation Systems (ITSC).   IEEE, 2015, pp. 71–76.
  • [21] J. Lee and B. Park, “Development and evaluation of a cooperative vehicle intersection control algorithm under the connected vehicles environment,” IEEE Transactions on Intelligent Transportation Systems, vol. 13, no. 1, pp. 81–90, 2012.
  • [22] J. B. Kenney, “Dedicated short-range communications (dsrc) standards in the united states,” Proceedings of the IEEE, vol. 99, no. 7, pp. 1162–1182, 2011.
  • [23] S. Chen, J. Hu, Y. Shi, Y. Peng, J. Fang, R. Zhao, and L. Zhao, “Vehicle-to-everything (v2x) services supported by lte-based systems and 5g,” IEEE Communications Standards Magazine, vol. 1, no. 2, pp. 70–76, 2017.
  • [24] J. G. Andrews, S. Buzzi, W. Choi, S. V. Hanly, A. Lozano, A. C. Soong, and J. C. Zhang, “What will 5g be?” IEEE Journal on selected areas in communications, vol. 32, no. 6, pp. 1065–1082, 2014.
  • [25] G. Bresson, Z. Alsayed, L. Yu, and S. Glaser, “Simultaneous localization and mapping: A survey of current trends in autonomous driving,” IEEE Transactions on Intelligent Vehicles, vol. 20, pp. 1–1, 2017.
  • [26] R. P. D. Vivacqua, M. Bertozzi, P. Cerri, F. N. Martins, and R. F. Vassallo, “Self-localization based on visual lane marking maps: An accurate low-cost approach for autonomous driving,” IEEE Transactions on Intelligent Transportation Systems, vol. 19, no. 2, pp. 582–597, 2018.
  • [27] J. Levinson, M. Montemerlo, and S. Thrun, “Map-based precision vehicle localization in urban environments.” in Robotics: Science and Systems, vol. 4.   Citeseer, 2007, p. 1.
  • [28] J. Levinson and S. Thrun, “Robust vehicle localization in urban environments using probabilistic maps,” in 2010 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2010, pp. 4372–4378.
  • [29] Y. Gu, L.-T. Hsu, and S. Kamijo, “Gnss/onboard inertial sensor integration with the aid of 3-d building map for lane-level vehicle self-localization in urban canyon,” IEEE Transactions on Vehicular Technology, vol. 65, no. 6, pp. 4274–4287, 2016.
  • [30] M. Shen, J. Sun, and D. Zhao, “Optimization of vehicle connections in v2v-based cooperative localization,” in Intelligent Transportation Systems (ITSC), 2017 IEEE 20th International Conference on.   IEEE, 2017, pp. 1–7.
  • [31] Y. Lin and A. Eskandarian, “Experimental evaluation of different controllers for cooperative adaptive cruise control,” in 2017 ASME Dynamic Systems and Control Conference.   ASME, 2017, pp. V001T44A006–V001T44A006.
  • [32] Y. Lin, C. Wu, and A. Eskandarian, “Integrating odometry and inter-vehicular communication for adaptive cruise control with target detection loss,” in 2018 IEEE Intelligent Vehicles Symposium (IV).
  • [33] C. Sanderson and R. Curtin, “Armadillo: a template-based C++ library for linear algebra,” Journal of Open Source Software, 2016.
  • [34] ——, “A user-friendly hybrid sparse matrix class in C++,” arXiv preprint arXiv:1805.03380, 2018.