Can MoveIt! ensure the timing of the movement?

asked 2019-05-06 05:20:44 -0500

kump gravatar image

Is it possible with MoveIt! to define at what time with what velocity should the end effector arrive at the specified pose? If not, is there another planner, that will ensure that? How do people with real time constraints for robots do this?

edit retag flag offensive close merge delete

Comments

Just to clarify: are you asking about the determinism of the planners and MoveIt itself, or about being able to specify time-constraints on goals (ie: "reach pt1 in 2 seconds")? That would be something else.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-06 05:51:45 -0500 )edit

@gvdhoorn I'm affraid I don't have knowledge deep enough to even understand your question. I want to know if using MoveIt! it is possible to make the end effector of the robotic arm to reach the goal pose at a specified time with a specified velocity. Say I want to control the arm in Real-Time. When it gets a signal it has maybe few hundred milliseconds to get to the position, and it need to get there exactly on time.

kump gravatar image kump  ( 2019-05-06 06:28:53 -0500 )edit

That sounds like tele-operation, which is not something that typically includes planning of the kind that MoveIt does (ie: high-level, collision avoidance motion planning based on sensor data).

If you are indeed talking about tele-operation, you could check the jog_arm package for something that starts to go into the right direction. Note that this does not use a full planning cycle.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-06 06:57:21 -0500 )edit

@gvdhoorn, ok so beside this other tool, the MoveIt! is or is not able to do what I need?

kump gravatar image kump  ( 2019-05-06 07:34:26 -0500 )edit

If you can clarify whether you are looking for tele-operation-like functionality, we could potentially answer your question. Right now it's too ambiguous for me.

gvdhoorn gravatar image gvdhoorn  ( 2019-05-06 07:59:11 -0500 )edit

@gvdhoorn I want to specify a point, time and velocity. And the MoveIt! is supposed to find out how to move the arm to satisfy the constraints. The arm does have to avoid an object in front of it. The object, however, doesn't move. What else do you need to be specified? I do not understand words you are using, so I can't use them to confirm anything.

kump gravatar image kump  ( 2019-05-06 08:20:57 -0500 )edit

I think you cannot specify the time constraint you want using MoveIt! alone. But you could plan a trajectory with it first, and then use move_group.retime_trajectory to scale it to your desired duration. Or maybe you can use a library like topp-ra.

gonzalocasas gravatar image gonzalocasas  ( 2019-05-06 09:46:34 -0500 )edit