185

阿木币

3

精华

71 小时

在线时间

技术大V

Rank: 4

发表于 2019-6-9 12:55:01 4847 浏览 3 回复

【教程】无人机定点投掷任务

【教程】无人机定点投掷任务

今天教大家怎么利用飞控的辅助通道控制舵机进行定点投掷的任务。

欢迎拍砖,提问,交流~

视频演示

[自主投掷演示demo]

准备工作

硬件: 无人机+Pixhawk+机载电脑+舵机 软件:PX4固件+Mavros

舵机连线

![enter image description here]()

如图所示,将舵机线接到辅助通道1(蓝色圈)。由于飞控输出通道的供电不足(上中下中间那个应该是+5V),所以需要单独接入电源(黄色圈),不然无法驱动电机。

地面站设置

![enter image description here]()

打开地面站,转到Radio,将AUX1对应至遥控器的第8通道(可以设置为其他,但如果需要使用mavros自主控制的话,只能是5-8中的某个通道)

此时,可以直接拨动遥控器对应通道测试能否驱动电机。

机载电脑程序 - payload_drop.cpp

任务代码包括

任务说明:

  1. 飞机从摆放点起飞至指定高度。
  2. 然后,飞行至指定投放点上方悬停。
  3. 下降至一个较低的高度,并投放负载。
  4. 上升至飞行高度,返航,降落于起飞点。

关于利用mavros实现舵机控制(非遥控器): 可以参看程序中发布了一个话题/mavros/rc/override,只需要将第8个通道的值设置为1600(不同的舵机这个值可能有变化,这个可以自行设置)。目前存在一个问题,由于飞控同时能接收到遥控器和机载电脑发来的指令。所以,在遥控器打开的时候,飞控无法执行机载电脑发来的辅助通道指令。目前的解决方法是,要么使用遥控器发送该指令,要么关闭遥控器。此处也向大家请教这个问题更好的解决办法,如果我解决后也会更新这个问题。

备注:本程序需要配合px4_pos_controller.cpp这个底层代码使用(暂未开源,该程序是科研无人机P200的核心程序之一。如果需要,可以联系作者或阿木社区购买)。

可拓展任务

本例程只是简单实现了一个定点飞行和定点投掷的任务,目标点位置已提前设定。但是这个任务放到真实场景中,还是有很多值得探讨的学术和工程问题,我这里简单提两点。

  1. 鲁棒飞行控制:由于负载是用绳索挂载在无人机下方,对于无人机来说,负载是一个时变干扰。当负载重量较大,或者有风时,对无人机动力学性能有很大影响,如何设计控制器来提高飞行性能?
  2. 目标识别:如何利用机器视觉识别目标投掷点?(注意此时负载可能会遮挡视场)

关于作者

阿木社区技术负责人、Mavros培训课程主讲老师、北理工在读博士

对任何与四旋翼无人机有关的话题感兴趣,欢迎交流。

个人微信号:qyp0210 来源: 【教程】无人机定点投掷任务


扫一扫浏览分享
回复

使用道具 举报

0

阿木币

0

精华

34 小时

在线时间

应届白菜

Rank: 1

发表于 2021-4-11 16:43:53 来自手机
你好,我想问一下对于pixhawkV4要怎么接线?
回复 点赞 1

使用道具 举报

3

阿木币

0

精华

1 小时

在线时间

应届白菜

Rank: 1

发表于 2019-7-7 23:50:13
大赞!!
回复

使用道具 举报

1

阿木币

0

精华

15 小时

在线时间

应届白菜

Rank: 1

发表于 2021-9-13 11:57:02
你好,请问这个话题真的有效吗,我也用了这个rc/override话题,但是没有效果,舵机不旋转,及时关闭了遥控器,也是一样的,rc/in和rc/out的值并没有发生改变,还是遥控器的值,遥控器关闭了,也有一个默认值,请问你是怎么解决的,谢谢!
回复 点赞

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表