Difference between revisions of "PUMA THETA Parameters"
(→Theta of DH for PUMA model) |
|||
| 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 function, 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 35: | ||
== Availability == | == Availability == | ||
| − | |||
| − | <!-- [[Category:Mechatronics:AR-series robots]] --> | + | Since version 4.5.15 <!-- [[Category:Mechatronics:AR-series robots]] --> |
| + | |||
[[Category:Motion Control]] | [[Category:Motion Control]] | ||
Revision as of 11:44, 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 function, 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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle theta_i} 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