RobinGas pipeline in Gazebo simulator, video, currently including:
- Husky robot gazebo model with sensors (including Ouster LiDAR Gazebo Plugin with GPU ray),
- Fused localization,
- Traversability estimation,
- Path planner,
- Path follower,
- Obstacle avoidance (virtual bumper).
The navigation pipeline is currently tested in simulator with Husky robot only.
-
Install ROS navigation stack and Husky related packages:
sudo apt-get install ros-$ROS_DISTRO-navigation
Install husky simulation, reference:
sudo apt-get install ros-$ROS_DISTRO-husky-* echo "export HUSKY_GAZEBO_DESCRIPTION=$(rospack find husky_gazebo)/urdf/description.gazebo.xacro" >> ~/.bashrc source ~/.bashrc
-
Configure ROS workspace. Download the package and its dependencies and build individual packages listed above.
ws=~/catkin_ws/ mkdir -p "${ws}/src" cd "${ws}/src" git clone https://github.com/ctu-vras/husky_sim wstool init wstool merge husky_sim/dependencies.rosinstall wstool up -j 4 cd "${ws}" catkin init catkin config --extend /opt/ros/$ROS_DISTRO/ catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release catkin build -c
-
Download relevant Gazebo models used in the virtual worlds and place them to
$HOME/.gazebo/models/
folder.
Start Gazebo simulator with Husky robot spawned:
roslaunch husky_sim husky_gazebo.launch
Launch navigation pipeline:
roslaunch husky_sim navigation.launch rviz:=true
Waypoints following example with laser scan SLAM (AMCL) and move_base navigation stack. Bringup simulated environment and spawn a husky robot in it.
roslaunch husky_sim husky_amcl_move_base.launch
Command a robot to visit a sequence of waypoints.
roslaunch husky_sim send_wp_sequence.launch