两轮自平衡机器人及其控制方法和装置制造方法及图纸

技术编号:39601862 阅读:9 留言:0更新日期:2023-12-03 20:02
本申请公开了一种两轮自平衡机器人的控制方法,所述方法的一具体实施方式包括:采用角度

【技术实现步骤摘要】
两轮自平衡机器人及其控制方法和装置


[0001]本申请涉及智能控制领域,具体涉及两轮自平衡机器人及其控制方法和装置


技术介绍

[0002]两轮自平衡机器人属于倒立摆结构,不稳定

两轮自平衡机器人的结构被改变或姿态改变或负重,都能造成其重心变动

打破原有平衡

在未知新的重心的情况下,控制两轮自平衡机器人平衡行驶比较困难


技术实现思路

[0003]本申请的目的在于提出一种改进的两轮自平衡机器人及其控制方法和装置,来解决以上
技术介绍
部分提到的技术问题

[0004]本申请提供了一种两轮自平衡机器人的控制方法,所述方法包括:采用角度
PID
与速度
PID
叠加的双
PID
控制,驱动两轮自平衡机器人轮子的电机转动,自适应调整重心角度设定值,找到目标重心角度设定值,其中,所述速度
PID
的速度设定值为零;基于所述目标重心角度设定值,执行如下控制步骤:接收操控终端发送的指令,将所述指令转换成目标速度设定值,获取所述两轮自平衡机器人的当前倾斜角度及当前速度,将所述目标重心角度设定值

当前倾斜角度

目标速度设定值

当前速度作为输入,用于运行角度
PID
与速度
PID
叠加的双
PID
控制,驱动所述两轮自平衡机器人轮子的电机转动
。<br/>[0005]在一些实施例中,所述采用角度
PID
与速度设定值为零的速度
PID
叠加的双
PID
控制,驱动两轮自平衡机器人轮子的电机转动,自适应调整重心角度设定值,找到目标重心角度设定值,包括:将默认重心角度作为当前重心角度设定值,零作为速度设定值,采用角度
PID
与速度
PID
叠加的双
PID
控制,驱动所述两轮自平衡机器人轮子的电机转动,不断调整两轮自平衡机器人的倾斜角度,直到当前倾斜角度可等于所述默认重心角度;以预设时间间隔循环执行如下梯度步骤:获取所述两轮自平衡机器人当前倾斜角度及当前速度,如果该当前倾斜角度与当前重心角度设定值的差值的绝对值大于阈值,则通过加减梯度值,更新当前重心角度设定值的大小,让更新后的当前重心角度设定值靠近当前倾斜角度,将更新后的当前重心角度设定值

当前倾斜角度

速度设定值零

当前速度作为角度
PID
与速度
PID
叠加的双
PID
控制的输入,控制所述电机转动,来调整所述两轮自平衡机器人的倾斜角度,如果该当前倾斜角度与当前重心角度设定值的差值的绝对值不大于所述阈值,则将当前重心角度设定值输出为待选重心角度设定值;将所述待选重心角度设定值作为当前重心角度设定值,零作为速度设定值,采用所述角度
PID
与速度
PID
叠加的双
PID
控制所述电机转动,不断调整所述两轮自平衡机器人的倾斜角度,如果在预设时间段内,所述两轮自平衡机器人的倾斜角度与所述待选重心角度设定值的差值的绝对值一直小于误差阈值,则将所述待选重心角度设定值作为目标重心角度设定值

[0006]在一些实施例中,所述通过加减梯度值,更新当前重心角度设定值的大小,让更新后的当前重心角度设定值靠近当前倾斜角度,包括:如果该当前倾斜角度大于当前重心角
度设定值,则将前重心角度设定值加上所述梯度值,得到更新后的当前重心角度设定值;如果该当前倾斜角度小于当前重心角度设定值,则将前重心角度设定值减去所述梯度值,得到更新后的当前重心角度设定值

[0007]在一些实施例中,所述将所述指令转换成目标速度设定值,包括:如果所述指令为原地平衡指令,则设置目标速度设定值为零;如果所述指令为加速指令,则将所述当前速度乘以预设加系数,得到目标速度设定值;如果所述指令为减速指令,则将所述当前速度乘以预设减系数,得到目标速度设定值;如果所述指令为转向指令,则根据所述转向指令指示的转动方向,将所述当前速度转换成具有一定差值的右轮的目标速度设定值

左轮的目标速度设定值

[0008]在一些实施例中,角度
PID
与速度
PID
叠加的双
PID
控制,包括:获取所述两轮自平衡机器人当前倾斜角度及当前速度;计算当前倾斜角度与当前重心角度设定值的角度差值,对该角度差值进行比例运算

积分运算

微分运算中的至少两个运算,得到角度控制参数;计算当前速度与所述速度设定值的速度差值,对该速度差值进行比例运算

积分运算

微分运算中的至少两个运算,得到速度控制参数;将所述角度控制参数与所述速度控制参数进行融合,用于控制所述电机转动

[0009]在一些实施例中,所述方法运行于电机中,且所述方法支持双电机主从模式和单电机模式,其中,所述双电机主从模式为采用两个电机驱动所述两轮自平衡机器人中的两个轮,所述单电机模式为采用一个电机驱动所述两轮自平衡机器人的两个轮

[0010]在一些实施例中,所述方法还包括选定所述电机的工作模式,具体的:
[0011]检测如果所述电机被开启,则选定默认模式;执行主模式确认步骤:随机延时一段时间,发送竞选主模式信息,并开启监听,用于监听第二电机是否发送其已经接收到所述竞选主模式信息的回应信息,响应于接收到所述回应信息,则切换为主模式,且关闭对所述第二电机的竞选主模式信息的回应信息;响应于没有接收到所述第二电机发送的竞选主模式信息的回应信息,则重新执行所述主模式确认步骤,如果累计未接收到回应信息的次数大于预设数值,则发送非主模式信息,并监听所述第二电机是否发送其已经接收到所述非主模式信息的回应信息,响应于接收到所述非主模式的回应信息,则切换为从模式,否则,切换为单电机模式

[0012]在一些实施例中,在双电机主从模式下,在自适应调整重心角度设定值阶段,角度
PID
与速度
PID
叠加的双
PID
控制,包括如下步骤:主模式电机根据内置的六轴姿态传感器,计算当前倾斜角度,根据内置的编码器,计算所述主模式电机的当前速度,之后,向从模式电机发送获取从模式电机的当前速度的指令;响应于接收到所述从模式电机返回的从模式电机的当前速度,根据所述主模式电机的当前速度

从模式电机的当前速度,计算当前速度,然后,将所述目标重心角度设定值

当前倾斜角度

当前速度

设定设定值零作为输入,用于执行角度
PID
与速度...

【技术保护点】

【技术特征摘要】
1.
一种两轮自平衡机器人的控制方法,其特征在于,所述方法包括:采用角度
PID
与速度
PID
叠加的双
PID
控制,驱动两轮自平衡机器人轮子的电机转动,自适应调整重心角度设定值,找到目标重心角度设定值,其中,所述速度
PID
的速度设定值为零;基于所述目标重心角度设定值,执行如下控制步骤:接收操控终端发送的指令,将所述指令转换成目标速度设定值,获取所述两轮自平衡机器人的当前倾斜角度及当前速度,将所述目标重心角度设定值

当前倾斜角度

目标速度设定值

当前速度作为输入,用于运行角度
PID
与速度
PID
叠加的双
PID
控制,驱动所述两轮自平衡机器人轮子的电机转动
。2.
根据权利要求1所述的方法,其特征在于,所述采用角度
PID
与速度设定值为零的速度
PID
叠加的双
PID
控制,驱动两轮自平衡机器人轮子的电机转动,自适应调整重心角度设定值,找到目标重心角度设定值,包括:将默认重心角度作为当前重心角度设定值,零作为速度设定值,采用角度
PID
与速度
PID
叠加的双
PID
控制,驱动所述两轮自平衡机器人轮子的电机转动,不断调整两轮自平衡机器人的倾斜角度,直到当前倾斜角度可等于所述默认重心角度;以预设时间间隔循环执行如下梯度步骤:获取所述两轮自平衡机器人当前倾斜角度及当前速度,如果该当前倾斜角度与当前重心角度设定值的差值的绝对值大于阈值,则通过加减梯度值,更新当前重心角度设定值的大小,让更新后的当前重心角度设定值靠近当前倾斜角度,将更新后的当前重心角度设定值

当前倾斜角度

速度设定值零

当前速度作为角度
PID
与速度
PID
叠加的双
PID
控制的输入,控制所述电机转动,来调整所述两轮自平衡机器人的倾斜角度,如果该当前倾斜角度与当前重心角度设定值的差值的绝对值不大于所述阈值,则将当前重心角度设定值输出为待选重心角度设定值;将所述待选重心角度设定值作为当前重心角度设定值,零作为速度设定值,采用所述角度
PID
与速度
PID
叠加的双
PID
控制所述电机转动,不断调整所述两轮自平衡机器人的倾斜角度,如果在预设时间段内,所述两轮自平衡机器人的倾斜角度与所述待选重心角度设定值的差值的绝对值一直小于误差阈值,则将所述待选重心角度设定值作为目标重心角度设定值
。3.
根据权利要求2所述的方法,其特征在于,所述通过加减梯度值,更新当前重心角度设定值的大小,让更新后的当前重心角度设定值靠近当前倾斜角度,包括:如果该当前倾斜角度大于当前重心角度设定值,则将前重心角度设定值加上所述梯度值,得到更新后的当前重心角度设定值;如果该当前倾斜角度小于当前重心角度设定值,则将前重心角度设定值减去所述梯度值,得到更新后的当前重心角度设定值
。4.
根据权利要求1所述的方法,其特征在于,所述将所述指令转换成目标速度设定值,包括:如果所述指令为原地平衡指令,则设置目标速度设定值为零;如果所述指令为加速指令,则将所述当前速度乘以预设加系数,得到目标速度设定值;如果所述指令为减速指令,则将所述当前速度乘以预设减系数,得到目标速度设定值;如果所述指令为转向指令,则根据所述转向指令指示的转动方向,将所述当前速度转换成具有一定差值的右轮的目标速度设定值

左轮的目标速度设定值

5.
根据权利要求1‑4任一所述的方法,其特征在于,角度
PID
与速度
PID
叠加的双
PID
控制,包括:获取所述两轮自平衡机器人当前倾斜角度及当前速度;计算当前倾斜角度与当前重心角度设定值的角度差值,对该角度差值进行比例运算

积分运算

微分运算中的至少两个运算,得到角度控制参数;计算当前速度与所述速度设定值的速度差值,对该速度差值进行比例运算

积分运算

微分运算中的至少两个运算,得到速度控制参数;将所述角度控制参数与所述速度控制参数进行融合,用于控制所述电机转动
。6.
根据权利要求1所述的方法,其特征在于,所述方法运行于电机中,且所述方法支持双电机主从模式和单电机模式,其中,所述双电机主从模式为采用两个电机驱动所述两轮自平衡机器人中的两个轮,所述单电机模式为采用一个电机驱动所述两轮自平衡机器人的两个轮
。7.
根据权利要求6所述的方法,其特征在于,所述方法还包括选定所述电机的工作模式,具体的:检测如果所述电机被开启,则选定默认模式;执行主模式确认步骤:随机延时一段时间,发送竞选主模式信息,并开启监听,用于监听第二电机是否发送其已经接收到所述竞选主模式信息的回应信息,响应于接收到所述回应信息,则切换为主模式,且关闭对所述第二电机的竞选主模式信息的回应信息;响应于没有接收到所述第二电机发送的竞选主模式信息的回应信息,则重新执行所述主模式确认步骤,如果累计未接收到回应信息的次数大于预设数值,则发送非主模式信息,并监听所述第二电机是否发送其已经接收到所述非主模式信息的回应信息,响应于接收到所述非主模式的回应信息,则切换为从模式,否则,切换为单电机模式
。8.
根据权利要求7所述的方法,其特征在于,在双电机主从模式下,在自适应调整重心角度设定值阶段,角度
PID
与速度
PID
叠加的双
PID
控制,包括如下步骤:主模式电机根据内置的六轴姿态传感器,计算当前倾斜角度,根据内置的编码器,计算所述主模式电机的当前速度,之后,向从模式电机发送获取从模式电机的当前速度的指令;响应于接收到所述从模式电机返回的从模式电机的当前速度,根据所述主模式电机的当前速度

从模式电机的当前速度,计算当前速度,然后,将所述目标重心角度设定值

当前倾斜角度

当前速度

设定设定值零作为输入,用于执行角度
PID
与速度
PID
叠加的双
PID
控制,得到控制参数,并将所述控制参数发送给所述从模式电机,最后,根据所述控制参数,控制主模式电机转动;所述从模式电机接收所述主模式电机发送的获取从模式电机的当前速度的指令,根据内置的编码器,计算所述从模式电机的当前速度,并将所述从模式电机的当前速度发送给所述主模式电机,之后,接收所述主模式电机发送的控制参数,用于控制所述从模式电机转动
。9.
根据权利要求8所述的方法,其特征在于,在双电机主从模式下,在控制步骤阶段,角度
PID
与速度
PID
叠加的双
PID
控制,包括如下步骤:所述主模式电机接收操控终端发送的指令,将所述指令转换成主模式电机的目标速度设定值

从模式电机的目标速度设定值,之后,根据内置的六轴姿态传感器,计算当前倾斜
角度,之后,向所述从模式电机发送所述从模式电机的目标速度设定值

当前倾斜角度,然后,根据内的编码器,计算主模式电机的当前速度,最后,将所述目标重心角度设定值

当前倾斜角度

主模式电机的目标速度设定值

当前速度作为角度
PID
与速度
PID
叠加的双
PID
控制的输入;所述从模式电机接收所述主模式电机发送的所述从模式电机的目标速度设定值

当前倾斜角度,之后,根据内置的编码器,计算当前速度,然后,将所述目标重心角度设定值

当前倾斜角度

所述从模式电机的目标速度设定值

当前速度作为角度
PID
与速度
PID
叠加的双
PID
控制的输入;所述主模式电机与所述从模式电机约定同步执行双
PID
控制的约定时间,在所述约定时间,所述主模式电机

所述从模式电机同时分别执行角度
PID
与速度
PID
叠加的双
PID
控制
。10.
一种两轮自平衡机器人的控制装置,其特征在于,所述装置包括:目标重心角度设定值模块,用于采用角度
PID
与速度
PID
叠加的双
PID
控制,驱动两轮自平衡机器人轮子的电机转动,自适应调...

【专利技术属性】
技术研发人员:张洋张虎何俊冬
申请(专利权)人:河北爱其科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1