2️⃣SPOT ROS

https://github.com/heuristicus/spot_ros

GUI Control

Adding Components

The driver supports some configuration of the URDF via environment variables. These can either be manually set in the terminal before starting the driver, or added to $HOME/.bashrc as desired. The table below lists the available variables and their default values:

Variable Default Value Description

SPOT_PACK 0 If 1, enables the Clearpath ROS backpack accessory and adds it to the URDF

SPOT_LIDAR_MOUNT 0 If 1, adds the Lidar mount to the backpack. Requires SPOT_PACK to be 1

SPOT_VELODYNE 0 If 1, adds the a VLP-16 sensor to the lidar mount. Requires SPOT_LIDAR_MOUNT to be 1

SPOT_ARM 0 If 1, adds the Spot arm to the URDF SPOT_VELODYNE_XYZ 0 0 0 XYZ offset for the VLP-16 from the backpack lidar mount

SPOT_VELODYNE_RPY 0 0 0 RPY offset for the VLP-16 from the backpack lidar mount

POT_URDF_EXTRAS empty.urdf Optional URDF file to add additional joints and links to the robot

You can add a custom URDF to the robot using the SPOT_URDF_EXTRAS environment variable, which must be set in the terminal from which the driver is run. This should point to a URDF/xacro file which has an object where the parent is one of the frames on the robot.

It might look something like below.

<?xml version="1.0"?>
<robot name="spot_frontier" xmlns:xacro="http://www.ros.org/wiki/xacro">
  <xacro:include filename="$(find my_payload_package)/urdf/my_payload.xacro"/>
  <xacro:my_payload parent="real_rear_rail"/>
</robot>

SPOT Arm

Joy Control

Driver Configuration

rates:

loop_frequency is the frequency of the loop which publishes messages

loop_frequency: 50.0

These are desired frequencies. You should not expect to receive messages at exactly the specified frequency.

For higher frequencies, you will need to modify the loop frequency and the rates below.

robot_state: 20.0

metrics: 0.04

lease: 1.0

camera_images: 10.0

point_cloud: 10.0

hand_image: 10.0

feedback: 10.0

mobility_params: 20.0

check_subscribers: 10.0

world_objects: 10.0

If true, automatically claim the lease when the driver starts

auto_claim: True

If true, automatically power on when the driver starts (requires auto_claim)

auto_power_on: True

If true, automatically stand when the driver starts (requires auto_power_on)

auto_stand: True

If true, requests depth images mapped in the vision frame for cameras on the Spot robot

depth_in_visual: True

"vision" or "odom", picks the type of odometry passed from the Spot robot to the ROS package

mode_parent_odom_tf: vision

claim:

If true, forcefully take the lease, instead of acquiring it, which can fail if someone else has it

use_take_lease: False

If true, try and claim the lease when doing actions if we don't already have it. Also automatically powers on for

stand, rollover and self-right commands

get_lease_on_action: False

Last updated