VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

利用雷迅V5+、Ubuntu 18.04、ROS Melodic、T265、Jetson Xavier NX机载电脑实现无人机在室内无GPS情况下的定点稳定飞行。

https://blog.csdn.net/weixin_53670039/article/details/123387203?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-123387203-blog-108262467.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-123387203-blog-108262467.pc_relevant_default&utm_relevant_index=1

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

文章目录
一、环境配置
1.配置信息
2.硬件连接
3.系统安装
4.Ubuntu基本操作
5.安装ROS
6.安装Mavros
7.安装Realsense SDK
8.安装Realsense-ros
9.配置坐标转换包
10.飞控参数设置
二、模块测试
1.ROS通讯
2.Mavros测试
3.T265测试
4.坐标转换测试
三、飞行准备
四、自主飞行
参考文章

一、环境配置

1.配置信息

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

2.硬件连接

NX 40pin针脚定义见下图

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

v5+接口定义如下

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)
NX与飞控接线如下
VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

T265双目相机直接通过USB连接至NX

3.系统安装

SD卡镜像法(推荐)与NVIDIA SDK 管理器方法(需要有装linux的电脑)

4.Ubuntu基本操作

右键打开终端或Shift+Alt+T
更新系统,终端输入密码不显示,Enter结束

cpp;gutter:true; sudo apt-get update #sudo 表示管理员,apt与apt-get一样 sudo apt upgrade</p> <pre><code> vim文本编辑器使用方法 ;gutter:true;
sudo vim 文件路径/文件名 #按i进入编辑模式,按Esc退出编辑,:wq保存并退出,:q退出,:!q强制退出
#Tab补全:输入文件名首字母按下Tab即可补全

5.安装ROS

&#x5B89;&#x88C5;ROS&#x524D;&#x8BF7;&#x52FF;FQ&#xFF0C;&#x5426;&#x5219;&#x4F1A;&#x589E;&#x52A0;&#x5F88;&#x591A;&#x95EE;&#x9898;

参考链接

Ubuntu20.04 noetic
Ubuntu18.04 melodic
Ubuntu16.04 kinetic
Ubuntu14.04 indigo

cpp;gutter:true; sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get update sudo apt-get install ros-melodic-desktop-full sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential sudo rosdep init rosdep update #该步骤往往会失败,解决方法看下面 echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc</p> <pre><code> 测试是否成功安装ros ;gutter:true;
roscore

rosdep update更新失败错误解决方法 参考链接
运行下面的脚本,更新rosdep相关文件,增加代理地址,再运行rosdep update更新就可以

cpp;gutter:true; rm rosdep_recover.sh ; wget https://gitee.com/ncnynl/rosdep/raw/master/rosdep_recover.sh ; sudo chmod +x ./rosdep_recover.sh; sudo ./rosdep_recover.sh</p> <pre><code> ## 6.安装Mavros 采用二进制安装,[官方链接](https://docs.px4.io/master/en/ros/mavros_installation.html) Ubuntu20.04 noetic Ubuntu18.04 melodic Ubuntu16.04 kinetic Ubuntu14.04 indigo ROS综合应用(一)树莓派外部控制 Pixhawk(一站到底) https://blog.csdn.net/weixin_41869763/article/details/104258058 安装MAVROS,此处使用二进制安装(比官网推荐的源安装方便很多) sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras ros-noetic-control-toolbox sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras ros-melodic-control-toolbox 安装地理数据集 sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh sudo /opt/ros/melodic/lib/mavros/install_geographiclib_datasets.sh ## 7.安装Realsense SDK 安装前切勿插入Intel实感设备(T265、D435等),[官方指南](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation.md) ;gutter:true;
# 安装依赖项
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
# 下载源码
git clone https://github.com/IntelRealSense/librealsense
cd librealsense
# 安装udev规则
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control –reload-rules && udevadm trigger
# 编译
mkdir build && cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true \
-DFORCE_RSUSB_BACKEND=ON -DBUILD_WITH_TM2=false -DIMPORT_DEPTH_CAM_FW=false
sudo make uninstall && make clean
make -j6 #6表示同时进行6个任务,一般不超过cpu核数,也可直接make
sudo make install
# 连接T265,测试是否安装成功
realsense-viewer

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

8.安装Realsense-ros

自己的全部是catkin_gps代替catkin_ws文件夹名字

如图所示

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

cpp;gutter:true;</p> <h1>创建工作空间</h1> <p>mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src/</p> <h1>下载source</h1> <p>git clone https://github.com/IntelRealSense/realsense-ros.git git clone https://github.com/pal-robotics/ddynamic_reconfigure</p> <h1>NX默认安装opencv4.1,cv_bridgeConfig.cmake默认为opencv3.2.0,更改opencv4路径</h1> <p>sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake</p> <pre><code> ;gutter:true;
#初始化工作空间
catkin_init_workspace
cd ..

#编译工作空间
catkin_make clean
catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
catkin_make install
#增加环境变量 替换成自己的路径
gedit ~/.bashrc
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

chrl+h 显示隐藏文件 找到.bashrc

给与修改权限

cpp;gutter:true; sudo chmod -R 777 .bashrc</p> <pre><code> ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/1008336-20220724004156762-1356697589.png) ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/1008336-20220724004335757-355834707.png) ## 9.配置坐标转换包 ;gutter:true;
#下载坐标转换工具,编译工作空间
mkdir -p ~/vision_ws/src
cd vision_ws/src
git clone https://github.com/thien94/vision_to_mavros.git
catkin_init_workspace
cd ..

catkin_make
#配置环境变量
gedit ~/.bashrc
source ~/vision_ws/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/vision_ws/
#修改配置参数
cd vision_ws/src/vision_to_mavros/launch
sudo gedit t265_all_nodes.launch
#将修改为

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

10.飞控参数设置
由于Jetson Xavier NX采用arm架构,QGC官方未推出该版本软件,所以使用Windows或Mac对飞控调参,下载链接

参数配置如下

MAV_1_CONFIG= TELEM 2

MAV_1_MODE = Onboard

SER_TEL2_BAUD = 921

EKF2_AID_MASK =24

EKF2_HGT_MODE 设置为 Vision,有激光定高的可设为Range sensor

MAV_ODOM_LP设置为1

可能一开始只有 MAV_1_CONFIG 这一个参数,将其设置为 TELEM2 后重启飞控即可。

详细的参数说明请看:Using the ECL EKF | PX4 User Guide

二、模块测试

2.Mavros测试

首先更改连接方式,本人采用Nx的串口1与飞控连接

选择版本
Ubuntu20.04 noetic
Ubuntu18.04 melodic
Ubuntu16.04 kinetic
Ubuntu14.04 indigo

cpp;gutter:true; sudo gedit /opt/ros/melodic/share/mavros/launch/px4.launch</p> <pre><code> 修改为以下内容 改成自己的串口 如果是usb-ttl 应该是 /dev/ttyUSB0:57200 看飞控的实际波特率 ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/1008336-20220724004721449-364951371.png) ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/1008336-20220724004818540-507996421.png) 运行以下指令,若能显示飞控状态信息,则证明Mavros与px4通讯成功。 ;gutter:true;
ttyUSB0

cpp;gutter:true; sudo chmod 666 /dev/ttyTHS0 #赋予串口权限,注销或关机后需再次赋予权限 roslaunch mavros px4.launch</p> <pre><code> 如果TTL的速度异常,修改以下信息 ;gutter:true;
sudo vim /opt/ros/melodic/share/mavros/launch/px4_config.yaml
#将timesync_rate: 10.0 改为timesync_rate: 0.0

3.T265测试

运行以下指令打开Rviz,移动T265,可以看到见位置变化。

cpp;gutter:true; roslaunch realsense2_camera demo_t265.launch</p> <pre><code> ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/1008336-20220724004929994-860840736.png) 如果需要查看图像数据,则需要对rs_t265.launch lanunch文件中使能图像输出 ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/6c31795f6d974903ba3a2aa70c2087b4.png) 重新测试 ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/468a6862661741dc852ac3e2f773842e.png) ## 4.坐标转换测试 该文件夹提供了两种t265安装方式:USB口朝右镜头向前和向下安装。如需其它方式安装,参考文件内说明修改相关参数,本文采用向前安装方式 ![VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)](https://johngo-pic.oss-cn-beijing.aliyuncs.com/articles/20220813/1008336-20220724005033132-1826076483.png) 打开三个终端,分别运行指令 ;gutter:true;
roslaunch realsense2_camera rs_t265.launch
roslaunch mavros px4.launch
roslaunch vision_to_mavros t265_tf_to_mavros.launch

VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

三、飞行准备

1.先使用定高模式可以正常飞行即可进行下一步。
2.启动ros节点,转发T265位置数据给飞控。

cpp;gutter:true; roslaunch vision_to_mavros t265_all_nodes.launch</p> <pre><code> 查看位置数据 ;gutter:true;
rostopic echo mavros/vision_pose/pose

或者在QGC地面站查看MAVLink Inspector,参考官方说明

3.切换至定点模式,内八解锁,起飞,摇杆回中,无人机可稳定悬停。

四、自主飞行

未完待续

参考文章
PX4 User Guide
Intel RealSense
NVIDIA Jetson Linux Developer Guide
创客制造
使用Jetson Nano向PX4提供T265位置信息,实现室内定点飞行
【科研纪实】ROS下基于视觉的无人机室内定点飞行全程记录(T265+PX4+mavros)
————————————————
版权声明:本文为CSDN博主「小白造飞机」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_53670039/article/details/123387203

Original: https://www.cnblogs.com/gooutlook/p/16513696.html
Author: MKT-porter
Title: VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/9440/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部