Как остановить планировщик OMPL после того, как найдено первое решение?

Я использую планировщик RRTstar от OMPL.
Для ее решения я использую:

ompl::base::PlannerStatus solved = setup.solve(time);

solve() принимает двойное значение времени, чтобы указать запрошенное время работы алгоритма. Как я могу запросить остановку алгоритма сразу после того, как найдено первое правильное решение?

Экземпляр класса ompl::base::PlannerTerminationCondition можно передать solve() также, но я не уверен, как использовать это и будет ли это использоваться в этом случае.

0

Решение

Хорошо, Марк Молл ответил на этот вопрос по электронной почте мне.
Большинство планировщиков в OMPL останавливаются после того, как найдено первое решение. Но асимптотически оптимальные планировщики, такие как RRT *, стараются оптимизировать путь, если позволяет время. Это поведение можно изменить, вызвав setCostThreshold с большим значением цели оптимизации (по умолчанию длина пути минимизирована).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]