/SO-ARM100

Standard Open Arm 100

Primary LanguageCMakeApache License 2.0Apache-2.0

SO-ARM100

Standard Open Arm 100 - Version 1.3

Leader_And_Follower

Sourcing Parts

Note: The follower and leader arm for this teleoperation setup will have the same off the shelf parts. If you plan on creating the classic teleoperation set up to be used with the LeRobot library please buy from the Parts for Two Arms below. Note prices and items may vary depending on geographic location.

/!\ Warning: We only have links for US and EU for now. If you find links for other countries, please create an issue or PR so that we add them to the list.

Parts For Two Arms (Standard Teleoperation Setup):

Part Amount Unit Cost (US) Buy US Unit Cost (EU) Buy EU
STS3215 Servo1 12 $15 Alibaba 13€ Alibaba
Motor Control Board 2 $11 Amazon 12€ Amazon
USB-C Cable 2 pcs 1 $7 Amazon 7€ Amazon
Power Supply2 2 $10 Amazon 13€ Amazon
Table Clamp 4pcs 1 $18 Amazon 21€ Amazon
Screwdriver Set3 1 $6 Amazon 10€ Amazon
Total --- $241 --- 244€ ---

Parts for One Arm:

Part Amount Unit Cost (US) Buy US Unit Cost (EU) Buy EU
STS3215 Servo1 6 $14 Alibaba 13€ Alibaba
Motor Control Board 1 $11 Amazon 12€ Amazon
USB-C Cable 2 pcs 1 $7 Amazon 7€ Amazon
Power Supply2 1 $10 Amazon 13€ Amazon
Table Clamp 2pcs 1 $9 Amazon 8€ Amazon
Screwdriver Set3 1 $6 Amazon 10€ Amazon
Total --- $127 --- 128€ ---

Printing the Parts

A variety of 3D printers are acceptable to print the parts necessary of the follower and leader arm. Follow the steps below to ensure a good print.

  1. Choose a printer: The STL files provided ready to print on many FDM printers. Below are the tested and suggested settings though others may work.
    1. Material: PLA
    2. Nozzle Diameter and Precision: 0.4mm nozzle diameter at 0.2mm layer height or 0.6mm nozzle at 0.4mm layer height.
    3. Infill Density: 13%
    4. Sample Printers: Prusa Mini+, UP Plus 2, Ender3.
  2. Set up the printer
    1. Setup and Takedown
      1. Ensure that the printer is calibrated and the bed level is correctly set using the printer specific instructions.
      2. Clean the print bed, making sure it is free from dust, or grease. If cleaning the bed using water, or other liquid, dry the bed.
      3. If your printer recommends it, use a standard glue stick and apply a thin, even layer of glue across the print area of the bed. Avoid clumping or uneven application.
      4. Load the printer filament using printer specific instructions.
      5. Ensure the printer settings match the ones suggested above (most printers have multiple settings so choose the ones that most closely match).
      6. Set for supports everywhere but ignore slopes greater than 45 degrees to the horizontal.
      7. There should be no supports in the screw holes with horizontal axes.
  3. Check Printer Accuracy
    1. In stl_parts_for_printing/Gauges folder, there are two types of gauges, one to check the size of print against standard 4x2 lego block and one against an STS3215 servo.
      1. If you have a STS3215 servo print:
        1. stl_files_for_3dprinting/Gauges/Gauge_0.STL
        2. stl_files_for_3dprinting/Gauges/Gauge_tight_1.STL
      2. If you have a standard lego block print:
        1. stl_files_for_3dprinting/Gauges/Lego_Size_Test_02_zero.STL
        2. stl_files_for_3dprinting/Gauges/Lego_Size_Test_minuspoint1.STL
    2. Test the gauge 0 against your given object (Lego or Servo). The fit should be similar to this tutorial.
    3. If the fit is appropriate, go onto Step 4, otherwise, change your printer settings and try again or create an issue.
  4. Print the parts: All the parts for the leader or follower are contained in a single file, correctly orientated for z upwards to minimize supports.
    1. For printer bed sizes of 220mmx220mm (such as the Ender), print:
      1. stl_files_for_3dprinting/Follower/Print_Follower_SO_ARM100_08_Ender.STL
      2. stl_files_for_3dprinting/Leader/Print_Leader_SO_ARM100_08_Ender.STL
    2. For printer bed sizes of 205mm x 250mm (such as the Prusa/Up), print:
      1. stl_files_for_3dprinting/Follower/Print_Follower_SO_ARM100_08_UP_Prusa.STL
      2. stl_files_for_3dprinting/Leader/Print_Leader_SO_ARM100_08_UP_Prusa.STL
  5. Take Down
    1. After the print is done, use a putty knife to scrape the the parts off the print bed.
    2. Remove any support material from parts.

Programming

  1. For software, any Windows PC can connect over USB to program the servos and run initial tests. To do so download Feetech Software. Note: This step is not necessary as motors can be configured using the LeRobot Library, but may be helpful for debugging.
  2. The arm is intended for integration with the open source LeRobot. To get started, follow the Getting Started with Real-World Robots Tutorial.

Assembly

Detailed video instructions are on the @therobotstudio YouTube channel.

  1. Start with the instructions for programming the servos here.
  2. Next, assemble the arm: here.
  3. Follow along with the full developement process playlist here.

Other

Join the project with some of the brightest minds in open AI and robotics development on the discord server.

Check out this Handy URDF viewer.

Footnotes

1: The STS3215 arm comes in two sizes. The 7.4V has a stall torque of 16.5kg.cm at 6V (and likely slightly less for a 5V power supply). The 12V version has a stall torque of 30kg.cm. While we found the 7.4V to be sufficient, if you would like more powerful motors you can buy the 12V version here. Note if you do this, you will also have to buy a 12V 5A+ power supply instead of a 5V one, but all other components will remain the same.
2: You can also use an adjustable laboratory power supply with leads.
3: You do not need to use this exact screwdriver set, but it is highly recommended to have phillips head screw driver sizes #0 and #1 for easiest screw installation and removal. These are both standard sizes which will likely appear in most small screwdriver sets.
4: You do not need to buy these exact parts, but a glue stick and putty knife are almost always necessary for a good 3D print. The glue prevents parts from sticking to the print bed, and the putty knife helps scrape parts from the print bed. However, feel free to check with your specific printer instructions for if these parts are necessary.