https://github.com/PickNikRobotics/moveit_studio_sdk
Public mirror of the MoveIt Pro SDK
https://github.com/PickNikRobotics/moveit_studio_sdk
cpp moveit moveit-pro picknik python robotics robotwebtools ros sdk
Last synced: 1 day ago
JSON representation
Public mirror of the MoveIt Pro SDK
- Host: GitHub
- URL: https://github.com/PickNikRobotics/moveit_studio_sdk
- Owner: PickNikRobotics
- License: bsd-3-clause
- Created: 2023-07-10T19:06:43.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-05-22T19:47:28.000Z (about 2 months ago)
- Last Synced: 2026-05-28T00:22:48.662Z (about 2 months ago)
- Topics: cpp, moveit, moveit-pro, picknik, python, robotics, robotwebtools, ros, sdk
- Language: Python
- Homepage: https://docs.picknik.ai/
- Size: 179 KB
- Stars: 10
- Watchers: 14
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-robotics - MoveIt Pro SDK
README
# MoveIt Pro SDK
This repository provides an SDK that can be used with MoveIt Pro.
The SDK can be used in the MoveIt Pro Agent container, or separately on a ROS 2 enabled system.
To test using the SDK and MoveIt Pro separately, take a look at the Docker setup below.
The full documentation for MoveIt Pro and the MoveIt Pro SDK is hosted at https://docs.picknik.ai/en/stable/index.html.
## Docker setup for testing the MoveIt Pro SDK in a separate container
The Docker workflow outlined here provides a way to test the MoveIt Pro SDK in isolation from MoveIt Pro.
First, build the image if you haven't already.
This image will install the MoveIt Pro SDK for you:
```
docker compose build
```
Start MoveIt Pro if it isn't running already, making note of the `ROS_DOMAIN_ID` that's being used.
The MoveIt Pro SDK Docker image being used here expects MoveIt Pro to use the default Cyclone DDS configuration.
Next, set the `ROS_DOMAIN_ID` environment variable in the terminal where you plan to start the MoveIt Pro SDK container.
The `ROS_DOMAIN_ID` being set here should match the `ROS_DOMAIN_ID` you are using for MoveIt Pro.
Once the Docker image is built and the `ROS_DOMAIN_ID` is set, start a container:
```
docker compose run --rm moveit_studio_sdk_standalone
```
You should now be at a terminal inside of the SDK container.
To ensure that the SDK container can communicate with MoveIt Pro, run:
```
ros2 service list
```
You should see a list of MoveIt Pro services.
Let's now test the SDK to see if we can execute and cancel MoveIt Pro Objectives.
There are two example scripts provided:
* `start_blocking.py`: starts an Objective and waits until the Objective finishes execution.
* `start_stop_async.py`: starts an Objective, waits for a user-defined number of seconds, and then cancels the running Objective.
To run the `Open Gripper` Objective, let's use `start_blocking.py` since this Objective shouldn't take long to complete:
```
ros2 run moveit_studio_py start_blocking.py "Open Gripper"
```
To run the `3 Waypoints Pick and Place` Objective, let's use `start_stop_async.py` since this Objective runs indefinitely.
We will let this Objective run for 10 seconds:
```
ros2 run moveit_studio_py start_stop_async.py "3 Waypoints Pick and Place" 10
```
If you look at the `Objectives` tab in the web app, you should see these Objectives starting and stopping successfully.