Difference between revisions of "Component: Kinematics Arm (Mechatronics)"
From Flowcode Help
Jump to navigationJump to searchLine 14: | Line 14: | ||
==Kinematics Arm component== | ==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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Detailed description== | ==Detailed description== | ||
Line 369: | Line 363: | ||
| 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]] | ||
Line 418: | Line 692: | ||
| colspan="2" | | | colspan="2" | | ||
|} | |} | ||
+ | |||
+ | ==Component Source Code== | ||
+ | |||
+ | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_KinematicsArm.fcfx FC_Comp_Source_KinematicsArm.fcfx] | ||
+ | |||
+ | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_KinematicsArm.fcfx FC_Comp_Source_KinematicsArm.fcfx] |
Latest revision as of 11:42, 26 November 2024
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.
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 |
Property reference
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