| SPOT_VELODYNE_AUTOLAUNCH| 1 | If 1 and SPOT_VELODYNE is also 1, the VLP16 ROS node will start automatically |
-
<code>
-
// Sample code for example 2
-
</code>
-
===== Troubleshooting =====
-
In this section, provide common issues and their resolutions.
+
===== Running the spot_ros Driver =====
+
+
Before running the driver, you need to set the following parameters to authenticate with the robot.
+
+
^ Argument ^ Default ^ Description ^
+
| username | dummyusername | Use this username to authenticate with spot |
+
| password | dummypassword | Use this password to authenticate with spot |
+
| hostname | 192.168.50.3 | The IP address at which spot can be found |
+
| estop_timeout | 9.0 | Time allowed before rpc commands will time out. Comms between the |
+
| | | robot and driver are checked at a rate of 1/3 of this time. If |
+
| | | comms are down, a gentle estop will trigger |
+
| autonomy_enabled | True | If false, some autonomy commands will be disabled for this run of |
+
| | | the driver. This can only be changed on driver restart |
+
| max_linear_velocity_x | 0 | Limit on linear velocity for moving forwards. 0 is whatever is |
+
| | | specified by BD. |
+
| max_linear_velocity_y | 0 | Limit on linear velocity for moving sideways. 0 is whatever is |
+
| | | specified by BD. |
+
| max_linear_velocity_z | 0 | Limit on angular velocity for rotation. 0 is whatever is specified |
+
| | | by BD. |
+
| allow_motion | True | If false, the robot starts with all motion disallowed and must have|
+
| | | it enabled by calling a service or pressing a button in rviz |
+
+
To view the robot in RViz, use:
+
roslaunch spot_viz view_robot.launch
+
+
You should see something like this. The colour points represent the depth cloud produced by the 5 stereo cameras on the robot. The white dots will only be available after adding the PointCloud2 LIDAR data (/spot/lidar/points) to the RViz viewport.
Basic control of the robot can be done using the control panel on the right. This allows you to claim the lease, power on the robot and make it stand up. You can also command it to move to a specific location using the `2D Nav Goal` tool in RViz, or set a specific body pose to go to. When issuing any movement commands to the robot, you will need to claim the lease -> power on -> stand, before the commands will execute.
+
+
===== ROS Usage =====
+
+
The documentation of available ROS services, topics and actions are listed below, explaining the capabilities of the spot_ros driver.
+
+
===== ROS Services =====
+
+
The available ROS services and thier descriptions are in this section.
+
+
^ Topic ^ Type ^ Description ^
+
| /spot/claim | Trigger | Claim the lease |
+
| /spot/release | Trigger | Release the lease |
+
| /spot/self_right | Trigger | Flip onto the legs |
+
| /spot/sit | Trigger | Sit the robot |
+
| /spot/stand | Trigger | Stand the robot |
+
| /spot/power_on | Trigger | Enable motor power |
+
| /spot/power_off | Trigger | Disable motor power |
+
| /spot/estop/hard | Trigger | Trigger the estop immediately |
+
| /spot/estop/gentle | Trigger | Trigger the estop gracefully |
+
| /spot/estop/release | Trigger | Release the estop |
+
| /spot/allow_motion | SetBool | Enable or disable motion |
| /spot/trajectory/status | actionlib_msgs/GoalStatusArray | Trajectory pose movement action server |
+
| /spot/world_objects | spot_msgs/WorldObjectArray | Spot world object detections |
+
| /tf | tf2_msgs/TFMessage | Transformation frames from TF2 API |
+
| /tf_static | tf2_msgs/TFMessage | Transformation frames from TF2 API |
+
| /twist_marker_server/update | visualization_msgs/InteractiveMarkerUpdate | Legacy compatibility with /spot/cmd_vel |
+
| /twist_marker_server/update_full | visualization_msgs/InteractiveMarkerInit | Legacy compatibility with /spot/cmd_vel |
+
+
===== ROS Actions =====
+
+
^ Topic ^ Type ^ Description ^
+
| /spot/navigate_to | NavigateToAction | Go to a GraphNav waypoint |
+
| /spot/navigate_route | NavigateRouteAction | Go to a series of GraphNav waypoints |
+
| /spot/trajectory | TrajectoryAction | Move robot to a Pose |
+
| /spot/motion_or_idle_body_pose | PoseBodyAction | Rotate body to a pose |
+
| /spot/body_pose | PoseBodyAction | Stand and move robot to a Pose |
+
| /spot/dock | DockAction | Dock or undock at a specific dock_id |
-
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) =====
===== Frequently Asked Questions (FAQ) =====
-
Here, list common questions and their answers.
+
Question 1: How do I upload a Docker container to Spot?
+
+
Answer: Follow [[https://dev.bostondynamics.com/docs/payload/spot_core_portainer|this guide]] on how to use Portainer on the Spot CORE.
+
+
Question 2: Does Spot have access to the Internet?
+
+
Answer: No, not unless you [[https://support.bostondynamics.com/s/article/Spot-CORE-Accessing-the-Internet-Through-Spot#:~:text=On%20your%20computer%2C%20navigate%20to%20the%20robot's%20IP%20address%20using,selecting%20OPEN%20COCKPIT%20%2D%20SYSTEM%20MANAGEMENT.|specifically set it up]].
-
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 =====
===== Further Reading and Resources =====
This section includes links to additional documentation, tutorials, and other resources.
This section includes links to additional documentation, tutorials, and other resources.