Skip to content
Binary file added assets/images/Pen Mount Drawing new dim v2.pdf
Binary file not shown.
Binary file added assets/images/config_1_params_zero_hand_in_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/link4_hand_in1_front.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/link4_hand_in_1_back.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/link4_hand_in_1_back_marked.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 32 additions & 23 deletions docs/Hand-ins/hand_in_1.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,47 +5,56 @@ parent: Hand-ins
nav_order: 1
---

# Hand-in 1: Design First Part of Robot
# Hand-in 1: Design Last Link of Robot
{: .d-inline-block }
Individual
{: .label .label-blue }
In this hand-in you are going to **design and 3D print the first part of your robot** -- the robot's base. The base connects the base plate to the first joint.
In this hand-in you are going to **design and 3D print the first robot part** -- the last link of the robot arm. We start with the outermost link because this is common design practice. Once the outer links and end-effector are known, the lower links can be designed based on the loads caused by everything further out in the kinematic chain.

## Design Constraints
Design the base such that it fits the M6 mounting holes in the 150mm square pattern on [base plate](https://frdedynamics.github.io/ADA526/docs/project.html#base-plate).
You are designing link 4 of the robot arm, the last link before the end effector. In the kinematic model, this is the short link connected to joint 5. In the physical robot, the last joint axis points downwards when the robot is in its home configuration. During movement, this axis can of course point in other directions. This means that one side of your link must mount to the Dynamixel servo horn, with the horn facing down in the home configuration.

<a href="../../assets/images/mounting_square_sketch.png" width="330">
<img
src="../../assets/images/mounting_square_sketch.png" width="330">
</a>
<p float="center">
<img src="../../assets/images/config_1_params_zero_hand_in_1.png" width="330" />
<img src="../../assets/images/link4_hand_in1_front.png" width="330" />
</p>

The base must also feature an attachment for the first Dynamixel motor (XM430-W350-T) with the rotational axis pointing upwards in the center of the mounting square.
Checkout [this section](https://emanual.robotis.com/docs/en/dxl/x/xm430-w350/#custom-frame-assembly) in the Dynamixel manual to see how you can fasten the motor.
The side tabs on the motor have M2.5 threads. The side tabs have a max depth of 3mm, screwing in anything deeper can destroy the motors! Thus, make sure your design is geared to the screws we have available. We have M2.5 screws ([DIN912](https://www.mcmaster.com/products/socket-head-cap-screws/specifications-met~din-912/18-8-stainless-steel-socket-head-screws-11/thread-size~m2-5/threading~fully-threaded/)) of length 8mm, 10mm and 20mm.
Think also about the tolerances of the 3D printer when designing the attachment for the motor. It is often a good idea to make attachments that do not over-constrain the motor too much, and/or to add some tolerance to the attachment instead of working with the motor's exact dimensions. You are aiming for a snug fit, not a press fit -- screws will hold the motor in place.
Keep in mind that printing large flat surfaces can be challenging and often leads to warping.
On the other side of the link, you must provide the mounting holes for the pen mount that will be used in the [competition](../project#competition). The marked figure below shows the part you are designing. Apart from the mounting flanges/interfaces on both sides, you are free to design the link between them.

The technical drawings of the motors as well as CAD-models, can be found in the [Drawings](https://emanual.robotis.com/docs/en/dxl/x/xm430-w350/#drawings) section. For importing the CAD files, download the ```.stp```- file and upload it into your Fusion project.
<img src="../../assets/images/link4_hand_in_1_back_marked.png" width="500" />

Remember that your base can consist of multiple parts.
## Dynamixel Horn Mounting
For this hand-in, your link mounts to the servo horn, not to the side tabs of the motor. The horn side of your link should be designed such that the last joint axis points down in the home configuration, as shown in the figures above.

<p float="center">
<img src="../../assets/images/example_base.png" width="330" />
<img src="../../assets/images/example_base_2.png" width="330" />
</p>
_Examples of base designs. Feel free to completely deviate from them._
The servo horn has 8 M2 threaded holes, evenly spaced on a 16mm diameter circle. The maximum screw-in depth is 2mm. The mounting hub in the center of the horn has a diameter of 8mm and must be spared out in your link design.

Think also about the tolerances of the 3D printer when designing the horn attachment. You are aiming for a snug fit, not a press fit -- screws will hold the link in place.

The technical drawing and CAD model of the XM430-W350-T can be downloaded directly below. For importing the CAD file into Fusion, download the `.stp` file and upload it into your Fusion project.

[XM430-W350-T Drawing PDF](http://www.robotis.com/service/download.php?no=157){: .btn .btn-blue}
[XM430-W350-T STEP Model](http://www.robotis.com/service/download.php?no=158){: .btn .btn-blue}

## Pen Mount Interface
The pen mount is the end-effector used in the competition. Your link must provide the mounting holes for this pen mount on the opposite side from the servo horn. Use the drawing below to place the holes correctly.

[Download Pen Mount](../../assets/cad/pen_mount.f3d){: .btn .btn-blue}

<object data="../../assets/images/Pen Mount Drawing new dim v2.pdf" type="application/pdf" width="800px" height="550px">
<embed src="../../assets/images/Pen Mount Drawing new dim v2.pdf">
<p>This browser does not support PDFs. Please download the PDF to view it: <a href="../../assets/images/Pen Mount Drawing new dim v2.pdf">Download PDF</a>.</p>
</embed>
</object>

## Deliverables
You have to submit:
- .f3z file of your Fusion project (in Fusion: ```File > Export > *.f3d```)
- .3mf file of your Bambu Studio slicer project (in Bambu Studio: ```File > Save Project As...```)
- one din4 page where you reflect your design process (**max. 300 words**). For example, describe the idea behind your design and how you did get from constraints to finished design, considerations you made, things you learned underway. Include a screenshot of your design in Fusion, and a photo of the 3D printed base with the motor sitting in its attachment. Submit the page in .pdf format.
- one din4 page where you reflect your design process (**max. 300 words**). For example, describe the idea behind your design and how you did get from constraints to finished design, considerations you made, things you learned underway. Include a screenshot of your design in Fusion, and a photo of the 3D printed link. Submit the page in .pdf format.

You have to print your base to take a photo, but you don't have to submit the physical part. If you have questions or issues with printing, please contact us on Discord.
You have to print your link to take a photo, but you don't have to submit the physical part. If you have questions or issues with printing, please contact us on Discord.



**Deadline: TBA**
**Deadline: Check Canvas**
**Submit files on Canvas. This is an individual hand-in.**

30 changes: 27 additions & 3 deletions docs/How-to Guides/mechanical_design.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,24 @@ Evolution has optimized the structure of bones to be as stiff as possible while
Some notes on the design of the joints.

### Robot Base
The first joint of your robot has a vertical rotation axis, but it also has to carry the weight of the entire robot. The weight of the links, motors and payload causes high torques perpendicular to the joint axis. Therefore, you have to think carefully about how the base supports these torques. Any unwanted movement in the base joint will be amplified by the kinematic chain and result in a large deviation of the end-effector position. For this reason, commercial robot joints usually use bearings with large diameters around the joint axis. This makes the joint stiff against tilting moments, but precision bearings in these dimensions are very expensive.
The robot base connects the standardized base plate to the first joint. It must fit the M6 mounting holes in the 150mm square pattern on the [base plate](../project#base-plate). This is a design constraint that your base has to follow. The first joint motor should have its rotational axis pointing upwards in the center of this mounting square. Remember that your base can consist of multiple parts. Keep in mind that printing large flat surfaces can be challenging and often leads to warping.

Common bearing choices for this type of load are [slewing bearings or crossed roller bearings](https://pibsales.com/bearings/robotic-bearing-systems/). Slewing bearings are characterized by wide rings, and are commonly used to support heavy but slow-turning loads with large tilting moments.
<a href="../../assets/images/mounting_square_sketch.png" width="330">
<img
src="../../assets/images/mounting_square_sketch.png" width="330">
</a>

However, bearings with rollers are difficult to fabricate ourselves. 3D-printed versions exist, for example this [parametric slewing bearing design](https://www.instructables.com/Create-a-Parametric-3d-printable-Slew-Bearing-With/), which lets you modify the dimensions to fit your design. However, it is difficult to achieve a stiff bearing that still rotates well with 3D-printed races and rollers.
Even though the base is a part of the robot that does not move, it is mechanically very important. The first joint of your robot has a vertical rotation axis, but it also has to carry the weight of the entire robot. The weight of the links, motors and payload causes high torques perpendicular to the joint axis. Therefore, you have to think carefully about how the base supports these torques. Any unwanted movement in the base joint will be amplified by the kinematic chain and result in a large deviation of the end-effector position.

For this reason, commercial robot joints usually use bearings with large diameters around the joint axis. This makes the joint stiff against tilting moments, but precision bearings in these dimensions are very expensive. This [cutaway example of a commercial robotic bearing system](https://pibsales.com/bearings/robotic-bearing-systems/) gives an impression of how much of a robot joint can be bearing and support structure.

Common bearing choices for this type of load are [slewing bearings](https://en.wikipedia.org/wiki/Slewing_bearing) or [crossed roller bearings](https://www.schaeffler.us/us/products-and-solutions/industrial/product-portfolio/rolling_and_plain_bearings/crossed_roller_bearings/). Slewing bearings are characterized by wide rings, and are commonly used to support heavy but slow-turning loads with large tilting moments.

In this course, we usually have to fabricate the bearing support ourselves. See [Fabricating Bearings](#fabricating-bearings) for some approaches that are more realistic with 3D-printed parts.

## Fabricating Bearings

Bearings with rollers are difficult to fabricate ourselves. 3D-printed versions exist, for example this [parametric slewing bearing design](https://www.instructables.com/Create-a-Parametric-3d-printable-Slew-Bearing-With/), which lets you modify the dimensions to fit your design. However, it is difficult to achieve a stiff bearing that still rotates well with 3D-printed races and rollers.

[Download Slewing Bearing](https://content.instructables.com/F7B/FGGK/J3OPQDLL/F7BFGGKJ3OPQDLL.f3d){: .btn .btn-blue}

Expand All @@ -53,6 +66,17 @@ Because of these manufacturing constraints, it can be more attractive to make V-

<iframe width="560" height="315" src="https://www.youtube.com/embed/NIIVZcgJWPs" title="3D printed bearing example" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

## Mounting Dynamixel Motors

When mounting printed parts to Dynamixel motors, check the [custom frame assembly](https://emanual.robotis.com/docs/en/dxl/x/xm430-w350/#custom-frame-assembly) section in the Dynamixel manual. The side tabs on the XM430-W350-T have M2.5 threads with a maximum depth of 3mm. Screwing anything deeper into the tabs can destroy the motor. We have M2.5 screws ([DIN912](https://www.mcmaster.com/products/socket-head-cap-screws/specifications-met~din-912/18-8-stainless-steel-socket-head-screws-11/thread-size~m2-5/threading~fully-threaded/)) of length 8mm, 10mm and 20mm, so make sure your design fits the screws we have available.

Think also about the tolerances of the 3D printer when designing motor attachments. It is often a good idea to avoid over-constraining the motor too much, and/or to add some tolerance to the attachment instead of working with the motor's exact dimensions. You are aiming for a snug fit, not a press fit -- screws will hold the motor in place.

The technical drawings of the motors as well as CAD-models can be found in the Drawings section of the Dynamixel manuals. For importing the CAD files into Fusion, download the `.stp` file and upload it into your Fusion project.

[XM430-W350-T Drawings](https://emanual.robotis.com/docs/en/dxl/x/xm430-w350/#drawings){: .btn .btn-blue}
[XM540-W150-T Drawings](https://emanual.robotis.com/docs/en/dxl/x/xm540-w150/#drawings){: .btn .btn-blue}

## End Effector
### Pen Mount
This is the pen mount we are going to use in [Challenge 1](../project#challenge-1-precision-and-accuracy). Please print it yourself and assemble it. The pen is clamped with M2.5 screws which are directly screwed into the plastic. The weight attachment requires a M3 screw across, which is also directly screwed into the plastic. The weight attachment and the pen holder are held together and mounted to your robot with four M3 screws in a 30x7mm rectangular pattern. The pen holder is designed for [BIC Cristal](https://en.wikipedia.org/wiki/Bic_Cristal) pens.
Expand Down
5 changes: 3 additions & 2 deletions docs/project.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,8 @@ A lift counts as failed if the payload is not lifted and held above the required


## Base Plate
Each group gets a standardized base plate for mounting the robot on. The mounting holes for the robot are in a 150mm square pattern, M6 screws will be inserted from the bottom of the plate. The plate will also be used as the arena for the competition at the end of the semester. Therefore, it is important that the robot can reach all the corners of the plate.
Each group gets a standardized base plate for mounting the robot on. The mounting holes for the robot are in a 150mm square pattern, M6 screws will be inserted from the bottom of the plate. Fitting these mounting holes is a design constraint for the robot base. The plate will also be used as the arena for the competition at the end of the semester. Therefore, it is important that the robot can reach all the corners of the plate.

[Download Base Plate](https://a360.co/45MN0mZ){: .btn .btn-blue}
<iframe src="https://myhvl14.autodesk360.com/shares/public/SH512d4QTec90decfa6e3b9f03e7d311b26e?mode=embed" width="640" height="480" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" frameborder="0"></iframe>

Expand Down Expand Up @@ -196,4 +197,4 @@ Camera data will be streamed into the ROS network and used to generate commands
The central hub for data processing is your own PC running a virtual machine with Ubuntu 20.04. Motors and cameras are connected to your PC, or rather the VM, by USB. Sensor inputs and motor commands as well as computer vision data are exchanged via the ROS2 middleware.
Just Fusion 360 for CAD and Bambu Studio for preparing 3D-prints are running on your host system.

![System Architecture](../assets/images/system_architecture.png)
![System Architecture](../assets/images/system_architecture.png)