这几天一直在思考如何解决摄像头与vins与fast planner如何相结合再应用的问题。因为摄像头是因特尔的D435i,于是决定在gazebo上实现D435i的仿真。由于D435I版本较新,因此github上基本没有其模型,但幸好gitee上有国人建立了D435i模型,并且还省去了代理上github克隆不方便的困扰,下为D435i的模型地址
git clone https://gitee.com/nie_xun/realsense_ros_gazebo.git
但是,克隆到自己之前一直使用的catkin_ws目录中,catkin_make却不能成功,而在github克隆的却可以,推断应该是D435i模型包中有部分与catkin_ws中的某些不相容
于是单独建立一个新任务目录给D435i模型,之后catkin_make成功,在gezebo中成功建立了D435i的模型,下面准备利用其读取数据。
为了进行避障与路规划,除了之前VINS-Fusion的点云图,还需要把视觉里程计与深度相机的深度图进行融合,因此对VINS-Fusion与RTABMap结合。
首先需要下载并配置RTABMap(ros版本为melodic)
sudo apt install ros-melodic-rtabmap*
sudo apt install ros-melodic-octomap*
之后将VINS-Fusion下的rgbd.rviz复制到/opt/ros/melodic/share/rtabmap_ros/launch/config/下,之后启动gazebo,运行仿真,代码如下(gezebo模型包已经下好)
cd PX4_Firmware
roslaunch px4 indoor1.launch
特别注意:launch文件中的iris_stereo_camera应改为iris_realsense_camera,因为为了有深度图数据
之后启动VINS-Fusion,经过本人检验,这一步十分重要,一定要先启动VINS-Fusion,缺少则之后的RTABMap将会启动失败,启动VINS-Fusion的代码如下
cd catkin_ws
bash scripts/xtdrone_run_vio.sh
出现下面图示则VINS-Fusion启动成功
之后即可启动RTABMap仿真,代码如下
roslaunch vins rtabmap_vins.launch
效果如下,可利用XTDRone控制无人机飞行,无人机运动时可以看见点云图与RGB三维图都在实时运动,由于视频太大,遂不予上传。
在编译过程中遇到的部分问题解决之前并未及时记录,因此不能在文中展示,还是有一些可惜,不能总结一些东西。
接下来进一步思考如何实现无人机的自主飞行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)