Использование SICK Toolbox 2 для анализа файлов данных Lidar

Я использую это программное обеспечение с открытым исходным кодом для работы с Sick Lidar Devices:

https://github.com/rhuitl/sicktoolbox/tree/master/trunk/c%2B%2B/drivers/lms5xx/sicklms5xx

и эта документация, которая предоставляет информацию о данных:

https://www.sick.com/media/docs/7/27/927/Technical_information_Telegram_Listing_Ranging_sensors_LMS1xx_LMS5xx_TiM5xx_NAV310_LD_OEM15xx_LD_LRS36xx_en_IM0045927.PDF

Я пытаюсь использовать реализацию C ++ для анализа уже записанных файлов в формате «CoLa B» из SickLMS5xx, упомянутого в указанной документации. Тем не менее, эта панель инструментов, кажется, была написана для работы с устройством напрямую, а не с файлами, которые выводятся с него (например, с чем я работаю).

Похоже, я могу использовать функции из SickLMS5xxMessage (ParseMessage () и т. Д.) Для достижения того, что я хочу. Я сделал основной метод для взаимодействия с этим классом (и это суперкласс SickMessage ()) следующим образом:

#include <iostream>
#include <fstream>

#include <boost/thread/thread.hpp>

#include "SickLMS5xxMessage.cc"
void run() {
SickLMS5xxMessage msg(uint8_t * const telegramFileBuffer[]);

std::ifstream telegramFile("MMS21_01");
if(telegramFile.is_open()) {
uint8_t telegramFileBuffer[msg.GetMessageLength()];
for(int i = 0; i < msg.GetMessageLength(); ++i) {
telegramFile >> telegramFileBuffer[i];
}
}
msg.Print();
}

int main (int argc, char** argv) {
run();

return (0);
}

Но, похоже, он не работает должным образом, так как не может распознать функции GetMessageLength () и Print () из SickLMS5xxMessage и выдает мне неразрешенную ошибку метода?

Может быть, это ошибка моего C ++-кодирования (потому что я пришел из Java-фона и поэтому C ++ все еще относительно новый для меня).

Любая помощь будет оценена, хотя, спасибо 🙂

2

Решение

Задача ещё не решена.

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

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

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