You should be using ROS noetic. ROS melodic can also be used but may require modifications to build correctly.
You must install the Boston Dynamics SDK on any machine that will run the driver.
pip3 install bosdyn-client bosdyn-mission bosdyn-api bosdyn-core
Go to the source directory of your ROS workspace and clone this repository with
git clone git@github.com:heuristicus/spot_ros.git
Then, initialise the submodule for the wrapper we use to interact with the Boston Dynamics SDK
cd spot_ros
git submodule init
git submodule update
Then, install the python package containing the wrapper
pip3 install -e spot_wrapper
Build the ROS packages
catkin build spot_driver spot_viz
Finally, remember to source your workspace.
To test functionality, it's easiest to connect to the robot via wifi. For actual operation it is recommended to connect to the robot directly through payload ports for higher bandwidth.
Connect to the robot's wifi network, usually found at SSID spot-BD-xxxxxxxx
. The password for the network is found in the robot's battery compartment.
Once connected, verify that you can ping the robot with ping 192.168.80.3
.
Start a roscore on your machine with roscore
.
Run the driver with the username and password for the robot, again found in the battery compartment
roslaunch spot_driver driver.launch username:=user password:=[your-password] hostname:=192.168.80.3
You can then view and control the robot from the rviz interface by running
roslaunch spot_viz view_robot.launch
More detailed documentation can be found here
Can be found here.