Hi, I have a basic question but I am so confused about it.
First, I made a robot program by teaching different positions the motions were as expected.
Then, I tried to perform the same motions by sending the coordinates to the robot and using PTP syntax and while all the motions were as expected except the one of them which was not the first motion and the axis 4 and 6 rotated 180 degrees to get to the target next position. The only specific condition of this position is that the degree of rotation of the robot around one of the axes of rotations is at the end of the period and it immediately switches from 180 to -180. we tried all the possibilities of the angle of rotation but the robot all the time defined a complex path to reach the next position that included full rotation of a4 and a6.
Robot path for PTP motion between same coordinates is different.
-
arash -
May 22, 2018 at 7:46 PM -
Thread is marked as Resolved.
-
-
where is the code?
do you know the difference between FRAME and POS?
+/-180deg is the same thing so transition through that point causes sign change.
-
do you provide status and turn?
Fubini
-
Thank you for sharing your answer. First I have to say sorry for not putting the code here. Its just because I have not permission to share the code here.
Second, thank you Fubini, I guess that the turn specification is restraining me from achieving the desired motion. The manual says that turn lets rotation of axes over 180 or less than -180. but in the table of how to set the bits, it says that 0 means positive values for rotation and 1 is negative values. It does not explain how to set the bits to let an axis rotate outside the range of -180 and 180, it is not clear, at least for me.
-
if you taught points in your original program, status and turn values are saved there.
so when you are doing your playback/streaming data points, just include those values as well with XYZABC values
-
Look up "Status And Turn" in the manuals.
Short version: given the range of the wrist axes, the TCP can achieve a commanded position and orientation in Cartesian space with multiple combinations of wrist axis angles. S and T values are used to order the motion planner to select a specific combination. If you do not provide S&T values, the controller will select whichever valid combination requires the least amount of travel in joint space. This means that the S&T selection the robot makes will be dependent on the wrist axis values at the start of the motion.
Another option might be to use LIN motions. LIN motions prioritize linear path and orientation control for the motion over choosing a minimum-axis-motion path.
-
Thank you, I just faced a new problem and it is that I can not have a universal solution to the problem of setting T for PTP motion. It happens that a6 and a4 do their best to show their most impressive actions to move to a next position instead of being modest or they just refuse to follow my order. Is it possible that the robot automatically define the trajectory that requires the least rotations of axes for reaching to a target?
-
Thank you skyfire, LIN is also an option, and choosing the type of motion is more of a decision based on pros and cons. LIN is able to tackle the distance problem but it may its disadvantage is singularities.
-
or just use more points (increase point density)
-
Thank you Panic Mode. Actually adding extra points is not a solution, assume the for a short motion between two points with for example 10 mm angle sign of one joint has to be reversed for the desired motion. it requires changing in T parameter and if it is kept same as its previous value, the robot will not move as I wanted or just will fail to calculate the path and giving alarm message that axis X rotation limit. I found in other forums some information about undocumented robot functions like INVERSE. This function is the solution to a universal answer to externally move the robot.
or just use more points (increase point density)