Skip to content
Chris Goodin edited this page Jun 30, 2022 · 8 revisions

NATURE Stack

This ROS package implements autonomy algorithms for the NATURE Stack. These algorithms are intended to be run with a simulator such as the MSU Autonomous Vehicle Simulator (MAVS).

The package has four nodes:

The autonomy takes user-defined waypoints as input and follows the path with obstacle detection and avoidance. There is an example launch file that demonstrates how to run the algorithms.

There is also a map node which publishes a map based on user defined obstacles. This can be used to "spoof" the perception system and take sensing out of the loop entirely. This is useful when a user wishes to study only path planning or control.

The robot configuration is defined in a URDF file and is primarily for visualization purposes.

Requirements

Ubuntu 16.04 with ROS-Kinetic and a functioning catkin workspace are required to build and run this code. It may work with more recent releases of Ubuntu but has not been tested.

Installation

Clone the repo into your catkin_ws/src directory with the following command.

$git clone https://github.com/CGoodin/avt_341.git

From the top level catkin_ws directory, type

$catkin_make install

To test the installation, type

$roslaunch avt_341 example.launch

Troubleshooting

The pakcage requires the ROS PointCloud Library (PCL) interface. If you get errors related to missing pcl header files, then you may need to install pcl_ros on your system.

$sudo apt-get install ros-kinetic-pcl-ros

Running with MAVS

To run an example simulation with MAVS, first install and build MAVS.

Next, clone the example MAVS simulation package.

$git clone https://github.com/CGoodin/mavs_avt_example.git

In order to build the repo, you will need to modify the CMakeLists.txt file in the mavs_avt_example to find your MAVS installation. In lines 8-9, change the following lines

SET(mavs_INCLUDE_DIR  "/home/msucavs/mavs/src/")
SET(mavs_LIB_DIR  "/home/msucavs/mavs/build/lib")

to match the path to the MAVS "src" and "lib" directories on your system. Then, from the top level catkin_ws directory, type

$catkin_make install

To use the MAVS example with the AVT-341 autonomy, uncomment lines 58-62 of "example.launch" and comment out line 52. Then, run the example as before.

$roslaunch avt_341 example.launch