启动容器:
bash展开代码docker run -it \
--network host \
--privileged \
-e DISPLAY=$DISPLAY \
-e QT_X11_NO_MITSHM=1 \
-e LIBGL_ALWAYS_INDIRECT=0 \
-e LIBGL_ALWAYS_SOFTWARE=1 \
-v /tmp/.X11-unix:/tmp/.X11-unix:rw \
-v $HOME/go_ros:/home/go_ros:rw \
-v $HOME/catkin_ws:/home/catkin_ws:rw \
hx920/deeplearning:xtdrone_v1 \
/bin/bash
安装深度支持:
bash展开代码sudo apt install ros-noetic-rtabmap* sudo apt install ros-noetic-octomap*
将这个配置放到深度支持的配置文件中:
bash展开代码mkdir /opt/ros/noetic/share/rtabmap_ros/launch/config
cd /opt/ros/noetic/share/rtabmap_ros/launch/config
cp ~/XTDrone/sensing/slam/vio/VINS-Fusion/config/xtdrone_sitl/rgbd.rviz .
之前是(别先执行):
bash展开代码roslaunch px4 indoor1.launch
里面用的:iris_stereo_camera.sdf 模型
前面的步骤与VINS-Fusion的启动仿真一致,注意把仿真launch文件的 iris_stereo_camera 换成 iris_realsense_camera ,这样才能有深度图数据。而后启动rtabmap
找一下这个文件在哪里:
bash展开代码 Wed Dec 17 # 22:01:18 # /root # find . -name indoor1.launch
./PX4_Firmware/launch/indoor1.launch
然后编辑文件里的摄像头:
查找 iris_stereo_camera
改为 iris_realsense_camera
然后开始一系列的启动工作:
启动gazebo px4:
bash展开代码roslaunch px4 indoor1.launch
VINS-Fusion启动:
bash展开代码cd ~/catkin_ws
bash scripts/xtdrone_run_vio.sh
由于VINS-Fusion发布的是Odometry类型的话题,我们要将其对应转为PX4所需的话题 现在视觉定位信息就通过mavros发到PX4,查看/iris_0/mavros/local_position/pose可以看到有正确的数据
bash展开代码cd ~/XTDrone/sensing/slam/vio
python3 vins_transfer.py iris 0
然后建立通信,键盘控制起飞即可
bash展开代码cd ~/XTDrone/communication
python3 multirotor_communication.py iris 0
启动键盘:
bash展开代码cd ~/XTDrone/control/keyboard
python3 multirotor_keyboard_control.py iris 1 vel
启动rtabmap
bash展开代码roslaunch vins rtabmap_vins.launch
本文作者:cc
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!