Difference between revisions of "PUMA THETA Parameters"

From SoftMC-Wiki
Jump to: navigation, search
(→‎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:<br>
+
Same robot position (joint is {0,0,0,0,0,0}) with different THETA values:
  
−
[[File:PUMAZERO.JPG|Zero Theta]] [[File: GRTZERO.JPG | Non zero theta]]
+
[[File:PUMAZERO.JPG|Zero Theta]] [[File:GRTZERO.JPG|Non zero theta]]
−
             
 
  
−
<pre>
+
&nbsp;
−
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 ==
−
Since version 4.5.15
 
  
−
<!-- [[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-Info.svgNOTE
For description of PUMA Denavit Hartenberg parameters please go to: Puma DH
NOTE-Info.svgNOTE
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:

Zero Theta Non zero theta

 

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