Merge branch 'main' of ssh://github.com/TheRobotStudio/SO-ARM100

This commit is contained in:
jess-moss
2024-10-01 08:51:36 -05:00
7 changed files with 76 additions and 53 deletions

Binary file not shown.

129
README.md
View File

@@ -1,68 +1,91 @@
# SO-ARM100
Standard Open Arm 100 - Beta version 1.2
The only components required to build the arm (leader or follower) are the 3d printed parts and the six STS3215 servos (6v or 12v version) plus a single adaptor board to connect to a PC.
![Leader_And_Follower](./media/Leader_And_Follower.jpg)
Before printing the parts for the arm check the accuracy of your printer by printing a gauge from the stl_parts_for_printing/Gauges folder.
## 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.
There are two types of gauge, one to check the size of print against standard 4x2 lego block and one against an STS3215 servo:
/!\ 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.
https://youtu.be/dss8E3DG2rA
#### Parts For Two Arms (Standard Teleoperation Setup):
| Part | Amount | Unit Cost (US) | Buy US | Unit Cost (EU) | Buy EU |
|---|---|---|---|---|---|
| STS3215 Servo<sup>[1](#myfootnote1)</sup> | 12 | $15 | [Alibaba](https://www.alibaba.com/product-detail/6PCS-7-4V-STS3215-Servos-for_1600523509006.html) | 14€ | [Alibaba](https://www.alibaba.com/product-detail/6PCS-7-4V-STS3215-Servos-for_1600523509006.html) |
| Motor Control Board | 2 | $5 | [Waveshare](https://www.waveshare.com/bus-servo-adapter-a.htm) - [Amazon](https://www.amazon.com/Control-Circuit-Suitable-Supports-Controlling/dp/B0CKT8BN73/ref=asc_df_B0CKT8BN73/) | 4€ | [Waveshare](https://www.waveshare.com/bus-servo-adapter-a.htm)-[Amazon](https://www.amazon.fr/-/en/dp/B0CJ6RYC9J/ref=sr_1_3)|
| USB-C Cable 2 pcs | 1 | $7 | [Amazon](https://www.amazon.com/Charging-etguuds-Charger-Braided-Compatible/dp/B0B8NWLLW2/?th=1) | 7€ | [Amazon](https://www.amazon.com/Charging-etguuds-Charger-Braided-Compatible/dp/B0B8NWLLW2/?th=1) |
| Power Supply<sup>[2](#myfootnote2)</sup> | 2 | $10 | [Amazon](https://www.amazon.com/Facmogu-Switching-Transformer-Compatible-5-5x2-1mm/dp/B087LY41PV/) | 13€ | [Amazon](https://www.amazon.fr/-/en/dp/B01HRR9GY4/) |
| Table Clamp 2pcs | 2 | $9 | [Amazon](https://www.amazon.com/Mr-Pen-Carpenter-Clamp-6inch/dp/B092L925J4/) | 8€ | [Amazon](https://www.amazon.fr/-/en/dp/B08HZ1QRBF/)|
| Screwdriver Set<sup>[3](#myfootnote3)</sup> | 1 | $6 | [Amazon](https://www.amazon.com/Precision-Phillips-Screwdriver-Electronics-Computer/dp/B0DB227RTH) | 7€ | [Amazon](https://www.amazon.fr/-/en/dp/B0BNQBNFFJ/?th=1) |
| Total |---| $244 |---| 232€ |---|
The stl files are provided ready to print on many FDM printers with a minimum print area of an Ender 220mm x 220mm or a Prusa/Up with a minimum print area of 205mm x 250mm.
#### Parts for One Arm:
| Part | Amount | Unit Cost (US) | Buy US | Unit Cost (EU) | Buy EU |
|---|---|---|---|---|---|
| STS3215 Servo<sup>[1](#myfootnote1)</sup> | 6 | $15 | [Alibaba](https://www.alibaba.com/product-detail/6PCS-7-4V-STS3215-Servos-for_1600523509006.html) | 14€ | [Alibaba](https://www.alibaba.com/product-detail/6PCS-7-4V-STS3215-Servos-for_1600523509006.html) |
| Motor Control Board | 1 | $5 | [Waveshare](https://www.waveshare.com/bus-servo-adapter-a.htm) - [Amazon](https://www.amazon.com/Control-Circuit-Suitable-Supports-Controlling/dp/B0CKT8BN73/ref=asc_df_B0CKT8BN73/) | 4€ | [Waveshare](https://www.waveshare.com/bus-servo-adapter-a.htm)-[Amazon](https://www.amazon.fr/-/en/dp/B0CJ6RYC9J/ref=sr_1_3)|
| USB-C Cable 2 pcs | 1 | $7 | [Amazon](https://www.amazon.com/Charging-etguuds-Charger-Braided-Compatible/dp/B0B8NWLLW2/?th=1) | 7€ | [Amazon](https://www.amazon.com/Charging-etguuds-Charger-Braided-Compatible/dp/B0B8NWLLW2/?th=1) |
| Power Supply<sup>[2](#myfootnote2)</sup> | 1 | $10 | [Amazon](https://www.amazon.com/Facmogu-Switching-Transformer-Compatible-5-5x2-1mm/dp/B087LY41PV/) | 13€ | [Amazon](https://www.amazon.fr/-/en/dp/B01HRR9GY4/) |
| Table Clamp 2pcs | 1 | $9 | [Amazon](https://www.amazon.com/Mr-Pen-Carpenter-Clamp-6inch/dp/B092L925J4/) | 8€ | [Amazon](https://www.amazon.fr/-/en/dp/B08HZ1QRBF/)|
| Screwdriver Set<sup>[3](#myfootnote3)</sup> | 1 | $6 | [Amazon](https://www.amazon.com/Precision-Phillips-Screwdriver-Electronics-Computer/dp/B0DB227RTH) | 7€ | [Amazon](https://www.amazon.fr/-/en/dp/B0BNQBNFFJ/?th=1) |
| Total |---| $127 |---| 123€ |---|
All the parts for the leader or follower are contained in a single file, correctly orientated for z upwards to minimise supports.
## 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.
Set for supports everywhere but ignore slopes greater than 45 degrees to the horizontal.
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: 20%
4. Sample Printers: [Prusa Mini+](https://www.prusa3d.com/product/original-prusa-mini-semi-assembled-3d-printer-4/), [UP Plus 2](https://shop.tiertime.com/product/tiertime-up-plus-2-3d-printer/), [Ender3](https://www.amazon.com/Comgrow-Creality-Ender-Aluminum-220x220x250mm/dp/B07BR3F9N6/).
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](https://youtu.be/dss8E3DG2rA).
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.
There should be no supports in the screw holes with horizontal axes.
## 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](https://www.feetechrc.com/software.html). 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](https://github.com/huggingface/lerobot). To get started, follow the [Getting Started with Real-World Robots Tutorial](https://github.com/huggingface/lerobot/blob/main/examples/7_get_started_with_real_robot.md).
Prints tested in PLA with minimal external layers and 20% infill.
## Assembly
Detailed video instructions are on the [@therobotstudio YouTube channel](https://www.youtube.com/channel/UC7r_cmRhdfrTGcatjX2aIPA).
Print with 0.4mm nozzle at 0.2mm layers or 0.6mm nozzle at 0.4mm layer.
1. Start with the instructions for programming the servos [here](https://youtu.be/fy6Jqq_QaGo?si=xjr0-Jur2sEGA9kf).
2. Next, assemble the arm: [here](https://youtu.be/QkIgxTCq3MY?si=S0YPFFkKXr_Xbh47).
3. Follow along with the full developement process playlist [here](https://www.youtube.com/playlist?list=PLy7gxZH9jzfR0l8fYH8C1nyEc4pxSBrer).
All the screws needed are provided with the servos themselves.
## Other
Join the project with some of the brightest minds in open AI and robotics development on the [discord server](https://discord.gg/ggrqhPTsMe).
These can be fastened with a #0 and a #1 Philips screwdriver - both sizes are standard in common precision screwdriver sets.
For the electrical supply, you will also require a 5v or 12v power supply that can drive 4A, or an adjustable laboratory power supply with leads.
For software, any Windows PC can connect over USB to program the servos and run initial tests.
The list of components and tools to buy, assuming you have filament and a working 3d printer already, is:
* 6 x STS3215 Feetech servos - 7.4v or 12v version
* 1 x Waveshare or Feetech FE-URT adaptor board
* 1 x 5v or 12v power supply unit (PSU) or laboratory power supply with leads.
* 1 x 6 piece precision screwdriver set with #0 and #1 crossheads
Feetech sell the 6 servos plus adaptor board here:
https://www.alibaba.com/product-detail/6PCS-7-4V-STS3215-Servos-for_1600523509006.html?spm=a2747.product_manager.0.0.239671d2ci659e
https://www.alibaba.com/product-detail/6PCS-12V-30KG-STS3215-High-Torque_1601216757543.html?spm=a2747.product_manager.0.0.77a471d201w82i
The Waveshare adaptor board is easier to use than the Feetch FE-URT adaptor board as it is fitted with a standard 5.5mm barrel jack.
https://www.waveshare.com/bus-servo-adapter-a.htm
Detailed video instructions are on the @therobotstudio YouTube channel.
Start with the instructions for programming the servos:
https://youtu.be/fy6Jqq_QaGo?si=xjr0-Jur2sEGA9kf
Then assemble the arm:
https://youtu.be/QkIgxTCq3MY?si=S0YPFFkKXr_Xbh47
There is also a playlist here of the development process: https://www.youtube.com/playlist?list=PLy7gxZH9jzfR0l8fYH8C1nyEc4pxSBrer
The arm is intended for integration with the open source "Le Robot" system being developed by the community at Hugging Face.
Join the project with some of the brightest minds in open AI and robotics development on the discord server at: https://discord.gg/ggrqhPTsMe
Handy URDF viewer here:
https://gkjohnson.github.io/urdf-loaders/javascript/example/bundle/index.html
Check out this Handy [URDF viewer](https://gkjohnson.github.io/urdf-loaders/).
## Footnotes
<a name="myfootnote1">1</a>: 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](https://www.alibaba.com/product-detail/6PCS-12V-30KG-STS3215-High-Torque_1601216757543.html). 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.\
<a name="myfootnote2">2</a>: You can also use an adjustable laboratory power supply with leads.\
<a name="myfootnote3">3</a>: 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.\
<a name="myfootnote4">4</a>: 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB