Skip to content

Commit

Permalink
Add ROS getting started docs
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeschmitt-tr committed Jul 2, 2024
1 parent bf124a3 commit 83dc58b
Show file tree
Hide file tree
Showing 7 changed files with 159 additions and 12 deletions.
5 changes: 5 additions & 0 deletions docs/getting_started.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
===============
Getting Started
===============

.. toctree::
:maxdepth: 1

getting_started/ros_interface.rst
11 changes: 11 additions & 0 deletions docs/getting_started/ros_interface.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
=============================
ROS Interface Getting Started
=============================

Follow the links below to your ROS version's getting started guide.

.. toctree::
:maxdepth: 1

ros_interface/ros1.rst
ros_interface/ros2.rst
66 changes: 66 additions & 0 deletions docs/getting_started/ros_interface/ros1.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
=====================
ROS 1 Getting Started
=====================

Install ROS
===========

.. note::

The ROS 1 Interbotix SLATE packages are only compatible with Noetic on Ubuntu 20.04.

Follow the `Ubuntu install of ROS Noetic guide on the ROS Wiki`_.
Once installed, make sure to follow steps 1.6 and 1.6.1 to set up and install the development and dependency toolchains.

.. _`Ubuntu install of ROS Noetic guide on the ROS Wiki`: https://wiki.ros.org/noetic/Installation/Ubuntu

Install the Interbotix ROS Slate Packages
=========================================

#. Clone the noetic branch of the interbotix_ros_core repository into your catkin workspace.

.. code-block:: bash
$ mkdir -p ~/interbotix_ws/src
$ cd ~/interbotix_ws/src
$ git clone -b noetic https://github.com/Interbotix/interbotix_ros_core.git
#. Remove the CATKIN_IGNORE file preventing the interbotix_ros_slate metapackage from being built.

.. code-block:: bash
$ rm ~/interbotix_ws/src/interbotix_ros_core/interbotix_ros_slate/CATKIN_IGNORE
#. Run rosdep in the root of the workspace to install all required dependencies.

.. code-block:: bash
$ cd ~/interbotix_ws
$ rosdep install --from-paths src --ignore-src -r -y
#. Build the workspace.

.. code-block:: bash
$ cd ~/interbotix_ws
$ catkin_make
Post-Install
============

The USB-Serial converter device shares the same vendor and product ID with some brail readers.
Because of this, the ``brltty`` program may claim the device, preventing its use by other drivers.
Solving this issue is as simple as removing the package using apt.

.. code-block:: bash
$ sudo apt-get remove brltty
Verification
============

Run the driver using rosrun and check that the driver successfully connects to the base.

.. code-block:: bash
$ rosrun interbotix_slate_driver slate_base_node
67 changes: 67 additions & 0 deletions docs/getting_started/ros_interface/ros2.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
=====================
ROS 2 Getting Started
=====================

Install ROS 2
=============

.. note::

The ROS 2 Interbotix SLATE packages are only compatible with Humble on Ubuntu 22.04.

Follow the `Ubuntu (Debian packages)`_ ROS 2 installation guide on the ROS documentation site.
Once installed, make sure to follow the `How do I use the rosdep tool?`_ guide to to set up and install the development and dependency toolchains.

.. _`Ubuntu (Debian packages)`: https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html
.. _`How do I use the rosdep tool?`: https://docs.ros.org/en/humble/Tutorials/Intermediate/Rosdep.html#how-do-i-use-the-rosdep-tool

Install the Interbotix ROS Slate Packages
=========================================

#. Clone the humble branch of the interbotix_ros_core repository into your colcon workspace.

.. code-block:: bash
$ mkdir -p ~/interbotix_ws/src
$ cd ~/interbotix_ws/src
$ git clone -b humble https://github.com/Interbotix/interbotix_ros_core.git
#. Remove the COLCON_IGNORE file preventing the interbotix_ros_slate metapackage from being built.

.. code-block:: bash
$ rm ~/interbotix_ws/src/interbotix_ros_core/interbotix_ros_slate/COLCON_IGNORE
#. Run rosdep in the root of the workspace to install all required dependencies.

.. code-block:: bash
$ cd ~/interbotix_ws
$ rosdep install --from-paths src --ignore-src -r -y
#. Build the workspace.

.. code-block:: bash
$ cd ~/interbotix_ws
$ colcon build
Post-Install
============

The USB-Serial converter device shares the same vendor and product ID with some brail readers.
Because of this, the ``brltty`` program may claim the device, preventing its use by other drivers.
Solving this issue is as simple as removing the package using apt.

.. code-block:: bash
$ sudo apt-get remove brltty
Verification
============

Run the driver using ros2run and check that the driver successfully connects to the base.

.. code-block:: bash
$ ros2 run interbotix_slate_driver slate_base_node
16 changes: 8 additions & 8 deletions docs/operation/ros_interface/ros1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ The **slate_base_node** publishes to the following topics:

* ``odom``

* **Type**: ``nav_msgs/msg/Odometry``
* **Type**: ``nav_msgs/Odometry``
* **Description**: The odometry of the base.

* ``battery_state``

* **Type**: ``sensor_msgs/msg/BatteryState``
* **Type**: ``sensor_msgs/BatteryState``
* **Description**: Battery state information including present voltage and state of charge.

Subscribers
Expand All @@ -29,7 +29,7 @@ The **slate_base_node** subscribes to the following topics:

* ``cmd_vel``

* **Type**: ``geometry_msgs/msg/Twist``
* **Type**: ``geometry_msgs/Twist``
* **Description**: Velocity commands

Services
Expand All @@ -39,12 +39,12 @@ The **slate_base_node** provides the following service servers:

* ``set_text``

* **Type**: ``std_srvs/srv/SetString``
* **Type**: ``std_srvs/SetString``
* **Description**: Sets the text on the SLATE screen.

* ``set_motor_torque_status``

* **Type**: ``std_srvs/srv/SetBool``
* **Type**: ``std_srvs/SetBool``
* **Description**: If true, enables torque on the drive wheels.
If false, disables torque on the drive wheels.

Expand All @@ -54,7 +54,7 @@ The **slate_base_node** provides the following service servers:

* ``enable_charging``

* **Type**: ``std_srvs/srv/SetBool``
* **Type**: ``std_srvs/SetBool``
* **Description**: If true, enables charging via the contact charger.

Parameters
Expand All @@ -81,10 +81,10 @@ The **slate_base_node** has the following parameters:
* **Default**: ``"base_link"``

Usage
=====
-----

Using rosrun
------------
^^^^^^^^^^^^

.. code-block:: bash
Expand Down
4 changes: 2 additions & 2 deletions docs/operation/ros_interface/ros2.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ The **slate_base_node** has the following parameters:
* **Default**: ``"base_link"``

Usage
=====
-----

Using ros2run
-------------
^^^^^^^^^^^^^

.. code-block:: bash
Expand Down
2 changes: 0 additions & 2 deletions docs/troubleshooting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ The following table lists common errors that can be indicated on the base's scre
Hall Error Err33 The Hall sensor signal is malformed Contact support
============================== ============ =============================================== ===========================================================



SLATE driver can't connect to base
==================================

Expand Down

0 comments on commit 83dc58b

Please sign in to comment.