Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ARG ROS_DISTRO=humble
FROM ros:${ROS_DISTRO}-ros-base

# setup environment
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
ENV ROS_DISTRO=${ROS_DISTRO}

SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q && \
apt-get update -q && \
apt-get install -yq --no-install-recommends \
python3-pip \
python-is-python3 \
python3-argcomplete \
python3-colcon-common-extensions \
python3-colcon-mixin \
python3-pytest-cov \
python3-rosdep && \
rm -rf /var/lib/apt/lists/*

# Install dependencies for repository packages
RUN --mount=type=bind,source=.,target=/tmp/context \
apt-get update -q && rosdep update && \
rosdep install -y -i --from-paths /tmp/context && \
rm -rf /var/lib/apt/lists/*

# ROS doesn't recognize the docker shells as terminals so force colored output
ENV RCUTILS_COLORIZED_OUTPUT=1
34 changes: 0 additions & 34 deletions .devcontainer/Dockerfile.amd64

This file was deleted.

27 changes: 0 additions & 27 deletions .devcontainer/Dockerfile.amd64_vcpkg

This file was deleted.

34 changes: 0 additions & 34 deletions .devcontainer/Dockerfile.arm64

This file was deleted.

29 changes: 0 additions & 29 deletions .devcontainer/Dockerfile.arm64_vcpkg

This file was deleted.

13 changes: 0 additions & 13 deletions .devcontainer/build.sh

This file was deleted.

7 changes: 7 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "spot-cpp-sdk dev container",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
}
}
9 changes: 0 additions & 9 deletions .devcontainer/entrypoint.sh

This file was deleted.

121 changes: 0 additions & 121 deletions .github/workflows/cd.yml

This file was deleted.

38 changes: 38 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Spot C++ SDK CI

on:
pull_request:
branches:
- ros2
push:
branches:
- ros2

defaults:
run:
shell: bash

concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}-${{ github.ref == 'refs/heads/ros2' && github.sha || ''}}
cancel-in-progress: true

jobs:
build:
name: Build Spot C++ SDK package
runs-on: ubuntu-latest
container:
image: ros:humble-ros-base
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Install dependencies
run: |
apt-get update
rosdep update
rosdep install -i -y --from-path cpp

- name: Build package
run: |
source /opt/ros/humble/setup.bash
colcon build --symlink-install
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,27 @@ is subject to the terms and conditions of the Boston Dynamics Software
Development Kit License (20191101-BDSDK-SL).
-->

# Spot C++ SDK (BETA)
# Spot C++ SDK (BETA) in ROS 2

**This is fork of [`boston-dynamics/spot-cpp-sdk`](https://github.com/boston-dynamics/spot-cpp-sdk) patched for ROS 2 release. Proceed upstream for any inquiry or request.**

Develop applications and payloads for Spot using the Boston Dynamics Spot C++ SDK. The Spot C++ SDK is a **beta** release.

The C++ SDK consists of:

- [C++ client library](docs/cpp/README.md). Applications using the C++ library can control Spot and read sensor and health information from Spot. A variety of example programs and a QuickStart guide are also included.
- [Spot C++ SDK Repository](https://github.com/boston-dynamics/spot-cpp-sdk). The GitHub repo where all of the Spot C++ SDK code is hosted.
- [C++ client library](https://github.com/bdaiinstitute/spot-cpp-sdk/tree/ros2/docs/cpp). Applications using the C++ library can control Spot and read sensor and health information from Spot. A variety of example programs and a QuickStart guide are also included.
- [Spot C++ SDK repository **fork***](https://github.com/bdaiinstitute/spot-cpp-sdk/tree/ros2). The GitHub repository where all of the Spot C++ SDK code patched for ROS 2 release is hosted.

The official Spot SDK documentation also contains information relevant to the C++ SDK:

- [Conceptual documentation](https://dev.bostondynamics.com/docs/concepts/readme). These documents explain the key abstractions used by the Spot API.
- [Payload developer documentation](https://dev.bostondynamics.com/docs/payload/readme). Payloads add additional sensing, communication, and control capabilities beyond what the base platform provides. The Payload ICD covers the mechanical, electrical, and software interfaces that Spot supports.
- [Spot API protocol definition](https://dev.bostondynamics.com/docs/protos/readme). This reference guide covers the details of the protocol applications used to communicate to Spot. Application developers who wish to use a language other than Python can implement clients that speak the protocol.

This is version 4.1.0 of the C++ SDK. Please review the [Release Notes](docs/cpp_release_notes.md) to see what has changed.
This is version 4.1.0 of the C++ SDK. Please review the [Release Notes](https://github.com/bdaiinstitute/spot-cpp-sdk/blob/ros2/docs/cpp_release_notes.md) to see what has changed.

## Contents

- [C++ Library](docs/cpp/README.md)
- [Release Notes](docs/cpp_release_notes.md)
- [SDK Repository](https://github.com/boston-dynamics/spot-cpp-sdk)
- [C++ Library](https://github.com/bdaiinstitute/spot-cpp-sdk/tree/ros2/docs/cpp)
- [Release Notes](https://github.com/bdaiinstitute/spot-cpp-sdk/blob/ros2/docs/cpp_release_notes.md)
- [SDK Repository](https://github.com/bdaiinstitute/spot-cpp-sdk)
6 changes: 3 additions & 3 deletions cpp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ Library Dependencies:

## Contents

- [Client](bosdyn/client/README.md)
- [Common](bosdyn/common/README.md)
- [Math](bosdyn/math/README.md)
- [Client](https://github.com/bdaiinstitute/spot-cpp-sdk/tree/ros2/cpp/bosdyn/client)
- [Common](https://github.com/bdaiinstitute/spot-cpp-sdk/tree/ros2/cpp/bosdyn/common)
- [Math](https://github.com/bdaiinstitute/spot-cpp-sdk/tree/ros2/cpp/bosdyn/math)
Loading
Loading