Unable to use BIT* as a planning algorithm

Report crashes, strange behaviour, or apparent bugs
Post Reply
lyshello123
Posts: 1
Joined: 15 Jun 2019, 09:51

Unable to use BIT* as a planning algorithm

Post by lyshello123 »

Hello, for motionPlanningAndGraspingDemo, I try to change the default planning algorithm to BIT*. But it didn't work and reported the following error: PathLengthDirectInfSampler only supports RealVector, SE2 and SE3 statespaces. (simOMPL.compute @ 'OMPL' plugin).

I have already searched this problem online. It seems that the key thing is that BIT* can only handle certain types of state spaces, since it needs to do informed sampling. I also try some other demos, the same error was reported. And how to solve this problem to make BIT* applicable? Thank you very much!

Best wishes!
From a student.

fferri
Posts: 1217
Joined: 09 Sep 2013, 19:28

Re: Unable to use BIT* as a planning algorithm

Post by fferri »

The error message is quite clear: it only supports RealVector, SE2 and SE3 statespaces.

For practical reasons, the state space used by the OMPL plugin is always a compound state space (class ompl::base::CompoundStateSpace) even if it contains only one state space of type sim_ompl_statespacetype_joint_position , sim_ompl_statespacetype_pose2d, or sim_ompl_statespacetype_pose3d (which correspond respectively to OMPL's subspace types RealVector, SE2 and SE3).

There is no easy fix for the OMPL plugin, as compound state spaces are inevitable, and the use case for just one simple state space is quite limited.

I think it's easier to fix the BIT* motion planning algorithm, to generate a suitable projection (RealVector, SE2 or SE3) from any compound state space.

haha7626
Posts: 1
Joined: 12 Feb 2024, 14:20

Re: Unable to use BIT* as a planning algorithm

Post by haha7626 »

Can you give me an example for BIT* in Coppeliasim?

fferri
Posts: 1217
Joined: 09 Sep 2013, 19:28

Re: Unable to use BIT* as a planning algorithm

Post by fferri »

You better off using Python OMPL bindings in an embedded Python script.

Post Reply