Как получить целевую позицию из ompl::base *goalptr?
Я использую ompl для планирования пути в 3D. Пожалуйста, укажите, как получить позицию цели (x, y, z) из указателя цели, полученного из этой строки.
const ob::Goal *Goalptr = pdef->getGoal().get();
где pdef
это определение проблемы. а также ob
является ompl::base
Планировщик пути - это планирование пути, но я не могу добиться этой цели.
Как я должен сделать что-то вроде этого:
x= Goalptr[0];
y= Goalptr[1];
z= Goalptr[2];
Или я должен разыграть это Goalptr
в какой-то другой тип, а затем сделать это. Пожалуйста, помогите.
1 ответ
Так что этот пост помог мне решить проблему. Я использовал этот код, чтобы получить позицию цели.
std::vector<double> reals;
space->copyToReals(reals, pdef->getGoal()->as<ob::GoalState>()->getState());
Затем мы получаем целевую позицию (x,y,z) в (reals [0], reals 1, reals [2]).
Спасибо Кристофер Oezbek и другие, кто пытался.