Difference between revisions of "PUMA THETA Parameters"

From SoftMC-Wiki
Jump to: navigation, search
(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:<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 36:
  
 
== 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]]

Latest revision as of 11:45, 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 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:

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 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