2. Quick start with RTW

This tutorial shows the use of RosTeamWorkspace (RTW) for very common use-cases that can be done without permanent changes to your environment.

Note

This tutorial assumes that RTW is already set up and sourced. If that is not the case, please follow the Setting up RosTeamWorkspace (RTW) tutorial first.

2.1. Creating a new workspace (RTW)

For more details on options and flags check use-case description.

Local, empty workspace:

rtw workspace create --ros-distro jazzy --ws-folder my_workspace

Docker workspace from .repos file:

rtw workspace create --ros-distro jazzy --docker --repos-containing-repository-url <my_git_url> --repos-branch <my_git_branch_with_repos> --ws-folder my_workspace

2.2. Create new package in an existing workspace

For more details, check use-case description.

source <path to your ROS workspace>/install/setup.bash
cd <src folder of your ROS workspace>

create-new-package <my_new_package_name> <"Some cool description of the package.">  # follow the instructions and remember to set a license

cd .. && colcon build --symlink-install  # to compile your newly created package

2.3. Create robot description package

For more details, check use-case description.

Warning

You must have a <my_cool_robot_description_package_name> package of build type ament_cmake to hold the robot description.

source <path to your ROS workspace>/install/setup.bash
cd <src folder of your ROS workspace>/<my_cool_robot_description_package_name>

setup-robot-description <my_cool_robot_name>

2.4. Create robot bringup package

For more details, check use-case description.

Warning

You must have a <my_cool_robot_bringup_package_name> package of build type ament_cmake to hold the robot bringup.

source <path to your ROS workspace>/install/setup.bash
cd <src folder of your ROS workspace>/<my_cool_robot_bringup_package_name>

setup-robot-bringup <my_cool_robot_name> <my_cool_robot_description_package_name>

2.5. Setup ros2_control control hardware

For more details, check use-case description.

Warning

You must have a <my_cool_robot_control_package_name> package of build type ament_cmake to hold the robot’s ros2_control hardware interface.

source <path to your ROS workspace>/install/setup.bash
cd <src folder of your ROS workspace>/<my_cool_robot_control_package_name>

ros2_control_setup-hardware-interface-package <my_cool_robot_hardware> [<MyCoolRobotHW>]

2.6. Setup ros2_control controller

For more details, check use-case description.

Warning

You must have a <my_cool_robot_controller_package_name> package of build type ament_cmake to hold the robot’s ros2_control controller.

source <path to your ROS workspace>/install/setup.bash
cd <src folder of your ROS workspace>/<my_cool_robot_controller_package_name>

ros2_control_setup-controller-package <my_controller_file_name>