Я пытаюсь использовать алгоритм mrpt slam. Я хотел бы адаптировать исходное приложение icp slam для использования лидарных сканов из моей симуляции. Если я правильно понимаю, я должен использовать класс CObservation2DRangeScan для хранения лидарных наблюдений. Моя проблема в том, что я не могу найти, как установить угол сканирования. Я предполагаю, что развертка должна быть в полярных координатах, тогда если setScanRange
задает дальность в метрах, как мне задать угол? Я не могу найти подходящую функцию-член в классе, возможно, я что-то упускаю.
Пример кода на данный момент:
mrpt::obs::CObservation2DRangeScan::Ptr observation(new mrpt::obs::CObservation2DRangeScan);
observation->resizeScan(i32NUM_POINTS);
for(int32_t i = 0; i < i32NUM_POINTS; ++i)
{
observation->setScanRange(i, arrPoints[i].range);
//here I must set the scan angle
observation->setScanRangeValidity(i, true);
}
мрт версия: 2.2.1
заранее спасибо
Массимо