F450机架 Pixhawk飞控实现自动避障(2019.11.29)

F450机架Pixhawk避障实践:超声波模块应用
本文分享了在F450无人机上使用Pixhawk飞控实现自动避障的经验。选择了权盛SUI04超声波模块,考虑了体积和精度因素。避障功能通过两种方式实现:直接烧录模块代码或根据传感器数据自定义算法。超声波模块经过多次位置调整,最终确定在两机臂之间安装以避免干扰,实现了有效避障。

之前进行无人机项目,实现避障、巡航、定点、航拍等功能,项目结束,在这里进行分享经验,项目所用器件为自己使用的,仅供参考,实际实现须结合自己实际情况

1、传感器选择

权盛SUI04 Pixhawk超声波模块(收发一体)
响应时间:30ms
精度:0.4cm
角度:60°波束角
体积:202219mm
为什么选择该传感器?
考虑到F450机架安放位置和无人机体积问题,选择了这个体积轻巧的模块,使用该模块可以便于安放在无人机上且设备精度高

2、避障功能代码

第一种:
使用模块附带的代码,通过地面站直接将程序烧录,实现避障功能
第二种:
这样是我在设计中实现的,通过获取传感器传输数据,使用算法判断空间中障碍物的具体方位,当障碍物在危险距离内时,调整电机的PWM来实现避障。这种方式是最简单的避障方式,直接反向避障,开发者也可以根据自己水平来对代码功能进行扩充。
在这里插入图片描述

3、超声波模块的安放位置

在测试过程中,超声波模块不断切换位置,一开始在机架上(Fig 1位置1和Fig 2),但是没有位置固定,需要自己固定,通过测试,发现在飞行过程中,传感器在前方无障碍物情况下不断反馈前方有障碍物,并向相反方向进行,通过地面站分析传感器M1数据,发下机臂和桨叶影响,后将传感器安装在机臂下方(Fig 1中位置2和Fig 2),但测试情况以机架上一致,无法实现正常避障,最后,在四个机臂之间安装纸带,将模块固定在两机臂之间(Fig 1中位置3和Fig 3),测试情况正常,能够实现自动避障。
PS:由于测试避障功能,只安装了一个SUI04模块,安装四个同理,水平进行避障

<think>好的,我现在需要解决用户关于Pixhawk飞控中数传、OSD以及图传模块连接的问题。首先,我需要回顾用户提供的引用内容,看看是否有相关的信息。用户引用了三篇资料,其中引用1提到了飞控与机载电脑的串口通信,引用2是关于组装F450无人机的调试步骤,引用3涉及树莓派连接Pixhawk的串口设置。这些可能对当前问题有帮助,但主要问题在于数传、OSD和图传的连接方式,可能需要更具体的硬件接口知识。 接下来,我需要明确Pixhawk飞控的接口布局。通常,Pixhawk飞控有多个串口(如TELEM1、TELEM2等),这些串口可以用于连接数传模块或其他设备。OSD(On-Screen Display)模块通常需要接收来自飞控的遥测数据,以在视频信号中叠加飞行信息。图传模块负责将摄像头拍摄的视频传输到地面站,而OSD需要将数据叠加到图传的视频流中。 根据常见的Pixhawk配置,数传模块通常连接到TELEM1或TELEM2端口,因为这些端口是专为遥测设计的。数传模块的TX和RX引脚需要与飞控对应的RX和TX连接,同时共地。例如,数传的TX接飞控的RX,RX接TX,GND接GND。 对于OSD模块,它需要接收来自飞控的遥测数据,通常通过另一个串口,比如TELEM2或另一个可用的UART端口。同时,OSD需要接入摄像头的视频输入和图传的视频输出,将叠加后的视频信号发送到图传模块。因此,OSD的接线可能涉及视频线的连接(如摄像头视频输出到OSD的VIDEO IN,OSD的VIDEO OUT到图传的输入),以及串口的数据连接。 图传模块通常连接到飞控的某个电源输出端口,并可能需要单独的电源,但视频信号会通过OSD处理。需要确保图传的电源和视频输入正确,同时可能通过另一个串口进行配置或数据传输,但主要功能是发送视频信号。 现在需要验证这些信息是否符合用户提供的引用内容。引用1中提到了UART & I2C B端口的TX、RX和GND,这可能对应于某个特定的串口,比如TELEM1。引用3提到通过/dev/ttyACM0这样的设备口连接,说明串口配置在软件中的设置也很重要,可能需要调整飞控的参数来启用相应的串口用于数传或OSD。 另外,用户的问题可能涉及如何将数传、OSD和图传同时连接,因此需要确认飞控是否有足够的串口资源。例如,数传使用TELEM1,OSD使用TELEM2,而图传可能直接连接到OSD的视频接口,不需要占用飞控的串口,但需要电源连接。 可能的步骤是: 1. 数传模块连接到TELEM1的TX和RX,以及GND。 2. OSD模块连接到TELEM2的TX和RX,以及GND,同时连接摄像头和图传的视频线。 3. 图传模块连接到电源和OSD的视频输出,可能还需要单独的电源线。 需要检查飞控的端口定义,确保每个设备的TX/RX正确交叉连接,并配置飞控软件中的串口参数,例如设置TELEM1用于数传(MAVLINK协议),TELEM2用于OSD(如MAVLINK或特定协议)。同时,OSD可能需要特定的参数启用,比如启用OSD_OPTIONS。 此外,引用2中提到飞控的校准和调试步骤,虽然不直接相关,但强调了正确接线的重要性,比如电机方向不正确可能导致飞行问题,这间接提醒在连接数传、OSD和图传时也要确保接线正确,避免信号干扰或错误。 最后,用户可能需要具体的接线图示或步骤,但根据现有信息,可以总结出常见的连接方式,并建议参考飞控的文档或具体模块的说明书,同时调整飞控的串口设置。</think>### Pixhawk飞控中数传、OSD及图传模块连接方法 #### 一、数传模块与OSD连接方式 1. **硬件连接** - 数传模块通常通过**TELEM1/TELEM2端口**连接飞控。以TELEM1为例: - 数传模块的TX引脚 → 飞控TELEM1的RX(3号口) - 数传模块的RX引脚 → 飞控TELEM1的TX(2号口) - 数传模块的GND → 飞控TELEM1的GND(6号口) - OSD模块需通过另一串口(如**TELEM2**)接收遥测数据: - OSD的TX → 飞控TELEM2的RX - OSD的RX → 飞控TELEM2的TX - OSD的GND → 飞控TELEM2的GND[^1][^3]。 2. **软件配置** - 在飞控地面站(如QGroundControl)中,设置对应串口协议: - TELEM1用于数传:协议选择`MAVLink 1`或`MAVLink 2`。 - TELEM2用于OSD:协议选择`MAVLink`或`OSD`(部分OSD需特定协议)。 #### 二、图传模块与OSD接线方法 1. **视频信号连接** - 摄像头视频输出 → OSD模块的**VIDEO IN** - OSD模块的**VIDEO OUT** → 图传模块的视频输入 - 图传模块的电源需独立供电(建议使用12V电源,与飞控供电隔离)。 2. **OSD数据叠加** - OSD通过串口接收飞控的飞行数据(如高度、速度、电池电压),并实时叠加到视频信号中。需确保飞控与OSD的串口通信正常[^2]。 #### 三、综合接线示意图 ``` Pixhawk飞控 ├─ TELEM1 │ ├─ TX → 数传RX │ ├─ RX → 数传TX │ └─ GND → 数传GND ├─ TELEM2 │ ├─ TX → OSD RX │ ├─ RX → OSD TX │ └─ GND → OSD GND 摄像头 → OSD VIDEO IN → 图传输入 图传电源 → 外置12V电源 ``` #### 四、注意事项 1. **避免信号干扰**:图传与数传尽量使用不同频段,并分开供电。 2. **参数配置**:在飞控地面站中启用`SER_TEL2_BAUD`(设置波特率)和`OSD_ENABLE`。 3. **硬件兼容性**:部分OSD模块(如MinimOSD)需刷写固件以支持Pixhawk协议。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值