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

How to set a sequence of goals in moveit?

asked 2018-07-11 04:55:07 -0500

enrico gravatar image

Hi everyone,

I would like to give my robot a sequence of goals such that by pushing plan & execution in Rviz it is possibile to make the robot reach every single goal serially. Does anyone know how I could implement this? Any help is appreciated. Thanks a lot.

Ros version: kinetic Ubuntu 16.04

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2018-10-11 16:24:02 -0500

enrico gravatar image

Still don't know how to do it through Rviz interface, but there is a way through code. You can set (n) targets by using "geometry_msgs" and then calling (n) times the functions "setPoseTarget(target_i)" and "move()", which waits for the execution of the trajectory to complete, your robot will follow every single target depending on the sequence you established.

edit flag offensive delete link more

Comments

RViz is essentially a programmers / debugging interface. The MoveIt motion planning plugin is not intended to provide a complete robot programming environment, but a way to visualise datastreams and state internal to MoveIt while you use it external to RViz.

There is no support for ..

gvdhoorn gravatar image gvdhoorn  ( 2018-10-12 04:32:20 -0500 )edit

.. planning sequences of motions in the RViz plugin as that would be a task for a programming environment. It could be added, but I wanted to explain why it is not there.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-12 04:32:56 -0500 )edit

Yes it makes sense. Thanks for the explanation

enrico gravatar image enrico  ( 2018-10-12 04:54:06 -0500 )edit

nice to see your answer,I had try what you said,but the arm just go to the last goal,not follow the sequence goal,here is some of my code: geometry_msgs::Pose p1; group.setPoseTarget(p1); geometry_msgs::Pose p2; group.setPoseTarget(p2); MoveGroupInterface::Plan my_plan; group.move();

Guofeng Jin gravatar image Guofeng Jin  ( 2018-11-11 19:41:55 -0500 )edit

Did I have something wrong?

Guofeng Jin gravatar image Guofeng Jin  ( 2018-11-11 19:43:27 -0500 )edit
1

Yes, after you write "group.setPoseTarget(p1)" you have to write the command "group.move()". Then you do the same after writing "group.setPoseTarget(p2)". So basically everytime you set a pose target, you need a "move" command. This is how you get a sequence of movements

enrico gravatar image enrico  ( 2018-11-13 11:16:39 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2018-07-11 04:55:07 -0500

Seen: 1,732 times

Last updated: Oct 11 '18