Using Robot Web Services to make a joint move

Hello,

We have had good success using RWS mostly because of the abb-robot-client Python library. It has been a life saver.

Now, I am being asked to make joint moves using RWS. Nothing complicated - just move to a position, take some measurements, then move to another, and so on.

Is there a way to this with RWS?

Thanks for your help.

Hello there,

Check out this video: https://www.youtube.com/watch?v=YoEUEmNL5s4

Thank you for responding Maxim.

I had watched that video before, but the robot never moved to the axis1=900 value that was entered in the parameters. So… I assumed that it would not do what I wanted it to do.

Looking at the documentation here: Robot Web Services: Perform Jogging

there is an “inc-mode“ parameter. The example in your video had it set to “Large”. Maybe that is the reason that it would only move a small amount?

I don’t have access to an ABB robot right now, but I will try that and see if it will go all the way to the requested joint values.

Thanks again for your help.

900 may be outside the joint limit. Try some value between -pi to pi?

I did tried with the function and it seems like robot only move in linear motion instead of joint mode.

I would leave out the increment option and I would like to ask what jog mode was selected in the jogging menu?

My ultimate goal is to move the robot to a list of positions and take a measurement at each position. The measurement device is on the robot, and the positions are known to not cause any collisions.

The “client” is a Windows application that I wrote.

The other robot controller that I have to support only allows one connection to their web interface, but it does not require anyone to acknowledge anything on the teach pendant. The RWS allows many connections, but the pendant acknowledgements are not as comfortable for less skilled operators. Ideally, the teach pendant would be locked in a box.

I could go down the path of writing a “driver” program on the controller. I don’t have the knowledge for that right now. Any driver program does stop when the operator walks into the cell to do operations - but that can be reset with RWS so that is not a show stopper.

Thank you all for your input.

Hi,

I would use /rw/motionsystem/position-joint with the corresponding joint coordinates for each position in your list.

For each position:

Send a request to /rw/motionsystem/position-joint with the joint values.

Wait for confirmation or introduce a delay.

Trigger the measurement device.

Best regards!

/Tobias

This sounds like a reasonable solution. Could you please send me a link to the documentation page for “/rw/motionsystem/position-joint”? Google and I could not find it. Hopefully, ABB doesn’t have too many secret commands :slight_smile:

Hi,

Position-joint is from RWS2

OK - That helps a lot.

I think that the Python module I am using is for RWS1. Now I have to see what it will take to use RWS on the next controller we get. Hopefully, it just requires some small edits to move the module from RWS1 to RWS2.

Thanks again for clearing that up.