Skip to content
This repository has been archived by the owner on Jan 17, 2024. It is now read-only.

Latest commit

 

History

History
104 lines (79 loc) · 3.78 KB

README.md

File metadata and controls

104 lines (79 loc) · 3.78 KB

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contact

About The Project

product-screenshot

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)

(back to top)

Getting Started

Prerequisites

(back to top)

Usage

Run the following commands:

  1. catkin_make

  2. Set up ROS: run either of the 2 commands

    • source /opt/ros/<ROS_distribution>/setup.bash
    • C:\opt\ros<ROS_distribution>\x64\setup.bat
  3. Set up project: run either of the 2 commands

    • source ./devel/setup.bash
    • .\devel\setup.bat
  4. 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
  5. 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
  6. 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)

  7. In catkin_ws/src/ydlidar_ros/launch/limo_lidar.launch, change the node name to "ydlidar_node_" and the id parameter to "".

Run code

  1. Get LiDAR data
    • roslaunch ydlidar_ros limo_lidar
  2. In catkin_ws/src/limo_controller/scripts:
    • Run python3 limo_node.py

Potential errors and solutions

  1. catkin_make
    • Error: CMake Error at CMakeLists.txt: Parse error. Expected a command name, got unquoted argument.
    • Soln: Remove catkin_ws/src/CMakeLists.txt

Debug Tools

  1. rostopic list
  2. rostopic echo /[topic]
    • rosout topic dumps all data logged in nodes (rospy.loginfo())
  3. rostopic pub <topic-name> <topic-type> [data...]

(back to top)

Contact

Noah Cherry - ncherry@bu.edu Julia Hua - jhua2@bu.edu

(back to top)