EXACT_SOLUTION означает, что планировщик уже нашел правильный путь между начальной и конечной конфигурациями, независимо от его стоимости.APPROXIMATE_SOLUTION - это когда время планирования заканчивается, и планировщик не может найти какое-либо решение, чтобы он возвращал путь, ближайший к конфигурации цели.
Для вашей проблемы есть два решения:
Первое решение - проверить стоимость пути и время планирования.Если оба параметра ниже установленных вами значений;следовательно, это решение, которое вы ищете.
Второй - изменить код планировщика, чтобы он возвращал статус различных решений, который можно редактировать с помощью перечислений StatusType.
Как только вы измените код планировщика, вам нужно перейти в каталог сборки OMPL (..build / Release) и запустить «make install» в терминале.
Вы можете добавить свои перечисленияompl :: base :: PlannerStatus
/// The possible values of the status returned by a planner
enum StatusType
{
/// Uninitialized status
UNKNOWN = 0,
/// Invalid start state or no start state specified
INVALID_START,
/// Invalid goal state
INVALID_GOAL,
/// The goal is of a type that a planner does not recognize
UNRECOGNIZED_GOAL_TYPE,
/// The planner failed to find a solution
TIMEOUT,
/// The planner found an approximate solution
APPROXIMATE_SOLUTION,
/// The planner found an exact solution
EXACT_SOLUTION,
/// The planner crashed
CRASH,
/// The planner did not find a solution for some other reason
ABORT,
/// The number of possible status values
TYPE_COUNT
};