Difference between revisions of "PUMA robot"
Line 1: | Line 1: | ||
− | |||
− | |||
− | The PUMA robot is a six – degrees of freedom articulated robot of the following joints: | + | {{Languages|PUMA_robot}} = PUMA robot model = The PUMA robot is a six – degrees of freedom articulated robot of the following joints: [[File:AXY;Puma.png|RTENOTITLE]] Coupling In Staubli RX robot family there is a mechanical coupling between axes 5 and 6. The coupling matrix of the robot is defined by: |
− | + | <center><math>C = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & -1 & 1 \\ \end{bmatrix}</math></center> | |
− | [[File:AXY;Puma.png|RTENOTITLE]] | + | == RX90 Work-Space == <gallery heights="300px" widths="300px">Image:AXY;PumaFromAbove.png | Puma work-space from above Image:AXY;PumaFromSide.png| Puma work-space from aside Image:AXY;PumaLeftyRightyCfg.png | Puma Lefty-Righty configurations </gallery> The PUMA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user: *RMAX – maximum radius of a cartesian point (<math>\sqrt{(x^2+y^2+z^2)}</math>), no points beyond this radius are allowed. *RMIN - smallest radius of a cartesian point (<math>\sqrt{(x^2+y^2+z^2)}</math>). No points inside this radius are allowed. *ZMIN – '''z''' coordinate of the robot base plane. No points below this plane are allowed. == Robot configurations == Every robot location can be achieved in at least 8 different joint positions (the number can be greater counting also different joint positions obtained by changing joint angles for full revolutions (360 degrees)). Different joint coordinates of one location are called '''robot configurations'''. The PUMA robot configurations are defined by three flags: '''arm''', '''elbow''' and '''wrist'''. Each flag has its command and feedback value: '''acmd/afbk, ecmd/efbk, wcmd/wfbk'''. Command values (acmd, ecmd, efbk) describe the given target point configuration of a movement (can be both nodal and modal). The feedback values (afbk, efbk, wfbk) represent the current robot configuration (pfb – values), and these are read-only flags. The '''arm''' flag defines LEFTY or RIGHTY configurations according: ---- '''RIGHTY''' – positive jont-2 moves the wrist in '''''positive''''' WORLD Z direction while joint-3 is not activated '''LEFTY'''– positive jont-2 moves the wrist in '''''negative''''' WORLD Z direction while joint-3 is not activated The '''elbow''' flag defines ABOVE or BELOW configurations according: ---- '''ABOVE''' - position of the wrist of the <math>\begin{Bmatrix} RIGHTY \\ LEFTY \end{Bmatrix}</math> arm with respect to the shoulder coordinate system has <math>\begin{Bmatrix} negative\\ positive \end{Bmatrix}</math>coordinate value along the Y axis of the second segment '''BELOW''' - position of the wrist of the <math>\begin{Bmatrix} RIGHTY \\ LEFTY \end{Bmatrix}</math> arm with respect to the shoulder coordinate system has <math>\begin{Bmatrix} positive \\ negative \end{Bmatrix}</math>coordinate value along the Y axis of the second segment The '''wrist''' flag defines FLIP or NOFLIP configuration according: --- '''FLIP''' – value of joint 5 is negative '''NOFLIP''' – value of joint 5 is positive Command configuration flags of PUMA robot and their influence on motion are given by: {| border="1" style="border-spacing:0;" |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | Flag(shortname) | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | + | <center>'''0 (auto)'''</center> | |
− | Coupling | + | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | + | <center>'''1'''</center> | |
− | In Staubli RX robot family there is a mechanical coupling between axes 5 and 6. The coupling matrix of the robot is defined by: | + | | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | <center> | + | <center>'''2'''</center> |
− | <math> | + | |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | '''ArmCmd (acmd)''' | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | C = \begin{bmatrix} | + | <center>Keep the current configuration or choose the closest joint-target.</center> |
− | 1 & 0 & 0 & 0 & 0 & 0 \\ | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | 0 & 1 & 0 & 0 & 0 & 0 \\ | + | <center>Joint-target is LEFTY</center> |
− | 0 & 0 & 1 & 0 & 0 & 0 \\ | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | 0 & 0 & 0 & 1 & 0 & 0 \\ | + | <center>Joint-target is RIGHTY</center> |
− | 0 & 0 & 0 & 0 & 1 & 0 \\ | + | |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | '''ElbowCmd (ecmd)''' | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | 0 & 0 & 0 & 0 & -1 & 1 \\ | + | <center>Keep the current configuration or choose the closest joint-target.</center> |
− | \end{bmatrix} | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | </math> | + | <center>Joint-target is BELOW</center> |
− | </center> | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | == RX90 Work-Space == | + | <center>Joint-target is ABOVE</center> |
− | + | |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | '''WristCmd (wcmd)''' | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | | |
− | <gallery heights="300px" widths="300px"> | + | <center>Keep the current configuration or choose the closest joint-target.</center> |
− | Image:AXY;PumaFromAbove.png | Puma work-space from above | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | Image:AXY;PumaFromSide.png| Puma work-space from aside | + | <center>Joint-target is NOFLIP</center> |
− | Image:AXY;PumaLeftyRightyCfg.png | Puma Lefty-Righty configurations | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | </gallery> | + | <center>Joint-target is FLIP</center> |
− | + | |} == Singular points == Singular points are joint points where robot configurations can not be determined, these are robot positions where a small difference in one of the joint angles introduce change in robot configuration. Looking from the other side, from the WORLD-space coordinates. In the vicinities of these points, small changes in location coordinates can introduce big changes in joint coordinates. Therefore moving in cartesian-interpolated mode (MOVES, PASS-THROUGH, CIRCLE) through these points can result in strong increase of joint velocities. {{Note/Warning| Note that non-zero a3 parameter change position of singularity. '''See: [[Elbow_Singularity_of_PUMA_robots| Elbow_Singularity_of_PUMA_robots ]]''' }} == Typical RX90 poses == <gallery heights="300px" widths="300px">Image:AXY;RX90ready.png|thumb|Configuration of the robot at the "ready position" Joint: {0, -90, 0, 0, 0, 0} Cartesian: <nowiki>#{0 , 0 , 985 , 0 , 0 , 0}</nowiki> Image:AXY;PumaNull.png|thumb|Configuration of the robot at the "zero position"Joint: {0,0,0,0,0,0}:Cartesian: <nowiki>#{450, 0 , 535, 0, 0, 0}</nowiki> Image:AXY;PumaLeftyRighty.png|thumb|LEFTY and RIGHTY configurations of same point: joint: {0,45,135,0,90,0} joint: {180,135,45,0,-90,-180}cartesian: #{233,0,-768,-180,90,180} cartesian: #{233,0,-768,180,90,-180} Image:AXY;PumaReady.png|thumb|joint: {0,-90, 90,0,90,0} joint: {0,-90, 90,90,90,0} cartesian: #{85, 0, 900,0, 90, 0} cartesian: #{0,85,900,90,90,0} </gallery> == Puma DH (Geometric, Denavit-Hartenberg (DH) parameters of the PUMA robot) == Usually in robotics DH parameters are used to describe the robot geometry. We are using the following definition of DH parameters: *θ<sub>i</sub> is the joint angel from the '''x'''<sub>i-1 </sub>axis to the '''x'''<sub>i</sub> axis about the '''z'''<sub>i-1</sub> axis (using the right-hand rule). *α<sub>i</sub> is the offset angle from '''z'''<sub>i-1</sub> axis to the '''z'''<sub>i</sub> axis about '''x'''<sub>i</sub> axis (using the right hand rule). *a<sub>i</sub> is the offset distance from the intersection of the '''z'''<sub>i-1</sub> axis with the '''x'''<sub>i</sub> axis to the origin of the ''i''th frame along '''x'''<sub>i</sub> axis (or the shortest distance between the '''z'''<sub>i-1</sub> and '''z'''<sub>I</sub> axes). *d<sub>i</sub> is the distance from the origin of the ''(i-1)''th coordinate frame to the intersection of the '''z'''<sub>i-1</sub> axis with the '''x'''<sub>i</sub> axis along '''z'''<sub>i-1</sub> axis. [[File:AXY;PumaDH.png|RTENOTITLE]][[File:DHPUMA.JPG|RTENOTITLE]] For RX90 family of Staubli robots we have: {| border="1" style="border-spacing:0;" |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | | |
− | The PUMA WORLD workspace is limited by joint limits and the following auxiliary cartesian boundaries, available for the user: | + | <center>DH parameter</center> |
− | + | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | | |
− | *RMAX – maximum radius of a cartesian point (<math>\sqrt{(x^2+y^2+z^2)}</math>), no points beyond this radius are allowed. | + | <center>MC-Basic property name</center> |
− | *RMIN - smallest radius of a cartesian point (<math>\sqrt{(x^2+y^2+z^2)}</math>). No points inside this radius are allowed. | + | | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | |
− | *ZMIN – '''z''' coordinate of the robot base plane. No points below this plane are allowed. | + | <center>Value in mm</center> |
− | + | |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | | |
− | == Robot configurations == | + | <center>d2</center> |
− | + | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | | |
− | Every robot location can be achieved in at least 8 different joint positions (the number can be greater counting also different joint positions obtained by changing joint angles for full revolutions (360 degrees)). Different joint coordinates of one location are called '''robot configurations'''. The PUMA robot configurations are defined by three flags: '''arm''', '''elbow''' and '''wrist'''. Each flag has its command and feedback value: '''acmd/afbk, ecmd/efbk, wcmd/wfbk'''. Command values (acmd, ecmd, efbk) describe the given target point configuration of a movement (can be both nodal and modal). The feedback values (afbk, efbk, wfbk) represent the current robot configuration (pfb – values), and these are read-only flags. | + | <center><nowiki><robot>.link[1][1]</robot></nowiki> |
− | + | </center> <robot>| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>a1</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki><robot>.link[1][2]</robot></nowiki> | |
− | The '''arm''' flag defines LEFTY or RIGHTY configurations according: | + | </center> <robot>| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>a2</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[2][1]</nowiki> |
− | + | </center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>450</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>a3</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[3][1]</nowiki> | |
− | ---- | + | </center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>d4</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[4][1]</nowiki> |
− | + | </center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>450</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>d6</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[6][3]</nowiki> | |
− | '''RIGHTY''' – positive jont-2 moves the wrist in '''''positive''''' WORLD Z direction while joint-3 is not activated | + | </center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>85</center> |} The above parameters of '''link''' matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. Note that only the above set of parameters affects the robot geometry, the rest of the <nowiki>link[][]</nowiki> |
− | |||
− | '''LEFTY'''– positive jont-2 moves the wrist in '''''negative''''' WORLD Z direction while joint-3 is not activated | ||
− | |||
− | The '''elbow''' flag defines ABOVE or BELOW configurations according: | ||
− | |||
− | ---- | ||
− | |||
− | '''ABOVE''' - position of the wrist of the <math>\begin{Bmatrix} RIGHTY \\ LEFTY \end{Bmatrix}</math> arm with respect to the shoulder coordinate system has <math>\begin{Bmatrix} negative\\ positive \end{Bmatrix}</math>coordinate value along the Y axis of the second segment | ||
− | |||
− | '''BELOW''' - position of the wrist of the <math>\begin{Bmatrix} RIGHTY \\ LEFTY \end{Bmatrix}</math> arm with respect to the shoulder coordinate system has <math>\begin{Bmatrix} positive \\ negative \end{Bmatrix}</math>coordinate value along the Y axis of the second segment | ||
− | |||
− | The '''wrist''' flag defines FLIP or NOFLIP configuration according: --- | ||
− | |||
− | '''FLIP''' – value of joint 5 is negative | ||
− | |||
− | '''NOFLIP''' – value of joint 5 is positive | ||
− | |||
− | Command configuration flags of PUMA robot and their influence on motion are given by: | ||
− | |||
− | | ||
− | |||
− | {| border="1" style="border-spacing:0;" | ||
− | |- | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | Flag(shortname) | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>'''0 (auto)'''</center> | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>'''1'''</center> | ||
− | | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>'''2'''</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | '''ArmCmd (acmd)''' | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Keep the current configuration or choose the closest joint-target.</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint-target is LEFTY</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint-target is RIGHTY</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | '''ElbowCmd (ecmd)''' | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Keep the current configuration or choose the closest joint-target.</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint-target is BELOW</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint-target is ABOVE</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | '''WristCmd (wcmd)''' | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Keep the current configuration or choose the closest joint-target.</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint-target is NOFLIP</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint-target is FLIP</center> | ||
− | |} | ||
− | |||
− | |||
− | |||
− | Singular points are joint points where robot configurations can not be determined, these are robot positions where a small difference in one of the joint angles introduce change in robot configuration. | ||
− | |||
− | Looking from the other side, from the WORLD-space coordinates. In the vicinities of these points, small changes in location coordinates can introduce big changes in joint coordinates. Therefore moving in cartesian-interpolated mode (MOVES, PASS-THROUGH, CIRCLE) through these points can result in strong increase of joint velocities. | ||
− | |||
− | {{Note/Warning| Note that non-zero a3 parameter change position of singularity. '''See: [[Elbow_Singularity_of_PUMA_robots| Elbow_Singularity_of_PUMA_robots ]]''' }} | ||
− | |||
− | == Typical RX90 poses == | ||
− | |||
− | <gallery heights="300px" widths="300px"> | ||
− | Image:AXY;RX90ready.png|thumb|Configuration of the robot at the "ready position" Joint: {0, -90, 0, 0, 0, 0} Cartesian: <nowiki>#{0 , 0 , 985 , 0 , 0 , 0}</nowiki> | ||
− | Image:AXY;PumaNull.png|thumb|Configuration of the robot at the "zero position"Joint: {0,0,0,0,0,0}:Cartesian: <nowiki>#{450, 0 , 535, 0, 0, 0}</nowiki> | ||
− | Image:AXY;PumaLeftyRighty.png|thumb|LEFTY and RIGHTY configurations of same point: joint: {0,45,135,0,90,0} joint: {180,135,45,0,-90,-180}cartesian: #{233,0,-768,-180,90,180} cartesian: #{233,0,-768,180,90,-180} | ||
− | Image:AXY;PumaReady.png|thumb|joint: {0,-90, 90,0,90,0} joint: {0,-90, 90,90,90,0} cartesian: #{85, 0, 900,0, 90, 0} cartesian: #{0,85,900,90,90,0} | ||
− | </gallery> | ||
− | |||
− | == Puma DH (Geometric, Denavit-Hartenberg (DH) parameters of the PUMA robot) == | ||
− | |||
− | Usually in robotics DH parameters are used to describe the robot geometry. We are using the following definition of DH parameters: | ||
− | |||
− | *θ<sub>i</sub> is the joint angel from the '''x'''<sub>i-1 </sub>axis to the '''x'''<sub>i</sub> axis about the '''z'''<sub>i-1</sub> axis (using the right-hand rule). | ||
− | *α<sub>i</sub> is the offset angle from '''z'''<sub>i-1</sub> axis to the '''z'''<sub>i</sub> axis about '''x'''<sub>i</sub> axis (using the right hand rule). | ||
− | *a<sub>i</sub> is the offset distance from the intersection of the '''z'''<sub>i-1</sub> axis with the '''x'''<sub>i</sub> axis to the origin of the ''i''th frame along '''x'''<sub>i</sub> axis (or the shortest distance between the '''z'''<sub>i-1</sub> and '''z'''<sub>I</sub> axes). | ||
− | *d<sub>i</sub> is the distance from the origin of the ''(i-1)''th coordinate frame to the intersection of the '''z'''<sub>i-1</sub> axis with the '''x'''<sub>i</sub> axis along '''z'''<sub>i-1</sub> axis. | ||
− | |||
− | [[File:AXY;PumaDH.png|RTENOTITLE]][[File:DHPUMA.JPG|RTENOTITLE]] | ||
− | |||
− | For RX90 family of Staubli robots we have: | ||
− | |||
− | {| border="1" style="border-spacing:0;" | ||
− | |- | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>DH parameter</center> | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>MC-Basic property name</center> | ||
− | | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Value in mm</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>d2</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki><robot >.link[1][1]</nowiki> | ||
− | </center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>a1</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0. | ||
− | |||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>a2</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[2][1]</nowiki> | ||
− | </center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>450</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>a3</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[3][1]</nowiki> | ||
− | </center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>d4</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[4][1]</nowiki> | ||
− | </center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>450</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>d6</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center><nowiki>< robot >.link[6][3]</nowiki> | ||
− | </center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>85</center> | ||
− | |} | ||
− | |||
− | The above parameters of '''link''' matrix property of the robot must be filled-in in the robot’s setup file. In order that the system accepts the above setup the “'''configgroup'''” command must be executed. Note that only the above set of parameters affects the robot geometry, the rest of the | ||
− | <nowiki>link[][]</nowiki> | ||
and <nowiki>axis[][] </nowiki> | and <nowiki>axis[][] </nowiki> | ||
− | values do not influence the robot geometry in any way and are not affected (changed) by '''configgroup''' command or any other robot command. The rest of the DH parameters are predefined as follow and are automatically internally set by choosing the right group model. | + | values do not influence the robot geometry in any way and are not affected (changed) by '''configgroup''' command or any other robot command. The rest of the DH parameters are predefined as follow and are automatically internally set by choosing the right group model. {| style="border-spacing:0;" |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint i</center> | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>θ<sub>i</sub></center> | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>α<sub>i</sub></center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>1</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>-90</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>2</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>3</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>4</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>-90</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>5</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> |- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>6</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> |} == Orientation Angles == [[File:AXY;OrientationAngels.png|RTENOTITLE]]</robot></robot> |
− | | ||
− | |||
− | {| style="border-spacing:0;" | ||
− | |- | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>Joint i</center> | ||
− | | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>θ<sub>i</sub></center> | ||
− | | style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>α<sub>i</sub></center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>1</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>-90</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>2</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>3</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>4</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>-90</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>5</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>90</center> | ||
− | |- | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>6</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | <center>0</center> | ||
− | |} | ||
− | |||
− | == Orientation Angles == | ||
− | |||
− | [[File:AXY;OrientationAngels.png|RTENOTITLE]] | ||
− | |||
[[Category:Robot Models]] | [[Category:Robot Models]] |
Revision as of 07:11, 5 February 2023
Language: | English • 中文(简体) |
---|
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
|- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | ArmCmd (acmd) | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
|- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | ElbowCmd (ecmd) | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
|- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" | WristCmd (wcmd) | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
WARNING | |
Note that non-zero a3 parameter change position of singularity. See: Elbow_Singularity_of_PUMA_robots |
| style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border:0.0069in solid #000000;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
|- | style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
| style="border-top:none;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |
and axis[][]
values do not influence the robot geometry in any way and are not affected (changed) by configgroup command or any other robot command. The rest of the DH parameters are predefined as follow and are automatically internally set by choosing the right group model. {| style="border-spacing:0;" |- | style="border-top:0.0069in solid #000000;border-bottom:0.0069in solid #000000;border-left:0.0069in solid #000000;border-right:none;padding-top:0in;padding-bottom:0in;padding-left:0.075in;padding-right:0.075in;" |