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

2022/7/24 6:23:53

本文主要是介绍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

 

 

 

文章目录
一、环境配置
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.配置信息

 

 

 

2.硬件连接

NX 40pin针脚定义见下图

 

 

 

v5+接口定义如下
在这里插入图片描述
NX与飞控接线如下
在这里插入图片描述

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

 

3.系统安装

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

4.Ubuntu基本操作

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

sudo apt-get update		#sudo 表示管理员,apt与apt-get一样
sudo apt upgrade

  vim文本编辑器使用方法

sudo vim 文件路径/文件名		#按i进入编辑模式,按Esc退出编辑,:wq保存并退出,:q退出,:!q强制退出
#Tab补全:输入文件名首字母按下Tab即可补全

  

5.安装ROS

安装ROS前请勿FQ,否则会增加很多问题

参考链接

 


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

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

  测试是否成功安装ros

roscore

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

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

  

6.安装Mavros

采用二进制安装,官方链接

 


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等),官方指南

# 安装依赖项 
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

  

 

 

 

 

 

8.安装Realsense-ros

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

如图所示
在这里插入图片描述

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

  

#初始化工作空间
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/

  

 

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

给与修改权限

sudo chmod -R 777 .bashrc

  

 

 

 

 

 

 

 

9.配置坐标转换包

#下载坐标转换工具,编译工作空间
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
#将<include file="$(find mavros)/launch/apm.launch">修改为<include file="$(find mavros)/launch/px4.launch">

  

 

 

 

 

 

 

 

 

 

 

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

sudo gedit /opt/ros/melodic/share/mavros/launch/px4.launch

  修改为以下内容 改成自己的串口 

如果是usb-ttl  应该是  /dev/ttyUSB0:57200   看飞控的实际波特率

 

 

 

 

 

 运行以下指令,若能显示飞控状态信息,则证明Mavros与px4通讯成功。

ttyUSB0
sudo chmod 666 /dev/ttyTHS0		#赋予串口权限,注销或关机后需再次赋予权限
roslaunch mavros px4.launch

  如果TTL的速度异常,修改以下信息

sudo vim /opt/ros/melodic/share/mavros/launch/px4_config.yaml
#将timesync_rate: 10.0 改为timesync_rate: 0.0

  

3.T265测试

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

roslaunch realsense2_camera demo_t265.launch

  

 

 

如果需要查看图像数据,则需要对rs_t265.launch lanunch文件中使能图像输出
在这里插入图片描述
重新测试
在这里插入图片描述

 

4.坐标转换测试

该文件夹提供了两种t265安装方式:USB口朝右镜头向前和向下安装。如需其它方式安装,参考文件内说明修改相关参数,本文采用向前安装方式

 

 

打开三个终端,分别运行指令

roslaunch realsense2_camera rs_t265.launch
roslaunch mavros px4.launch
roslaunch vision_to_mavros t265_tf_to_mavros.launch

  

 

 

三、飞行准备

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

roslaunch vision_to_mavros t265_all_nodes.launch

  查看位置数据

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

 



这篇关于VIO视觉无人机室内定点自主飞行(T265+PX4+Mavros+NX)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程