Skip to main content

Spot

The Spot plugin allows you to connect your Boston Dynamics Spot robot to the DroneDeploy Robotics Portal. Communication can occur bidirectionally using the plugin. This means you can both receive telemetry from and send commands to Spot, remotely using the DroneDeploy Robotics Portal.

Configuration:

To use the Spot plugin, your agent will need a section in its agent-settings.json file which enables the spot component, as shown below. For more information on how to configure the agent plugins, see Agent Configuration.

By default, new projects created will have a robot profile already defined for Spot, named "Boston Dynamics - Spot", which will be pre-configured with the necessary settings except for Spot's username/password.

{
"id": "spot",
"enabled": true,
"settings": {
"address": "192.168.50.3:443",
"username": "user",
"password": "password",
"certPath": "/opt/rocos-agent/spot.pem",
"estop": {
"role": "PDB_rooted",
"editConfig": true
},
"takeControlAtStartUp": true,
"tabletServiceIP": "192.168.50.5",
"tabletServices": {
"Start-360-Recording": {
"uri": "svc:callsign.projectID/ros/insta360_control",
"request": {
"payload": "{\"command\": \"START\"}"
}
}
},
"dataAcquisitionUploadDirectory": "/var/opt/rocos-agent/imagesToUploadToDroneDeploy",
"automaticallyDownloadNewData": false,
"logLevel": 4
}
}
NameDescriptionDefaultUnit
enabledWhether to enable the spot plugin or not.false
addressThe IP address through which the agent can access Spot. This depends on your network configuration with Spot. Further information and support can be found at the Boston Dynamics Support Page for Network Setup. The default IP address provided is the default static IP address of Spot when connected to WiFi. The 443 at the end of this address represents the standard port used for HTTPS traffic.192.168.50.3:443
userThe username to access spot.user
passwordThe password to access spot.password
certPathThe certPath defines the location of the .pem file authorising use of Spot. You should not need to change this value./opt/rocos-agent/spot.pem
takeControlAtStartUpIf true, the agent will automatically acquire the lease to control Spot and register itself as an estop endpoint.true
tabletServiceIPThe IP address of the host computer where the tabletServices are run. This informs spot where it can access the tabletServices and so how to call them. For many users this will simply be the ethernet IP address of the Spot CORE which defaults to 192.168.50.5.192.168.50.5
tabletServicesThe array of tablet services to register with spot. An example is provided above. The name of the service provides a way to define how the action name will appear on the Boston Dynamics tablet. The uri field is required to specify which service will be called when triggered. The payload is the required service payload.
dataAcquisitionUploadDirectoryThis defines where Spot images captured during autowalks and teleop sessions will be saved to with relevant file attributes such as position data./var/opt/rocos-agent/imagesToUploadToDroneDeploy
automaticallyDownloadNewDataIf true, then the agent will periodically download the latest data saved to Spot's data buffer. Alternatively the service /spot/data/downloadLatestFiles can be called when desired.false
logLevelThe logging verbosity: 1 - very quiet, 6 - very talkative.4
estopE-Stop Settings. Further documentation on Boston Dynamics' E-Stop functionality can be found here: https://dev.bostondynamics.com/docs/concepts/estop_service
roleThe named E-Stop role for the rocos-agent to take. Defaults to PDB_rooted - the required role spot to accept any commands.PDB_rooted
editConfigSetting this to true provides the rocos-agent with the permissions to define Spot's E-Stop configuration. This defines the number of estop endpoints (and their settings) spot expects to see before it will accept any commands.

For safety critical operations involving multiple endpoints, some users may wish to set this to false. By doing so, they can remain in control of the E-Stop configuration.

More information on the Rocos Agent's E-Stop logic can be found here.