Spot-ROS2: ROS 2 Driver Package for Boston Dynamics' Spot

Spot-ROS2: ROS 2 Driver Package for Boston Dynamics' Spot

This is a ROS 2 package for Boston Dynamics' Spot. The package contains all necessary topics, services and actions to teleoperate or navigate Spot. This package currently corresponds to version 4.0.2 of the spot-sdk.

This is a ROS 2 package for Boston Dynamics' Spot. The package contains all necessary topics, services and actions to teleoperate or navigate Spot. This package currently corresponds to version 4.0.2 of the spot-sdk.

Category

May 15, 2024

ROB 590 – Research Project (ARM LAB)

ROB 590 – Research Project (ARM LAB)

Services

May 15, 2024

Spot; ROS2; Robotics

Spot; ROS2; Robotics

Client

May 15, 2024

Directed Research (ARM LAB)

Directed Research (ARM LAB)

Year

May 15, 2024

Jan 2024 – Oct 2024

Jan 2024 – Oct 2024

Conq ROS2

A ROS 2 package for our Boston Dynamics' Spot, also known as Conq. This package includes all required topics, services, and actions to teleoperate or navigate Spot, and is compatible with spot-sdk version 4.0.2.

🚀 Overview

  • ROS 2 driver for Spot robot (Conq)

  • Compatible with Spot SDK 4.0.2

  • Full control: walking, arm, camera, docking, and more

🛠️ Prerequisites

Tested on:

  • Ubuntu: 22.04.4

  • Python: 3.12.4

  • Conda: 24.5.0

  • ROS 2: Humble

Follow this guide to install ROS 2.

📦 Installation

1. Clone the repository


2. Install dependencies


3. Build workspace


⚠️ Ignore proto2ros_tests if not needed to avoid error messages.

🤖 Launching Spot Driver


🧩 Configuration

You can set login credentials:

  • Using ROS parameters in a YAML (see spot_driver/config/spot_ros_example.yaml)

  • Or via environment variables:

    
    

🔧 Simple Robot Commands

Use these ROS 2 service calls to control Conq:


🦾 Arm Commands (if equipped)


Use ros2 topic list, ros2 service list, and ros2 action list to explore all interfaces.

📸 Perception & Images

Default Setup

  • Streams RGB + depth from:

    • frontleft, frontright, left, right, back (and hand if equipped)

  • Uncompressed images by default

  • Launch spot_image_publishers.launch.py independently to stream only images

Configuration Options

  • Limit cameras:

    yamlCopyEditcameras_used: ["frontleft", "frontright"]
  • Disable RGB mode for greyscale cameras:

  • Enable point clouds:

  • Enable stitched images (tablet-like view):

    Add these to your YAML:

    
    

🧠 Performance Tips

  • Use Ethernet for faster image publishing

  • Set custom DDS profile:

    bashCopyEditexport FASTRTPS_DEFAULT_PROFILES_FILE=<path>

📷 Spot CAM (Optional)

Spot CAM is disabled by default due to HTTPS SSL issues.

To enable:

If errors occur:

  1. Open this in a browser:
    https://<spot_ip>:31102/h264.sdp.html

  2. Log in → WebRTC should begin streaming

🧩 Advanced Install Options

Install spot_msgs as a .deb package:


Install bosdyn_msgs from source

Can be built manually (takes ~15 min) if needed.

✅ Verify Installations


All versions should be 4.0.2.

📥 Contributing

  1. Clone:

    
    
  2. Install pre-commit:

    
    
  3. To commit without pre-check:

👥 Original Contributors

MASKOR (FH Aachen)

  • Maximillian Kirsch

  • Shubham Pawar

  • Christoph Gollok

  • Stefan Schiffer

  • Alexander Ferrein

Boston Dynamics AI Institute

  • Jenny Barry

  • Daniel Gonzalez

  • Tao Pang

  • David Surovik

  • Jiuguang Wang

  • David Watkins

Linköping University

  • Tommy Persson

📝 License

  • MIT License — for ROS 2 specific code

  • BSD 3-Clause — for Clearpath-derived components

Let's talk 🙉

I am: Super busy ATM!

Email:

saketp@umich.edu

Reach out:

© Copyright 2025

Let's talk 🙉

I am: Super busy ATM!

Email:

saketp@umich.edu

Reach out:

© Copyright 2025