Difference between revisions of "PUMA THETA Parameters"
(→Theta of DH for PUMA model) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | |||
== Theta of DH for PUMA model == | == Theta of DH for PUMA model == | ||
− | |||
{{Note| For description of PUMA Denavit Hartenberg parameters please go to: '''[[PUMA_robot#Geometric.2C_Denavit-Hartenberg_.28DH.29_parameters_of_the_PUMA_robot| Puma DH]]'''}} | {{Note| For description of PUMA Denavit Hartenberg parameters please go to: '''[[PUMA_robot#Geometric.2C_Denavit-Hartenberg_.28DH.29_parameters_of_the_PUMA_robot| Puma DH]]'''}} | ||
+ | {{Note | No need for user functions (PUMA_SET_THETA/PUMA_GET_THETA), you can use directly '''[[MC-Basic:robot.ThetaOffset | ThetaOffset]]''' property}} | ||
− | + | | |
Theta parameter was added for PUMA kinematics model, to support user-defined zero joint position ( {0,0,0,0,0,0} ) independently of robot actual pose. | Theta parameter was added for PUMA kinematics model, to support user-defined zero joint position ( {0,0,0,0,0,0} ) independently of robot actual pose. | ||
− | Same robot position (joint is {0,0,0,0,0,0}) with different THETA values: | + | Same robot position (joint is {0,0,0,0,0,0}) with different THETA values: |
− | [[File:PUMAZERO.JPG|Zero Theta]] | + | [[File:PUMAZERO.JPG|Zero Theta]] [[File:GRTZERO.JPG|Non zero theta]] |
− | |||
− | <pre> | + | |
− | double PUMA_GET_THETA(int hndl, int i); | + | <pre>double PUMA_GET_THETA(int hndl, int i); |
double PUMA_SET_THETA(int hndl,int i, double value); | double PUMA_SET_THETA(int hndl,int i, double value); | ||
</pre> | </pre> | ||
Remember to add in your PROTO.PRO file: | Remember to add in your PROTO.PRO file: | ||
− | <pre> | + | <pre>import_c PUMA_GET_THETA(byval as long, byval as long) as double |
− | import_c PUMA_GET_THETA(byval as long, byval as long) as double | ||
import_c PUMA_SET_THETA(byval as long, byval as long,byval as double) as double | import_c PUMA_SET_THETA(byval as long, byval as long,byval as double) as double | ||
</pre> | </pre> | ||
== Algorithm == | == Algorithm == | ||
+ | |||
Basically the <math>theta_i</math> values are added in IK and DK to each of joint angle values. | Basically the <math>theta_i</math> values are added in IK and DK to each of joint angle values. | ||
== Return Value == | == Return Value == | ||
+ | |||
If an error occurs (non-PUMA model or invalid index) both functions return -1 | If an error occurs (non-PUMA model or invalid index) both functions return -1 | ||
Line 34: | Line 36: | ||
== Availability == | == Availability == | ||
− | |||
− | <!-- [[Category:Mechatronics:AR-series robots]] --> | + | Since version 4.5.15 <!-- [[Category:Mechatronics:AR-series robots]] --> |
+ | |||
[[Category:Motion Control]] | [[Category:Motion Control]] |
Latest revision as of 11:45, 15 December 2020
Theta of DH for PUMA model
NOTE | |
For description of PUMA Denavit Hartenberg parameters please go to: Puma DH |
NOTE | |
No need for user functions (PUMA_SET_THETA/PUMA_GET_THETA), you can use directly ThetaOffset property |
Theta parameter was added for PUMA kinematics model, to support user-defined zero joint position ( {0,0,0,0,0,0} ) independently of robot actual pose.
Same robot position (joint is {0,0,0,0,0,0}) with different THETA values:
double PUMA_GET_THETA(int hndl, int i); double PUMA_SET_THETA(int hndl,int i, double value);
Remember to add in your PROTO.PRO file:
import_c PUMA_GET_THETA(byval as long, byval as long) as double import_c PUMA_SET_THETA(byval as long, byval as long,byval as double) as double
Algorithm
Basically the values are added in IK and DK to each of joint angle values.
Return Value
If an error occurs (non-PUMA model or invalid index) both functions return -1
If everything is OK, PUMA_SET_THETA returns 1
Availability
Since version 4.5.15