Jetson nano+T265+PX4实现室内定点飞行

目录

前言

一、MAVROS的安装

二、Realsense SDK和Realsense-ROS的安装

四、给予串口权限

五、在QGC中修改PX4参数

六、启动VIO节点

七、参考文献

前言

1.硬件

飞控:Pixhawk 6C

机载电脑:Jetson nano 4GB B01

视觉定位模块:Intel RealSense T265

2.软件

操作系统:Ubantu 18.04

控制平台:ROS1 melodic,MAVROS,realsense-ros

一、MAVROS的安装

在Jetson nano安装好ROS melodic后,安装MAVROS。Jetson nano安装ROS可参考Jetson nano ROS安装教程

#MAVROS的安装
sudo apt install ros-melodic-mavros ros-melodic-mavros-extras

二、Realsense SDK和Realsense-ROS的安装

注意:在安装过程中,需要将T265与Jetson nano断开连接。

首先,进行Realsense SDK的安装

git clone https://github.com/IntelRealSense/librealsense
cd librealsense
 
# 安装依赖项 
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
 
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger 
 
# 编译 安装
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install
 
# 插上T265运行此代码测试,如果出现T265交互界面,并在交互界面中打开T265的开关后出现运动轨迹数据,证明安装成功
realsense-viewer

然后,进行Realsense-ROS的安装

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
git clone https://github.com/IntelRealSense/realsense-ros.git
git clone https://github.com/pal-robotics/ddynamic_reconfigure
 
# 更改cv_bridgeConfig.cmake中opencv4路径
sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake

 在cv_bridgeConfig.cmake文件中,进行如下更改:

 更改完成后,保存并推出,进行编译

cd ~/catkin_ws
catkin_make
 
echo "source ~/catkin_ws/devel/setup.bash">>~/.bashrc 
source ~/.bashrc
 
#测试,如果在终端中节点成功开启,证明安装成功
roslaunch realsense2_camera rs_t265.launch

报错处理:如果在编译过程中出现以下报错

`-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

– ~~ traversing 4 packages in topological order:
– ~~ - realsense2_camera_msgs (plain cmake)
– ~~ - realsense2_description (plain cmake)
– ~~ - ddynamic_reconfigure
– ~~ - realsense2_camera (plain cmake)
– ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_workspace.cmake:100 (message):`

说明没有正确对Realsense-ROS进行处理。可通过以下方式解决:

cd ~/catkin_ws/src/realsense-ros/      
git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
cd ~/catkin_ws
catkin_make clean            
catkin_make

 三、VIO的安装

#安装VIO
cd ~/catkin_ws/src
git clone https://github.com/Auterion/VIO.git
cd ..
catkin_make

在安装完成后,需要根据T265的实际安装位置修改VIO的配置参数。

首先打开bridge.launch文件

gedit ~/catkin_ws/src/VIO/launch/bridge.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"/>

在args中,前面三个数字为飞控中心指向T265中心的空间向量,单位:m。例如,T265在飞控前方8厘米,下方5厘米,那么将三个数字改为[0.08,0,0.05],如果是在相反方向,将其写为负数即可。 

后面三个数字为旋转角(偏航, 俯仰, 横滚)。若T265摄像头朝地,则参数为[0,1.5708,0],若T265摄像头朝向飞机机头方向,则参数为 [0,0,0]。

如果使用USB连接飞控和Jetson nano的话,打开px4.launch文件

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

找到第五行

<arg name="fcu_url" default="/dev/ttyACM0:57600" />

 此处default的值应为"/dev/ttyACM0:57600"。

同时检查VIO功能包中bridge_mavros.launch文件

gedit ~/catkin_ws/src/VIO/launch/bridge_mavros.launch

找到第三行

<arg name="fcu_url" default="/dev/ttyACM0:57600" />

 此处default的值同样应为"/dev/ttyACM0:57600"。

四、给予串口权限

# 用自己的系统用户名替代<username>
sudo usermod -a -G dialout <username>
# 重启后生效
reboot

五、在QGC中修改PX4参数

参数名对应功能
EKF2_AID_MASK通过此参数可修改位置、偏航角数据来源。此处将其值改为24
EKF2_HGT_MODE修改高度信息来源,将其修改为来自视觉(Vision)
EKF2_EV_DELAYVision Position Estimator delay relative to IMU measurements
EKF2_EV_POS_XEKF2_EV_POS_YEKF2_EV_POS_Z修改T265相对于飞控的位置

EKF2_EV_POS_X为T265相对飞控的前后位置,如果T265在飞控前方,则值为正数,反之则为负数。单位:m。

EKF2_EV_POS_Y为T265相对飞控的左右位置,如果T265在飞控右方,则值为正数,反之则为负数。单位:m。

EKF2_EV_POS_Y为T265相对飞控的上下位置,如果T265在飞控下方,则值为正数,反之则为负数。单位:m。

六、启动VIO节点

运行如下代码,启动VIO节点

roslaunch px4_realsense_bridge bridge_mavros.launch

运行成功后,Jetson nano开始向PX4发送T265获取的数据。此时,打开QGC地面站,移动无人机,观察无人机高度、位移、偏航角的变化。

七、参考文献

使用Jetson Nano向PX4提供T265位置信息,实现室内定点飞行

【8-12】树莓派部署t265+px4飞控实现无人机视觉定位

ROS编译D435i过程中的问题及解决

  • 4
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街边摆摊的宅男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值