Serwisy partnerskie:
Close icon
Serwisy partnerskie

Robot mapujący i pozycjonujący w pomieszczeniach z ROS i Lidarem

Article Image
Elmax
Podczas gdy różne mapy oparte na GPS ułatwiają autonomicznym robotom i pojazdom dokładne pozycjonowanie na zewnątrz, nie są one w stanie zrobić tego samego wewnątrz budynków. Roboty, których zadaniem jest np. przenoszenie paczek w magazynie lub czyszczenie podłóg, nie mogą działać dobrze bez dokładnego mapowania pomieszczeń i budynków w czasie rzeczywistym.

Dlatego w dzisiejszym projekcie zajmiemy się przeciwdziałaniem temu problemowi poprzez opracowanie taniego systemu do tworzenia map środowisk wewnętrznych w czasie rzeczywistym. Dzięki temu robot będzie mógł działać bez kolizji i nawigować omijając wszelkie przeszkody.

Aby rozpocząć pracę nad projektem, należy zaopatrzyć się w następujące elementy:

Przygotowanie Hector Slam

Przed instalacją Hector SLAM, najpierw zainstaluj oprogramowanie do obsługi robota (ROS).

Przeczytaj to, aby dowiedzieć się jak to zrobić.

Po przygotowaniu środowiska ROS, zainstaluj sterowniki i SDK LiDAR. Jeśli używasz RPI Lidar, to nie musisz wykonywać tych kroków. Zamiast tego, możesz przejść do instalacji Hector SLAM. Jeśli jednak używasz Lidara YD, to kontynuuj poniższe kroki.

Instalacja LIDAR SDK

git clone https://github.com/YDLIDAR/YDLidar-SDK
cd YDLidar-SDK/build
cmake .
make
sudo make install

Następnie należy utworzyć przestrzeń roboczą ROS dla LiDARa, a następnie zainstalować sterownik ROS za pomocą poniższych poleceń w LXTerminalu.

mkdir -p ~/ydlidar_ws/src
cd ~/ydlidar_ws
catkin_make
echo „source ~/ydlidar_ws/devel/setup.bash” >> ~/.bashrc
source ~/.bashrc
cd ~/ydlidar_ws/src/ydlidar_ros_driver/startup
sudo chmod +x initenv.sh
sudo sh initenv.sh

Instalacja Hector Slam

Otwórz nowy LXTerminal i wykonaj następującą komendę, aby zainstalować Hector SLAM.

sudo apt-get install ros-kinetic-hector-slam
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/tu-darmstadt-ros-pkg/Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag

Hector SLAM jest teraz gotowy. Zmodyfikuj niektóre ustawienia LiDAR w pliku startowym lidaru dla pozycjonowania w pomieszczeniach. Aby to zrobić, najpierw przejdź do obszaru roboczego YD Lidar i otwórz plik src. Następnie otwórz plik all_nodes.launch i zmień parametry zgodnie z poniższym rysunkiem.

Rysunek 1. Ustawienie lidaru

Testowanie

Podłączamy lidar YD do USB płyty RPi, zasilamy go i uzyskujemy jego pulpit GUI.

W celu pozycjonowania robota wewnątrz budynku, uruchom następującą komendę w LXTerminal.

roslaunch ydlidar_ros_driver all_nodes.launch

Otrzymasz wtedy mapę aktualnej pozycji robota i jego otoczenia.

Rysunek 2. Mapowanie lidar

Aby przetestować Hector SLAM i uzyskać mapę w czasie rzeczywistym, wykonaj następujące polecenia

roslaunch hector_slam_launch tutorial.launch
rosbag play Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag –clock
rostopic pub syscommand std_msgs/String „savegeotiff”
Rysunek 3. Mapa stworzona przez ROS i robota Hector SLAM
Rysunek 4. Mapa stworzona przez ROS i Hector SLAM
Rysunek 5. Mapa stworzona przez ROS i Hector SLAM
Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
1
Zasilacz DC 5 V
Power bank/bateria 5 V
Wideo
Firma:
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"