Universal Robots+

ROS Driver - Dashboard/RawRequest


I am trying to use the service “/ur_hardware_interface/dashboard/raw_request” to send specific urscript like set_payload(mass) or textmsg(“text”)

I do not find the good format to send this command.
In the prompt I write this : rosservice call /ur_hardware_interface/dashboard/raw_request ‘textmsg(“text_log”)’

What expect the service is a “string query”

Do you have an idea to get the good string format?

Thanks for your help


This is the wrong interface to send script commands to. As this is the dashboard interface, you can send dashboard requests as listed in the dashboard documentation

If you want to send script commands to the robot, you can use the interface on /ur_hardware_interface/script_command, e.g.

rostopic pub /ur_hardware_interface/script_command std_msgs/String "data: 'set_digital_out(2,True)'"

Thanks a lot, it works !

When the script_command is sent the external external program on the controller stops running.
So I used : rosservice call /ur_hardware_interface/dashboard/play (this time right interface)
to run it again and stay connected to ros.

Is there a way to send a movel() without ros disconnection? I would like to use the inverse kinematic of the controller?

The ExternalControl program is only needed to command (in terms of moving it) the robot using ROS mechanisms. If you want to move it using plain script commands, you can just omit starting it.

As soon as you send a script command to the robot it will stop any program running.