使用 Jetson Nano 向 PX4 提供 t265 位置信息,实现室内定点飞行
本文作者:南京航空航天大学 科技中心 陈思祺
主要内容:详细阐述如何使用 Jetson Nano 向 PX4 提供 t265 位置信息,从而实现室内定点飞行。
使用的 Jetson Nano 镜像版本:4.6(2021-08-04 发布)
下载好镜像,烧录进 TF 卡,初次开机简单配置后进入系统,建议系统语言选择英语,正式开始本次教程。
更新软件列表,更新软件
1 | sudo apt-get update |
安装 ROS Melodic
参考官网安装教程
1 | 设置sources.list |
安装realsense
参考官网安装教程
安装过程中请拔下摄像头
安装Realsense SDK
1 | 下载source |
安装realsense-ros
1 | 下载source |
如图
1 | 编译 |
PX4配置
下载 QGroundControl
MAV_1_CONFIG
=TELEM 2
MAV_1_MODE
=Onboard
SER_TEL2_BAUD
=57600 8N1
EKF2_AID_MASK
勾选vision position fusion
和vision yaw fusion
EKF2_HGT_MODE
设置为Vision
MAV_ODOM_LP
设置为1
MAVROS 和VIO
1 | MAVROS |
更改以下配置
- T265 相对位置及朝向
1 | gedit ~/catkin_ws/src/VIO/launch/bridge.launch |
修改
1 | <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 中心的向量。例如 T265 在飞控前方 10 cm,上方 4 cm, 则前三个参数为:
[0.1, 0, -0.04]
中间三个参数为旋转角(偏航, 俯仰, 横滚)。默认 T265 朝地,则参数为
[0, 1.5708, 0]
;T265 照射飞机机头方向,则参数为[0 0 0]
- 如果 TTL 的速度异常
1 | sudo gedit /opt/ros/melodic/share/mavros/launch/px4_config.yaml |
第 12 行改为
1 | timesync_rate: 0.0 |
- 如果使用 USB 连接
1 | sudo gedit /opt/ros/melodic/share/mavros/launch/px4.launch |
修改第 5 行为
1 | <arg name="fcu_url" default="/dev/ttyUSB0:57600" /> |
1 | gedit ~/catkin_ws/src/VIO/launch/bridge_mavros.launch |
修改第 3 行为
1 | <arg name="fcu_url" default="/dev/ttyUSB0:57600" /> |
- 放开串口权限
1 | 用你自己的用户名替代下面的<username> |
起飞前检查
详情请看官网说明
1 | 开启VIO |
连接好摄像头、USB、PX4,可暂不接电池,查看 MAVLink Inspector
偏航机身,直到
ODOMETRY
消息的四元数非常接近单位四元数(w = 1,x = y = z = 0)向前移动无人机,x 坐标应增大
向右移动无人机,y 坐标应增大
向上移动无人机,z 坐标应减小
遥控器切换到 Position Flight Mode,若切换成功,应闪绿灯
然后可以接上电池,尝试定点飞行
参考文章
ROS melodic kernel 4.18 安装 realsense D435i
本文标题:使用 Jetson Nano 向 PX4 提供 t265 位置信息,实现室内定点飞行
文章作者:reman
发布时间:2021年09月07日 - 13:53:34
最后更新:2022年08月18日 - 12:50:52
原始链接:https://zcw-blog.top/posts/20210907a1/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请注明出处。