Skip to main content
Version: 9

Programmatic SDKs Overview

External system diagram

MoveIt Pro exposes its full ROS 2 surface (actions, services, topics, and parameters) to external programmatic clients. The recommended transport is a native ROS 2 client library (rclpy for Python, rclcpp for C++) running on the same DDS network as the MoveIt Pro Runtime. For clients that already speak the rosbridge JSON protocol, an opt-in compatibility sidecar is available; see Legacy Websocket Compatibility.

Requires MoveIt Pro 9.4 or later

MoveIt Pro 9.4 switched the web-UI WebSocket transport to foxglove_bridge (port 3201) and made rosbridge_server an opt-in sidecar. In earlier versions, port 3201 speaks the rosbridge JSON protocol directly and roslibpy / roslibjs clients connect there without the --enable-rosbridge flag.

This section is organized by feature. Each feature page shows the same workflow in rclpy, on the command line, and, where applicable, in roslibpy over the opt-in Legacy Websocket Compatibility sidecar.

Setup

Install ROS 2 matching the distro that MoveIt Pro is running (Humble for Ubuntu 22.04, Jazzy for Ubuntu 24.04) and source its setup script before running your client. Add moveit_studio_sdk_msgs to your package.xml so the action and service definitions are available.

Your client process must be on the same DDS network as the MoveIt Pro Runtime, typically the same host or the same L2 segment with multicast enabled. If you need to drive MoveIt Pro from across a routed network where DDS does not work cleanly, run an intermediate ROS 2 node on the robot's network and have it forward the calls, or use the Legacy Websocket Compatibility bridge.

What You Can Do

Browser and Custom-Pane Access

The MoveIt Pro web UI talks to the Runtime through a separate WebSocket transport on port 3201 (foxglove_bridge). This transport is intended for the bundled browser app and for Custom View Panes loaded inside the UI; it is not a supported programmatic SDK for external host scripts. External processes should use the native ROS 2 client libraries described above or, when that is impractical, the opt-in Legacy Websocket Compatibility sidecar on a separate port.

The full set of action, service, and topic definitions is available in moveit_studio_sdk_msgs.