Migrating rosbridge Clients
MoveIt Pro does not provide a rosbridge JSON endpoint. Port 3201 serves the
Foxglove WebSocket protocol used by the MoveIt Pro Desktop App; pointing a rosbridge
client at that port can appear to connect while subscriptions and service calls
fail because the wire protocols are different.
Choose the replacement that matches where your client runs:
| Existing client | Supported replacement |
|---|---|
| Python or C++ process on the robot network | Use the native ROS 2 client library API with rclpy or rclcpp. |
| JavaScript inside a MoveIt Pro Custom View Pane | Use IframeROSClient, which routes through the parent UI. |
Standalone roslibjs or Node.js application | Migrate to foxglove-ros-adapter. Its ROS-like API uses the Foxglove protocol. For MoveIt Pro Web Bridge authentication, webSocketFactory can set the bearer header in Node.js or append the frontend key to the WebSocket subprotocols in a browser. |
roslibpy application | Migrate to foxglove-ros-client-py, which accepts WebSocket request headers through Ros(..., headers=...). |
ROS# / rossharp application | Migrate the runtime client to foxglove-ros-sharp and set the bearer header with RosSocketOptions. |
roslibrust, jrosbridge, or another rosbridge client | Migrate to a native ROS 2 library where available, or add an application-owned gateway outside MoveIt Pro. |
MoveIt Pro 10.0 requires TLS and a frontend key on the WebSocket upgrade. Most clients send Authorization: Bearer <frontend-key>; browser clients that cannot set that header can pass the key as an additional WebSocket subprotocol. See Web Bridge Clients (Foxglove) for the client matrix and the Run an Existing Objective page for working Python, JavaScript, and C# examples.
For Objective actions, services, and parameter overrides, start with the
Programmatic SDKs Overview. The ROS action, service,
topic, and parameter definitions remain available in moveit_studio_sdk_msgs.
Follow the SDK's branch guidance
and use the release branch matching your MoveIt Pro version.