Ze względu na precyzję wymaganą w różnych dziedzinach, takich jak rolnictwo, archeologia i transport, lasery są często używane do celów takich jak omijanie przeszkód, budowanie map, a nawet autonomiczne nawigacja.
Przyjrzyjmy się LiDARom, jak działają i jak możesz ich użyć do stworzenia mapy 2D swojej przestrzeni.
Rzeczy, których będziesz potrzebować, aby zeskanować swój pokój
Poniżej znajdują się warunki wstępne, aby utworzyć mapę 2D swojego pokoju:
- Laptop lub komputer PC z systemem Ubuntu Server
- Instalacja ROS
- LiDAR
Co to jest LiDAR?
LiDAR lub Light Detection and Ranging, można go również znaleźć pod inną nazwą, LADAR (Laser Detection and Ranging) aktywna technologia teledetekcji, która mierzy odległość za pomocą światła w postaci impulsu laser. Technologia działa poprzez skierowanie impulsu optycznego na cel i pomiar właściwości odbitego sygnału zwrotnego.
System mierzy czas powrotu wiązki. Ogólnie jest to dalmierz. Szerokość impulsu optycznego może wynosić od kilku nanosekund do kilku mikrosekund i może być skierowany do różnych materiałów.
Połączenie systemowe i akwizycja danych laserowych
W tym przypadku zostanie wykorzystany RPLIDAR A1, tani czujnik LiDAR odpowiedni do zastosowań wewnętrznych zrobotyzowanych. Posiada pole skanowania 360 stopni, częstotliwość wirowania 5,5 Hz/10 Hz i odległość dalmierza wynoszącą 8 metrów. LiDAR posiada system skanowania zasięgu, system silnika oraz interfejs komunikacyjny (port szeregowy/USB).
System mierzy dane dotyczące odległości z częstotliwością ponad 2000 razy na sekundę i z wysoką rozdzielczością wyjścia odległości. W konsekwencji wymaga użycia kilku narzędzi do przetwarzania i wizualizacji danych. Na przykład możesz użyć narzędzia SlamTech RoboStudio lub dostarczonego pakietu ROS.
Dlaczego ROS?
ROS (Robot Operating System) to oprogramowanie używane przez globalną społeczność hobbystów robotyki typu open source, której celem jest ulepszanie i udostępnianie robotów wszystkim. Został pierwotnie opracowany przez Erica Bergera i Keenana Wyrobka na Uniwersytecie Stanforda. ROS umożliwia również wizualizację danych z czujników, tworzenie interfejsów i korzystanie z narzędzi takich jak Rviz i silnik symulacji Gazebo.
Dzięki ROS będziesz mógł łatwo podzielić swój kod na pakiety zawierające małe programy, zwane węzłami. Węzły te są połączone tematami, przez które wysyłają i odbierają wiadomości.
W tym projekcie użyjesz rplidar_ros, pakietu ROS zaprojektowanego specjalnie do zbierania danych LiDAR. Pakiet hector_slam będzie później używany do tworzenia map.
Krok 1: Instalacja ROS
Później instalowanie Ubuntu Server, otwórz terminal i uruchom następujące polecenie, aby upewnić się, że indeks pakietów Debiana jest aktualny. Różnica między aktualizacją a aktualizacją został już omówiony.
sudo apt aktualizacja
Następnym krokiem jest instalacja ROS.
sudo apt zainstalować ros-noetic-komputer-pełny
Możesz przetestować ROS, uruchamiając roscore, który będzie dowodem prawidłowego montażu.
roscore
Krok 2: Pierwsze skanowanie
Najpierw uruchom następujące polecenie, aby zainstalować rplidar_ros pakiet:
sudo apt-Dostawać zainstaluj ros-noetic-rplidar-ros
The rplidar_ros pakiet zawiera skrypty i pliki uruchomieniowe wymagane do uzyskania i wizualizacji danych skanowania LiDAR.
Po ukończeniu oprogramowania podłącz LiDAR do komputera przez port USB. LiDAR zacznie się obracać, ale nie wyemituje żadnego lasera, chyba że uruchomisz następujące polecenie, które wywołuje plik uruchamiania ROS.
roslaunchrplidar_rosrplidary.początek
Uruchamiając to polecenie, możesz zobaczyć odbite odległości opublikowane w temacie o nazwie /scan.
rostopic Echo /scan
Powinieneś zobaczyć reprezentację nieprzetworzonych danych skanowania laserowego w swoim terminalu:
Aby zwizualizować te dane, otwórz inny terminal, upewniając się, że nie zamykasz drugiego działającego terminala, który pobiera dane ze skanera laserowego, i uruchom Rviz, narzędzie do wizualizacji.
rosrun rviz rviz
Zmienić Naprawiono ramkę do Laser, a następnie kliknij Dodaj w lewym dolnym rogu okna i wybierz Skanowanie laserowe. Na koniec ustaw temat LaserScan na /scani będziesz mógł zobaczyć swój skan LiDAR w czasie rzeczywistym.
Jeśli masz problemy z uzyskaniem pierwszego skanu, może to być spowodowane brakiem autoryzacji urządzenia do przesyłania danych przez port szeregowy. Aby to naprawić, uruchom następujące polecenie, a następnie przejdź do poprzednich kroków.
sudo chmod 777 /dev/ttyUSB0
Krok 3: Uruchom mapowanie
Po przetestowaniu LiDAR i potwierdzeniu, że działa poprawnie, następnym krokiem jest rozpoczęcie skanowania obszaru zainteresowania. W tym celu potrzebujesz dodatkowego pakietu o nazwie Hector Slam (gdzie „Slam” oznacza „Simultaneous location and mapping”).
Tak jak poprzednio, wykonaj następujące polecenie, aby zainstalować ten pakiet:
sudo apt-Dostawać zainstaluj ros-noetic-hector-slam
Przed uruchomieniem skanowania zmień kilka parametrów, jak pokazano poniżej. Wyszukaj tutorial.launch w pakiecie hector_slam, używając roscd Komenda.
roscd hector_slam_launch
Komenda nano pozwoli Ci otworzyć plik i edytować go.
nanoinstruktaż.początek
Możesz spotkać uprawnienia do plików w systemie Linux błąd, który można rozwiązać za pomocą tego polecenia:
sudochmod 777 instruktaż.początek
Oto próbka wykonania:
Następnym krokiem jest zmiana linii, jak pokazano poniżej:
Ostatnim krokiem jest wykonanie tej linii.
roslaunchhector_slaminstruktaż.początek
Zacznij powoli przesuwać LiDAR po pokoju, aby uzyskać najlepsze wyniki, ponieważ tworzenie map jest najskuteczniejsze, gdy poruszasz się powoli. Możesz włączyć swoją trajektorię i poeksperymentować z ustawieniami skanowania laserowego.
Możesz użyć wewnętrznego SLAM do skanowania całego domu za pomocą laptopa i LiDAR, jak pokazano na poniższym filmie. Wyniki można poprawić, integrując dodatkowe czujniki, a następnie łącząc dane z obu źródeł.
Krok 4: Zapisywanie i edycja mapy
Uruchom następujące polecenie po zakończeniu skanowania, aby zapisać mapę:
rostopic pub syscommand std_msgs/String "savegeotiff"
W tym scenariuszu, imagemagick można użyć do konwersji mapy do pliku obrazu PNG, uruchom oba te polecenia, aby zakończyć instalację i konwersję.
sudo apt-Dostawać zainstaluj imagemagick
konwertowaćzeskanowanaMapa.pgmMojaPngMap.png
Uzyskaj więcej korzyści z LiDAR
Korzystając z LiDAR i komputera PC, byłeś w stanie wykonać skanowanie 2D. Możesz ulepszyć skanowanie, dodając kamerę głębi, taką jak Kinect, i integrując dwa rodzaje zebranych danych.
Tę samą technologię można znaleźć w niektórych zaawansowanych modelach iPhone'a i iPada, w których LiDAR jest zintegrowany z aparatem moduł z tyłu urządzenia, pozwalający na tworzenie map 3D, pomiar odległości oraz rozszerzoną rzeczywistość Aplikacje.