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.
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.
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”