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

MoveL 'StoppedError' after MoveL_Test

#1
Hello,

I have written a python script to analyse the workspace of my robot and if a specific set of moves is possible.

In the relevant section of the script I first check if a linear movement is possible with MoveL_Test. If there are no issues MoveL is executed.


Code:
issues_rot1 = robot.MoveL_Test(tested_pose_joints_i, tested_pose_rot1)
can_move_linear_1 = (issues_rot1 == 0)  # no issues => linear move possible

print(npose,'Pose','can_move_linear_1 =', can_move_linear_1)

if can_move_linear_1:
   robot.MoveL(tested_pose_rot1)

Occasionally (in some poses) it raises this error:

Code:
Traceback (most recent call last):
 File "c:/Users/wimi/AppData/Local/Temp/ARA_v1_6.py", line 184, i
   robot.MoveL(tested_pose_rot1)               File "C:\RoboDK\Python\robolink\robolink.py", line 4927, in Move
   self.link._moveX(target, self, 2, blocking)
 File "C:\RoboDK\Python\robolink\robolink.py", line 956, in _move
   self._check_status()#will wait here
 File "C:\RoboDK\Python\robolink\robolink.py", line 709, in _chec
   raise StoppedError(self.LAST_STATUS_MESSAGE)
robolink.StoppedError: Robot stopped by user

I did not touch the script or the robot.

I suspect the reason is that the robot collides with itself (see picture below, it shows the position of the robot after the script stopped). Which seems strange to me, since the robot only executes MoveL, when MoveL_Test raises no issues. So the movement should be free of collisions.

Collision checking is on. (RDK.setCollisionActive(True))

   
#2
Can you share a full working example where we can reproduce this issue?

The MoveL and MoveL_Test functions take the current position of the robot into account. You may have to use something like this to specify where you want to check collisions from:
Code:
robot.setJoints(start_joints)
  




Users browsing this thread:
1 Guest(s)