PX4实战之旅(五):利用T265实现室内定点飞行

这篇具有很好参考价值的文章主要介绍了PX4实战之旅(五):利用T265实现室内定点飞行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

硬件:
Intel NUC
Intel Realsense T265
Pixhawk 2.4.8

软件:
PX4 1.13.0
Ubuntu 20.04
Ros Neotic
Mavros

视觉惯性里程计测距(VIO)是一种计算机视觉技术,用于估算3D姿态(本地位置和方向),相对于本地起始位置的移动的机体速度。 它通常用于在GPS不存在或不可靠的情况下(例如室内或在桥下飞行时)给载具导航。
VIO 使用视觉里程计(Visual Odometry)从相机图像中估计机身姿态,并结合机身IMU的惯性测量以校正。

一、相机安装

将相机连接到机载计算机并将其安装到机架上:
使用提供的线缆连接 T265 和板载计算机。
尽可能使镜头朝下安装相机(默认)。
相机对振动非常敏感;建议使用软安装(例如使用隔振泡沫)。

二、安装Realsense驱动

使用下面的命令安装

sudo apt-get install ros-noetic-realsense2-camera

安装完驱动之后,将T265连接到NUC,启动下面的launch文件测试

roslaunch realsense2_camera demo_t265.launch

启动后会弹出RVIZ,里面可以显示T265的位姿,移动T265可以查看RVIZ显示是否正常。
realsense驱动,PX4实战之旅,人工智能

三、安装VIO桥接包

下载

cd ~/catkin_ws/src
git clone https://github.com/Auterion/VIO.git

如果上面网址不存在,也可以在网盘中下载,然后解压放到src下
链接:https://pan.baidu.com/s/1lFRgjZ7rEOrt7hP4Q74M2g?pwd=1hbc
提取码:1hbc
–来自百度网盘超级会员V6的分享
编译

cd ~/catkin_ws
catkin_make

四、配置摄像头方向

如果需要,配置摄像头方向:
如果摄像机的镜头朝下安装(默认设置),则VIO桥接包不需要任何配置。
对于任何其他方向,请在修改bridge_mavros.launch中以下部分

<node pkg="tf" type="static_transform_publisher" name="tf_baseLink_cameraPose"
    args="0 0 0 0 1.5708 0 base_link camera_pose_frame 1000"/>

这是将ROS中摄像头帧camera_pose_frame链接到mavros无人机帧base_link的静态转换。
前三个参数指定解释为从飞控中心到摄像机的 x,y,z方向,以米为单位。 例如,如果摄像头在飞控前方10cm,上方4cm, 则前三个数字将是:[0.1, 0, 0.04 …]
接下来的三个 参数 是旋转弧度(偏航, 俯仰, 横滚)。 所以 [… 0, 1.5708, 0] 是向下俯仰90度(朝向地面)。 直面是 [… 0 0 0]。

PX4中还需要修改下面三个参数。
EKF2_EV_POS_X, EKF2_EV_POS_Y, EKF2_EV_POS_Z 设置T265相对于机体的位置。

五、运行VIO

通过使用适当的启动文件调用 roslaunch 来运行VIO:

cd ~/catkin_ws
source devel/setup.bash 
roslaunch px4_realsense_bridge 启动文件

启动文件可以是下面三个:

bridge_mavros.launch: 同时启动桥接和MAVROS。
bridge.launch: 如果其他组件负责启动 MAVROS(仅启动桥接),则使用此launch文件
bridge_mavros_sitl.launch:用于模拟仿真(启动桥接, MAVROS, SITL)验证与飞控的连接。

我这里使用bridge_mavros.launch测试时发现飞控收不到T265位姿,可能是MAVROS启动失败。于是单独进行启动,就正常了。
先将飞控连上NUC,启动MAVROS

roslaunch mavros px4.launch

出现下面的提示说明连接正常
realsense驱动,PX4实战之旅,人工智能

再启动T265桥接

cd ~/catkin_ws
source devel/setup.bash 
roslaunch px4_realsense_bridge bridge.launch

出现下面提示说明启动正常
realsense驱动,PX4实战之旅,人工智能
然后执行:

rostopic echo /mavros/odometry/out

正常的话会打印T265的位姿
realsense驱动,PX4实战之旅,人工智能

六、通过MAVROS连接地面站

我这里飞控是用USB连接的NUC,USB端口已经被MAVROS使用,不能再连地面站,为了方便我这里通过MAVROS连接地面站

修改px4.launch

roscd mavros
cd launch
gedit px4.launch

将下图位置修改为

<arg name="gcs_url" default="udp-b://@" />

realsense驱动,PX4实战之旅,人工智能
设置地面站不要自动连接飞控
realsense驱动,PX4实战之旅,人工智能然后打开地面站,启动MAVROS,地面站就自动连接到飞控了,并且和MAVROS不冲突

PX4设置

连接到地面站,修改下面的参数
EKF2_AID_MASK
修改数据来源,将位置和偏航的数据来源修改为视觉,也就是T265
realsense驱动,PX4实战之旅,人工智能
修改
EKF2_HGT_MODE
将高度模式设置为视觉
realsense驱动,PX4实战之旅,人工智能

然后重启飞控,启动MAVROS和VIO桥接,打开地面站,在MAVLink Inspector可以看到LOCAL_POSITION_NED消息,移动T265可以查看数据是否正常,无人机此时可以切换到Position模式

realsense驱动,PX4实战之旅,人工智能数据的坐标系为前右下(FRD),将机架抬离地面,应该看到位置的z坐标减小。 向前移动无人机,应该增加位置的 x 坐标。 向右移动无人机时,应增加 y 坐标。线性速度也是以 FRD 机架参照系表示。

检查无误就可以飞行测试了。

常见问题 / 解决方案

问题: 当无人机飞行时发生漂移/飞走,但是手拿着时位姿不会发生漂移。
如果使用 T265,请尝试将其软安装(soft-mounting,做好减震,此相机对高频振动非常敏感)。

问题: 启用 VIO 定点时无人机绕一个点转圈,越转越大。
确保相机的方向与启动文件中的变换匹配。 确保相机方向没有装错文章来源地址https://www.toymoban.com/news/detail-849608.html

到了这里,关于PX4实战之旅(五):利用T265实现室内定点飞行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • realsense-viewer 不识别 T265——Realsense SDK 在 v2.54.1 版本以后不再支持T265相机的解决办法

    由于T265停产,Intel® RealSense™ SDK 2.0 (v2.54.1) 在该版本中移除了对T265相机的支持,以后的版本也不会支持了。为了继续使用 T265 相机,最好千万不要升级 realsense 相关的 package,但是还有新装机的需求啊。经测试Intel® RealSense™ SDK 2.0 (v2.53.1) 能对 T265 正常支持,因此,本文主要

    2024年02月15日
    浏览(34)
  • SLAM算法与工程实践——相机篇:RealSense T265相机使用(1)

    下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此 下面是专栏地址: 这个系列的文章是分享SLAM相关技术算法的学习和工程实践 参考: Z410-4B-T265视觉版教程 Intel Realsense T265使用教程 realsense官方文档:https://dev.intelrealsense.com/docs/code-sample

    2024年04月25日
    浏览(34)
  • SLAM算法与工程实践——相机篇:RealSense T265相机使用(2)

    下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此 下面是专栏地址: 这个系列的文章是分享SLAM相关技术算法的学习和工程实践 参考: 一文讲透鱼眼相机畸变矫正,及目标检测项目应用 一文讲透鱼眼相机畸变矫正,及目标检测项目应用

    2024年01月18日
    浏览(53)
  • 【PX4学习笔记】11.PX4飞行日志分析

    https://docs.px4.io/main/en/getting_started/flight_reporting.html https://docs.px4.io/master/en/log/flight_log_analysis.html github推荐:https://github.com/PX4/FlightPlot/releases 推荐:https://blog.csdn.net/qq_33641919/article/details/106883279 [!NOTE] ​ 可以看到,总共也就三个版本而已。 log messages 存放了控制台的打印信息。

    2024年02月22日
    浏览(46)
  • 【PX4学习笔记】08.PX4中显示在QGC的参数讲解

    [!NOTE] ​ 姿态控制的P-PID:roll、pitch、yaw三个角速度的内环PID,外环P的控制 ​ 位置控制的P-PID:xy水平方向以及z垂直方向上的内环PID,和外环P的控制 ​ 这两个部分的关系,还是不太明晰。 ​ SYS开头的系统参数,修改之后,必须要reboot重启刷新。 [!NOTE] ​ 在设置好机架之后

    2024年02月22日
    浏览(39)
  • Jetson Xavier NX配置全过程——D435i和T265驱动安装(三)

    Jetson Xavier NX配置全过程——系统与SDK烧录(一) Jetson Xavier NX配置全过程——安装OpenCV4.5.3(二) Jetson Xavier NX配置全过程——D435i驱动安装(三) 目录 一、安装RealSense SDK 1、RealSense SDK源码下载  2、安装依赖库 3、编译与安装 二、安装pyrealsense2 三、安装Realsense_ros 因为课题需

    2024年02月02日
    浏览(43)
  • (开源)正点原子飞控+北醒tof+优象光流——室内定点(一)

    前几篇文章讲述了如何使用tof的数据实现飞机的定高;接下来分享的是如何使用光流来定点;主要分为以下几个步骤: 1)添加光流驱动,获得x,y轴方向的观测速度; 2)光流速度与加速度数据的互补滤波,获得state.velocity.x 与state.velocity.y; 3)添加遥控器处理,输出setpoint.ve

    2023年04月27日
    浏览(27)
  • PX4代码解析(6)

    上一节介绍了PX4姿态估计调用函数的流程,这一节分享一下我对PX4姿态解算的解读.首先,要理解PX4姿态解算的程序,要先从传感器的特性入手,这里主要介绍的传感器有加速度计,磁力计,陀螺仪. pixhawk上使用的为三轴加速度计,主要用于测量x,y,z三轴的加速度值,常用的传

    2024年02月14日
    浏览(40)
  • PX4之飞行控制框架

    PX4的飞行控制程序通过模块来实现,与飞控相关的模块主要有commander,navigator,pos_control,att_control这几个,分别可以在src/modules目录中找到。 commander - 指令/事件处理模块,处理指令、遥控器输入和各种事件,设定飞行器状态和控制模式 navigator - 导航模块,根据指定的任务输

    2024年02月14日
    浏览(37)
  • 【PX4仿真】使用PX4+Gazebo+MAVROS+ROS进行无人机仿真中提高IMU消息频率的方法

    在无人机仿真中,IMU(惯性测量单元)消息频率对于路径规划和感知的仿真至关重要。然而,在使用PX4+Gazebo+MAVROS+ROS进行仿真时,可能会遇到频率受限的情况。本文将介绍如何提高IMU消息频率。 通过以下命令可以查看到IMU消息的发布频率 通常情况下固定在50Hz。 然而,通过

    2024年04月14日
    浏览(101)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包