The scuttle_navigation
ROS package provides configurations for the
dwa_local_planner, the global planner
and the different costmaps adapted to the SCUTTLE
robot.
The configurations in this repository assume you have the following prerequisites installed on the device on which you want to run this code. That device might be an Ubuntu machine or a physical SCUTTLE using Raspberry Pi OS.
- ROS Noetic with the
ros-noetic-navigation
,ros-noetic-robot
andros-noetic-tf2
packages. - A working ROS workspace.
- The scuttle_description package installed in your workspace.
- The scuttle_bringup package installed in your workspace.
The ROS navigation assumes that a map is available either via acml and a map server or via a SLAM node. If no map is available then the navigation will fail.
After installing the prerequisites you can pull this repository to the device on which you want to run the code.
cd <YOUR_ROS_WORKSPACE>/src
git clone -b noetic https://github.com/scuttlerobot/scuttle_navigation.git
Once the code is on the device you can 'build' the workspace
cd <YOUR_ROS_WORKSPACE>
catkin_make
Finally you can run the navigation stack for SCUTTLE
roslaunch scuttle_navigation scuttle_navigation.launch
There are several different configuration files for the different parts of the navigation stack. All of these configurations are referenced in the move_base.launch file.
The navigation stack uses two separate costmaps. One for the global planner and one for the local planner. Additionally there is a shared, common, configuration that has information that applies to both the global planner and the local planner.
The configuration file for the local planner contains the configuration values for the DWA local planner.
The configuration file for the global planner contains the configuration for the global planner.