В эти дни я также работал над набором данных Kitti, поэтому я просто добавил новую функцию для загрузки файла данных kiti velodyne непосредственно в MRPT (см. этот PR ).
Однако, подумав, я заметил, что необработанные данные Kitti не совпадают точно с CObservationVelodyneScan
, который нацелен на сохранение необработанных диапазонов для каждого луча LiDAR и, только, необязательно, точечного облака.Данные Kitti velodyne являются точечными облаками, поэтому я добавил новый тип PointCloud с XYZ + Intensity mrpt::maps::CPointsMapXYZI
и добавил к нему метод loadFromKittiVelodyneFile()
.Обратите внимание, что это для основной ветки grt mrpt, «версия 1.9.9».
Теперь, как вставить это в gridmap?Ваша идея использовать Velodyne CObservation для вставки его в карту сетки является одной из нерешенных проблем в нашей очереди, но, в любом случае, как уже было сказано выше, наборы данных Kitti лучше загружать в виде облаков точек.
Я бы порекомендовал вам преобразовать pointcloud в CObservation2DRangeScan
, а затем вставить его в сетку.Это позволило бы вам контролировать, какую часть 3D-данных вы действительно хотите отразить в сетке (т.е. какие высоты и т. Д.)
Надеюсь, это помогло!