Configuring MoveIt Pro

MoveIt Pro is designed to switch between various configuration packages. A configuration package is a description of the system, including

  • The robot(s) being operated and the environment.
  • Configuration files describing sensors, actuators, controllers, and MoveIt settings for motion planning.
  • The available set of Objectives, Behaviors, and Waypoints for that specific configuration.

For more details, refer to Configuring a Custom Robot.

Configuration Files and Folders

When you download MoveIt Pro, a file named .env is created in the current directory. This file stores the necessary variables to configure MoveIt Pro.

Additionally, launching MoveIt Pro creates a few important folders on your system:

  • ${HOME}/.config/moveit_pro: Contains files specific to configuration packages in subfolders named after each individual package. This includes any new Objectives and Waypoints, or changes to existing ones, as you use the web app. For example, the picknik_ur_site_config will be placed in ${HOME}/.config/moveit_pro/picknik_ur_site_config.
  • ${HOME}/.local/share/moveit_pro: Contains persistent MoveIt Pro data, such as authentication data and meshes to be rendered in the UI.
  • ${HOME}/.ros/log_moveit_pro: Contains saved logs from previous runs of MoveIt Pro.

Note

All of the files in your configuration package’s objectives directory will be copied into the ${HOME}/.config/moveit_pro/${CONFIG_PACKAGE_NAME}/objectives directory.

Running the Configuration Script

The moveit_pro utility script includes a tool to modify many configurable parameters in a step by step manner. To start the configuration utility, run:

cd $HOME/moveit_pro
./moveit_pro configure

And walk through the prompts. See the script’s help text for a complete list of launch options and runnable commands with:

./moveit_pro help

Changing Configuration Packages

MoveIt Pro will start by default with the picknik_ur_mock_hw_config configuration package, which describes a simulated UR5e robot on a stationary base.

To change the configuration used when launching MoveIt Pro you can run the configuration utility above. Alternatively, specify an alternate configuration package at runtime:

cd $HOME/moveit_pro
./moveit_pro run -c my_config_package

For example, to switch from the default configuration to a UR5e Gazebo configuration, you can change the configuration name to picknik_ur_gazebo_config at launch time.

Saving and Configuration Changes

As mentioned above, MoveIt Pro will store runtime data on a per-configuration basis in ${HOME}/.config/moveit_pro/${CONFIG_PACKAGE_NAME}, where ${CONFIG_PACKAGE_NAME} is the name of the configuration package you are using, such as picknik_ur_site_config.

When building or modifying Objectives and Waypoints for a given system, those changes are persisted in the configuration folder. To save any modified work to your user workspace or git repo, you must copy the data out of the .config folder and into your configuration package. For example, to save Waypoint updates for the package named picknik_ur_site_config to ${USER_WS}/src/ directory, run,

cp $HOME/.config/moveit_pro/picknik_ur_site_config/waypoints.yaml $USER_WS/src/picknik_ur_site_config/waypoints/

The same is true for modified Objective XML files, though the file locations on disk are slightly different,

cp $HOME/.config/moveit_pro/picknik_ur_site_config/objectives/<Objective> $USER_WS/src/picknik_ur_site_config/objectives/

Resetting Configuration Changes

In some instances, it may be useful to reset changes to the .config folder back to the defaults for the configuration package. The launch utility provides a function reset, that can be used to reset the configuration data for a given package:

./moveit_pro reset -c $CONFIG_PACKAGE_NAME

This will clear the contents of ${HOME}/.config/moveit_pro/${CONFIG_PACKAGE_NAME} so that they are restored from the package defaults on the next launch. Again, in this case ${CONFIG_PACKAGE_NAME} is the name of the configuration package you are using.

Note

When resetting, any in progress changes will be lost! Be sure to back up and save any required Objectives, Waypoints, etc. prior to removing those contents.

Mounting a User Workspace

Because MoveIt Pro uses a Docker based solution, not all files generated by the software are immediately available on your host system.

You can choose to mount a user workspace into the MoveIt Pro Docker containers, which allows you to:

  • Add your own custom packages into MoveIt Pro, including custom robot configuration or Behavior packages.
  • Ensure that Behavior packages generated when you Making a Hello World Behavior in the web app are available on your host file system.

To mount a user workspace, run ./moveit_pro configure and follow the prompts.

Note that the user workspace folder must:

For example, you can mount a folder located at ~/moveit_studio_ws into MoveIt Pro and use its packages if it has the following structure.

~/moveit_studio_ws
   + --- Dockerfile
   + --- src/
          + --- my_package_1/
          + --- my_package_2/

Note

Your workspace will be bind mounted into the ${HOME}/user_ws folder of the MoveIt Pro containers.

Setting STUDIO_HOST_USER_WORKSPACE=~/moveit_studio_ws in your .env file is equivalent to specifying ~/moveit_studio_ws as the workspace you want to mount when running ./moveit_pro configure.

See also

Advanced Launch Configurations for other ways to run MoveIt Pro.