Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

MoveL does not respect joints configuration

#1
Hi,

Given the problem we had with MoveL_Test (see this post), we are using MoveL within a try/except block to determine if a linear motion between two joint configurations is possible. However, depending on the joint target, MoveL might move the robot to a different joint value than the one we specified, even though it represents the same target pose. In my view, this is a bug, given that we passed a joint list, not a pose. In the worst case scenario, I would expect the MoveL (python) method to have some parameter to determine (or prevent) this automatic change of target.

In summary, I want to leave here two questions:
  1. How can we make sure that MoveL moves to the given joint list target?
  2. If a MoveL to the specified joint list target is possible, are we guaranteed that it will go to that target using the given configuration? That is, can we be sure that, when RoboDK moves the robot to a different target (same pose, but different joint values) than the one we have given, does that mean that it is not possible to have a linear motion to the specified joint list target?
Thanks in advance for your help.

Best regards,
Hugo Costelha
#2
I just got back to your other post. This is not a bug. The MoveL test function requires a pose as a destination target, not joints.

You can't cross a singularity or change turn flags when doing linear movements, therefore, RoboDK will check if the movement can be done to your pose, not a joint target. You can check if the joints match your expectations. If not, a joint movement will be required afterwards.
#3
Hi Albert, thanks for your reply. Please check my questions below.

(11-24-2022, 09:26 AM)Albert Wrote: I just got back to your other post. This is not a bug. The MoveL test function requires a pose as a destination target, not joints.

You can't cross a singularity or change turn flags when doing linear movements, therefore, RoboDK will check if the movement can be done to your pose, not a joint target. You can check if the joints match your expectations. If not, a joint movement will be required afterwards.

While MoveL_Test only accepts a pose as destination target, MoveL accepts both a pose and a joints list values, (at least according to the documentation, and we have been using it as such). This is where I am suggesting that, in the worst case, the MoveL, when used with a joint list targe, should either have a parameter to force compliance, or a return value stating that the given joint list target is not reachable and a new one was given instead.

Nevertheless, my main question now, is 2nd one of my post above, regarding the MoveL Python instruction, namely: "[...] can we be sure that, when RoboDK moves the robot to a different target (same pose, but different joint values) than the one we have given, does that mean that it is not possible to have a linear motion to the specified joint list target?"

Thanks and best regards,
Hugo Costelha
#4
It is not possible to change configurations or joint turns with a linear movement. This means you would be crossing a singularity.

When doing linear movements, the best way to plan a list of joint values you want to move to is to run a series of MoveL_Test and collect the joint values after each call.
  




Users browsing this thread:
1 Guest(s)