PX4 视觉定位设置(T265)及多种定位数据获取方法

​简述

PX4飞控的定位数据可以是GPS,也可以是视觉,其他定位数据也可以,核心问题在于如何将数据传输给PX4飞控。默认的定位数据为GPS,而该文档主要记录视觉定位的相关设置。网上的资料不全,这点内容耗费我小半个月才探索出来,希望小伙伴们平时也能多做笔记多分享。

​T265是四旋翼视觉定位常用的定位方案,但是网上对其具体原理的讲解甚少,下文以实物为例演示了视觉定位相关设置及效果,另配有视频讲解合计30min+。PS:因配备了详细的视频讲解及演示,故此文是一篇付费文章(大杯芝士奶盖四季春-10¥,蜜雪冰城)。跟着文章走一遍,轻松学会如何将T265用在PX4实机上。

PX4 视觉定位设置及多种定位数据获取方法(T265为例)icon-default.png?t=N6B9http://mp.weixin.qq.com/s?__biz=MzkxNDM1MDk2MQ==&mid=2247484713&idx=1&sn=d6ed3bfbe35729b685067d1d9cc438e0&chksm=c16ef337f6197a21369bb2bd08761db2ab6e528c322bc6e097a34a333ccd4cca595d23cfb1c9#rd 

一、三种方法

​ 目前我了解到了两类(三种)将视觉定位数据传递给PX4飞控的方法。其一,向指定的mavros话题发送定位数据;其二,将定位数据发布为tf变换,使px4订阅该tf变换。方法如下:

1)Auterion/VIO

向话题“/mavros/odometry/out”发送T265数据"/camera/odom/sample"

PX4官方写的VIO C++

2)thien94/vision_to_mavros

向话题“/mavros/vision_pose/pose”发送数据"/mavros/vision_pose/pose"

APM写的t265_to_mavros Python

3)修改px4_config.yaml

修改启动mavros时调用的px4_config.yaml文件:将listen设置为true之后,前面两种通过topic发送定位数据的方法都将失效,frame_id和child_frame_id之间的tf变换即为定位数据。对于cartographer而言,通过修改frame_id就可以将cartgrapher发布的tf定位数据传输给PX4飞控。

二、视觉定位参数设置(QGC)

PX4固件中定位数据的融合有两套方法:EKF2和LPE,似乎EKF2更加常用,我这里也只介绍EKF2的相关设置。下面这篇文章两种方法都介绍了的,可以前往参考。也希望能有更多的小伙伴能像下面这个博主一样,分享知识。

使用EKF2进行融合定位需要设置下面的参数:

Parameter

Setting for External Position Estimation

EKF2_AID_MASK

Set vision position fusion, vision velocity fusion, vision yaw fusion and external vision rotation according to your desired fusion model.

EKF2_HGT_REF

Set to Vision to use the vision as the reference sensor for altitude estimation.

EKF2_EV_DELAY

Set to the difference between the timestamp of the measurement and the "actual" capture time. For more information see below.

EKF2_EV_POS_X, EKF2_EV_POS_Y, EKF2_EV_POS_Z

Set the position of the vision sensor with respect to the vehicles body frame.

根据官网资料,我简单介绍几个常用的参数:

  • EKF2_AID_MASK:设置融合哪些定位数据。如果使用GPS定位,一般只需勾选“use GPS”;而如果使用视觉定位,则可选:“vision position fusion”-xyz数据、“vision velocity fusion”-xyz速度数据、“vision yaw fusion”-姿态角、“external vision rotation”-旋转。vision yaw fusion 或 external vision rotation 需设置为 true,但不能同时为 true。默认是GPS,如下图。

采用视觉定位时,EKF2_AID_MASK 的数值设置有如下可用组合:

EKF_AID_MASK value

Set bits

Description

320

EV_VEL + ROTATE_EV

Heading w.r.t. North

24

EV_POS + EV_YAW

Heading w.r.t. external vision frame

72

EV_POS + ROTATE_EV

Heading w.r.t. North

272

EV_VEL + EV_YAW

Heading w.r.t. external vision frame

280

EV_POS + EV_VEL + EV_YAW

Heading w.r.t. external vision frame

328

EV_POS + EV_VEL + ROTATE_EV

Heading w.r.t. North

​ 将外部视觉与GNSS融合结合使用时,建议使用EV_VEL而不是EV_POS,以防止两个定位源相互冲突。

  • EKF2_HGT_REF:设置高度估计主要数据来源,默认是气压计。如果安装有激光定高雷达,建议依旧选择激光定高雷达而非视觉,毕竟他这个是绝对真值。

  • EKF2_EV_POS_X, EKF2_EV_POS_Y, EKF2_EV_POS_Z:设置视觉定位来源与PX4飞控中心位置的偏移。PX4固件转向的时候定位会漂移,为此偏移设置还是蛮重要的。

参数设置完成后,重启生效。

三、Realsense 驱动

如果你使用的是AGX Orin,在配置realsense驱动时估计会遇到诸多奇奇怪怪的问题,可以参考下面的这篇付费文章,里面详细介绍了相关的解决方案。

下文将分享AGX Orin使用Realsense相机遇到的疑难杂症及解决方案: T265插着开机需要插拔、电脑无法检测T265、Dxx相机深度点云频率低...

Realsense 相机的疑难杂症 Nvidia Jetson 系列 (Agx Orin)icon-default.png?t=N6B9https://mp.weixin.qq.com/s/eQZBKV6RTDRy7aN7vL2QMA正常的系统(非arm架构)Realsense 系列相机的驱动安装步骤如下(Ubuntu18.04)。

一般的驱动都有两种安装方式(ubuntu 18.04):源码安装 or 二进制包安装

################## 1 安装realsense sdk ################ 
# step 1: 注册服务器公钥 
sudo apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE 
# step 2: 添加镜像源 
ubuntu 18 sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u 
# step 3: 安装环境 
sudo apt-get update sudo apt-get install librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg 

# realsense-viewer 测试 realsense-viewer 
################## 2 安装realsense-ros驱动 ################ 
## ROS二进制包 
sudo apt-get install ros-melodic-ddynamic-reconfigure 
sudo apt-get install ros-melodic-realsense2-camera 
#  or 源码 
git clone https://github.com/IntelRealSense/realsense-ros.git 
cd realsense-ros/ 
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1` 
cd .. 
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release 
### 启动测试demo 
roslaunch realsense2_camera demo_t265.launch

 T265是四旋翼视觉定位常用的定位方案,但是网上对其具体原理的讲解甚少,下文以实物为例演示了视觉定位相关设置及效果,另配有视频讲解合计30min+。PS:因配备了详细的视频讲解及演示,故此文是一篇付费文章(大杯芝士奶盖四季春-10¥,蜜雪冰城)。跟着文章走一遍,轻松学会如何将T265用在PX4实机上。

PX4 视觉定位设置及多种定位数据获取方法(T265为例)icon-default.png?t=N6B9http://mp.weixin.qq.com/s?__biz=MzkxNDM1MDk2MQ==&mid=2247484713&idx=1&sn=d6ed3bfbe35729b685067d1d9cc438e0&chksm=c16ef337f6197a21369bb2bd08761db2ab6e528c322bc6e097a34a333ccd4cca595d23cfb1c9#rd 

  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值