Forum Migration Notice
We're transitioning to a more modern community platform by the end of this year. Learn about the upcoming changes and what to expect.

(Robot Web Services) Set Robo Target Position does nothing

Hey, I'd like to remotely set the RobTarget through a Unity application. I've been able to set mechanical units and perform jogging, but submitting a "Set Robo Target Position" request does nothing; the request is accepted, returns a 204 and it is registered by the controller, but there are no changes in my station.

I might be misunderstanding the purpose of that request in which case I want to ask, how can I set the position and orientation of only the robot's tool via Robot Web Services? And  do I need to do anything specific within the VirtualFlexPendant before I send the request? I want to set the XYZ and orientation of the tool and have the rest of the joints adjust to the new position as if I were performing a Linear Jog from RS.

To clarify, I'm just trying the request in Postman for now so I haven't modified it in any way. I'm just submitting the example curl request with different values. I'm also working with a VC and logging in as a default user.

Comments

  • davidmalott
    edited November 2023
    Yep - I spent a lot of time getting to a 204 and it does nothing for me, either. I had assumed it would move the robot to the specified target...
  • I am working on the same problem. I log in, request mastership for motion, set the tool for the mechunit, and set the position-target or joint-target. Nothing happens.

    When doing this, I get the same logs in the events list of RS as when performing a goTo Location from inside the Wizard of my virtual Flex Pendant:
    10289 Tool has been changed
    10291 GoTo position

    I would be happy to get any information about how to move the robot to a specific location using RWS.

  • Here is an example how you can move the robot to a specific location via RWS:

    Request motion mastership:
    curl --request POST \

      --url https://localhost/rw/mastership/motion/request \

      --header 'Accept: application/json' \

      --header 'Content-Type: application/x-www-form-urlencoded;v=2.0' \

     

    Set jog-mode of your mechunit:
    curl --request POST \

      --url https://localhost/rw/motionsystem/mechunits/ROB_1 \

      --header 'Accept: application/xhtml+xml;v=2.0' \

      --header 'Content-Type: application/x-www-form-urlencoded;v=2.0' \

      --data jog-mode=GoToPos

     

    Set position target:

    curl --request POST \

      --url https://localhost/rw/motionsystem/position-target \

      --header 'Content-Type: application/x-www-form-urlencoded;v=2.0' \

      --header 'accept: application/json' \

      --data pos-x=530.0 \

      --data pos-y=30.0 \

      --data pos-z=600.0 . . . . . (all parameters)

     

    Get change count from motionsystem:

    curl --request GET \

      --url https://localhost/rw/motionsystem/ \

      --header 'accept: application/xhtml+xml;v=2.0' \

     

    Start jogging (add current change count to parameters):

    curl --request POST \

      --url https://localhost/rw/motionsystem/jog \

      --header 'Content-Type: application/x-www-form-urlencoded;v=2.0' \

      --header 'accept: application/json' \

      --data axis1=200 \

      --data axis2=200 \

      --data axis3=200 \

      --data axis4=200 \

      --data axis5=200 \

      --data axis6=200 \

      --data ccount=13 \

      --data inc-mode=Large

     

    Reset jogging:

    curl --request POST \

      --url https://localhost/rw/motionsystem/jog \

      --header 'Content-Type: application/x-www-form-urlencoded;v=2.0' \

      --header 'accept: application/json' \

      --data axis1=0 \

      --data axis2=0 \

      --data axis3=0 \

      --data axis4=0 \

      --data axis5=0 \

      --data axis6=0 \

      --data ccount=13 \

      --data inc-mode=Large