Advanced Launch Configurations

Beyond the Quick Start and Configuring MoveIt Pro guides, there are many advanced ways to install and run MoveIt Pro, discussed here.

Run MoveIt Pro Processes in Separate Terminals

MoveIt Pro consists of multiple applications, all of which run on separate Docker containers.

  • drivers: (Optional) The application for connecting to arm hardware drivers, if managed by MoveIt Pro.
  • agent_bridge: Contains core processes for loading and running Objectives, as well as the application layer to connect to the front end, known as the bridge.
  • rest_api: Application layer to provide configuration and storage access to the front end.
  • frontend_agent: Application layer to provide packet transport between the backend and the user interface.
  • web_ui: The frontend application run in the browser.

In the provided docker-compose.yaml, each application can be run separately by running the following commands in 5 different terminals:

  • docker compose up rest_api
  • docker compose up agent_bridge
  • docker compose up frontend_agent
  • docker compose up web_ui
  • docker compose up drivers

Depending on your specific setup, you can launch these applications on different machines. For an example, refer to the Use MoveIt Pro With Hardware section.

Build and Test Your Workspace

If you mounted a user workspace from your host into MoveIt Pro, the packages in that workspace will be mounted to the ${HOME}/user_ws folder inside the relevant containers. This gives you access to a few more useful Docker services:

  • workspace_builder: Rebuilds your user workspace by calling colcon build. This is useful when you are modifying source code and need to confirm that the changes compile correctly.
  • workspace_test: Runs tests for your user workspace by calling colcon test. This is useful to ensure that source code changes have not caused any existing tests to fail.

These services are runnable using the commands ./moveit_pro build and ./moveit_pro test, respectively.

Introspecting in MoveIt Pro

The web app displays key information (such as Objective successes or failures). However, during your development you may need to analyze results in more detail.

Changing Logging Levels

You can edit your docker-compose.yaml file to change the ROS 2 logging severity. For example, you can change the logging level of the agent_bridge service from its default value of warn to info by adding info to its launch command as shown below:

agent_bridge:
   # Other arguments
   # ...
   command: agent_bridge.app info

After restarting MoveIt Pro with the --verbose flag, you should see more information being displayed in the console.

Using the ROS 2 Command-Line interface

From the current MoveIt Pro install folder, you can open an interactive Bash session with the MoveIt Pro Agent Docker container:

./moveit_pro shell

Once you are inside the container, ensure to source the MoveIt Pro workspace. Then, you can use the ROS 2 command-line interface (CLI) to introspect nodes, topics, and more.

source /opt/overlay_ws/install/setup.bash
ros2 node list
ros2 topic echo /joint_states

If you mounted a user workspace from your host, you should instead source that workspace using:

source ~/user_ws/install/setup.bash

Visual Debugging with RViz

MoveIt Pro provides a default RViz configuration for visual debugging. For example, this easily lets you analyze camera feeds, the TF tree, motion planning results, and more.

./moveit_pro rviz
../../../_images/developer_rviz.png