Awesome
bosdyn_msgs
These messages are generated from spot-sdk sources.
How to release
Just push a tag with an appropriate release version to this repository e.g.:
git tag MAJOR.MINOR.PATCH
git push origin MAJOR.MINOR.PATCH
This will trigger a release job. Once the release is complete, bosdyn_msgs-bundle_MAJOR.MINOR.PATCH-*.run
binary bundles will be made available as release assets. As of January 2024, releases include binary
bundles compatible with ROS 2 Humble Hawksbill on Ubuntu Jammy 22.04 for AMD64 and ARM64 architectures.
Attention: it is strongly advised to keep package versions and tags in lockstep with the version of the
latest Boston Dynamics Spot SDK release to PyPI. This can be achieved by updating versions in package.xml
files and pip-constraint.txt
file to match each other and the tag.
How to install
Just grab a binary bundle for your architecture (e.g. downloaded from a release page) and execute it.
Packages will be installed alongside your ROS 2 distribution (e.g. under /opt/ros/<distribution>
).
How to bundle
First, ensure QEMU virtualization for multi-platform Docker containers is enabled:
sudo apt-get install qemu binfmt-support qemu-user-static
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Now, simply invoke make -jN
at the repostory root with a suitable number of jobs N
.
This will build bosdyn_msgs_unknown-bundle-amd64.run
and bosdyn_msgs_unknown-bundle-arm64.run
binary bundles (of unknown
version, as none was specified).
You can also bundle fewer packages for specific architectures with:
make -jN <package_name>-bundle-<arch>.run
Binary bundles include the target package and its local dependencies.
Note: QEMU virtualization makes for very slow builds (from minutes to hours).
How to build
You can build these packages in colcon
workspaces, like you would for any other ROS 2 package.
First, ensure ROS 2 Humble Hawksbill is installed.
That includes development tools:
sudo apt update && sudo apt install -y python3-pip ros-dev-tools
Then clone this repository into a workspace:
mkdir -p workspace/src; cd workspace
git -C src clone --recursive https://github.com/bdaiinstitute/bosdyn_msgs.git
When installing package dependencies, make sure pip
constraints are enforced:
PIP_CONSTRAINT=src/bosdyn_msgs/pip-constraint.txt rosdep install -i -y --from-path src
This will ensure apt
and pip
managed packages are compatible with each other.
Then you can build:
colcon build