RobotStudio event

(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