一种基于SBUS协议模拟遥控的多旋翼自主飞行控制方法与流程

文档序号:16915278发布日期:2019-02-19 18:55阅读:924来源:国知局
一种基于SBUS协议模拟遥控的多旋翼自主飞行控制方法与流程

本发明涉及多旋翼无人机技术领域,尤其涉及一种基于sbus协议模拟遥控的多旋翼自主飞行控制方法。



背景技术:

随着无人机技术的发展,无人机的应用领域越来越广泛,因此更多的人来学习研究无人机。但是众所周知,无人机的控制程序是相当复杂的,想要在短时间内实现多旋翼无人机的稳定飞行几乎是不可能的,更不要说自主飞行控制,这无疑是抬高了研发无人机的门槛。尽管市面上有很多开源飞控,但是想要学懂其内部控制程序也需要花费大量的时间。

由于所有飞控都能通过遥控控制,本发明就是基于这一点提出了模拟遥控的方式来控制多旋翼自主飞行,并且这种方式极大的降低了研发无人机的门槛,具有开发简单、开发周期短等优点。

采用模拟遥控的方式其实就是模拟遥控与飞控之间的协议,常用的协议有:pwm、ppm、sbus等。但是pwm每路只能传输一路信号,需要几路控制信号就需要几个pwm输出口,占用硬件资源多;虽然ppm将多路pwm信号整合到一路信号,但是由于每一帧信号的尾部必须加入一个足够长的空白(显著超过一个正常pwm信号的宽度)来分隔前后两个信号,所以每一帧传输的信号通道最多只能到8个,并且需要额外准备ppm转换模块。



技术实现要素:

本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于sbus协议模拟遥控的多旋翼自主飞行控制方法,本方法采用全数字化接口总线,信号传输安全稳定。

为解决上述技术问题,本发明所采取的技术方案是:

一种基于sbus协议模拟遥控的多旋翼自主飞行控制方法,采用的装置包括飞行控制器、遥控器、控制信号发生器、硬件取反电路1、硬件取反电路2,遥控器的正极输出端和负极输出端分别与控制信号发生器的正极输入端和负极输入端相连接,遥控器的sbus输出端与硬件取反电路1的输入端相连接,硬件取反电路1的输出端与控制信号发生器的串口输入端相连接,控制信号发生器的正极输出端和负极输出端分别与飞行控制器的正极输入端和负极输入端相连接,控制信号发生器的串口输出端与硬件取反电路2的输入端相连接,硬件取反电路2的输出端与飞行控制器的sbus输入端相连接;所述方法通过上述装置实现,包括以下步骤:

步骤1:获得具备sbus接口的稳定飞行控制器和遥控器;准备一个遥控器和满足稳定性要求的飞行控制器,并确保遥控器和飞行控制器具备sbus接口;

步骤2:利用控制信号发生器进行遥控输入信号的采集;利用控制信号发生器获取遥控器输出的sbus串口数据,并根据sbus协议格式对数据进行解码;

步骤3:将控制信号发生器的输出作为飞行控制器的输入;控制信号发生器将解码后的数据按照sbus协议格式重新编码,并发送给飞行控制器;

步骤4:进行测试实验,用遥控器控制连接好控制信号发生器的飞行控制器,比较当前多旋翼飞行姿态参数与未连接控制信号发生器的多旋翼飞行姿态参数,若两种控制方法的飞行姿态参数相同,则完成了控制信号发生器与飞行控制器的连接,控制信号发生器的输出能够作为飞行控制器的输入;若参数不同,则执行步骤1;

步骤5:根据不同的任务需求,将不同的外设装置连接至控制信号发生器,控制信号发生器作为飞行控制器的控制中枢,将任务需求通过编程实现数值的转化,转化为各个通道的控制量,然后将这些控制量送入sbus编码函数转换为飞行控制器可识别的控制信号,此时飞行控制器按照任务要求自主飞行。

采用上述技术方案所产生的有益效果在于:本发明提供的一种基于sbus协议模拟遥控的多旋翼自主飞行控制方法,与现有技术相比,本发明不需要自己开发飞行控制器,也不需要读懂他人飞行控制器程序便可对飞行控制器进行自主飞行控制,只要飞行控制器支持sbus即可,甚至是闭源飞行控制器也可按照此方法开发;并且该方法是基于sbus协议模拟遥控的方式,比模拟pwm/ppm占用的硬件资源少,并且不需要输出pwm模拟信号,采用全数字化接口总线,使其非常适合在单片机等控制信号发生器中使用,并且信号传输安全稳定。

附图说明

图1为本发明实施例提供的模拟遥控的多旋翼无人机自主飞行控制的方法流程图;

图2为本发明实施例提供的模拟遥控的多旋翼无人机自主飞行控制的装置图;其中,1硬件取反电路1;2硬件取反电路2;

图3为本发明实施例提供的硬件取反电路1的电路原理图;

图4为本发明实施例提供的硬件取反电路2的电路原理图;

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明所采用的技术方案是:利用单片机等控制信号发生器接收遥控器传来的sbus串口数据,并对数据进行解码,目的是获取飞行器的飞行状态。然后根据任务要求对多旋翼进行控制,只需要计算出各个通道的控制量即可,然后将这些控制量按照sbus协议格式进行编码并发送给飞控,此时多旋翼即可按照任务要求自主飞行,从而达到自主控制方式取缔传统方法的遥控控制方式;如图2所示,其中“s”代表sbus接口;“x”代表控制信号发生器中的串口。

本实施例的方法如下所述。

一种基于sbus协议模拟遥控的多旋翼自主飞行控制方法,包括飞行控制器、遥控器、控制信号发生器、硬件取反电路1、硬件取反电路2,遥控器的正极输出端和负极输出端分别与控制信号发生器的正极输入端和负极输入端相连接,遥控器的sbus输出端与硬件取反电路1的输入端相连接,硬件取反电路1的输出端与控制信号发生器的串口输入端相连接,控制信号发生器的正极输出端和负极输出端分别与飞行控制器的正极输入端和负极输入端相连接,控制信号发生器的串口输出端与硬件取反电路2的输入端相连接,硬件取反电路2的输出端与飞行控制器的sbus输入端相连接;所述方法通过上述装置实现,如图1所示,包括以下步骤:

步骤1:获得具备sbus接口的稳定飞行控制器和遥控器;准备一个遥控器和满足稳定性要求的飞行控制器,并确保遥控器和飞行控制器具备sbus接口,这是满足本发明的多旋翼的自主飞行控制方法的核心接口;

常用的飞行控制器如pixhawk、大疆a3、n3等;所述稳定性要求是看用户的需求,用户选择不同,所需满足的稳定性也有所区别,包括姿态(俯仰、横滚)保持精度、航向保持精度、气压高度保持精度等;

步骤2:利用控制信号发生器进行遥控输入信号的采集;利用控制信号发生器获取遥控器输出的sbus串口数据,并根据sbus协议格式对数据进行解码;这里可以根据需求选择不同的控制信号发生器,以满足设计要求;常用的控制信号发生器如单片机、树莓派、单板电脑等;

步骤3:将控制信号发生器的输出作为飞行控制器的输入;控制信号发生器将解码后的数据按照sbus协议格式重新编码,并发送给飞行控制器;

步骤4:进行测试实验,用遥控器控制连接好控制信号发生器的飞行控制器,比较当前多旋翼飞行姿态参数与未连接控制信号发生器的多旋翼飞行姿态参数,若两种控制方法的飞行姿态参数相同,则完成了控制信号发生器与飞行控制器的连接,控制信号发生器的输出已经能够作为飞行控制器的输入;若参数不同,则执行步骤1;

步骤5:根据不同的任务需求,将不同的外设装置,将外设装置安装在飞行控制器上,并将外设装置连接至控制信号发生器,控制信号发生器作为飞行控制器的控制中枢,将任务需求通过编程实现数值的转化,转化为各个通道的控制量,然后将这些控制量送入sbus编码函数转换为飞行控制器可识别的控制信号,此时飞行控制器按照任务要求自主飞行。

根据任务的不同控制信号发生器连接的外设装置也有不同,本实施例中硬件取反电路1中r3的阻值为10k,r6的阻值为1k,,如图3所示,硬件取反电路2中r4的阻值为10k,r7的阻值为1k,如图4所示;

实施例1:多旋翼飞行控制器自主起飞

在多旋翼飞行控制器合适的位置安装气压计(或直接集成到控制信号发生器),控制信号发生器通过模拟遥控解锁过程,模拟输出解锁信号;解锁完成后,模拟输出油门信号,使多旋翼高度逐渐升高;通过读取气压计值,判断此时多旋翼飞行控制器的飞行高度。

实施例2:多旋翼飞行控制器自主避障

在多旋翼飞行控制器前端、左侧和右侧合适的位置安装距离传感器(这里以超声波测距模块为例),将超声波模块连接至控制信号发生器,控制信号发生器根据超声波传回的距离值判断多旋翼飞行控制器前方是否有障碍物;若距离小于小于设定值,则认为多旋翼飞行控制器前方有障碍物,此时判断左侧和右侧的距离,默认多旋翼飞行控制器向距离大的一侧飞行,以达到避障的目的,直到前方无障碍物。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1