How much we can control UR5(Universal Robot) using moveIt! ?

2,660 views
Skip to first unread message

JaeJun LEE

unread,
Oct 23, 2014, 10:04:28 AM10/23/14
to moveit...@googlegroups.com
Hello I'm a graduate student, and now I'm planning to buy UR5 for experiment.

But some industrial robots only give small authority. 

for example, user can only set desired trajectory of robot?

I wonder if we can control UR5 by low-level control(like we can access low-level control like 'set torque of joint1 as 2.5Nm').

In ROS-Industrial Wiki, it only provide 'Position Streaming' for UR5.

This means that only we can do is just give desired trajectory to UR5?

And if it's right, we can send next desired position in real-time? or we can send only already-calculated trajectory(or position array)?

I don't know much about UR5. 

But In manual, UR5 provide programming by script and seems like we can access low-level control.

And In this Document (URScript 1.5) chapter 1.1, Universal Robot provide users 3 Levels for controlling robot.

1. GUI Level

2. Script Level

3. C-API Level

I think 3th Level(C-API) is what I want. But I cannot find any information about C-API for UR5.

Can you help me?

Thank you for reading.

Sincerely Yours.




Andreas Bihlmaier

unread,
Oct 23, 2014, 10:34:14 AM10/23/14
to moveit...@googlegroups.com
Without going into too much detail:
The UR5 is actually quite flexible in this regard.
If you have a look at
https://github.com/ros-industrial/universal_robot/tree/hydro-devel/ur_driver
the driver actually consits of two parts
a) prog is written in UR scripting language that is uploaded to the robot
b) src/ur_driver/*.py runs on your host

prog and driver.py communicate by sending binary packets via ethernet,
which must only be defined the same way in a) and b).
In the end, currently only position controll is implemented, but knowing
the above it should be obvious how to extend it for velocity or force
control.

Kind regards,
ahb

On Thu, Oct 23, 2014 at 07:04:27AM -0700, JaeJun LEE wrote:
> Hello I'm a graduate student, and now I'm planning to buy UR5 for
> experiment.
>
> But some industrial robots only give small authority.
>
> for example, user can only set desired trajectory of robot?
>
> I wonder if we can control UR5 by low-level control(like we can access
> low-level control like 'set torque of joint1 as 2.5Nm').
>
> In ROS-Industrial Wiki <http://wiki.ros.org/Industrial/supported_hardware>,
> it only provide 'Position Streaming' for UR5.
>
> This means that only we can do is just give desired trajectory to UR5?
>
> And if it's right, we can send next desired position in real-time? or we
> can send only already-calculated trajectory(or position array)?
>
> I don't know much about UR5.
>
> But In manual, UR5 provide programming by script and seems like we can
> access low-level control.
>
> And In this Document (URScript 1.5)
> <http://www.wmv-robotics.de/home_htm_files/scriptmanual_en_1.5.pdf> chapter

JaeJun LEE

unread,
Oct 23, 2014, 10:55:49 AM10/23/14
to moveit...@googlegroups.com
Thank you andreas.

It's really helpful.

We need real-time control like 
'changing goal position while moving previous goal point'
'set specific torques in each joints'
etc...

So the conclusion is 'Currently we cannot do the tasks what we want '.

we need to search other robots...

Thank you Andreas.

Best Regards, JaeJunLee 

2014년 10월 23일 목요일 오후 11시 34분 14초 UTC+9, andreas.bihlmaier 님의 말:

G.A. vd. Hoorn - 3ME

unread,
Oct 23, 2014, 11:36:58 AM10/23/14
to JaeJun LEE, moveit...@googlegroups.com
On 23/10/14 16:55, JaeJun LEE wrote:
> Thank you andreas.
>
> It's really helpful.
>
> We need real-time control like
> 'changing goal position while moving previous goal point'
> 'set specific torques in each joints'
> etc...
>
> So the conclusion is 'Currently we cannot do the tasks what we want '.
>
> we need to search other robots...
[..]

The C-API driver (which is also part of the universal_robot repository)
is a fairly low-level driver, which is still compatible with ROS motion
planning. Afaik position, velocity and acceleration should be
controllable. I'm not sure whether force control has already been
implemented.

See [1, 2 and 3] for more information.


Gijs

[1] https://github.com/ros-industrial/universal_robot/tree/hydro-devel-c-api
[2] http://www.kelseyhawkins.com/images/ur_c_api_contribution.pdf
[3] http://wiki.ros.org/ur_c_api_bringup

G.A. vd. Hoorn - 3ME

unread,
Oct 23, 2014, 11:39:24 AM10/23/14
to JaeJun LEE, moveit...@googlegroups.com
On 23/10/14 16:55, JaeJun LEE wrote:
> Thank you andreas.
>
> It's really helpful.
>
> We need real-time control like
> 'changing goal position while moving previous goal point'
> 'set specific torques in each joints'
> etc...

If by 'real-time' you mean hard real-time at 1kHz fi, then this driver
will not do that (but neither will the univeral robot provided C-API
interface directly).


Gijs

Reply all
Reply to author
Forward
0 new messages