This package contains a mutlipurpose four-wheeled skid-steer drive robot equipped with sensors such as a Depth Camera, LiDAR, GPS, and an IMU.
-
Install the Dev Containers extension for Visual Studio Code.
-
Open the repository in Visual Studio Code and select
Reopen in Container
from the Command Palette (Ctrl+Shift+P
). This will build the development container with all the necessary dependencies.
-
Clone the repository for responsible for driving the robot using arrow keys:
cd $ROS_WS/src/ git clone git@github.com:leander-dsouza/key_teleop_ros.git
-
Install all the required ROS related dependencies:
rosdep install --from-paths $ROS_WS/src --ignore-src -r -y
-
Build the packages:
colcon build --symlink-install --packages-select atreus key_teleop_ros
-
Launch the robot in RViz:
ros2 launch atreus rviz.launch.py
atreus_rviz.mp4
-
Launch the robot in Gazebo:
ros2 launch atreus gazebo.launch.py
-
Open a new terminal and run the teleoperation node:
ros2 run key_teleop_ros key_drive
Use the arrow keys to control the robot's movement.
atreus_teleoperation.mp4
-
Launch the robot in Gazebo with the SLAM Toolbox:
ros2 launch atreus slam_toolbox.launch.py
This will start the mapping process using SLAM Toolbox.
-
Open a new terminal and run the teleoperation node:
ros2 run key_teleop_ros key_drive
This will allow you to map the environment by driving the robot around.
atreus_mapping.mp4
-
In order to save the map, open a new terminal and run the following command:
ros2 run nav2_map_server map_saver_cli -f my_map
This will save the map to the current directory.
-
Launch the robot in Gazebo with the Navigation Stack:
ros2 launch atreus nav2.launch.py
-
Set the initial pose of the robot in RViz by clicking on the
2D Pose Estimate
button:nav2_initial_pose.mp4
-
Use the
2D Nav Goal
button in RViz to set a goal for the robot to navigate to:nav2_atreus.mp4