Problem with orientation not remain the same when using MOVEL

sixer51
sixer51 United State
I am having trouble with controlling the ABB IRB120 robot arm moving linearly. I am using the set_cartesian function in this script https://github.com/robotics/open_abb/blob/fuerte-devel/abb_node/packages/abb_communications/abb.py. My understanding is that this function is corresponding to MOVEL in the RAPID programming language.

The status of the robot arm is that the trajectory of the end effector is linear, but when the orientation changes in this process. I assembled a camera in the tool end, so it is obvious that the orientation of it is changing, but when I manually jog the robot arm, it seems to be working properly.

I also tried to directly program it with RAPID programming language, but I get an error when using the program editor which stopped me to test it.

Is the orientation not remain the same in the process a reasonable condition? If not, is there any suggestion on how can I fix this problem?

Comments

  • lemster68
    lemster68 United States ✭✭✭
    Are you using world coordinates?  I.e., Wobj0 or none specified in the move instruction?  Examine the values of the quaternions found in the robtarget data.  They should match if the orientation has no change.  (I expect that they are different.)
    Lee Justice
  • sixer51
    sixer51 United State
    Thank you, Lee! Yes, I am using world coordinates. The quaternion is changing when the robot arm is moving.

    I tested directly using MOVEL to control the robot today. It works as I expected without changing the orientation in the process. Probably there is bug in my python code. Do you have any suggestions on what might be the problem?
  • lemster68
    lemster68 United States ✭✭✭
    There probably is a bug in the python code.  I don't do python, but just make sure that the data matches.  How many moves do you need to make in succession?  Just a couple, a few, or many?  You could do it in rapid if they all need to have the same orientation by assigning the orient values to be the same as the initial moveL.
    Lee Justice