Is it possible to limit simultaneous joint movement with Moveit?

asked 2017-06-26 09:43:20 -0500

Robobit gravatar image

For the current prototype of the robot we are building there are 2 joints (of 6 in total) which cannot be actuated simultaneously. Can I implement this behaviour with Moveit, and if so how could this be done?

Any help appreciated.

edit retag flag offensive close merge delete

Comments

Would both joints still need to be actuated in the same trajectory, just not simultaneously, or would sequentially also be ok (ie: first one joint, then the other)?

gvdhoorn gravatar image gvdhoorn  ( 2017-06-26 09:59:20 -0500 )edit

Thank for your reply. Both joints need to be actuated (else it will be impossible to reach the desired goal), just not simultaneously. I would say that implies that it will be sequentially. You think this is different, can you explain, I don't get it.

Robobit gravatar image Robobit  ( 2017-06-27 08:59:46 -0500 )edit

It should be doable without much work to get trajectories that exclude certain joints - or at least keep them fixed, by using JointConstraints fi. But it's not possible to change constraints while planning, so separate planning attempts will be needed for the two joints with such a setup.

gvdhoorn gravatar image gvdhoorn  ( 2017-06-27 09:15:27 -0500 )edit

So my question was more about whether it would be acceptable to use two trajectories, executed after each other, leading to the joints being used one after the other, rather than having a single trajectory in which both joints are used, but just not at the same time.

I don't know whether the ..

gvdhoorn gravatar image gvdhoorn  ( 2017-06-27 09:20:05 -0500 )edit

.. second is possible without a custom planner, or perhaps a constraint sampler. I haven't written any samplers though, so I don't know whether that will work.

See moveit_humanoid_stability for an example of a constraint sampler.

gvdhoorn gravatar image gvdhoorn  ( 2017-06-27 09:21:14 -0500 )edit

So this does mean I would have to calculate the intermediate goal that can be reached with one of the joints fixed myself right? Then I do planning and move to the intermediate goal, then a new planning and move to the final goal with the other joint fixed, right?

Robobit gravatar image Robobit  ( 2017-06-27 09:22:45 -0500 )edit

That is what I'm thinking of now, yes. Obviously not ideal.

But let's see if other board members can come up with a better idea.

Perhaps @v4hn?

gvdhoorn gravatar image gvdhoorn  ( 2017-06-27 09:25:09 -0500 )edit