0
$\begingroup$

Rosanswers logo

Hello guys,

I'm currently working on a ABB robot (IRB140) which should fulfill following task: It should balance a ball on a tray. This means I have to stream the latest position in Z-direction which the robot should take place in. X,Y and the Orientation always stays the same, only Z varies.

Balancing a ball http://www2.pic-upload.de/img/29636820/ABBIRB140.jpg

Which would be the right approach in Moveit? Cartesian Path with waypoints? Normal planning but with Asyncmove? Problem is: Imagine the robot is on its way from z=0 to z= -0.5. But then the vision system says it should go to z= +0.5. Then it would be necessery that the robot reverses immediately and ignores the old goal z= -0.5.

Regards and thank you very much for your help! Timo


Originally posted by cobhc999 on ROS Answers with karma: 38 on 2016-02-04

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

I'm wondering if for this kind of 'low-level' dynamic task MoveIt is currently a good component to use. It seems there is very little planning needed here, which is what MoveIt is good at (but for which it needs some time).

If you already know where you need your TCP to go, it might make sense to generate a Cartesian trajectory yourself (basically interpolate between two poses: current and target), then use any IK service to convert those into joint space poses and feed them directly to your driver / action server. For true low-latency execution I'd imagine a driver / action server capable of something like trajectory replacement would be needed (if not using a package that supports direct streaming of position set points).

PS: may I ask which interface your are using to your ABB? The ROS-Industrial abb_driver package currently uses a download approach instead of streaming, which could negatively impact performance with these kind of tasks.


Originally posted by gvdhoorn with karma: 86574 on 2016-02-04

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by ipa-hsd on 2016-08-04:
Isn't removing Moveit from the scenario increase the probability of self-collisions? Maybe this particular case the robot is safe, but I'm talking about other scenarios with similar requirements.

Comment by gvdhoorn on 2016-08-13:
@intelharsh: well, yes. You could -- if timing and performance allows -- use the collision scene maintained by MoveIt to include some form of checking. But OMPL just isn't very well suited for the kinds of planning tasks that @cobhc999 wanted to do.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.