Jump to content

Component: Kinematics Arm (Mechatronics): Difference between revisions

From Flowcode Help
No edit summary
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder""
 
(12 intermediate revisions by 3 users not shown)
Line 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.
==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]


==Detailed description==
==Detailed description==
Line 27: Line 21:
==Examples==
==Examples==


Example program showing a siz axis robot arm with a gripper, controlled using sliders on the 2d panel.
Example program showing a six axis robot arm with a gripper, controlled using sliders on the 2d panel.


{{Fcfile|KinematicsArmDemo.fcfx|Kinematics Arm Demo}}
{{Fcfile|KinematicsArmDemo.fcfx|Kinematics Arm Demo}}




Line 35: Line 30:


===ForwardKinematics===
===ForwardKinematics===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ForwardKinematics'''
| width="90%" class="mtx-class-macrohead" | '''ForwardKinematics'''
|-
|-
| colspan="2" | Uses the current joint angles and positions to calculate the XYZ and rotation of  each of the subsequent linking joints. 
| colspan="2" | Uses the current joint angles and positions to calculate the XYZ and rotation of  each of the subsequent linking joints. 
Line 49: Line 44:


===GetJointPosition===
===GetJointPosition===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetJointPosition'''
| width="90%" class="mtx-class-macrohead" | '''GetJointPosition'''
|-
|-
| colspan="2" | Gets the XYZ position of the selected joint axis. 
| colspan="2" | Gets the XYZ position of the selected joint axis. 
Line 60: Line 55:
| width="90%" | Axis
| width="90%" | Axis
|-
|-
| colspan="2" | Range: 0 to NumAxis where NumAxis = end tool location 
| colspan="2" | Range: 0 to NumAxis-1 where NumAxis-1 = end tool location 
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
Line 73: Line 68:


===GetJointRotation===
===GetJointRotation===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetJointRotation'''
| width="90%" class="mtx-class-macrohead" | '''GetJointRotation'''
|-
|-
| colspan="2" | Gets the XYZ rotation of the selected joint axis. 
| colspan="2" | Gets the XYZ rotation of the selected joint axis. 
Line 84: Line 79:
| width="90%" | Axis
| width="90%" | Axis
|-
|-
| colspan="2" | Range: 0 to NumAxis where NumAxis = End tool 
| colspan="2" | Range: 0 to NumAxis-1 where NumAxis-1 = end tool location 
|-
|-
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
| width="10%" align="center" | [[File:Fc9-f32-icon.png]] - FLOAT
Line 97: Line 92:


===SetGripper===
===SetGripper===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetGripper'''
| width="90%" class="mtx-class-macrohead" | '''SetGripper'''
|-
|-
| colspan="2" | Open or close the gripper 
| colspan="2" | Open or close the gripper 
Line 116: Line 111:


===SetJoint===
===SetJoint===
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetJoint'''
| width="90%" class="mtx-class-macrohead" | '''SetJoint'''
|-
|-
| colspan="2" | Sets the angle or translation of the specified joint axis.  
| colspan="2" | Sets the angle or translation of the specified joint axis.  
Line 146: Line 141:
==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis
| width="90%" class="mtx-class-propfolder" | Axis
|-
|-
|-
|-
Line 161: Line 156:
| colspan="2" |  
| colspan="2" |  
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis 0
| width="90%" class="mtx-class-propfolder" | Axis 0
|-
|-
|-
|-
Line 175: Line 170:
| colspan="2" | Specifies the fill colour of the shape 
| colspan="2" | Specifies the fill colour of the shape 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters
| width="90%" class="mtx-class-propfolder" | DH Parameters
|-
|-
|-
|-
Line 199: Line 194:
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis 1
| width="90%" class="mtx-class-propfolder" | Axis 1
|-
|-
|-
|-
Line 213: Line 208:
| colspan="2" | Specifies the fill colour of the shape 
| colspan="2" | Specifies the fill colour of the shape 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters
| width="90%" class="mtx-class-propfolder" | DH Parameters
|-
|-
|-
|-
Line 237: Line 232:
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis 2
| width="90%" class="mtx-class-propfolder" | Axis 2
|-
|-
|-
|-
Line 251: Line 246:
| colspan="2" | Specifies the fill colour of the shape 
| colspan="2" | Specifies the fill colour of the shape 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters
| width="90%" class="mtx-class-propfolder" | DH Parameters
|-
|-
|-
|-
Line 275: Line 270:
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis 3
| width="90%" class="mtx-class-propfolder" | Axis 3
|-
|-
|-
|-
Line 289: Line 284:
| colspan="2" | Specifies the fill colour of the shape 
| colspan="2" | Specifies the fill colour of the shape 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters
| width="90%" class="mtx-class-propfolder" | DH Parameters
|-
|-
|-
|-
Line 313: Line 308:
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis 4
| width="90%" class="mtx-class-propfolder" | Axis 4
|-
|-
|-
|-
Line 327: Line 322:
| colspan="2" | Specifies the fill colour of the shape 
| colspan="2" | Specifies the fill colour of the shape 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters
| width="90%" class="mtx-class-propfolder" | DH Parameters
|-
|-
|-
|-
Line 351: Line 346:
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Axis 5
| width="90%" class="mtx-class-propfolder" | Axis 5
|-
|-
|-
|-
Line 365: Line 360:
| colspan="2" | Specifies the fill colour of the shape 
| colspan="2" | Specifies the fill colour of the shape 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | DH Parameters
| width="90%" class="mtx-class-propfolder" | DH Parameters
|-
|-
|-
|-
Line 669: Line 664:
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
| colspan="2" | the angle around the common normal to between the previous z-axis and current z-axis 
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Gripper
| width="90%" class="mtx-class-propfolder" | Gripper
|-
|-
|-
|-
Line 683: Line 678:
| colspan="2" |  
| colspan="2" |  
|-
|-
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]]
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Link Mechanics
| width="90%" class="mtx-class-propfolder" | Link Mechanics
|-
|-
|-
|-
Line 697: 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 14:37, 13 July 2026

Author Matrix TSL
Version 1.0
Category Mechatronics


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.

Kinematics Arm Demo


Macro reference

ForwardKinematics

ForwardKinematics
Uses the current joint angles and positions to calculate the XYZ and rotation of each of the subsequent linking joints. 
- VOID Return


GetJointPosition

GetJointPosition
Gets the XYZ position of the selected joint axis. 
- BYTE Axis
Range: 0 to NumAxis-1 where NumAxis-1 = end tool location 
- FLOAT XYZ
 
- VOID Return


GetJointRotation

GetJointRotation
Gets the XYZ rotation of the selected joint axis. 
- BYTE Axis
Range: 0 to NumAxis-1 where NumAxis-1 = end tool location 
- FLOAT XYZ
 
- VOID Return


SetGripper

SetGripper
Open or close the gripper 
- BYTE Position
0=Fully Closed, 255=Fully Open 
- VOID Return


SetJoint

SetJoint
Sets the angle or translation of the specified joint axis.  
- BYTE Axis
Range: 0 to NumAxis -1 
- FLOAT Value
Angle or dimension 
- BOOL Type
0=Absolute, 1=Incremental 
- VOID Return


Property reference

Properties
Axis
Number of axis
 
Axis 0
Axis Type
Sets the movement type of the axis 
Colour
Specifies the fill colour of the shape 
DH Parameters
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
Axis 1
Axis Type
Sets the movement type of the axis 
Colour
Specifies the fill colour of the shape 
DH Parameters
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
Axis 2
Axis Type
Sets the movement type of the axis 
Colour
Specifies the fill colour of the shape 
DH Parameters
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
Axis 3
Axis Type
Sets the movement type of the axis 
Colour
Specifies the fill colour of the shape 
DH Parameters
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
Axis 4
Axis Type
Sets the movement type of the axis 
Colour
Specifies the fill colour of the shape 
DH Parameters
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
Axis 5
Axis Type
Sets the movement type of the axis 
Colour
Specifies the fill colour of the shape 
DH Parameters
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
d
the distance between the previous x-axis and the current x-axis, along the previous z-axis 
Theta
the angle around the z-axis between the previous x-axis and the current x-axis 
a / r
the length of the common normal, which is the distance between the previous z-axis and the current z-axis 
alpha
the angle around the common normal to between the previous z-axis and current z-axis 
Gripper
Show Gripper
 
Colour
 
Link Mechanics
Show Links
Determines if the links between axis are shown. 
Link Colour
 

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