ABSTRACT
This paper introduces CAN to ROS, a model-based code generation tool used in development, testing, and deployment of a heterogeneous fleet of vehicles with robotic sensing in ROS. Code generation supports two main features: (1) self-configuration for deployment in a heterogeneous vehicle fleet, and (2) quick iteration for testing and development of reading vehicle sensors and robotic control. This tool features the ability to detect the vehicle it is in and regenerate and rebuild itself at runtime to provide the proper two-way bridge between ROS and the sensed on-board vehicle sensor network. Code generation relies on a per-model defined JSON to map a CAN database (DBC) to the desired ROS topic names and message types. The live ROS publishing of CAN messages allows for instant feedback, and the code regeneration allows for adjustments in DBC or vehicle JSON to iteratively hone in on new vehicle signals. Generated ROS nodes are written in C++ for runtime use in lightweight embedded computers. This has been tested in vehicles from three different Original Equipment Manufacturers (OEMs), and can be extended to support a wide array of vehicles. By using a unifying ROS specification, a heterogeneous set of vehicles can be unified into a fleet with abstracted model-specific details; this opens the door for developing cross-model software applications for vehicle control, connected vehicle applications, or fleet monitoring systems.
- Lucia Lo Bello and Wilfried Steiner. 2019. A perspective on IEEE time-sensitive networking for industrial communication and automation systems. Proc. IEEE 107, 6 (2019), 1094–1120.Google ScholarCross Ref
- Rahul Bhadani, Matt Bunting, Matthew Nice, Ngoc Minh Tran, Safwan Elmadani, Dan Work, and Jonathan Sprinkle. 2022. Strym: A python package for real-time can data logging, analysis and visualization to work with usb-can interface. In 2022 2nd Workshop on Data-Driven and Intelligent Cyber-Physical Systems for Smart Cities Workshop (DI-CPS). IEEE, Nashville,TN, 14–23.Google ScholarCross Ref
- Matthew Bunting, Rahul Bhadani, and Jonathan Sprinkle. 2021. Libpanda: A High Performance Library for Vehicle Data Collection. In Proceedings of the Workshop on Data-Driven and Intelligent Cyber-Physical Systems. IEEE, Nashville,TN, 32–40.Google ScholarDigital Library
- Comma.ai. 2022. OpenDBC. https://github.com/commaai/opendbc.Google Scholar
- Safwan Elmadani, Matthew Nice, Matthew Bunting, Jonathan Sprinkle, and Rahul Bhadani. 2021. From CAN to ROS: A Monitoring and Data Recording Bridge. In Proceedings of the Workshop on Data-Driven and Intelligent Cyber-Physical Systems. IEEE, Nashville,TN, 17–21.Google ScholarDigital Library
- Mirco Marchetti and Dario Stabili. 2018. READ: Reverse engineering of automotive data frames. IEEE Transactions on Information Forensics and Security 14, 4 (2018), 1083–1097.Google ScholarDigital Library
- Patrick Morley, Alex Warren, Ethan Rabb, Sean Whitsitt, Matt Bunting, and Jonathan Sprinkle. 2013. Generating a ROS/JAUS bridge for an autonomous ground vehicle. In Proceedings of the 2013 ACM workshop on Domain-specific modeling. ACM, Indianapolis,Indiana, 13–18.Google ScholarDigital Library
- Paul Ngo, Jonathan Sprinkle, and Rahul Bhadani. 2022. CANClassify: Automated Decoding and Labeling of CAN Bus Signals. Berkeley Master’s Thesis 1, 1 (2022), 1–8.Google Scholar
- Matthew Nice, Safwan Elmadani, Rahul Bhadani, Matt Bunting, Jonathan Sprinkle, and Dan Work. 2021. CAN coach: vehicular control through human cyber-physical systems. In Proceedings of the ACM/IEEE 12th International Conference on Cyber-Physical Systems. IEEE, Nashville,TN, 132–142.Google ScholarDigital Library
- Mert D Pesé, Troy Stacer, C Andrés Campos, Eric Newberry, Dongyao Chen, and Kang G Shin. 2019. LibreCAN: Automated CAN message translator. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. ACM, London, UK, 2283–2300.Google ScholarDigital Library
- M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, Jeremy Leibs, R. Wheeler, and A. Ng. 2009. ROS: an open-source Robot Operating System. In ICRA workshop on open source software. ICRA, Kobe, Japan, 5.Google Scholar
Index Terms
- Middleware for a Heterogeneous CAV Fleet
Recommendations
Analysis of a Runtime Data Sharing Architecture over LTE for a Heterogeneous CAV Fleet
CPS-IoT Week '23: Proceedings of Cyber-Physical Systems and Internet of Things Week 2023This paper describes a lightweight runtime architecture for telemetry, communication, and control of cars deployed with advanced driver assistance systems where a human is in the loop with the car, via an LTE connection. The system architecture ...
Design and Implementation of a DSRC Based Vehicular Warning and Notification System
HPCC '11: Proceedings of the 2011 IEEE International Conference on High Performance Computing and CommunicationsMany cities have established Web-based road hazard report/notification systems to improve citizen s driving safety and comfort. However, some of the systems are not very user-friendly. On the other hand, a driver sometimes does not know his/her vehicle ...
A vision-based blind spot warning system for daytime and nighttime driver assistance
This paper proposes an effective blind spot warning system (BSWS) for daytime and nighttime conditions. The proposed BSWS includes camera models of a dynamic calibration and blind spot detection (BSD) algorithms for the daytime and nighttime. Under ...
Comments