ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I would suggest you take a look at the wiki/ur_robot_driver package. This would provide you with a driver capable of interfacing with the real-time external motion capabilities of the UR controller (at either 125 or 500 Hz, depending on which exact model of controller you have).

After starting the driver, switch to the JointGroupVelocityController using the controller_manager's services.

Then simply provide appropriate setpoints to the driver at the expected rate (ie: either 125 or 500 Hz) to close the loop.

You may want to take a look at the jog_arm package that was recently merged into MoveIt: Arm Jogging in Real-Time.

The requirements are simple, we wish to send in real time 6DOF representing the head position in the world - p[x,y,z,ax,ay,az], and have the robot move the in a simple linear manner.

I like your repeated use of "simple". You are probably aware how "not simple" this sort of task is in a distributed control setting with (almost) infinite variation in input devices and (almost) infinite variation in system-to-be-controlled (the fact you use a UR3 specifically doesn't really matter, there can be no assumptions about this in the software).