Table of Contents
This is our final project for EC545 Cyberphysical Systems at Boston University. We developed an autonomous vehicle platooning system leveraging ROS on the AgileX Limo Robots. In the current implementation, one manually controlled super-leader provides direction to a series of autonomous follower robots. Modifying the source code for the follower nodes allows for an unlimited number of additional followers to be added to the platoon. (ROS communications limitations and error propagation impose a practical limit on the number of followers that can be added to the platoon)
Run the following commands:
-
catkin_make
-
Set up ROS: run either of the 2 commands
- source /opt/ros/<ROS_distribution>/setup.bash
- C:\opt\ros<ROS_distribution>\x64\setup.bat
-
Set up project: run either of the 2 commands
- source ./devel/setup.bash
- .\devel\setup.bat
-
On central controller: X.X.X.X and Y.Y.Y.Y are both central controller's IP address
- export ROS_MASTER_URI=http://X.X.X.X:11311 (or set as environment variable)
- export ROS_IP=Y.Y.Y.Y
- roscore
-
On limo nodes: X.X.X.X is central controller's IP address, and Y.Y.Y.Y is this limo node's IP address
- Ensure node is on the same local WiFi as central controller
- export ROS_MASTER_URI=http://X.X.X.X:11311
- export ROS_IP=Y.Y.Y.Y
-
In catkin_ws/src/limo_controller/scripts/limo_node.py, change LIMO_ID to the correct id value (0 to n, where n+1 is the number of limos)
-
In catkin_ws/src/ydlidar_ros/launch/limo_lidar.launch, change the node name to "ydlidar_node_" and the id parameter to "".
- Get LiDAR data
- roslaunch ydlidar_ros limo_lidar
- In catkin_ws/src/limo_controller/scripts:
- Run python3 limo_node.py
- catkin_make
- Error: CMake Error at CMakeLists.txt: Parse error. Expected a command name, got unquoted argument.
- Soln: Remove catkin_ws/src/CMakeLists.txt
- rostopic list
- rostopic echo /[topic]
- rosout topic dumps all data logged in nodes (rospy.loginfo())
- rostopic pub <topic-name> <topic-type> [data...]
Noah Cherry - ncherry@bu.edu Julia Hua - jhua2@bu.edu