一、HectorSLAM安装
ROS自带有HectorSLAM,因此可以apt安装
sudo apt install ros-melodic-hector-slam*
安装map server用于保存地图
sudo apt install ros-melodic-map-server
复制相关文件
roscd hector_slam_launch
sudo cp ~/XTDrone/sensing/slam/laser_slam/hector_slam/hector_slam_xtdrone.launch launch/
sudo cp ~/XTDrone/sensing/slam/laser_slam/hector_slam/mapping_xtdrone.rviz rviz_cfg/mapping_xtdrone.rviz
roscd hector_imu_attitude_to_tf/
sudo cp ~/XTDrone/sensing/slam/laser_slam/hector_slam/hector_imu_xtdrone.launch launch/
roscd hector_mapping/
sudo cp ~/XTDrone/sensing/slam/laser_slam/hector_slam/hector_mapping_xtdrone.launch launch/
二、HectorSLAM使用
启动仿真环境
roslaunch px4 indoor3.launch
启动HectorSLAM
roslaunch hector_slam_launch hector_slam_xtdrone.launch
启动通信脚本
cd ~/XTDrone/communication/
python multirotor_communication.py iris 0
将HectorSLAM输出的2D位姿和高度值(由1D激光测距仪获得),转换为mavros话题
cd ~/XTDrone/sensing/slam/laser_slam/script/
python laser_transfer.py iris 0 hector
启动键盘控制脚本,控制无人机飞行,注意不能飞太高,导致激光雷达扫不到围墙。
cd ~/XTDrone/control/keyboard/
python multirotor_keyboard_control.py iris 1 vel
绕场地飞一圈,建立完整的地图,而后保存地图,用于后需要运动规划使用。
rosrun map_server map_saver -f ~/XTDrone/motion_planning/2d/map/indoor3