Skip to content

Commit

Permalink
Updated Fixes for Enumeration, Broken Links, Formatting and License (#32
Browse files Browse the repository at this point in the history
)

* Updated Getting Started

* Basic Structure

* Updated Training and Evaluation

* Added Mini PC specifications

* Added Hardware Assembly Step to Aloha Solo

* Aloha Solo Specification Update

* Added GUI Documentation and Fixed Some Reviewed Code

* Fixed Reviewed Code 1-Pending

* Fixed Reviewed Code

* Added LICENSE, Changed Enumeration and Fixed Links

* LeRobot Fixes

* Fixed Reviewed Code

* Update docs/training/lerobot_guide.rst

---------

Co-authored-by: lukeschmitt-tr <[email protected]>
  • Loading branch information
shantanuparab-tr and lukeschmitt-tr authored Dec 10, 2024
1 parent 9da031a commit 84c25aa
Show file tree
Hide file tree
Showing 7 changed files with 118 additions and 110 deletions.
11 changes: 11 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Copyright 2024 Trossen Robotics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
52 changes: 26 additions & 26 deletions docs/getting_started/mobile/hardware_setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,92 +22,92 @@ Video Overview
Steps
-----

1. Remove Slotted Power Station Plate using the M3 Ball-End Driver or M3 T-Driver.
#. Remove Slotted Power Station Plate using the M3 Ball-End Driver or M3 T-Driver.
Set the M5x8b Bolts aside for future use. Add zip tie between two of the front slots for later use as cable tie-down.
https://drive.google.com/file/d/18ole4JjKtjsJ2nkLWZVKxNgU1EejN6gD/view?usp=drive_link

2. Lift and position the podium atop the slate base, aligning brackets to bolt holes with a screwdriver.
#. Lift and position the podium atop the slate base, aligning brackets to bolt holes with a screwdriver.
Mind the slate's orientation.
The display panel should be on the same side as the podium's open side.

3. Bolt Podium to Slate Top Plate using M5x12b bolts with Loctite.
#. Bolt Podium to Slate Top Plate using M5x12b bolts with Loctite.
Use the M3 T-Driver to start and tighten fully with the M3 Ball-End Driver.

4. Replace the Slotted Power Station Plate using the same M5x8b bolts set aside earlier.
#. Replace the Slotted Power Station Plate using the same M5x8b bolts set aside earlier.
Use Loctite on the bolts.

5. Remove ViperX Vertical Mount and rotate 180 degrees so that it faces forward.
#. Remove ViperX Vertical Mount and rotate 180 degrees so that it faces forward.
Use two people and secure all 4 Locks.

6. Remove the Laptop Plate to easily remove the Bubble wrap placed for shipping.
#. Remove the Laptop Plate to easily remove the Bubble wrap placed for shipping.
Set M5x8b Bolts aside for future use.
Pull 1ft Outlet extensions through the side slot into the base of the podium for connection into the power station.
https://drive.google.com/file/d/18_1ZDDmAcJn94XkDeCGeoKFz9z04qygD/view?usp=drive_link

7. Check all Power Supply Cable Connections and all USB Cables in the USB Hubs.
#. Check all Power Supply Cable Connections and all USB Cables in the USB Hubs.
Confirm that all buttons corresponding to used USB Ports are pressed down.

8. Insert Power Station into Podium.
#. Insert Power Station into Podium.
Secure the Power Station with Velcro Straps.
Connect the 1ft Outlet extensions to the top 2 outlets, and add the 4-Outlet Power Strip Cord into the bottom outlet.

9. Connect the USB Type-A Male-Male Cable into Slate and USB Hub.
#. Connect the USB Type-A Male-Male Cable into Slate and USB Hub.
Thread cable through the zip-tie on the slotted power station plate that was added in step one.

10. Add front facing straight cam mount to ViperX upright using M5x12b.
#. Add front facing straight cam mount to ViperX upright using M5x12b.
Add cam mount to front facing straight cam mount using M4x12b.
https://drive.google.com/file/d/18M_D5VpKznn5vZQsdK11iwPZrQyCofww/view?usp=drive_link

11. Slot the WidowX leader arm vertical mount to podium rails.
#. Slot the WidowX leader arm vertical mount to podium rails.
Secure all 4 locks.
Plug USB Type-A males into Hubs and Plug Barrel Extensions females into 12V10A Power Supplies.

12. Attach ViperX Fingers using M3x14s and M2.5 hex key and Wrist Cam Mounts onto ViperX Arms using M2.5x6 and M2 hex key.
#. Attach ViperX Fingers using M3x14s and M2.5 hex key and Wrist Cam Mounts onto ViperX Arms using M2.5x6 and M2 hex key.
https://drive.google.com/file/d/17xc4w_e9YTrIYQcjEXZU-kCBARTb-rGY/view?usp=sharing

13. Attach WidowX Paddles using M3x12s.
#. Attach WidowX Paddles using M3x12s.
Attach WidowX Handles onto WidowX Arms using M3x8s with M2.5 T-Driver or hex key.
https://drive.google.com/file/d/17qWw_xHpE5GjYISEBhj2Ap9cLrUU2ijQ/view?usp=sharing

14. Add Aloha ViperX arms onto front follower arm mounts M5x10b using Loctite.
#. Add Aloha ViperX arms onto front follower arm mounts M5x10b using Loctite.
Don't let go of the ViperX until two bolts are screwed in.
https://drive.google.com/file/d/18QmAPxb8d3ls1AEYoyq4dCScMoKZSamG/view?usp=drive_link
https://drive.google.com/file/d/18WSqeGPSwyj270QRPBveLryoRrG1TDBI/view?usp=drive_link

15. Add Aloha WidowX arms onto the back WidowX upright mounts.
#. Add Aloha WidowX arms onto the back WidowX upright mounts.
Don't let go of the WidowX until two bolts are screwed in.

16. Add camera into middle camera mount using M3x10s.
#. Add camera into middle camera mount using M3x10s.

17. Add cameras into ViperX camera mounts using M3x6s.
#. Add cameras into ViperX camera mounts using M3x6s.

18. Add Micro-B locking Cables to hubs, snake through holes as needed, and zip tie to the electronics shelf to avoid damaging electronics in case cables catch on anything.
#. Add Micro-B locking Cables to hubs, snake through holes as needed, and zip tie to the electronics shelf to avoid damaging electronics in case cables catch on anything.
Attach Micro B into cameras.

19. Connect Power + USB cables to all 4 arms.
#. Connect Power + USB cables to all 4 arms.
Secure cables with zip ties as needed.

20. Turn on Power Station + Press button to turn on outlets.
#. Turn on Power Station + Press button to turn on outlets.
Ensure the Power Strip inside the podium is switched on.
Ensure all U2D2s in the arms are glowing red to show they have power.
If not, Confirm that all buttons corresponding to used USB Ports are pressed down. (See tip #6)

21. Add foot pedal onto Caster mount using M5x18s and M4 T-Driver.
#. Add foot pedal onto Caster mount using M5x18s and M4 T-Driver.
https://drive.google.com/file/d/183kRJpucXmJfrzM1DC--qrryv9TMIAgI/view?usp=sharing

22. Slide caster mount onto bottom horizontal rails. Ensure the locks are centered.
#. Slide caster mount onto bottom horizontal rails. Ensure the locks are centered.
Aggressively tap the Caster Mount onto the rails if needed.
Run USB cable to USB Hub.
Make sure the USB Hub port is pressed down.
https://drive.google.com/file/d/18hKblrJS3jwKSubBep-m4mbpClRna9Et/view?usp=drive_link

23. Replace Laptop Plate with bolts set aside from earlier.
#. Replace Laptop Plate with bolts set aside from earlier.
Use Loctite.
Run the USB-A Male 3.0 Cables out of the left slot of the podium.

24. Extend ViperX and WidowX Arm Mounts out horizontally.
#. Extend ViperX and WidowX Arm Mounts out horizontally.

25. Adjust height of WidowX vertical mount.
#. Adjust height of WidowX vertical mount.
https://drive.google.com/file/d/17HCPacPmU-9VJrEFs8BNtacl6qrVE9Wx/view?usp=drive_link

26. Ensure Slate E-Stop is released.
#. Ensure Slate E-Stop is released.
44 changes: 22 additions & 22 deletions docs/getting_started/mobile/software_setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ In short, run the following commands on a machine running Linux Ubuntu 22.04:
The installation script does the following:

1. Installs ROS 2 Humble (if not already installed).
2. Creates the following directory structure:
#. Installs ROS 2 Humble (if not already installed).
#. Creates the following directory structure:

.. code-block::
Expand All @@ -53,9 +53,9 @@ The installation script does the following:
├── interbotix_ros_manipulators
└── interbotix_ros_toolboxes
3. Installs dependencies.
4. Builds the control software and other related tools.
5. Configures the ROS 2 environment.
#. Installs dependencies.
#. Builds the control software and other related tools.
#. Configures the ROS 2 environment.

.. tip::

Expand Down Expand Up @@ -88,25 +88,25 @@ ALOHA Software Installation

We are actively working on updates to provide full compatibility in the future.

1. Clone the Interbotix fork of ALOHA into the workspace's source directory:
#. Clone the Interbotix fork of ALOHA into the workspace's source directory:

.. code-block:: bash
$ cd ~/interbotix_ws/src
$ git clone https://github.com/Interbotix/aloha.git -b 2.0
2. Run rosdep to install any dependencies:
#. Run rosdep to install any dependencies:

.. code-block:: bash
$ cd ~/interbotix_ws
$ rosdep install --from-paths src --ignore-src -r -y
3. Set the ``InterbotixManipulatorXS``'s ``iterative_update_fk`` default value to ``False`` at ``~/interbotix_ws/src/interbotix_ros_toolboxes/interbotix_xs_toolbox/interbotix_xs_modules/interbotix_xs_modules/xs_robot/arm.py`` (`link`_).
#. Set the ``InterbotixManipulatorXS``'s ``iterative_update_fk`` default value to ``False`` at ``~/interbotix_ws/src/interbotix_ros_toolboxes/interbotix_xs_toolbox/interbotix_xs_modules/interbotix_xs_modules/xs_robot/arm.py`` (`link`_).

.. _`link`: https://github.com/Interbotix/interbotix_ros_toolboxes/blob/c187bcea89b60391244bb19943ebd78f770aa975/interbotix_xs_toolbox/interbotix_xs_modules/interbotix_xs_modules/xs_robot/arm.py#L81

4. Build the workspace:
#. Build the workspace:

.. code-block:: bash
Expand Down Expand Up @@ -142,36 +142,36 @@ We will configure udev rules for the arms such that they are bound to the follow

To set these up, do the following:

1. Plug in only the leader left robot to the computer.
#. Plug in only the leader left robot to the computer.

2. Determine its device name by checking the ``/dev`` directory before and after plugging the device in.
#. Determine its device name by checking the ``/dev`` directory before and after plugging the device in.
This is likely something like ``/dev/ttyUSB0``.

3. Print out the device serial number by running the following command:
#. Print out the device serial number by running the following command:

.. code-block:: bash
$ udevadm info --name=/dev/ttyUSB0 --attribute-walk | grep ATTRS{serial} | head -n 1 | cut -d '"' -f2
FT88YWBJ
4. The output of the command will look like ``FT88YWBJ`` and be the serial number of the arm's U2D2 serial converter.
#. The output of the command will look like ``FT88YWBJ`` and be the serial number of the arm's U2D2 serial converter.

5. Add the following line to the computer's fixed Interbotix udev rules at ``/etc/udev/rules.d/99-fixed-interbotix-udev.rules``:
#. Add the following line to the computer's fixed Interbotix udev rules at ``/etc/udev/rules.d/99-fixed-interbotix-udev.rules``:

.. code-block:: bash
SUBSYSTEM=="tty", ATTRS{serial}=="<SERIAL NUMBER>", ENV{ID_MM_DEVICE_IGNORE}="1", ATTR{device/latency_timer}="1", SYMLINK+="ttyDXL_leader_left"
# ^^^^^^^^^^^^^^^ The result from the previous step
6. Repeat for the rest of the arms.
#. Repeat for the rest of the arms.

7. To update and refresh the rules, run the following command:
#. To update and refresh the rules, run the following command:

.. code-block:: bash
$ sudo udevadm control --reload && sudo udevadm trigger
8. Plug all arms back into the computer and verify that you can see all devices:
#. Plug all arms back into the computer and verify that you can see all devices:

.. code-block:: bash
Expand All @@ -184,7 +184,7 @@ To set these up, do the following:
Camera Setup
------------

1. Open realsense-viewer
#. Open realsense-viewer

.. code-block::
Expand All @@ -196,17 +196,17 @@ Camera Setup

.. _`these steps on the librealsense GitHub repository`: https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

2. Plug in a single camera and check the sidebar for its entry.
#. Plug in a single camera and check the sidebar for its entry.
If it does not show up in the side bar, click **Add Source** and find the Intel RealSense D405 in the drop down.

3. Click on Info for the camera, find the Serial Number, and copy it.
#. Click on Info for the camera, find the Serial Number, and copy it.

.. image:: images/rsviewer_serialno.png
:align: center

4. Put the camera serial number in the appropriate config entry at ``~/interbotix_ws/src/aloha/config/robot/aloha_mobile.yaml``.
#. Put the camera serial number in the appropriate config entry at ``~/interbotix_ws/src/aloha/config/robot/aloha_mobile.yaml``.

5. Repeat for the rest of the cameras.
#. Repeat for the rest of the cameras.
If the workspace has not been symbolically-linked, a rebuild may be necessary.

Post-Install Software Tips
Expand Down
30 changes: 15 additions & 15 deletions docs/getting_started/solo/software_setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ In short, run the following commands on a machine running Linux Ubuntu 22.04:
The installation script does the following:

1. Installs ROS 2 Humble (if not already installed).
2. Creates the following directory structure:
#. Installs ROS 2 Humble (if not already installed).
#. Creates the following directory structure:

.. code-block::
Expand All @@ -53,9 +53,9 @@ The installation script does the following:
├── interbotix_ros_manipulators
└── interbotix_ros_toolboxes
3. Installs dependencies.
4. Builds the control software and other related tools.
5. Configures the ROS 2 environment.
#. Installs dependencies.
#. Builds the control software and other related tools.
#. Configures the ROS 2 environment.

.. tip::

Expand All @@ -65,25 +65,25 @@ The installation script does the following:
ALOHA Software Installation
===========================

1. Clone the Interbotix fork of ALOHA into the workspace's source directory:
#. Clone the Interbotix fork of ALOHA into the workspace's source directory:

.. code-block:: bash
$ cd ~/interbotix_ws/src
$ git clone https://github.com/Interbotix/aloha.git -b 2.0
2. Run rosdep to install any dependencies:
#. Run rosdep to install any dependencies:

.. code-block:: bash
$ cd ~/interbotix_ws
$ rosdep install --from-paths src --ignore-src -r -y
3. Set the ``InterbotixManipulatorXS``'s ``iterative_update_fk`` default value to ``False`` at ``~/interbotix_ws/src/interbotix_ros_toolboxes/interbotix_xs_toolbox/interbotix_xs_modules/interbotix_xs_modules/xs_robot/arm.py`` (`link`_).
#. Set the ``InterbotixManipulatorXS``'s ``iterative_update_fk`` default value to ``False`` at ``~/interbotix_ws/src/interbotix_ros_toolboxes/interbotix_xs_toolbox/interbotix_xs_modules/interbotix_xs_modules/xs_robot/arm.py`` (`link`_).

.. _`link`: https://github.com/Interbotix/interbotix_ros_toolboxes/blob/c187bcea89b60391244bb19943ebd78f770aa975/interbotix_xs_toolbox/interbotix_xs_modules/interbotix_xs_modules/xs_robot/arm.py#L81

4. Build the workspace:
#. Build the workspace:

.. code-block:: bash
Expand Down Expand Up @@ -124,7 +124,7 @@ To set these up, do the following:
#. Plug in only the leader robot to the computer.

#. Determine its device name by checking the ``/dev`` directory before and after plugging the device in.
This is likely something like ``/dev/ttyUSB0``.
This is likely something like ``/dev/ttyUSB0``.

#. Print out the device serial number by running the following command:

Expand Down Expand Up @@ -178,7 +178,7 @@ To set these up, do the following:
Camera Setup
------------

1. Open realsense-viewer
#. Open realsense-viewer

.. code-block::
Expand All @@ -190,17 +190,17 @@ Camera Setup

.. _`these steps on the librealsense GitHub repository`: https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

2. Plug in a single camera and check the sidebar for its entry.
#. Plug in a single camera and check the sidebar for its entry.
If it does not show up in the side bar, click **Add Source** and find the Intel RealSense D405 in the drop down.

3. Click on Info for the camera, find the Serial Number, and copy it.
#. Click on Info for the camera, find the Serial Number, and copy it.

.. image:: ../../images/rsviewer_serialno.png
:align: center

4. Put the camera serial number in the appropriate config entry at ``~/interbotix_ws/src/aloha/config/robot/aloha_solo.yaml``.
#. Put the camera serial number in the appropriate config entry at ``~/interbotix_ws/src/aloha/config/robot/aloha_solo.yaml``.

5. Repeat for the other camera.
#. Repeat for the other camera.
If the workspace has not been symbolically-linked, a rebuild may be necessary.

Post-Install Software Tips
Expand Down
Loading

0 comments on commit 84c25aa

Please sign in to comment.