技术分享 | 带你具体部署VINS_FUSION_GPU版本

前期准备工作已经完成,接下来我们就准备VINS在NX的落地。 1.下载源码编译 首先VINS_gpu版本需要引入OpenCV CUDA版本的加速,由于我们的NX镜像已经安装好CUDA,这里就不在赘叙,需要的自行google查找资料。下面开始安装VINS源码。 mkdir -p vins_gpu/src cd vins_gpu/src git clone https://github.com/pjrambo/VINS-Fusion-gpu.git 下载完之后,需要更改vins_estimator/CMakeLists.txt,20行左右需要把OpenCV路径改成你自己的路径。还需要更改的有 loop_fusion/CMakeLists.txt,同样也需要更改路径。更改完之后,开始编译。 cd .. catkin_make 如果OpenCV CUDA环境安装不对,这里就会报错。

2.更改配置参数 file 注意官方提供的参数里面没有D435i的配置参数,需要自己依葫芦画瓢。 1代表打开,0表示关闭。 那我就以我配置的yaml文件为例 需要更改自己实际订阅IMU以及双目图像发布话题以及输出路径。 file 这里的矩阵涉及IMU和相机的相对变换。可以由之前的联合标定得到。注意左右目的顺序。 file file IMU的数据可以由之前的标定得到。 file 下面的参数意思是在线估计IMU的相机之间的时间差,虽然说Intel说D435i已经做好硬件同步,但是用Kalibr标定出来还是有0.0015左右的时间误差。 file

3.启动VINS 前期的参数配置工作完成后,我们就可以启动VINS 3.1启动 D435i 需要修改一下D435i的发布频率,建议为15HZ,这样NX上不会有较大的延迟。路径还是你自己安装realsense_ros的路径。比如我自己是安装在桌面上。 file roslaunch realsense2_camera rs_camera.launch //启动D435i 需要查看下D435i是否发布IMU数据,这里主要是XYZ三个轴的线速度。 rostopic echo /camera/imu 3.2启动VINS rosrun vins vins_node +这里是你自己的D435i配置文件的路径 比如我自己是 rosrun vins vins_node
/home/amov/vins_gpu/src/VINS-Fusion-gpu-master/config/realsense/realsense1.yaml 可以显示出当前位姿信息。 file roslaunch vins vins_rviz.launch //启动RVIZ 启动完之后,我们可以拿着飞机跑一圈,看看定位精度以及延时。如果没有问题我们就可以接入Prometheus。

4.接入Prometheus 4.1在Prometheus/Modules/control/src文件夹中修改px4_pos_estimator.cpp,主要修改内容如下: 回调函数中,主要是VINS发布数据格式为YXZ,而Prometheus需要ENU,所以这里做一个变换。VINS的四元数虚部在前,这里也需要调整下。 file 4.2修改Amov_lab/src/P450_expriments/launch_basic 中的p450_vio_onboard.launch的启动文件。 这里主要是修改位姿数据来源,我们不再依赖T265。 file 4.3最后我们修改主函数里面的订阅话题 file

5.启动VINS和Prometheus roslaunch realsense2_camera rs_camera.launch rosrun vins vins_node + (配置文件路径,即我们放D435i配置文件的路径,具体应该是在VINS 包下面) roslaunch p230_expriments p230_vio_onboard.launch

我们查看下rqt_graph,可以看到VINS发布的位姿已经被px4_pos_estimator订阅,类似于之前的T265发布的 odom/sample,通信链路正常。 file 并且我们可以看到终端可以正确打印位姿数据,即代表VINS接入Prometheus成功。 file file 至此,我们已经成功把VINS接入到Prometheus中,那就开启我们的飞行之旅吧。 阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值