Поради прецизността, която се изисква в различни области, като селско стопанство, археология и транспорт, лазерите често се използват за цели като избягване на препятствия, изграждане на карти или дори автономни навигация.
Нека да разгледаме LiDAR, как работят и как можете да ги използвате, за да създадете 2D карта на вашето пространство.
Неща, от които ще имате нужда, за да сканирате стаята си
Следват предварителните условия за създаване на 2D карта на вашата стая:
- Лаптоп или компютър с Ubuntu Server
- ROS инсталация
- ЛиДАР
Какво е LiDAR?
LiDAR, или Светлинно откриване и обхват, може да се намери и под друго име, LADAR (Лазерно откриване и Ranging) активна технология за дистанционно наблюдение, която измерва разстоянието с помощта на светлина под формата на импулс лазер. Технологията работи чрез излъчване на оптичен импулс към целта и измерване на характеристиките на отразения обратен сигнал.
Системата измерва времето, необходимо на лъча да се върне. Като цяло това е дистанционер. Ширината на оптичния импулс може да варира от няколко наносекунди до няколко микросекунди и може да се насочи към различни материали.
Системна връзка и лазерно събиране на данни
RPLIDAR A1, евтин LiDAR сензор, подходящ за роботизирани приложения на закрито, ще бъде използван в този случай. Има поле за сканиране от 360 градуса, честота на въртене 5,5 Hz/10 Hz и разстояние на рейнджър от 8 метра. LiDAR има система за сканиране на обхвата, двигателна система, както и комуникационен интерфейс (сериен порт/USB).
Системата измерва данните за разстоянието повече от 2000 пъти в секунда и с изход за разстояние с висока разделителна способност. Следователно, това изисква използването на няколко инструмента за обработка и визуализиране на данните. Например, можете да използвате инструмента SlamTech RoboStudio или предоставения ROS пакет.
Защо ROS?
ROS (Операционна система за роботи) е софтуер, използван от глобална общност с отворен код от любители на роботиката, посветени на подобряването и предоставянето на роботите на всички. Първоначално е разработен от Eric Berger и Keenan Wyrobek в Станфордския университет. ROS също ви позволява да визуализирате данни от сензори, да създавате интерфейси и да използвате инструменти като Rviz и симулационния двигател Gazebo.
С ROS ще можете лесно да разделите вашия код на пакети, съдържащи малки програми, наречени възли. Тези възли са свързани чрез теми, по които изпращат и получават съобщения.
В този проект ще използвате rplidar_ros, ROS пакет, който е специално проектиран за събиране на данни от LiDAR. Пакетът hector_slam ще бъде използван по-късно за създаване на карта.
Стъпка 1: Инсталиране на ROS
След инсталиране на Ubuntu Server, отворете вашия терминал и изпълнете следната команда, за да се уверите, че вашият индекс на пакета Debian е актуален. Разликата между актуализация и надстройка вече е покрит.
sudo apt актуализация
Следващата стъпка е да инсталирате ROS.
sudo apt Инсталирай ros-noetic-десктоп-пълен
Можете да тествате ROS, като стартирате roscore, което ще служи като доказателство за правилен монтаж.
roscore
Стъпка 2: Получаване на вашето първо сканиране
Първо изпълнете следната команда, за да инсталирате rplidar_ros пакет:
sudo apt-получавам инсталирайте ros-noetic-rplidar-ros
The rplidar_ros пакетът включва скриптовете и стартиращите файлове, необходими за получаване и визуализиране на данни за сканиране на LiDAR.
След като завършите софтуера, свържете вашия LiDAR към вашия компютър чрез USB порта. LiDAR ще започне да се върти, но няма да излъчва лазер, освен ако не изпълните следната команда, която извиква файл за стартиране на ROS.
roslaunchrplidar_rosrplidar.стартирам
Като изпълните тази команда, можете да видите отразените разстояния, които са публикувани в тема, наречена /scan.
ростопичен ехо /scan
Трябва да видите представяне на необработените данни за лазерно сканиране във вашия терминал:
За да визуализирате тези данни, отворете друг терминал, като се уверите, че не затваряте другия работещ терминал, който извлича данни от лазерния скенер, и стартирайте Рвиз, инструментът за визуализация.
росрун рвиз рвиз
Променете Фиксирана рамка да се Лазер, след което щракнете върху добавете в долния ляв ъгъл на прозореца и изберете Лазерно сканиране. Накрая задайте темата LaserScan на /scanи ще можете да видите своето сканиране с LiDAR в реално време.
Ако имате проблеми с първото си сканиране, това може да се дължи на това, че вашето устройство не е упълномощено да предава данни чрез сериен канал. За да коригирате това, изпълнете следната команда и след това продължете с предишните стъпки.
sudo chmod 777 /dev/ttyUSB0
Стъпка 3: Стартирайте картографиране
След като сте тествали вашия LiDAR и сте потвърдили, че работи правилно, следващата стъпка е да започнете да сканирате региона, който ви интересува. За целта ще ви е необходим допълнителен пакет, наречен Hector Slam (където „Slam“ означава „Едновременна локализация и картографиране“).
Както преди, изпълнете следната команда, за да инсталирате този пакет:
sudo apt-получавам инсталирайте ros-noetic-hector-slam
Преди да стартирате сканирането, променете няколко параметъра, както е показано по-долу. Потърсете tutorial.launch в пакета hector_slam, като използвате roscd команда.
roscd hector_slam_launch
Командата нано ще ви позволи да отворите вашия файл и да го редактирате.
наноурок.стартирам
Може да срещнете разрешение за файл на Linux грешка, която може да бъде разрешена с тази команда:
sudochmod 777 урок.стартирам
Ето пример за изпълнение:
Следващата стъпка е да промените редовете, както е показано по-долу:
Последната стъпка е да изпълните този ред.
roslaunchhector_slamурок.стартирам
Започнете да местите своя LiDAR бавно из стаята си за най-добри резултати, защото създаването на карти е най-ефективно, когато се движите бавно. Можете да включите траекторията си и да експериментирате с настройките за лазерно сканиране.
Можете да използвате SLAM на закрито, за да сканирате цялата къща с помощта на лаптоп и LiDAR, както е показано във видеото по-долу. Резултатите могат да бъдат подобрени чрез интегриране на допълнителни сензори и след това комбиниране на данните от двата източника.
Стъпка 4: Запазване и редактиране на вашата карта
Изпълнете следната команда, след като приключите със сканирането, за да запазите картата:
rostopic pub syscommand std_msgs/String "savegeotiff"
В този сценарий imagemagick може да се използва за конвертиране на картата в PNG файл с изображение, изпълнете и двете команди, за да завършите инсталацията и преобразуването.
sudo apt-получавам инсталирайте imagemagick
преобразувамсканирана карта.pgmMyPngMap.png
Използвайте повече от LiDAR
С помощта на LiDAR и компютър успяхте да извършите 2D сканиране. Можете да подобрите сканирането си, като добавите камера за дълбочина, като например Kinect, и интегрирате двата типа събрани данни.
Същата технология може да се намери в някои модели iPhone и iPad от висок клас, където LiDAR е интегриран в камерата модул на гърба на устройството, позволяващ разработка на 3D карти, измерване на разстояние и добавена реалност приложения.