一种基于模糊控制的平衡车自动避障方法与流程

文档序号:16894708发布日期:2019-02-15 23:28阅读:797来源:国知局
一种基于模糊控制的平衡车自动避障方法与流程

本发明涉及一种超声波测距、实时数据采集、平衡车驱动、智能控制领域,尤其涉及的是一种基于模糊控制的平衡车自动避障方法。



背景技术:

随着信息技术和智能控制的飞速发展,智能设备已经慢慢进入人们的日常生活,为人们的生活、学习和出行带来了极大的便利。由于交通的不断发达,交通工具的种类也是日新月异,方便快捷的交通工具成为人们短距离出行的最佳选择。为此,平衡车随之产生,它以电能为动力源,通过驱动电机进行运动,以方便、环保等特点被广泛使用。目前市面上的平衡车主要分为两种,一种是单/双轮踏板式,由驱动轮和平衡踏板组成,结构简单方便携带;另一种是两轮手扶式,由两个驱动轮和一个手扶架组成,在手扶架加上装有加速装置且可以手电动调整方向。与第一种相比,第二种的安全系数会更高,更适合普通消费者出行,在大型购物商场和火车站这种平衡车被用来进行安全巡视。

在平衡车的不断普及的同时,也逐渐暴露出一些安全隐患。一方面,平衡车对初次使用者有一定的要求,需要一段是来适应,尤其是青少年;另一方面,大部分平衡车的应用环境都相对复杂,且平衡车上只能有一个人,因此在平衡车行驶过程中,需要使用者保持时刻的专注,实时关注前方的行人和路况。但是在某些紧急情况下,使用者难免会分散注意力,从而极容易与行人或障碍物发生碰撞,导致自己或他人受伤。

在智能设备快速发展的推动下,新型智能设备层出不穷,它们尽可能的为人们提供种种便利,但在安全性能上还有待完善。为了让平衡车的使用者有更轻松、更安全的使用体验,提出了一种自动避障的功能。该自动避障功能以一种辅助模式保障使用者的安全,人们在使用平衡车时,可以选择手动控制模式和辅助控制模式;辅助控制模式会限制行驶速度,在使用者需要转移注意力时,自主进行控制避障行驶,能够最大程度上保证使用者和行人的安全。自动避障已经被广泛的应用,这里只是它众多应用中的一种。

现有的平衡车自动避障方法在控制精度和控制规则上,难以做到适合复杂的交通环境,在实际的运用当中存在不足,需要对控制精度进一步提高;同时加入模糊控制规则,根据人的行驶经验设定模糊语言集合,提升自动避障能力。



技术实现要素:

为了进一步保障平衡车使用者的安全,让平衡车能够适用于各种相对复杂的环境,提高平衡车自主避障的能力。本发明提出一种基于模糊控制的平衡车自动避障辅助运动模式,能够实时监测当前路况,反馈当前状态下平衡车与前方行人或障碍物的距离,计算出的距离信号作为避障算法的输入信号,当平衡车与前方障碍物或行人的距离小于某个固定值时,运用模糊控制原理,输出转向信号驱动控制电路实现实时避障功能。

本发明解决其技术问题所采用的技术方案是:

一种基于模糊控制的平衡车自动避障方法,所述方法包括以下步骤:

1)由超声波传感器发射超声波信号,通过控制处理器执行定时中断子程序,以每800ms的时间间隔,利用驱动超声波传感器发出40khz的超声波脉冲,同时开启定时器t0;

2)通过超声波传感器采集超声波反射信号,当采检测到超声波反射信号时,关闭定时器t0,将超声波采集信号输出接到控制处理器的外部中断,产生一个中断请求,执行步骤3);

3)根据步骤1)和步骤2),利用定时器的计数功能记录超声波发射到接收反射波的时间,通过控制处理器计算得到平衡车与前方障碍物的距离,超声波测距公式如下:

s=(t0*vs)/2(1)

式(1)中,s为平衡车与障碍物或行人距离,t0为定时器t0计数时间,vs为声音在空气中传播的速度;

4)在平衡车左前方和右前方各安装三个超声波传感器,左边三个超声波传感器为左组,右边三个超声波传感器为右组,为了防止外界环境对测距的影响,每次读入左组超声波测得的距离信号时,选择其中最小的一个数值作为左边的输入,左边的数值用l表示,右边同理,右边的数值用r表示;

5)设距离信号的模糊语言集合如下:

{近,中,远}

设定距离模糊语言变量,记作如下:

nd=近

md=中

ld=远

6)模糊控制器的输出为平衡车转向或前进信号,输出的模糊语言集合如下:

{右转,稍微右转,前进,停止,稍微左转,左转}

设定运动控制语言变量,记作如下:

tr=右转

trl=稍微右转

ga=前进

st=停止

tll=稍微左转

tl=左转

7)用ifathenb形式表示控制规则,规则r1写为:

ifdr=ndanddl=ndthenu=trl(2)

式(2)中dr为平衡车右侧与障碍物或行人的距离,dl为平衡车左侧与障碍物或行人的距离,u为输出;

系统总的控制规则r采用并的方法求出,即

模糊关系表示如下:

式(3)、式(4)和式(5)中i为规则序号,×表示两个集合的直积,o表

示两个集合的合成关系,由检测得到右侧距离变量δdr和左侧距离变量δdl得到输出如下:

u’=(δdr×δdl)tor(6)

用式(4)计算r或用式(5)计算u’都非常复杂,这里先把规则计算出来列成表,应用时查表即可;

8)根据步骤4),将模糊控制算法的输出作为驱动控制电路的输入信号,经过控制电路同步输出二路模拟量,分别为转角控制量va和速度控制量vv,送给电机;其中转角控制电路以电压va实时控制平衡车的转向角,速度控制电路以电压vv实时控制平衡车的运动速度。

本发明的有益效果主要表现在:本发明根据目前平衡车使用过程中的安全问题,提出一种利用自动避障算法,根据使用者的需要进行辅助运动控制,提供一种相对安全的平衡车运行模式。

附图说明

图1是一种基于模糊控制的平衡车自动避障方法的流程图;

图2是距离参数的隶属度函数图;

图3是模糊控制规则表。

具体实施方式

下面结合附图对本发明做进一步说明。

参照图1~图3,一种基于模糊控制的平衡车自动避障方法,包括以下步骤:

1)由超声波传感器发射超声波信号,通过控制处理器执行定时中断子程序,以每800ms的时间间隔,利用驱动超声波传感器发出40khz的超声波脉冲,同时开启定时器t0;

2)通过超声波传感器采集超声波反射信号,当采检测到超声波反射信号时,关闭定时器t0,将超声波采集信号输出接到控制处理器的外部中断,产生一个中断请求,执行步骤3);

3)根据步骤1)和步骤2),利用定时器的计数功能记录超声波发射到接收反射波的时间,通过控制处理器计算得到平衡车与前方障碍物的距离,超声波测距公式如下:

s=(t0*vs)/2(1)

式(1)中,s为平衡车与障碍物或行人距离,t0为定时器t0计数时间,vs为声音在空气中传播的速度;

4)在平衡车左前方和右前方各安装三个超声波传感器,左边三个超声波传感器为左组,右边三个超声波传感器为右组,为了防止外界环境对测距的影响,每次读入左组超声波测得的距离信号时,选择其中最小的一个数值作为左边的输入,左边的数值用l表示,右边同理,右边的数值用r表示;

5)设距离信号的模糊语言集合如下:

{近,中,远}

设定距离模糊语言变量,记作如下:

nd=近

md=中

ld=远

6)模糊控制器的输出为平衡车转向或前进信号,输出的模糊语言集合如下:

{右转,稍微右转,前进,停止,稍微左转,左转}

设定运动控制语言变量,记作如下:

tr=右转

trl=稍微右转

ga=前进

st=停止

tll=稍微左转

tl=左转

7)用ifathenb形式表示控制规则,规则r1写为:

ifdr=ndanddl=ndthenu=trl(2)

式(2)中dr为平衡车右侧与障碍物或行人的距离,dl为平衡车左侧与障碍物或行人的距离,u为输出;

系统总的控制规则r采用并的方法求出,即

模糊关系表示如下:

式(3)、式(4)和式(5)中i为规则序号,×表示两个集合的直积,o表

示两个集合的合成关系,由检测得到右侧距离变量δdr和左侧距离变量δdl得到输出如下:

u’=(δdr×δdl)tor(6)

用式(4)计算r或用式(5)计算u’都非常复杂,这里先把规则计算出来列成表,应用时查表即可;

8)根据步骤4),将模糊控制算法的输出作为驱动控制电路的输入信号,经过控制电路同步输出二路模拟量,分别为转角控制量va和速度控制量vv,送给电机;其中转角控制电路以电压va实时控制平衡车的转向角,速度控制电路以电压vv实时控制平衡车的运动速度。

以杭州某火车站安全巡视平衡车为例,一种基于模糊控制的平衡车自动避障方法,包括以下步骤:

1)由超声波传感器发射超声波信号,通过控制处理器执行定时中断子程序,以每800ms的时间间隔,利用驱动超声波传感器发出40khz的超声波脉冲,同时开启定时器t0;

2)通过超声波传感器采集超声波反射信号,当采检测到超声波反射信号时,关闭定时器t0,将超声波采集信号输出接到控制处理器的外部中断,产生一个中断请求,执行步骤3);

3)根据步骤1)和步骤2),利用定时器的计数功能记录超声波发射到接收反射波的时间,通过控制处理器计算得到平衡车与前方障碍物的距离,超声波测距公式如下:

s=(t0*vs)/2(1)

式(1)中,s为平衡车与障碍物或行人距离,t0为定时器t0计数时间,vs为声音在空气中传播的速度——340m/s;

4)在平衡车左前方和右前方各安装三个超声波传感器,左边三个超声波传感器为左组,右边三个超声波传感器为右组,为了防止外界环境对测距的影响,每次读入左组超声波测得的距离信号时,选择其中最小的一个数值作为左边的输入,左边的数值用l表示,右边同理,右边的数值用r表示;

5)设距离信号的模糊语言集合如下:

{近,中,远}

设定距离模糊语言变量,记作如下:

nd=近

md=中

ld=远

6)模糊控制器的输出为平衡车转向或前进信号,输出的模糊语言集合如下:

{右转,稍微右转,前进,停止,稍微左转,左转}

设定运动控制语言变量,记作如下:

tr=右转

trl=稍微右转

ga=前进

st=停止

tll=稍微左转

tl=左转

7)用ifathenb形式表示控制规则,规则r1写为:

ifdr=ndanddl=ndthenu=trl(2)

式(2)中dr为平衡车右侧与障碍物或行人的距离,dl为平衡车左侧与障碍物或行人的距离,u为输出;

系统总的控制规则r采用并的方法求出,即

模糊关系表示如下:

式(3)、式(4)和式(5)中i为规则序号,×表示两个集合的直积,o表

示两个集合的合成关系,由检测得到右侧距离变量δdr和左侧距离变量δdl得到输出如下:

u’=(δdr×δdl)tor(6)

用式(4)计算r或用式(5)计算u’都非常复杂,这里先把规则计算出来列成表,应用时查表即可;

8)根据步骤4),将模糊控制算法的输出作为驱动控制电路的输入信号,经过控制电路同步输出二路模拟量,分别为转角控制量va和速度控制量vv,送给电机;其中转角控制电路以电压va实时控制平衡车的转向角,速度控制电路以电压vv实时控制平衡车的运动速度。

以上阐述的是本发明给出的一个实施例展现出来的一个优良结果,显然本发明不仅适合上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。

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