两轮自平衡车的机器学习控制方法与流程

文档序号:11518211阅读:452来源:国知局

本发明属于机器人与信息技术交叉领域,具体涉及一种两轮自平衡车的机器学习控制方法。



背景技术:

自平衡车是近年来出现的一种个人便捷交通工具,传统平衡车的控制都是基于经典pid控制方法。传统的pid控制方法需要具备一定的先验知识,才能实现对平衡车的自动控制,导致应用不灵活。



技术实现要素:

本发明旨在至少解决上述技术问题之一。

为此,本发明的目的在于提出一种两轮自平衡车的机器学习控制方法,无需模型的先验知识,具有自学习、自适应的优点,应用灵活。

为了实现上述目的,本发明的实施例公开了一种两轮自平衡车的机器学习控制方法,包括以下步骤:s1:获取平衡车当前的状态量,所述状态量包括倾角和角速度;s2:根据最优行为的概率、当前状态下的状态行为指标和所述当前的状态量得到驱动电机的控制信号;s3:根据所述控制信号控制驱动电机运行,使所述平衡车趋于平衡,并采用预设评价函数对所述平衡车的状态量改变进行评价得到报酬评价值;s4:根据所述报酬评价值更新当前状态下的状态行为指标;s5:观测并更新所述平衡车的状态量,并返回步骤s1。

进一步地,步骤s2进一步包括:根据以下公式并以概率∈从所有可能的a取值域中随机选择行为a:

a=argmaxa′{q(s,a′)}

其中,s为当前的状态量,θ为当前时刻平衡车的倾角,为当前时刻平衡车倾角的角速度,0<∈<1,a′为所述驱动电机的力矩取值。

进一步地,采用以下公式得到所述报酬评价值:

其中c1和c2为正常数,r(s,a)为所述报酬评价值。

进一步地,采用以下公式更新所述状态行为指标:

q(s,a)←q(s,a)+α[r(s,a)+γmaxa'q(s',a')-q(s,a)]

其中,q(s,a)是当前状态下的状态行为指标,γ是折扣因子且0<γ<1,α是一个惯性因子常数。

进一步地,利用陀螺仪测量得到所述平衡车的倾角和角速度。

本发明实施例的两轮自平衡车的机器学习控制方法,与现有技术相比具有如下优点:

1、本发明的控制方法无需知道被控对象平衡车的物理模型和先验知识,学习得到的控制策略能够自适应被控对象的变化,当被控对象、运行环境发生较大变化时,无需像传统pid控制需要调整参数,本发明能够通过自学习逐渐习得新的最优控制律;

2、本发明的学习算法是在线学习算法,可以在实际运行中不断进行策略更新,进而逐渐改进控制效果;

3、本发明对设备有着较少的设定要求。可直接在现有室内环境控制设备中实现。该系统与算法独立于底层设备的具体控制算法,推广性更强。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一个实施例的两轮自平衡车的机器学习控制方法的流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

以下结合附图描述本发明。

图1是本发明一个实施例的两轮自平衡车的机器学习控制方法的流程图。如图1所示,本发明的两轮自平衡车的机器学习控制方法,包括以下步骤:

s1:获取平衡车当前的状态量,所述状态量包括倾角和角速度。

在本发明的一个实施例中,利用陀螺仪测量得到所述平衡车的倾角和角速度。

s2:根据最优行为的概率、当前状态下的状态行为指标和所述当前的状态量得到驱动电机的控制信号。

在本发明的一个实施例中,步骤s2进一步包括:

根据以下公式并以概率∈从所有可能的a取值域中随机选择行为a:

a=argmaxa′{q(s,a′)}

其中,s为当前的状态量,θ为当前时刻平衡车的倾角,为当前时刻平衡车倾角的角速度,0<∈<1,a′为行为空间中所有可能的行为,也即驱动电机的力矩取值。

s3:根据所述控制信号控制驱动电机运行,使所述平衡车趋于平衡,并采用预设评价函数对所述平衡车的状态量改变进行评价得到报酬评价值。

在本发明的一个实施例中,采用以下公式得到所述报酬评价值:

其中c1和c2为正常数,r(s,a)为所述报酬评价值。

s4:根据所述报酬评价值更新当前状态下的状态行为指标。

在本发明的一个实施例中,采用以下公式更新所述状态行为指标:

q(s,a)←q(s,a)+α[r(s,a)+γmaxa'q(s',a')-q(s,a)]

其中,q(s,a)是当前状态下的状态行为指标,γ是折扣因子且0<γ<1,α是一个惯性因子常数。

s5:观测并更新所述平衡车的状态量,并返回步骤s1。

具体地,首先本发明实施例的两轮自平衡车的机器学习控制方法,具体包括:

状态定义:即当前平衡车的环境测量信息。所述状态定义,即对当前平衡车的状态,由平衡车的传感器测量得到。在平衡车上一般配置陀螺仪传感器以测量车体倾角,因此状态可定义为其中θ为当前时刻平衡车的倾角,为当前时刻平衡车倾角的角速度。

控制行为:即平衡车电机的输出力矩。所述控制行为,指控制策略可控量,在平衡车上一般来说其控制变量为驱动电机的力矩,因此控制行为可定义为平衡车电机的输出力矩u,即a=u,其中u为当前时刻的电机输出力矩,其正负代表电机的不同转动方向。

状态行为报酬:即对已执行的控制行为的评价。其中,状态行为报酬的选择可以综合考虑多方面的因素,包括当前平衡车的倾角及其角速度、位移距离等相关信息,具体定义方式需要视情况改变。在当前状态下的某个行为导致系统所得的报酬降低,进而影响到对该行为的评价,直到该控制行为被排除在最优控制策略之外。

所述状态行为报酬,为在特定状态下,执行某一控制行为后,控制系统对于该行为执行效果的一个评价。在该问题中,报酬函数r的选择需要满足r≤0,且当车体越倾斜时r越小,当车体完全竖直且角速度为零时标定为r=0的理想状态。报酬函数的选择可以综合考虑多方面因素,合理的报酬函数选择对最终学习算法的性能存在影响。例如,可以定位为当倾角超过某个指定阈值θ0(如取值为2度)时都为-1惩罚,也即r=0,ifθ<θ0;r=-1,ifθ≥θ0;更合理的是引入角速度来区分车体处于正在回正的好倾向,还是会变得更加倾斜的坏倾向,例如一个简单的线性加权做法是其中c1和c2为正常数,如分别取值2和1。

策略更新:即根据对控制行为的评价,更新已有的控制行为评价,同时选择评价最高的控制行为,形成更新后的控制策略。所述策略更新,指在每次获得该行为报酬时,与之前该状态行为已有的报酬指标进行融合计算,获得更新后的状态行为指标。更新的控制策略则选取在各个状态下,该项指标最好的控制行为。即先根据当前获得的行为报酬值r对当前的状态行为指标q进行迭代更新,获得更新后的状态行为指标值q(s,a)←q(s,a)+α[r+γmaxa'q(s',a')-q(s,a)],其中q(s,a)是当前状态下的状态行为指标;γ是折扣因子,其取值在0至1范围内;α是一个惯性因子常数,也可认为是算法的学习速率,其取值一般为一个较小的正值,也可随时间而变化。

所述控制决策选择,是根据当前的状态来选取最优的控制行为,即选择合适电机输出力矩u使得学习算法关注的优化目标能够得到提升:以概率1-∈来选择a=argmaxa′{q(s,a′)};以概率∈来随机选取其他的控制行为,其中∈为很小的非负数,例如∈=0.05。

连续变量的离散化:由于上述状态和控制行为其本质均为连续变量,连续变量的无穷多取值对学习算法的工程实现造成障碍,需要将其进行离散化,也即将倾角、角速度、输出力矩的取值进行离散化。所述连续变量的离散化,是将陀螺仪所测得的倾角取值、角速度取值以及电机驱动力矩取值进行离散化,便于学习算法的工程实现。具体离散精度需要综合考虑算法收敛速度以及复杂度要求,一般来说,离散化精度越高,模型与真实系统越接近,但是算法复杂度越大,收敛速度也会受到影响。在工程实现中一般不会取太精细的离散化程度,且进行非均匀离散化,例如在该问题中取倾角为零度、正负2度、正负5度、正负10度,取电机驱动力矩为零、正负4nm。

本发明实施例的两轮自平衡车的机器学习控制方法,与现有技术相比具有如下优点:

1、本发明的控制方法无需知道被控对象平衡车的物理模型和先验知识,学习得到的控制策略能够自适应被控对象的变化,当被控对象、运行环境发生较大变化时,无需像传统pid控制需要调整参数,本发明能够通过自学习逐渐习得新的最优控制律;

2、本发明的学习算法是在线学习算法,可以在实际运行中不断进行策略更新,进而逐渐改进控制效果;

3、本发明对设备有着较少的设定要求。可直接在现有室内环境控制设备中实现。该系统与算法独立于底层设备的具体控制算法,推广性更强。

另外,本发明实施例的两轮自平衡车的机器学习控制方法的其它构成以及作用对于本领域的技术人员而言都是已知的,为了减少冗余,不做赘述。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。

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