ROS Navigation Stack with AgileX SCOUT-mini Gazebo Simulator
Gazebo is a robot simulator. Gazebo simulates multiple robots in a 3D environments, with extensive dynamic interaction between objects.
Gazebo Download Link : http://gazebosim.org
Download and install gazebo. You can go to the website : http://gazebosim.org/install
-
Development Environment ubuntu 20.04 + ROS Noetic desktop full
-
Build ROS packages for Scout simulator
- Create worksapce, download ROS packages
mkdir -p ~/scout_ws/src cd ~/scout_ws/src git clone --recurse-submodules https://github.com/hjinnkim/Agilex-Scout-Mini-Gazebo-Navigation.git
-
Install required ROS packages
cd Agilex-Scout-Mini-Gazebo-Navigation sh install_packages.sh
Gmapping, Navigation, Robot_localization packages will be downloaded
-
Install dependencies and build
cd ~/scout_ws rosdep install --from-paths src --ignore-src -r -y catkin_make
rosdep install command will automatically install the required dependencies for the packages in the workspace. The dependencies are listed in CMakeLists.txt file in the packages.
-
Display platform description in RVIZ
cd ~/scout_ws source devel/setup.bash roslaunch scout_description display_scout_mini.launch
This will show you default vehicle platform without additional sensors.
-
Launch gazebo simulator and teleop control
a. Launch gazebo simulator
cd ~/scout_ws source devel/setup.bash roslaunch scout_gazebo_sim scout_mini_empty_world.launch
b. Run teleop controller (move: w, a, x, d / stop: s)
//Open another terminal cd ~/scout_ws source devel/setup.bash roslaunch scout_teleop scout_teleop_key.launch
Before running any command below, source devel/setup.bash
-
Run Simulator
roslaunch scout_gazebo_sim scout_mini_playpen.launch
-
Odometry & Kalman Filter Localization
roslaunch scout_base scout_mini_base.launch
roslaunch scout_filter ekf_filter_cmd.launch
-
SLAM mapping
a. Gmapping
// Run gmapping slam roslaunch scout_slam scout_slam.launch
b. Drive & mapping
// Drive via teleop roslaunch scout_teleop scout_teleop_key.launch
c. Save map
// Save map roslaunch scout_slam gmapping_save.launch
- default map file name: map1
- map file will be saved in "scout_bringup/scout_slam/maps"
- you can change saved map file name in the launch file
- or you can set file name
roslaunch scout_slam gmapping_save.launch map_file:=(file name)
Before running any command below, source devel/setup.bash
-
Run Simulator
roslaunch scout_gazebo_sim scout_mini_playpen.launch
-
Odometry & Kalman Filter Localization
roslaunch scout_base scout_mini_base.launch
roslaunch scout_filter ekf_filter_cmd.launch
-
Navigation
// Run navigation roslaunch scout_navigation scout_navigation.launch
you can set the destination via "2D Nav Goal" button
- Please refer sensor directory