Difference between revisions of "Component: Kinematics Arm (Mechatronics)"
From Flowcode Help
Jump to navigationJump to searchLine 30: | Line 30: | ||
{{Fcfile|KinematicsArmDemo.fcfx|Kinematics Arm Demo}} | {{Fcfile|KinematicsArmDemo.fcfx|Kinematics Arm Demo}} | ||
+ | |||
+ | |||
==Macro reference== | ==Macro reference== | ||
Line 367: | Line 369: | ||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters | ||
|- | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | d | ||
+ | |- | ||
+ | | colspan="2" | the distance between the previous x-axis and the current x-axis, along the previous z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | Theta | ||
+ | |- | ||
+ | | colspan="2" | the angle around the z-axis between the previous x-axis and the current x-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | a / r | ||
+ | |- | ||
+ | | colspan="2" | the length of the common normal, which is the distance between the previous z-axis and the current z-axis | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | ||
+ | | width="90%" | alpha | ||
+ | |- | ||
+ | | colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-15-icon.png]] |
Revision as of 15:07, 5 December 2023
Author | Matrix TSL |
Version | 1.0 |
Category | Mechatronics |
Contents
Kinematics Arm component
Demonstrates the principals of kinematics using a user configurable robot arm. Provides full simulation of the movements of the arm and the calculations of the axis positions and rotations.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_KinematicsArm.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_KinematicsArm.fcfx
Detailed description
No detailed description exists yet for this component
Examples
Example program showing a six axis robot arm with a gripper, controlled using sliders on the 2d panel.
Macro reference
ForwardKinematics
![]() |
ForwardKinematics |
Uses the current joint angles and positions to calculate the XYZ and rotation of each of the subsequent linking joints. | |
![]() |
Return |
GetJointPosition
![]() |
GetJointPosition |
Gets the XYZ position of the selected joint axis. | |
![]() |
Axis |
Range: 0 to NumAxis-1 where NumAxis-1 = end tool location | |
![]() |
XYZ |
![]() |
Return |
GetJointRotation
![]() |
GetJointRotation |
Gets the XYZ rotation of the selected joint axis. | |
![]() |
Axis |
Range: 0 to NumAxis-1 where NumAxis-1 = end tool location | |
![]() |
XYZ |
![]() |
Return |
SetGripper
![]() |
SetGripper |
Open or close the gripper | |
![]() |
Position |
0=Fully Closed, 255=Fully Open | |
![]() |
Return |
SetJoint
![]() |
SetJoint |
Sets the angle or translation of the specified joint axis. | |
![]() |
Axis |
Range: 0 to NumAxis -1 | |
![]() |
Value |
Angle or dimension | |
![]() |
Type |
0=Absolute, 1=Incremental | |
![]() |
Return |