Abstract
As a typical artificial intelligence system, a safe and comfortable control system is essential for self-driving vehicles to have the same level of driving ability as human drivers. This paper proposes a novel control system for autonomous driving vehicles based on mixture modules, which aims to ensure the accuracy of path tracking while meeting the requirements of safety and ride comfort. The mixture modules consist of a lateral controller to control the steering wheel angle of the vehicle for path tracking and a longitudinal controller to adjust the speed of the vehicle. We conducted a series of experiments on our simulation platform and real self-driving vehicles to test the proposed control system and compared it with the traditional methods which are widely used. The experimental results indicate that our control system can run effectively on real vehicles. It may accurately track the intended driving path and adjust the driving speed comfortably and smoothly, which demonstrates a high level of intelligence.
This work was supported by the National Natural Science Foundation of China (NO. 61773312, 61790563).
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Generally, an autonomous driving system can be divided into three subsystems: sensing, planning and control [20, 21]. The control system needs to control the actuators such as throttle, brake and steering wheel according to the smooth and drivable path generated by the planning system. The efficiency of control will directly determine the safety and comfort of the ride [9]. With the advancement of the commercialization of self-driving technology, people have put forward higher requirements for the safety and ride comfort of self-driving vehicles [22]. However, autonomous vehicles are usually faced with complex road scenarios. The control efficiency is affected by numerous factors, including the vehicle dynamics, the change of path curvature and the road condition. Therefore, the design of control system is a key and challenging problem for self-driving technology.
Traditional control system typically consists of a lateral controller and a longitudinal controller [12, 24]. The lateral controller is used to calculate the steering wheel angle of the vehicle to achieve path tracking, and the longitudinal controller is used to control the throttle and brake pedal percentage to control the speed of vehicle [3]. Although the traditional control method can provide a well solution to the problem of tracking accuracy, it is often difficult to adjust the ride comfort. In addition, traditional methods tend to have poor control performance at a high speed. An important reason is that the vehicle models used in traditional methods ignore the influence of longitudinal speed on lateral control. While designing the control system, only by considering such kind of influence can the control system have good performance at different speeds.
Therefore, we make great efforts in tuning proper look-ahead distance and designing a vehicle model to improve traditional methods. Since the control performance is determined by the performance of modules, a better control strategy is automatically selected. In order to enable the vehicle to track the target path quickly and accurately, we propose a nonlinear lateral controller. It can fit a quintic spline curve that starts from the current pose of vehicle and converges to the trajectory to be tracked. The goal point of quintic spline curve is determined by the look-ahead distance. After generating the quintic spline curve, the required curvature towards the target point can be determined for the vehicle. Then the corresponding steering wheel angle can be calculated according to the curvature and the current speed. The quintic spline curve is updated in real time according to a certain frequency, which provides a new reference for the lateral controller.
In self-driving systems, the speed commands generated by planning system may not be smooth and continuous. If such speed commands are directly executed without processing, it will cause sharp changes to the output of longitudinal controller, which affects the ride comfort. Therefore, when designing longitudinal controller, we first determine the constraint of speed command through passenger’s feedback on the ride comfort. After the speed command is input to the longitudinal controller, the speed command will be processed according to the constraint condition, and then executed by the controller. Different control strategies are adopted for different dynamic characteristics of the throttle pedal and brake pedal, and the throttle or brake commands that meets the comfort requirement is obtained.
Compared with traditional system, our control system is easy to implement, and it can accurately track the target path while controlling the speed comfortably and smoothly. The “Pioneer” self-driving vehicle, which is equipped with the proposed control system, had participated in the 10th IVFC [23] and won the first place in the total score.
In this paper, firstly we review some relevant research on self-driving vehicle control systems, then introduce our proposed control system and describe the specific details in its implementation. Following that, the performance of control system is verified through the simulated experiments and the experiments on “Pioneer” self-driving experimental platform, indicating that our control system can work effectively on real vehicles. A comparison with the widely used traditional methods is presented as well. Finally, we summarize our contributions and future work.
2 Related Work
A great deal of explorations has been conducted in the construction of self-driving control systems. In aim of solving path tracking problems, which is a core issue of control system, there are quite a few available ways including geometric controllers [6, 8, 18], dynamic controllers [18], optimization controllers [13], model predictive controllers [25], and adaptive controllers [10]. The geometric controller is relatively simple to configure and implement while showing strong robustness in most driving scenarios, thus being widely used. One of the most classic geometric controller is based on the pure pursuit algorithm [6, 19] for calculating the steering wheel angle according to the circular arc. Many self-driving platforms, such as Autoware [14], integrate the pure pursuit algorithm or its modified versions in the control system. “Stanley Method” [20] is based on the vehicle kinematics model, considering the cross track error and orientation error. Filho et al. [15] proposed a geometric controller based on the cubic Bezier curve, however, in his work, the author did not take much into consideration the influence of tire slip, and the cubic Bezier curve only guaranteed the continuity of orientation but that of curvature, so the curve does not exactly match the actual travel trajectory of the vehicle. Amidi [2] proposed a geometry controller based on a quintic curve that reduces the discontinuous motion of the steering wheel. Dominguez [7] analyzed the performance of several geometric controllers and performed several comparative experiments.
In determining the geometric controller’s look-ahead distance, a traditional method is to set the look-ahead distance as constant or a linear or quadratic function of speed, but usually fails to make the controller maintain an optimal performance. The core issue is that there is no considering the trend of curvature change of the forward path segment, making it unable to adjust the look-ahead distance in time while driving. Moreover, the relative position and orientation of the vehicle and the desired path are not considered. Ollero [17] analyzed the effect of look-ahead distance on stability in the pure pursuit algorithm. Chen et al. [4] proposed a robust fuzzy logic-based look-ahead distance tuning strategy, which can operate by providing fewer related variables, but this method cannot guarantee the continuity of control thus bringing certain limitations in the real car applications.
In the construction of self-driving integrated control system, Xu et al. [24] proposed a design scheme for self-driving vehicle control system, which integrates multiple adaptive and robust algorithms to improve the compatibility of control system. Kang et al. [13] improves the lateral safety of vehicle by combining the steering controller with a speed controller that maintains the lateral acceleration limit.
3 Lateral and Longitudinal Controller
3.1 Lateral Controller
In our control system, we define the lateral controller as a module that calculates steering wheel angle commands for a self-driving vehicle to keep on the target path based on the path information and the current state of vehicle (see Fig. 1), where the target path is defined as a set of ordered points. Each point contains the information about position, orientation and curvature.
Vehicle Model. In our lateral controller, how to map the driving trajectory to the steering wheel angle of vehicle is a key issue. For easy implementation, the model should not be designed to be too complex. Thus, we apply the Ackermann model [16] and its simplified version, the bicycle model [1] (shown in Fig. 2). The Ackermann model is the most commonly used kinematic model in vehicle modeling, the centers of curvature circles that correspond to four wheels intersect at point O. The bicycle model is an effective way to simplify the Ackermann model, and its simplification is based on following assumptions:
-
1.
Ignore the movement of vehicle in the vertical direction.
-
2.
The front and rear tires of vehicle can be described by one tire each, and the center points of the front and rear wheels are the same respectively.
-
3.
The rear wheel cannot deflects, the control input on steering wheel is mapped to the steering of front wheel, and the proportionality of the steering wheel angle and the front wheel angle of the vehicle is fixed.
According to the bicycle model, we can get relationship between the steering wheel angle and the curvature of driving path:
where L is the wheelbase of vehicle, R is the radius of driving track, \(\gamma \) is the curvature of driving track, and \(k_{sf}\) is the steering ratio coefficient from steering wheel angle to front wheel angle.
However, the bicycle model does not take into account the effects of lateral forces of wheels at different speeds. Therefore, when driving at high speeds, the slip of tire is increased, making control performance worse than normal conditions. So we introduce a curvature compensation coefficient, thus the relationship between the obtained steering wheel angle and curvature of the traveling track is calculated as follows:
where \(k_{\gamma }\) is the curvature compensation coefficient that is determined empirically, and \(v_{c}\) is current speed of vehicle.
Tuning Look-Ahead Distance. The look-ahead maneuver simulates driving behavior of the human driver, which enables self-driving vehicle to calculate steering wheel angle commands in advance based on road information ahead, thereby improving the stability of control system. Our controller uses a single-point look-ahead model and the look-ahead point is determined by look-ahead distance l. Similar to most look-ahead-based algorithms, the look-ahead distance selection in our controller also has a large impact on control performance. In our lateral controller, the look-ahead distance is calculated as follows:
where \(v_{c}\) is the current speed of vehicle, cte is the cross track error of vehicle, and \(\gamma _{avg}\) is the average curvature of path within original look-ahead distance \(kv_{c}+l_0\). When calculating look-ahead distance, we take multiple factors into account, such as current speed of vehicle, curvature of path in the front, and current cross track error.
Quintic Spline Curve Fitting. In order to ensure the continuous movement of steering wheel when the vehicle tracks the path, we adopt a method of generating a quantic spline curve that converges from current state
\([x_{current},y_{current},\theta _{current}, \gamma _{current}]^T\) to the state of the look-ahead point
\([x_{lookahead},y_{lookahead},\theta _{lookahead}, \gamma _{lookahead}]^T\) on the target path. Compared to circular arcs and cubic Bezier curves, the curvature of quintic spline curve is always continuous, thus improving the stability of steering wheel.
In the vehicle coordinate system, the current state of vehicle is \([0,0,0,\frac{tan\delta _c}{L + k_{\gamma }v_{c}^2}]^T\), where \(\delta _c\) is the front wheel angle of vehicle calculated by \(\frac{\theta _{steering}}{k_{sf}}\). And the state of look-ahead point is \([x_l,y_l,\theta _l, \gamma _l]^T\), where \(x_l\), \(y_l\), \(\theta _l\), \(\gamma _l\) are the values of the position, orientation and curvature of the look-ahead point converted to vehicle coordinate system. According to the work [2], in solving the polynomial, we need to assume that the absolute value of \(\theta _l\) is less than \(\pi /2\), and we can describe x as a quintic polynomial about y:
According to the constraints of x(y), \(\dot{x}(y)\) and \(\ddot{x}(y)\) on current state and the state of look-ahead points, the quantic polynomial can be solved as follows [2]:
where \(a_2=-\frac{tan\delta _c}{2(L + k_{\gamma }v_{c}^2)}\), \(k_1=x_l+\frac{tan\delta _c}{2(L + k_{\gamma }v_{c}^2)}\), \(k_2=-tan\theta _l+\frac{tan\delta _c}{L + k_{\gamma }v_{c}^2}\),
\(k_3=-\gamma _lsec^3\theta _l+\frac{tan\delta _c}{L + k_{\gamma }v_{c}^2}\). The solved quintic spline curve is as shown in Fig. 3.
Calculate the Steering Wheel Angle. After getting the quantic spline curve, the ideal driving curvature of vehicle needs to be determined. The curvature corresponding to a position in front of current pose is used as the driving curvature, so that the problem caused by mechanism delay can be solved. Then according to Eq. 2, we can get the steering wheel angle command.
3.2 Longitudinal Controller
The structure of our longitudinal controller is shown in Fig. 1. In our control system, the longitudinal controller is a module to receive speed commands sent by planning system and based on real-time state of vehicle, calculate throttle pedal percentage and brake pedal percentage and send them to vehicle in order to make the speed gradually approaches the required value with high ride comfort. The work [11] pointed out that ride comfort has a strong correlation with acceleration and jerk. However, in experiments, we found that as long as the longitudinal acceleration and jerk are within a certain range, the ride comfort in most cases can be guaranteed. Therefore, we first preprocess the input raw speed command \(v_{cmd}\) to get a new speed command \(v_{comfort}\) that meets the acceleration and jerk constraints:
where
where \(a_{ul}\), \(a_{ll}\) is the upper and lower limits of acceleration, \(j_{ul}\), \(j_{ll}\) is the upper and lower limits of jerk, and the principle of selecting constraints is to take passenger’s ride comfort requirements and controller’s dynamic performance into account, in the meanwhile, to ensure safety. In practical applications, the constraints can also be flexibly switched according to driving scenarios. Since it is not allowed to simultaneously depress the throttle pedal and brake pedal, after inputting \(a_{comfort}\) as an input signal to the controller, we need to calculate \(e_{speed} = v_{comfort} - v_{c}\). If \(e_{speed}\) is greater than zero, the throttle sub-controller is used to calculate throttle pedal percentage, and the brake pedal percentage is not calculated. If \(e_{speed}\) is less than zero, the brake sub-controller is used to calculate brake pedal percentage, and the throttle pedal percentage is not calculated. The resulting throttle pedal percentage and brake pedal percentage output are as follows:
where \(K_{pt}\), \(K_{pb}\), \(T_{it}\) and \(T_{ib}\) are the parameters of PI controllers. \(a_c\) is the current acceleration of vehicle, and \(T_c\) is the current braking torque of vehicle.
4 Experiments and Results
4.1 Experimental Platform
Our real car experimental platform “Pioneer” is shown in Fig. 4(a). “Pioneer” is based on 2017 Lincoln MKZ hybrid model. It is equipped with a drive-by-wire system, communicates with an IPC through the CAN bus. Developers can use the IPC to send control commands to control the throttle pedal percentage, brake pedal percentage, steering wheel angle and gear status, while receiving the information of vehicle in real time. Our experimental platform is equipped with a high-precision integrated navigation system for accurate position estimation. The software platform is developed based on ROS (Robot Operating System). Specific parameters of our vehicle are as shown in Table 1.
Besides, we also conducted experiments in a simulation platform [5]. The simulation platform includes a simulated vehicle model and simulated roads to maximize the reality of real vehicle motion, as shown in Fig. 4(b). Similar to controlling a real vehicle, we can also control the driving of the simulated vehicle through the control system to achieve safe and efficient algorithm testing.
4.2 Path Tracking Experiment
In the path tracking experiment, we conducted a series of comparative experiments to verify the effectiveness of our proposed lateral control method. The experimental path on campus is shown in Fig. 5, suitable for testing the performance of controllers in curvature-changing scenarios. We chose two widely-used path tracking algorithms, Pure Pursuit [6] and Stanley Method [20] to compare with our methods by controlling the real car running the entire road, the cross track error and orientation error box-plot of different methods and the excerpt of steering wheel angle while crossing U-turn are shown in Figs. 6 and 7. It can be found that when using our method, the distribution of cross track error and orientation error are more concentrated. In addition, our method produces less jitter, and the actual performance of the steering wheel movement is closer to that of a human driver. On the simulation platform, we also carried out the same comparative experiments. The experimental results are shown in Figs. 8 and 9. Similar to the real vehicle experiment results, our approach has the best performance.
4.3 Speed Control Experiment
The speed control experiment on real car is carried out on a straight two-lane road, the planning system sends changing speed commands to the longitudinal controller. The experimental results in the realistic environment are as shown in Fig. 10. Although the speed command issued by the planning system is drastically changing, the longitudinal controller can guide the vehicle to smoothly reach the reference speed. In the meanwhile, there is no significant overshoot in the process of controlling the speed. Similarly, the experimental results in simulation are shown in Fig. 11.
5 Conclusion
This paper proposes a mixture modules based self-driving control system that guarantees both accuracy and ride comfort, which includes a lateral controller that controls the steering wheel angle and a longitudinal controller that controls the vehicle speed. By improving the vehicle model and look-ahead distance tuning strategy, as well as implementing a geometric controller based on quintic spline curve, smoother output and better control effect have been achieved. In this paper, the implementation details of lateral controller and longitudinal controller are introduced, and the experimental verification is carried out both in realistic environment and in simulation. The experiment results that the performance of our control system is superior. In the future work, we plan to further improve the generality and robustness of the controller to better adapt to the requirement of different vehicles and different scenarios.
References
Amer, N.H., Zamzuri, H., Hudha, K., Kadir, Z.A.: Modelling and control strategies in path tracking control for autonomous ground vehicles: a review of state of the art and challenges. J. Intell. Rob. Syst. 86(2), 225–254 (2017)
Amidi, O., Thorpe, C.E.: Integrated mobile robot control. In: Mobile Robots V, vol. 1388, pp. 504–524. International Society for Optics and Photonics (1991)
Cai, L., Rad, A.B., Chan, W.L.: An intelligent longitudinal controller for application in semiautonomous vehicles. IEEE Trans. Ind. Electron. 57(4), 1487–1497 (2010)
Chen, L., Liu, N., Shan, Y., Chen, L.: A robust look-ahead distance tuning strategy for the geometric path tracking controllers. In: 2018 IEEE Intelligent Vehicles Symposium (IV), pp. 262–267. IEEE (2018)
Chen, Y., Chen, S., Zhang, T., Zhang, S., Zheng, N.: Autonomous vehicle testing and validation platform: integrated simulation system with hardware in the loop. In: 2018 IEEE Intelligent Vehicles Symposium (IV), pp. 949–956. IEEE (2018)
Coulter, R.C.: Implementation of the pure pursuit path tracking algorithm. Carnegie-Mellon UNIV Pittsburgh PA Robotics INST, Technical report (1992)
Dominguez, S., Ali, A., Garcia, G., Martinet, P.: Comparison of lateral controllers for autonomous vehicle: experimental results. In: 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC), pp. 1418–1423. IEEE (2016)
Girbés, V., Armesto, L., Tornero, J., Solanes, J.E.: Continuous-curvature kinematic control for path following problems. In: 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 4335–4340. IEEE (2011)
Hemami, A., Mehrabi, M.: On the steering control of automated vehicles. In: Proceedings of Conference on Intelligent Transportation Systems, pp. 266–271. IEEE (1997)
Hessburg, T., Tomizuka, M.: Fuzzy logic control for lateral vehicle guidance. IEEE Control Syst. Mag. 14(4), 55–63 (1994)
Huang, Q., Wang, H.: Fundamental study of Jerk: evaluation of shift quality and ride comfort. Technical report, SAE Technical Paper (2004)
Jo, K., Kim, J., Kim, D., Jang, C., Sunwoo, M.: Development of autonomous car–part ii: a case study on the implementation of an autonomous driving system based on distributed architecture. IEEE Trans. Ind. Electron. 62(8), 5119–5132 (2015)
Kang, J., Hindiyeh, R.Y., Moon, S.W., Gerdes, J.C., Yi, K.: Design and testing of a controller for autonomous vehicle path tracking using GPS/INS sensors. IFAC Proc. Vol. 41(2), 2093–2098 (2008)
Kato, S., Takeuchi, E., Ishiguro, Y., Ninomiya, Y., Takeda, K., Hamada, T.: An open approach to autonomous vehicles. IEEE Micro 35(6), 60–68 (2015)
Massera Filho, C., Wolf, D.F., Grassi, V., Osório, F.S.: Longitudinal and lateral control for autonomous ground vehicles. In: 2014 IEEE Intelligent Vehicles Symposium Proceedings, pp. 588–593. IEEE (2014)
Mitchell, W.C., Staniforth, A., Scott, I.: Analysis of Ackermann steering geometry. Technical report, SAE Technical Paper (2006)
Ollero, A., Heredia, G.: Stability analysis of mobile robot path tracking. In: Proceedings 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems. In: Human Robot Interaction and Cooperative Robots, vol. 3, pp. 461–466. IEEE (1995)
Rossetter, E.J.: A potential field framework for active vehicle lanekeeping assistance. Ph.D. thesis, Stanford University (2003)
Snider, J.M., et al.: Automatic steering methods for autonomous automobile path tracking. Robotics Institute, Pittsburgh, PA, Technical report, CMU-RITR-09-08 (2009)
Thrun, S., et al.: Stanley: the robot that won the DARPA grand challenge. J. Field Rob. 23(9), 661–692 (2006)
Urmson, C., et al.: Autonomous driving in urban environments: Boss and the urban challenge. Journal of Field Robotics 25(8), 425–466 (2008)
Watzenig, D., Horn, M.: Automated Driving: Safer and more Efficient Future Driving. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-31895-0
Xin, J., Wang, C., Zhang, Z., Zheng, N.: China future challenge: beyond the intelligent vehicle. IEEE Intell. Transp. Syst. Soc. Newslett. 16(2), 8–10 (2014)
Xu, L., Wang, Y., Sun, H., Xin, J., Zheng, N.: Integrated longitudinal and lateral control for Kuafu-II autonomous vehicle. IEEE Trans. Intell. Transp. Syst. 17(7), 2032–2041 (2016)
Yu, R., Guo, H., Sun, Z., Chen, H.: MPC-based regional path tracking controller design for autonomous ground vehicles. In: 2015 IEEE International Conference on Systems, Man, and Cybernetics, pp. 2510–2515. IEEE (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 IFIP International Federation for Information Processing
About this paper
Cite this paper
Zhang, T., Zhang, S., Chen, Y., Xia, C., Chen, S., Zheng, N. (2019). Mixture Modules Based Intelligent Control System for Autonomous Driving. In: MacIntyre, J., Maglogiannis, I., Iliadis, L., Pimenidis, E. (eds) Artificial Intelligence Applications and Innovations. AIAI 2019. IFIP Advances in Information and Communication Technology, vol 559. Springer, Cham. https://doi.org/10.1007/978-3-030-19823-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-19823-7_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-19822-0
Online ISBN: 978-3-030-19823-7
eBook Packages: Computer ScienceComputer Science (R0)