This is an old revision of the document!
Spot ROS
The Spot robot comes with its own Spot SDK from Boston Dynamics, available in Python3 and C++. However, there is a ROS package that allows you to trigger most functionality of the robot using ROS messages, services and actions.
Installation
Installing the ROS package follows the same process as any other ROS package; git clone the repository, install dependencies, then build the package. Instructions from the Github Pages is here. It is recommended to use ROS Noetic for Python3 compatibility. Use a Docker container to get the correct ROS distro setup with all the distro-specific packages.
First, setup your catkin workspace, if you haven't already. Then, download the source code.
mkdir -p ~/catkin_ws/src source /opt/ros/noetic/setup.bash git clone https://github.com/heuristicus/spot_ros.git ~/catkin/src/spot_ros
Next, install the required dependencies with `rosdep`.
sudo apt install -y python3-rosdep rosdep install --from-paths ~/catkin_ws/src --ignore-src -y
Build the package with `catkin build`.
cd ~/catkin_ws/src catkin build
Source the built package.
source ~/catkin_ws/devel/setup.bash
Docker Usage
Alternatively, you can make use of pre-built Docker images generated by the CI pipeline.
Configuration
The ROS package has certain parameters that can be configured in `spot_driver/config/spot_ros.yaml`.
Usage
Here are some examples on how to make use of the spot_ros package in an external ROS node, to control the robot.
Example 1
<code> // Sample code for example 1 </code>
Example 2
<code> // Sample code for example 2 </code>
Troubleshooting
In this section, provide common issues and their resolutions.
Problem 1: Description of problem 1 Solution: Description of solution for problem 1 Problem 2: Description of problem 2 Solution: Description of solution for problem 2
Frequently Asked Questions (FAQ)
Here, list common questions and their answers.
Question 1: Description of question 1 Answer: Description of answer for question 1 Question 2: Description of question 2 Answer: Description of answer for question 2
Further Reading and Resources
This section includes links to additional documentation, tutorials, and other resources.