首页> 中国专利> 一种基于FPGA的类人机器人动作规划参数优化方法

一种基于FPGA的类人机器人动作规划参数优化方法

摘要

本发明公开一种基于FPGA的类人机器人动作规划参数优化方法,其特征在于:包括步骤:建立类人机器人动作规划参数的定点模型;根据定点模型设计可重构计算体系结构,提供粗细粒度可重构单元加速比。本发明根据FPGA平台的特性,优化算法模型,可节约计算硬件资源、提高硬件工作速度,使得类人机器人动作规划参数具有最优的控制算法。

著录项

  • 公开/公告号CN106227037A

    专利类型发明专利

  • 公开/公告日2016-12-14

    原文格式PDF

  • 申请/专利权人 宁波工程学院;

    申请/专利号CN201610606949.5

  • 发明设计人 安鹏;钟秋波;

    申请日2016-07-29

  • 分类号G05B13/04(20060101);B25J9/16(20060101);

  • 代理机构33243 宁波市鄞州盛飞专利代理事务所(普通合伙);

  • 代理人张向飞

  • 地址 315016 浙江省宁波市海曙区翠柏路89号

  • 入库时间 2023-06-19 01:07:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-07

    授权

    授权

  • 2017-01-11

    实质审查的生效 IPC(主分类):G05B13/04 申请日:20160729

    实质审查的生效

  • 2016-12-14

    公开

    公开

说明书

技术领域

本发明涉及机器人控制技术领域,尤其涉及一种类人机器人动作规划参数优化方法。

背景技术

现代科学技术的众多领域中,自动控制技术起着越来越重要的作用。所谓的自动控制,是指在没有人直接参与的情况下,利用外加的设备和装置,使机器、设备或生产过程的某个工作状态或参数自动按照预定的规律运行。近几十年来,随着计算机技术的发展和应用,在宇宙航行、机器人控制、导弹制导以及核动力等高新技术的领域中,出现了现代控制理论。它主要研究具有高性能、高精度的多变量变参数系统的最优控制问题,主要采用的方法是以状态为基础的状态空间法。从数学意义上说,该方法是一种求极值的方法,即在一组约束为等式或不等式的条件下,使系统的目标函数达到极值,即最大值或最小值。

在类人机器人中,机器人具有进行越障、上下楼梯等各种复杂环境中运动的优点。但是在进行这样的复杂运动甚至是一些基本的步行运动中,摔倒在所难免。尽管现在对类人机器人的行走等各种运动有了深入的研究,并且已经实现了比较稳定的控制,但是还是不能确保机器人百分之百不摔倒。因此,一个主流的控制类人机器人倒地的措施就是采用最优化控制算法。也就是说,研究算法使机器人由于摔倒而造成的伤害达到最小,对类人机器人的倒地动作进行最优化控制。

现有的类人机器人动作规划中存在着各种不同的问题和算法,当前类人机器人动作规划普遍采用CPU进行软件算法离线对机器人进行控制,重视了算法的实现精度,忽略了复杂度。

发明内容

本发明所要解决的技术问题在于,针对现有技术的上述不足,提出一种基于FPGA的类人机器人动作规划参数优化方法。

本发明解决其技术问题采用的技术方案是,提出一种基于FPGA的类人机器人动作规划参数优化方法,其包括步骤:

S1:建立类人机器人动作规划参数的定点模型;

S2:根据定点模型设计可重构计算体系结构,提供粗细粒度可重构单元加速比。

进一步地,通过如下方法建立定点模型:

将Matlab模型通过工具箱转化成C/C++描述的定点模型;

利用如下公式简化复杂算法:

非线性系统表示为:

其中,

x(t)=[x1(t),x2(t)...xns(t)]TRns

u(t)=[u1(t),u2(t)...unc(t)]TRnc

上式中,Rns表示n维的状态空间,Rnc表示n维的控制空间;t∈[0,tf],是连续可微的函数;

系统初始条件为:x(0)=x0

其中,表示给定的一组向量;

令U为所允许的控制信号集合,对于任何的u∈U,令x(t|u)为相应状态的向量函数,且在区间[0,tf]上连续,并能处处满足上述全部公式;则称x(t|u)为非线性系统所对应于u的解。

进一步地,还包括步骤:

分析硬件结构中各输入/输出关系,建立硬件结构中所有中间运算结果的最大、最小值与原始输入之间的约束关系,通过原始输入的数值范围确定所有操作数整数部分的位宽。

进一步地,所述可重构计算体系结构包括:粗粒度自动细胞机结构和细粒度运算加速结构;

在粗粒度自动细胞机结构中,一个自动细胞机可用四元组表示为:

CA=(AD,Zq,fi(o,r),B)

其中,空间结构AD是由D维细胞单元构成的空间结构,状态空间Zq是自动细胞机中细胞单元i的状态取值范围;邻域函数规则fi(o,r)是自动细胞机的邻域半径r确定的第j个细胞单元的0阶邻域状态配置与其转移状态之间的映射:边界条件B规定了某个细胞单元领域半径之内的邻域单元在超出自动细胞机空间结构时的处理方法;

所述细粒度运算加速结构采用伪随机数算法;假设有n个随机点,其中m个落在f(x)在(a,b)之间的积分阴影处那么积分值为:

abf(x)dx=m(b-a)f(b)n.

进一步地,所述伪随机数通过Box Muller算法生成高斯随机数。

进一步地,在类人机器人脚底转动轴中增加带反馈的力传感器并将数据实时传输给上位机。

进一步地,在步骤S1和步骤S2之间还包括分析定点模型计算瓶颈的步骤;采用Intel Vtune工具寻找反复出现并且使用频率高于平均使用频率或者运算效率低于平均运算效率的部分。

本发明根据FPGA平台的特性,优化算法模型,可节约计算硬件资源、提高硬件工作速度,使得类人机器人动作规划参数具有最优的控制算法。

具体实施方式

以下是本发明的具体实施例,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

现有的类人机器人动作规划采用CPU进行软件算法离线对机器人进行控制,虽然算法精度较高但是复杂度也较高。但是软件算法无法直接转变为可重构硬件模块。

FPGA作为一种可重构硬件设备,常常应用于计算机及工业控制领域。在机器人控制领域中,德国宇航中心研制成功了基于FPGA的带有13个自由度的DLR II机器人手,哈尔滨工业大学机器人研究所,成功地研制出仿人型四指机器人灵巧手HIT/DLRI,对比传统的软件实现,性能和效率有了显著的提升。

虽然FPGA具有上述优点,但是如何针对FPGA的运算特性设计符合FPGA的算法并验证成为亟待解决的问题。

本申请通过如下三个步骤解决上述问题:首先建立定点模型,其次分析定点模型的算法瓶颈,最后设计可重构计算体系结构。

定点模型的建立对算法瓶颈的分析以及进一步的可重构计算体系结构的设计起到至关重要的作用。定点模型的建立首先要对一般参数最优化中的算法进行优化,减少迭代时间和计算量,然后再对数据的位宽选取进行设计和研究,使最终定点模型的结果误差和浮点模型的误差之间尽可能小。

参数最优化问题用若干段常数去逼近最优解,将最优解控制转换成参数优化问题,相对于极小值最优化问题来说,迭代次数和计算量都大大降低。但是一般的参数最优化问题,参数化控制器只是将优化变量σ看作参数,而时间变量tk则取为定值。机器人动作规划中时间变量的取值不同,会影响到参数化控制对最优控制器的逼近程度。其次,在类人机器人的运动过程中,考虑到有些虚拟约束条件非常严格,比如膝关节相对转角不能超过180度,上身保持基本直立等。采用普通的惩罚函数法不能处理这种状态约束需要严格满足的情况,使得计算效率大大降低。另外,参数化优化方法对初始状态敏感,对于不同的初始状态集,求解的速度不同,有时候很容易在短期内陷入局部最优。同时,对参数最优化的计算瓶颈进行挖掘和优化,使其能采用可重构计算体系结构进行加速。最后,将面向机器人动作规划的参数最优化转为定点模型,有助于快速设计可重构计算体系结构。

然在面向机器人动作规划的参数最优控制中,为了取得更高的计算精度普遍采用浮点数据进行运算。但是采用可重构计算体系结构解决参数最优控制问题的话,定点计算可以更大限度地节省计算部件的硬件资源,并能提高硬件工作速度。因此,在己有可重构计算的实现大都采用定点计算的方式进行。虽然可重构计算部件FPGA上集成的硬件资源越来越多,但是它毕竟还是一个资源受限的器件,因此最大限度的提高硬件资源利用率一直是可重构计算体系结构设计中所追求的目标之一。

为此,本申请定点模型的建立过程中需考虑如下三个方面:

第一:简化复杂算法

考虑一般化的非线性系统

x·=f(t,x(t),u(t))---(1)

其中,

x(t)=[x1(t),x2(t)...xns(t)]TRns---(2)

u(t)=[u1(t),u2(t)...unc(t)]TRnc---(3)

其中,Rns表示n维的状态空间,Rnc表示n维的控制空间,t∈[0,tf],是连续可微的函数。非线性系统的初始条件为

x(0)=x0>

其中,表示给定的一组向量。

令U为所允许的控制信号集合。对于任何的u∈U,令x(t|u)为相应状态的向量函数,且在区间[0,tf]上连续,并几乎能处处满足式(3)和其初始条件式(4)。则称x(t|u)为系统(1)所对应于u的解。

要使参数在满足约束的条件下,最小化指标函数是很困难的,求解含有不等式约束问题的常用方法是惩罚因子法。该方法对于部分问题是有效的,但是对于一些复杂问题最优解的完备性就不能得到保障并且无法避免连续状态下不等约束的微小抖动。在类人机器人的运动过程中,考虑到有些虚拟约束条件非常严格,比如膝关节相对转角不能超过180度,上身保持基本直立等。惩罚函数法不能处理这种状态约束需要严格满足的情况,同时采用渐进二次规划方法(SQP)求解静态优化问题需要用到约束函数对决策变量的一阶梯度,采用简便的数值方法求得该梯度可以大大提高优化过程的计算效率和计算精度。

第二:挖掘计算瓶颈

这里拟采用Intel Vtune工具,分析简化后的程序在通用处理器平台下的微体系结构表现,研究面向机器人动作规划的参数最优控制处理过程中的具体执行特征,同时对算法程序进行逐层分解,寻找其中反复出现并且使用频率较高,或者运算效率较低的部分。除了算法本身的计算复杂度以外,还需要关注CPU处理时数据存储的特点,包括对内部寄存器、Cache的操作以及外部存储的访问。计算瓶颈的挖掘为可重构体系结构中,计算部件和存储系统的设置提供有力的参考。

第三、选择合适的数据位宽

在通用处理器中,通常包含若干个浮点运算部件,因此软件方式实现的科学计算一般都是以浮点数作为默认的操作数类型。但是在基于FPGA的可重构计算体系结构设计中浮点运算部件比定点运算部件要消耗更多的硬件资源。而且,由于浮点运算比定点运算要复杂的多,所以浮点运算部件的工作速度往往要低于定点运算部件。因此,在可重构计算设计时,往往都会选择定点数方式实现算法的硬件设计。

定点数实现方式的最大优势就在于:进行算法实现时,可以根据具体算法的数值范围和精度要求为每个操作数选取不同的位宽,从而达到最大限度地节省硬件资源的目的。每个定点数都由整数部分和小数部分组成。整数部分决定了操作数的数值范围,即最大(最小)的可能取值;而小数部分则决定了操作数所能达到的最高计算精度。

本实施例中,通过对硬件结构中各模块输入/输出关系的分析,建立起硬件结构中所有中问运算结果的最大(小)值与原始输入之间的约束关系,即建立起原始输入与硬件结构中所有操作数的最值之间的约束关系,从而可以通过原始输入的数值范围确定所有操作数整数部分的位宽。

可重构计算体系结构主要包括:粗粒度自动细胞机结构和细粒度运算加速结构两个方面。

其中,在粗粒度自动细胞机结构中,自动细胞机是指具有时间、空间和状态离散性的有限状态机。具体的,自动细胞机是D维空间中一组细胞单元组成的阵列,一个自动细胞机可用四元组表示为:

CA=(AD,Zq,fi(o,r),B)

其中,空间结构AD是由D维细胞单元构成的空间结构,状态空间Zq是自动细胞机中细胞单元i的状态取值范围;邻域函数规则fi(o,r)是自动细胞机的邻域半径r确定的第j个细胞单元的0阶邻域状态配置与其转移状态之间的映射:边界条件B规定了某个细胞单元领域半径之内的邻域单元在超出自动细胞机空间结构时的处理方法。

面向机器人动作规划的参数最优控制算法是一个迭代过程。每次迭代过程和他前一次状态息息相关,相邻节点的迭代也互相关联。整个过程与线性自动细胞机结构类似。

在细粒度运算加速结构中,从仿真结果看到,积分运算占所有计算时间的70%,因此细粒度运算加速结构的设计主要针对基于FPGA的积分计算。

面积微元法可以用在积分计算方面,然而采用该方法获得精确的数值需要进行多次迭代计算,不太适合FPGA进行并行计算。而随机化算法的采用大量依据某种分布的随机数,通过点落在积分区域的概率计算积分结果。

假设有n个随机点,其中m个落在f(x)在(a,b)之间的积分阴影处那么积分值为:

abf(x)dx=m(b-a)f(b)n

本实施例拟设计基于伪随机数的细粒度积分体系结构,而伪随机数可以通过Box Muller等算法生成高斯随机数。

为了能更好的实现是仿真和实践相符合,本实施例还对类人机器人平台进行改进。在脚底转动轴中增加带反馈的力传感器,实时将数据传输给上位机程序,评估当前面向机器人动作规划的参数最优控制可重构计算的真实性能。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号