diff --git a/docs/getting_started.rst b/docs/getting_started.rst index a1c5572..762efd3 100644 --- a/docs/getting_started.rst +++ b/docs/getting_started.rst @@ -1,3 +1,8 @@ =============== Getting Started =============== + +.. toctree:: + :maxdepth: 1 + + getting_started/ros_interface.rst diff --git a/docs/getting_started/ros_interface.rst b/docs/getting_started/ros_interface.rst new file mode 100644 index 0000000..3fe61ce --- /dev/null +++ b/docs/getting_started/ros_interface.rst @@ -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 diff --git a/docs/getting_started/ros_interface/ros1.rst b/docs/getting_started/ros_interface/ros1.rst new file mode 100644 index 0000000..a96a9b6 --- /dev/null +++ b/docs/getting_started/ros_interface/ros1.rst @@ -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 diff --git a/docs/getting_started/ros_interface/ros2.rst b/docs/getting_started/ros_interface/ros2.rst new file mode 100644 index 0000000..c1764f8 --- /dev/null +++ b/docs/getting_started/ros_interface/ros2.rst @@ -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 diff --git a/docs/operation/ros_interface/ros1.rst b/docs/operation/ros_interface/ros1.rst index f1683c9..58cf5e6 100644 --- a/docs/operation/ros_interface/ros1.rst +++ b/docs/operation/ros_interface/ros1.rst @@ -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 @@ -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 @@ -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. @@ -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 @@ -81,10 +81,10 @@ The **slate_base_node** has the following parameters: * **Default**: ``"base_link"`` Usage -===== +----- Using rosrun ------------- +^^^^^^^^^^^^ .. code-block:: bash diff --git a/docs/operation/ros_interface/ros2.rst b/docs/operation/ros_interface/ros2.rst index fc6996b..0547264 100644 --- a/docs/operation/ros_interface/ros2.rst +++ b/docs/operation/ros_interface/ros2.rst @@ -81,10 +81,10 @@ The **slate_base_node** has the following parameters: * **Default**: ``"base_link"`` Usage -===== +----- Using ros2run -------------- +^^^^^^^^^^^^^ .. code-block:: bash diff --git a/docs/troubleshooting.rst b/docs/troubleshooting.rst index 7acf225..9a490db 100644 --- a/docs/troubleshooting.rst +++ b/docs/troubleshooting.rst @@ -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 ==================================