Skip to main content
Version: 10

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 clientSupported replacement
Python or C++ process on the robot networkUse the native ROS 2 client library API with rclpy or rclcpp.
JavaScript inside a MoveIt Pro Custom View PaneUse IframeROSClient, which routes through the parent UI.
Standalone roslibjs or Node.js applicationMigrate 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 applicationMigrate to foxglove-ros-client-py, which accepts WebSocket request headers through Ros(..., headers=...).
ROS# / rossharp applicationMigrate the runtime client to foxglove-ros-sharp and set the bearer header with RosSocketOptions.
roslibrust, jrosbridge, or another rosbridge clientMigrate 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.