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
标签:T265,launch,Mavros,sudo,VIO,apt,ros,安装,mavros 来源: https://www.cnblogs.com/gooutlook/p/16513696.html