lego_2link_arm
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
lego_2link_arm [2019/03/08 06:42] – [LEGO 2-Link Robot Arm Tutorial] ntorresreyes | lego_2link_arm [2019/03/08 07:14] (current) – [Theoretical Background] ntorresreyes | ||
---|---|---|---|
Line 35: | Line 35: | ||
*[[lego_2link_arm# | *[[lego_2link_arm# | ||
*[[lego_2link_arm# | *[[lego_2link_arm# | ||
- | *[[lego_2link_arm# | ||
- | |||
- | |||
====Parts List==== | ====Parts List==== | ||
Line 46: | Line 43: | ||
====Theoretical Background==== | ====Theoretical Background==== | ||
+ | {{: | ||
+ | \\ | ||
The theoretical background needed for this tutorial can be fully covered [[2_link_kinematics|here]]. In short, it covers the kinematics of a 2-link arm using using three different methods: Matrix algebra, Geometry, and computational tools. Additionally, | The theoretical background needed for this tutorial can be fully covered [[2_link_kinematics|here]]. In short, it covers the kinematics of a 2-link arm using using three different methods: Matrix algebra, Geometry, and computational tools. Additionally, | ||
Line 203: | Line 202: | ||
If the code is compiled and uploaded to the brick successfully, | If the code is compiled and uploaded to the brick successfully, | ||
\\ | \\ | ||
- | ===Testing=== | + | ===Testing |
- | The best way to test the arm is to use the studded wall as a reference. When the code is ran, the initial position of the arm is regarded as the zero angle position. With this in mind, it is important to have the arm as level as possible. Testing several points allows you to better see the response of the arm. Friction and slop in the arm will be the biggest factors in accuracy. This is where tuning the parameter | + | The best way to test the arm is to use the studded wall as a reference. When the code is ran, the initial position of the arm is regarded as the zero angle position. With this in mind, it is important to have the arm as level as possible. Testing several points allows you to better see the response of the arm. Friction and slop in the arm will be the biggest factors in accuracy. This is where tuning the parameters |
+ | \\ | ||
+ | < | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | </ | ||
+ | \\ | ||
+ | PosRegEnable() first defines the port (doesn' | ||
+ | \\ | ||
+ | PosRegSetMax() also defines port, maximum full speed, and max acceleration. | ||
+ | \\ | ||
+ | Changing the values will allow you to fine tune the arm. | ||
+ | \\ | ||
====Conclusions==== | ====Conclusions==== | ||
+ | In conclusion, it was found that it is possible to create a successful 2-link robot arm using LEGO and to control the arm using analytical solutions to the inverse kinematics. It is also possible to tune the arm to achieve better accuracy. Possible future iterations may include improving the mechanical stiffness of the arm to reduce the error in the final position. It is also possible to add a third link as an end-effector for practical uses of the arm. These can include various sensors or grippers. Solidworks can also be used to run simulations or test different iterations of the arm. As long as the parts are properly defined, it is possible to obtain moments of inertia and centers of gravity for each link. This can be used for further dynamic calculations. | ||
- | ====Final Words==== |
lego_2link_arm.1552056174.txt.gz · Last modified: 2019/03/08 06:42 by ntorresreyes