首页 / 专利库 / 联轴器,法兰和接头 / 机械接头 / 移动关节 / 使用关节型四肢的移动机器人的控制指令结构

使用关节型四肢的移动机器人的控制指令结构

阅读:77发布:2020-05-12

专利汇可以提供使用关节型四肢的移动机器人的控制指令结构专利检索,专利查询,专利分析的服务。并且本 发明 适用于移动 机器人 ,其可以具有人的外观和使其能够执行任务的成熟功能。为了使得机器人的内部通信被最优化并且能够获得物理(能够替换机器人的部件)和 软件 (更换程序以使其适合于执行新任务)两方面的通用性,提供了一种具有三个计算机级别的结构。最高级别包括机器人智能,其产生的指令通过中间计算机传递至控制 传感器 和执行器的低级别卡。中间计算机和低级别卡之间的通信由至少一个专用安全通信协议管理。,下面是使用关节型四肢的移动机器人的控制指令结构专利的具体信息内容。

1.一种基于关节型四肢的移动机器人,所述移动机器人包括传感器和执行器的多个子组,并且通过在机器人携载的带有至少三个级别的控制指令结构控制,其中第一级别用于通过设有至少一个微控制器的至少一个电子卡控制各子组的传感器/执行器,用于至少一些电子卡的控制功能至少由第一计算机和不同于所述第一计算机、并且与控制各子组的传感器/执行器的电子卡不同的第二计算机分担,第二级别包括所述第一计算机并且用于翻译和传输用于执行由第二计算机定义的功能的指令信息至所述电子卡并且直接驱动基本功能,第三级别包括所述第二计算机并且用于产生更高级别功能,其中包括机器人的人工智能
2.根据权利要求1所述的移动机器人,其特征在于,移动机器人的一些功能在第一计算机中被程序化,所述一些功能根据一些传感器状态变量的值确定执行器指令,以管理机器人的反射反应。
3.根据权利要求1所述的移动机器人,其特征在于,移动机器人的一些配置数据被存储于存储器中,所述存储器由第一计算机管理,所述配置数据主要包括下列项目:由第一计算机控制的电子卡,受所述卡命令的传感器和执行器,和所述传感器和执行器的操作参数。
4.根据权利要求1所述的移动机器人,其特征在于,第一计算机管理机器人的至少一些电子卡的初始化过程。
5.根据权利要求1所述的移动机器人,其特征在于,机器人的电子卡可被更换为与该电子卡等效的卡,而不必修改第一计算机和第二计算机中任何一个的程序化设置。
6.根据权利要求1所述的移动机器人,其特征在于,第二计算机可被更换为与该第二计算机等效的另一个计算机,而不必修改第一计算机的程序化设置。
7.根据权利要求1所述的移动机器人,其特征在于,第一计算机和电子卡之间的通信由至少一个专用总线上的安全协议管理,所述安全协议包括,所述帧包括位于信息字节前面的至少包含目的地址和具有选定值的最高有效位的字节,以及位于信息字节后面的包含信息大小的至少一个字节和包含CRC的一个字节。
8.根据权利要求7所述的移动机器人,其特征在于,根据所述安全协议的帧的所有字节具有处在与所述地址字节的最高有效位互补的值的第一字节,并且所述信息字节包含八字节的序列,八字节中的第一字节包含后面七字节的七个最高有效位。
9.根据权利要求7所述的移动机器人,其特征在于,所述安全协议包括同播通信模式。
10.根据权利要求7所述的移动机器人,其特征在于,第一计算机及其控制的电子卡还通过至少两个通信线路相连,其中一个通信线路用于检测操作,另一通信线路向所述电子卡赋予地址。
11.一种控制基于关节型四肢的移动机器人的方法,包括发出用于传感器和执行器的子组的多个指令步骤,所述多个指令步骤通过在机器人携载的带有至少三个级别的控制指令结构执行,其中第一级别用于通过设有至少一个微控制器的至少一个电子卡控制各子组的传感器/执行器,其中用于至少一些电子卡的控制功能至少由第一计算机和不同于所述第一计算机、并且与控制各子组的传感器/执行器的电子卡不同的第二计算机分担,第二级别包括所述第一计算机并且用于翻译和传输用于执行由第二计算机定义的功能的指令信息至所述电子卡并且直接驱动基本功能,第三级别包括所述第二计算机并且用于产生更高级别功能,其中包括机器人的人工智能。
12.根据权利要求11所述的控制移动机器人的方法,其特征在于,所述传送指令信息的步骤包括使用位于至少一个专用总线上的安全协议管理,所述安全协议包括帧,所述帧包括位于信息字节前面的至少包含目的地址和具有选定值的最高有效位的字节,以及位于信息字节后面的包含信息大小的至少一个字节和包含CRC的一个字节,并且,根据所述安全协议的帧的所有字节具有处在与所述地址字节的最高有效位互补的值的第一字节,并且所述信息字节包含八字节的序列,八字节中的第一字节包含后面七字节的七个最高有效位。
13.根据权利要求11所述的控制移动机器人的方法,其特征在于,所述传送指令信息的步骤以基本固定的时间间隔执行,该时间间隔的量值为大约十毫秒。
14.根据权利要求11所述的控制移动机器人的方法,其特征在于,所述定义步骤包括定义针对每个指令的至少一个执行数据。
15.根据权利要求14所述的控制移动机器人的方法,其特征在于,通过在前一指令值和后一指令值之间利用定期发送数据进行插值而计算出用于定义所述执行数据的带时间戳的指令值。
16.根据权利要求13所述的控制移动机器人的方法,其特征在于,在第一指令和第二指令之间由电子卡执行的伺服控制命令是利用第一指令前面的指令和所述第一指令之间的指令速度变化的延伸而从前一指令外推得到的。
17.根据权利要求13所述的控制移动机器人的方法,其特征在于,在第一指令和第二指令之间由电子卡执行的伺服控制命令是通过将第一指令前面的指令和所述第一指令之间的指令速度变化翻译为应用于第一和第二指令之间的伺服控制命令而从前一指令外推得到的。

说明书全文

使用关节型四肢的移动机器人的控制指令结构

[0001] 本发明涉及机器人上采用的控制和指令系统的领域。更具体地,本发明适用于在关节型四肢上移动或利用关节型四肢移动的机器人结构,其明显具有人或动物的形式。当机器人具有一定的下述人类外观特性时,可被归类为类人:头部,躯干,两个臂,两个手,两个腿,两个脚,等等。然而,类人机器人可以或多或少地做出改进。其四肢可以具有更大或更小数量的关节。其可以静态和动态地管理其自身平衡,并且利用两肢行走,可能是在三维上。其能够从环境获取信号(″听″,″看″,″触摸″,″感觉″,等等),并且基于或高或低级别的成熟行为作出反应,并且通过语言或行动而与其它机器人或人互动。赋予机器人的人类外观和行为越多,就越需要为四肢关节提供应下的自由度(并且因此需要倍增驱动这些关节的电机),倍增传感器和处理操作,以及产生反射反应。对用户(人,机器人本身)定义的任务的适应性越高,就越需要提供定制机器人物理结构(例如通过将头部更换为另一个)和定制其智能(通过更新形成其的程序,这就必须要求其能与服务器互动,从该服务器可以下载新的应用程序以便升级其任务或其行为)的可能性。移动机器人在关节型四肢方面的这种增大的复杂性以及物理和软件结构通用性无法通过现有技术的结构实现。
[0002] 这是因为,目前的控制指令结构包括单一的中央计算单元,来驱动所有控制关节的电机,这种控制指令结构会很快地达到其极限,主要是由于相关连接器的重量。一种替代措施是提供分散化结构,通常是在工业机器人系统中,即采用母卡和针对每个电机单元或传感器的控制器卡。在具有前面提到的功能的类人机器人的情况下,与母卡之间通信的管理对于其处理器而言成为非常高负荷的搭载,直至其达到饱和状态。
[0003] 本发明通过下述方式解决了上述问题,即提供了一种控制指令结构,其具有至少三个级别,其中一个级别用于通过设有至少一个微控制器电子卡命令传感器/执行器,一个级别用于翻译和传输指令至所述卡并且直接驱动基本功能,还有一个级别用于产生更高级别功能,其中包括机器人的人工智能
[0004] 为此,本发明公开了一种基于关节型四肢的移动机器人,其包括传感器和执行器的多个子组(subsets),每个子组由电子卡控制,其特征在于,针对至少一些电子卡的控制功能至少由第一计算机和第二计算机分担,所述第一计算机主要负责向所述电子卡传送用于执行由第二计算机定义的功能的指令信息。
[0005] 有利地,移动机器人的一些特定功能在第一计算机中被程序化,所述功能根据一些传感器状态变量的值确定执行器指令,以管理机器人的反射反应。
[0006] 有利地,移动机器人的一些特定配置数据被存储于存储器,所述存储器由第一计算机管理,所述配置数据主要包括下列项目:所控制的电子卡,受所述卡命令的传感器和执行器,和所述传感器和执行器的操作参数。
[0007] 有利地,第一计算机管理机器人的至少一些电子卡的初始化过程。
[0008] 有利地,机器人的电子卡可被更换为等效的卡,而不必修改第一计算机和第二计算机中任何一个的程序化设置。
[0009] 有利地,第二计算机可被更换为另一个等效计算机,而不必修改第一计算机的程序化设置。
[0010] 有利地,第一计算机和电子卡之间的通信由至少一个专用总线上的安全协议管理,所述安全协议包括,所述帧包括位于信息字节前面的至少包含目的地址和具有选定值的最高有效位的字节,以及位于信息字节后面的包含信息大小的至少一个字节和包含CRC的一个字节。
[0011] 有利地,根据所述安全协议的帧的所有字节具有处在与所述地址字节的最高有效位互补的值的第一字节,并且所述信息字节包含八字节的序列,八字节中的第一字节包含后面七字节的七个最高有效位。
[0012] 有利地,所述安全协议包括同播通信模式。
[0013] 有利地,第一计算机及其控制的电子卡还通过至少两个通信线路相连,其中一个通信线路用于检测操作,另一通信线路向所述电子卡赋予地址。
[0014] 本发明还公开了一种控制基于关节型四肢的移动机器人的方法,其包括多个用于传感器和执行器的子组的指令步骤,每个子组受电子卡命令,其特征在于,用于至少一些电子卡的控制步骤至少由第一计算机和第二计算机分担,所述第一计算机主要负责将用于执行功能的指令信息传送至所述电子卡的步骤,所述功能的定义步骤由第二计算机进行。
[0015] 有利地,第一计算机和电子卡之间的通信由位于至少一个专用总线上的安全协议管理,所述安全协议包括帧,所述帧包括位于信息字节前面的至少包含目的地址和具有选定值的最高有效位的字节,以及位于信息字节后面的包含信息大小的至少一个字节和包含CRC的一个字节,并且,根据所述安全协议的帧的所有字节具有处在与所述地址字节的最高有效位互补的值的第一字节,并且所述信息字节包含八字节的序列,八字节中的第一字节包含后面七字节的七个最高有效位。
[0016] 有利地,指令信息以基本固定的时间间隔被传送至电子卡,该时间间隔的量值为大约十毫秒。
[0017] 有利地,由第二计算机产生的指令信息包括针对每个指令的至少一个执行数据。
[0018] 有利地,通过在前一值和后一值之间利用定期发送数据进行插值而计算带时间戳的指令值。
[0019] 有利地,在第一指令和第二指令之间由电子卡执行的伺服控制命令是利用第一指令前面的指令和所述第一指令之间的指令速度变化的延伸而从前一指令外推得到的。
[0020] 有利地,在第一指令和第二指令之间由电子卡执行的伺服控制命令是通过将第一指令前面的指令和所述第一指令之间的指令速度变化翻译为应用于第一和第二指令之间的伺服控制命令而从前一指令外推得到的。
[0021] 上述结构可提供下述优点,即解放了负责人工智能任务的最高级别单元的大部分计算能力,该最高级别单元用于进行适合于所述机器人的用途方案的机器人行为的产生。还能够管理不同总线上的基于级别最优化的各计算机之间的通信,以及提供也被最优化的通信协议。此外,上述结构可提供附加有点,即机器人的各个部件可以更换,而不必重新构建机器人的核心。还能最优化带时间戳的指令的使用,为了同步化执行传输至类人机器人的许多关节的指令(可能是通过异步链从远程设备或从与第一机器人通信的另一个机器人传输的),这种带时间戳的指令是必须的。
[0022] 通过下面对本发明的一些代表性实施方式及其附图的描述,本发明将被更好地理解,并且其各个特征和优点将更清楚地展现:
[0023] -图1是本发明实施方式中的类人机器人的物理结构的图示;
[0024] -图2是本发明实施方式中的类人机器人的功能性结构的图示;
[0025] -图3是本发明实施方式中的类人机器人的逻辑结构的示意图;
[0026] -图4是示出了本发明实施方式中的类人机器人中由第一计算机将第二计算机产生的传送指令至电子卡的图示;
[0027] -图5A和5B是时序图,示出了本发明实施方式中的类人机器人中由第一和第二级别计算机之一产生带时间戳的指令以便传送至最低级别电子卡;
[0028] -图6A、6B、6C和6D是时序图,示出了本发明实施方式中用于合并带时间戳的指令的各种场景;
[0029] -图7示出了本发明实施方式中的类人机器人结构的各个级别之间的配置元件的分配。
[0030] 在下面的说明书部分中,各种简写和缩写具有下面表中的含义,除非以专的文字明确给出与此不同的意义。
[0031]
[0032]
[0033] 图1示出了本发明实施方式中的类人机器人的物理结构。这种机器人共包含大约两打的类型10的电子卡,用于控制传感器120和驱动关节的执行器130。示于图中的卡10用于控制左脚。这种结构的一个优点是控制关节的卡大部分是可互换的。一个关节通常至少具有两个自由度并且因此具有两个电机。每个电机被按度驱动。关节还包括一定数量的位置传感器,常被称作MRE(磁性旋转编码器)。控制电子卡包括市场标准的微控制TM
器110。例如,其可以是Microchip公司制造的DSPIC 。这是连接着DSP的16位MCU。这种MCU具有1ms的环式伺服控制周期。机器人可以还包括其它类型的执行器,常见的是LED
140(发光二极管),其颜色和强度可以反映机器人的情绪。机器人可以还包括其它类型的位置传感器,常见的是惯性单元,FSR(地面压力传感器),等等。
[0034] 头部包含机器人智能,常见的是卡30,其执行高级别功能,以使得机器人能够完成被赋予的任务。然而,卡30可以位于机器人的任何其它部位,例如在躯干中。然而,可以认识到,在头部可拆下的状况下,安装在头部使得能够更换这些高级别功能,并且因此显然可以非常快速地完全改变机器人智能以及因此改变其任务,或者相反,将身体更换为另一个(例如将有故障的身体换成无故障的身体),同时保持相同的人工智能。头部可以还包括专用卡,即专用于言语或视觉处理。卡30的处理器310可以是市场标准的x86处理器。优选TM选用低能耗处理器,例如AMD公司制造的Geode (32位,500MHz)。卡还包括一组RAM和闪速存储器。这种卡还管理机器人和外界世界(行为控制服务器,其它机器人等等)之间的通信,通常经过WiFi或WiMax传输层,可能利用标准协议(可能封载于VPN中)经过公共移动数据通信网络。处理器310通常由标准OS驱动,以使得能够利用通常的高级别语言(C,C++,Python,Ruby,等等),或专用于人工智能的语言,如URBI(机器人专业程序化语言),用于程序化高级别功能。
[0035] 卡20容置于机器人的躯干中。这也是安置计算机的部位,根据本发明,计算机负责将卡30计算出的指令传送至卡10。卡20可以安置在机器人中的任何其它部位。然而,安置在躯干中是有利的,因为其位置靠近头部并且位于四肢交汇的位置,因此使得能够使得将卡30连接至卡20和连接至卡10的连接器最小化。该卡20的计算机210也可以是市TM场标准的处理器。这可以有利地是时钟速度为60MHz的ARM7 型32位处理器。处理器的类型,其中央位置,靠近通/断钮,以及其连接到电源控制器,使得其成为良好地适合于管理机器人电源(独立模式,紧急停止,等等)的工具。卡还包括一组RAM和闪速存储器。
[0036] 在根据本发明的三级别结构中,重新程序化微控制器110和210的功能在母卡中提供。
[0037] 图2示出了计算机210的主要功能,其负责将计算机310产生的指令传送至卡10,卡10主要包括传感器120和执行器(例如电机130和可能有的LED 140)。一些指令可能会被直接传送至一些特定的卡,而不必经过卡20。这主要出现在卡安置在不带电机的头部的情况下(卡负责控制脸部的LED,检测触觉,和控制朵的LED)。这些卡和卡30之间的联系有利地由I2C总线提供,这对于使用它的信号帧来说是有效的。卡20通过USB总线与卡30联系,该USB总线具有此功能所需的足够的可靠性和速度,并且其使用处理器30上的非常低的电能。此外,这种USB缆线使得能够在一个实施方式中的包含卡30的头部被拆下后,将这种计算结构的其它元件直接连接到外部计算机,用于开发和测试的目的。
[0038] 下面简要描述一种适合于这种应用的USB协议。信息结构是传统的:包括固定的第一字节的首标(header)字节,第二类型字节,地址字节,信息长度字节,信息字节(最多128字节),和两个固定的信息结束字节,其中第一个信息结束字节与第一首标字节相同。
与第一首标字节相同的信息字节被系统地复制以便极性化接收器。所用协议的一个专门特征是在读写时管理肯定和否定接收确认(ACK和NACK)。在这两种情况下,如果操作成功(ACK),信息在″数据″区包括已被读或写的数据。如果操作失败(NACK),″数据″区包含专用序列。
[0039] 卡20通过两个缆线(例如RS485型的)与安置在上肢和下肢中的卡10通信。每个RS485缆线还配备有与所有卡10和卡20连接的调试缆线以及起始于卡20的用于从某个上下肢的第一卡10延伸到下一个上下肢的每个元件的链接缆线。这些缆线的功能将在说明书的后面部分进行描述。
[0040] RS485缆线在工业领域中被广泛使用,并且由于对干扰的灵敏度很低,因而适合用于指挥和控制类人机器人。此外,它们的数据传输速度在每秒46600字节以上,这对于双向交换大量信息而言是必须的。然而,它们也存在缺陷,即信息帧被连续传输通过该缆线,使得信息的解码更困难。因此,需要采用安全通信协议,其使得能够从帧提取各种信息。下面将描述一种可行的协议。其主要包括将每个字节的第一位设置为零,并且,在七个字节之前插入一个字节,该字节包含它后面的七个字节的最高有效位。另外,信息首标包含由六位目的地址构成的字节,一个代表正在进行的是读还是写的数位,和系统设置为1的最高有效位。信息的起始部分包括除地址之外的两个字节,其中第一字节编码信息大小,第二字节编码信息类型,信息末尾字节包括与所有信息相关的CRC。信息可以是下述类型的:关节角度,关节粘度,复位,LED,配置设备,各种重新程序化指令,等等。对于将要生效的信息,必须因此而考察下面的准则:第一个MSB为1,其它为0,地址,信息类型,大小,和CRC正确。在传送和接收中协议的管理负荷都非常小。信息具有固定的尺寸,这极大地方便了通信的时间管理。
[0041] 为了减轻与校验码相关的负荷,非常广泛地采用的措施是使用传播(广播)功能,通常为同播功能,或同时传送至不同的地址。在这种情况下,第一个目的地址设置为零。用于一部分信息的目的卡通过BID即传播(广播)ID识别,以使得每个卡获取信息中用于此目的的那部分。这种实施方式使得特别能够将指令发送至执行器,例如关节将要到达的位置。
[0042] 对于电机卡的读取,协议略有不同:主卡发送第一个字节(MSB总是为1),接下来是7位的将被请求的字节数,和用于这两个字节的7位CRC。赋予该地址的卡仅在CRC正确时作出响应。然后其对于MSB总是为0的情况对所述请求的字节数做出响应。电机卡上读取的数据取决于所请求的长度,其中起始点总是相同的最有用且最常被读取的数据被置于将被读取的区域的起始部分。这些数据有关节传感器的位置,电流,错误,和温度。在胸卡20的级别,没有字节计数。只以一定的许用误差设有与反射反应字节发送时间对应的超时。达到超时后,卡可能接收到了字节也可能没有接收到,这使得能够在卡出现故障时不中断机器人应当进行的剩余操作。
[0043] 调试缆线和链接缆线主要在机器人初始化时使用,它们的管理也由卡20负责,这是其另一项重要功能。卡20由接通钮控制,并且首先被初始化。卡10和卡30然后启动;卡10经过调试缆线发送为0的数位;卡20经过链接缆线向它们返回指令,但将该状态数位改为1。然后,对于每个链接缆线上的每个卡,一步一步地为各个地址赋予一个单位的增量,直到该上下肢上的最后的卡。因此,在该链中的各个卡10相同的情况下,可在这些卡的位置之间产生″物理″差异。在复位的情况下,所有链接过程重新进行。调试缆线和链接缆线可以是,例如,使用单总线协议的缆线,其上流通矩形脉冲链,该脉冲链编码为0位(低位状态脉冲持续时间为大约50μs)和1位(低位状态脉冲持续时间为大约250μs)。
[0044] 图3示出了根据本发明的类人机器人的逻辑结构。
[0045] 机器人包括卡管理模(DCM),其可以主要构建在卡30上,但还至少部分地构建在卡20上。DCM程序起始于读取每个卡10(例如,电机卡)内部的配置缓冲文件。该缓冲文件在此阶只包含卡内部指示(系统引导文件的版本-开始文件、程序和卡的自动加载文件;所述链获得的卡地址)。在DCM中缓冲文件备有所有配置值:BID,链中各MRE的编号和位置,电机的编号和位置,关节伺服控制系数,是否存在LED,或是否存在FSR,等等。缓冲文件然后再被发送至卡10。如此更新卡10的配置参数有利于更换升级卡的闪速存储器。卡10上读取的数据被存储于保持在RAM中的机器人内部数据库(STM)。机器人的逻辑结构向下分解为一种主外周设备,本说明书中以下称作主设备(Devices)(对于机器人的电子卡10,主要是MCU 110),然后分解为与主设备连接的附属外周设备,称作附属设备(SubDevices)(传感器120或执行器130、140)。这些主设备相对于卡20、30的子组而言,就变成附属设备了。主设备的特征在于其类型,总线(头部或胸I2C,上或下肢RS485),和总线上的地址。
附属设备的特征在于其类型(电机,LED,FSR,等等)以定义其是传感器还是执行器,相连的主设备,和附属设备编号。
[0046] 应当指出,关节的位置对应于传感器附属设备(对应于传感器发回的角度信息),并且对应于与传感器附属设备分立的执行器附属设备(对应于将要到达的请求位置)。
[0047] 例如,电机卡优选包括两个电机附属设备(执行器),两个传感器位置附属设备(传感器),两个电流附属设备(传感器),等等。脸部卡可以包括大量的LED附属设备(执行器)(在一个实施方式中有48个)。
[0048] 附属设备的特征还在于其主状态变量的浮点值(对于位置传感器为关节角度位置,对于电流传感器为电流测量值,对于LED执行器为LED的值,以及诸如此类),以及特征在于由主变量得到的变量的值(增益,偏移,最小和最大值,确认(ACK)或非接收确认(NACK),错误(ERROR)-在出现问题时不同于0)。主设备没有主状态变量值,但它们具有ACK/NACK/ERROR类型的计数值。其它值专用于主设备或附属设备的类型(例如,电机执行器的伺服控制系数)。所有这些值被自动更新并且能够从高级别应用的STM中看到。
[0049] ACK和NACK计数器基于主设备/附属设备的每个成功的通信或每个通信错误分别被添加增量。它们使得能够检测卡上出现的问题并且计算它们的频率
[0050] 对于每个机器人,这种主设备/附属设备结构在配置文件中描述,该配置文件以默认状态(标准配置)存在于卡30中,并且可以被修改,但某些特定的专用值还被存储于卡20的闪速存储器中。这是卡20的另一项重要功能,因而使得能够保留机器人的高级别和低级别之间的差异。DCM自身不具有任何关于机器人电子结构的“硬件”信息。通过承载附属设备名称/值的“密钥”,可实现访问传感器和执行器。对于高级别,脚部LED(在RS485模式中在电机卡上通过胸卡的USB管理)、胸部LED(通过USB请求由胸卡管理)和脸部LED(卡通过I2C请求由脸部管理)之间没有差别。
[0051] 在优选实施方式中,DCM以10至20ms的内部周期操作。大部分传感器和执行器每个周期中被系统地更新/读取。这使得能够以恒定的负荷操作,以最优化通信,使得通信错误不致命(仅持续20ms)。此外,针对大部分传感器,通过相对于基于请求的更新而言更优选采用系统更新,可以确保机器人的所有高级别模块的最新信息立即可用。卡20负责转换由DCM产生的指令并将其基于USB协议传送至RS485协议。还能将卡20的存储器之一用作这些指令的缓冲存储器,以便在指令之间进行插值计算,如后面所述。
[0052] 作为根据本发明的结构的操作的一个例子,图4示出了产生和传送一组用于机器人的指令,以便以速度δ’沿着行进角度θ前进一段距离δ。处理器30产生将被应用于机器人的关节A1、A2、A3的电机的指令,以便执行上述命令δ、δ’、θ。对于每个关节,有一或多个采用将要到达的角度的指令。在本发明优选实施方式中,对于将被执行的所有指令,执行的绝对时间被计算。在非确定性处理器和总线结构中,不论是机器人的卡之间的通信还是来自可提供参数以输入将被执行的命令的外界设备的通信都不能确保行进到任务位置的时间,也就不能确保特定的到达时间和执行时间。向指令赋予时间戳使得能够以相对简单的方式确保它们在这一方面同步化。可行的是,例如,使用处理器30的系统时间。基于配置信息和已知的系统状态,DCM以将来的一系列时刻t为执行器Ai产生一系列用于应力变量α的值(角度指令),即{αi,t}。能够计算和传送该值α所需的时间段T主要取决于DCM的专用RAM的存储能力。由于DCM具有其自身周期(10至20ms,如前所述),必须在帧被传送的时刻产生实际指令。对于应用于具有连续的状态变量(例如,指示关节电机的旋转的角度,或LED的亮度)的执行器的所有指令,通过查询分别刚好位于时刻t之前和刚好位于时刻t之后的指令αit1和αjt2,并且在这两个值之间进行线性插值,其中t1、t2和t之间经历的时间段的权重被计入,可实现在时刻t的指令产生。
[0053] 对于发送新的指令,还能够合并有关同一个执行器的两个系列{αt},一个系列在DCM的RAM中,还有一个新的系列是由外部模块发送的。这个操作是在插值之前进行的。插值的结果被封载于USB帧中,然后从卡30传递至卡20。作为一种改型,还能够在卡20中传递系列{αi,t}并且进行转换。在上面两种情况下,处理器210都负责根据上面描述的安全协议而取消USB协议以及在RS485帧中封载。优选使用同播模式,即通过对包含需要执行指令的附属设备Ai的主设备的地址进行编码。帧然后经RS485总线被同时传递至控制需要执行指令的附属设备Ai的主设备。帧控制过程使得能够校验所传递信息的完整性。在将被执行的第一个指令与已经执行的前一个指令之间,在主设备进行插值,以使得关节运动流畅。
[0054] 用于传送的基于线性插值的转换在图5A和5B中显示。在图5A所示的简单情况下,间隔为10ms的7个指令以渐进的方式取代了间隔为70ms的两个指令。指令的值单调地进展,没有任何困难。在图5B中的更为复杂的情况下,状态变量的变化方向发生改变,阶梯式插值功能使得能够以较为流畅的方式重构这种变化。
[0055] 基于指令帧的各种类型的合并转换在图6A、6B、6C和6D中显示。在图6A的情况下,合并包括计入所有指令。在图6B的情况下,最旧的指令在给定时间之后被擦除。在图6C的情况下,最旧的指令在给定时间之前被擦除。在图6D的情况下,最旧的指令被完全擦除。
[0056] 还有利的是,使执行器接收的指令平滑化,以便尽可能地避免不连续性。为实现此目的,各种外推算法是可行的。两种外推算法在图7A和7B中显示。首先需要想起,指令的接收周期在大约10ms的量级(在电流的优选实施方式中为20ms),并且在没有网络或处理器负荷争用的状况下几乎是恒定的,而伺服控制周期在1ms的量级。在图7A的情况下,可以认为在时段t0,t1内测量的指令αt的变化速度,即(α’t,=(αt1-αt0)/(t1-t0)),在后面时间档t1,t2内是恒定的。针对外推命令 的伺服控制使得能够在t1时到达指令β2,而如果实现不了这一点,伺服控制命令将从α1急剧变化至α2。可以通过曲线看到,如果命令保持在恒定速度,或是略微加速或减速,则通过这种方式伺服控制到外推命令为维持前一命令更为有效,因为差值β2-α2小于差值α2-α1。
[0057] 应当指出,在这种情况下,有效地产生的伺服控制将从β2到达β3,β3对应于(α1,t1)和(α2,t2)之间外推的命令。
[0058] 如果命令非常快地减速,则不能满足这一条件:在这种情况下,差值β2-α2大于差值α2-α1。命令的走向以实现表示。图7B示出了这种第二类型的显著减速状况,并且用于计算命令走向的另一种方法被应用于这种状况,该方法包括引入一个周期延迟作用:γ2是一个周期的α2的平移。因此,可以通过曲线图看到,与前面的计算结果相比,γ2更接近于α2。另一方面,在后面的周期中,差值发生逆转,但这两个周期的总和的结果仍是有利的。此外,有用的是引入一定数量的行为规则,以在特殊情况下调节命令的走向:如果外推算法不起作用,则命令保持不变;如果在选定时间内没有接收到指令,例如对于20ms的周期在50ms内没有接收到指令,则不应用外推,而是将命令保留在此前最后达到的值;在另一选定时段结束时,例如前一情况中选择的时间的10倍,机器人停止;然而,执行器总不关闭,优选应用电磁制动命令来避免机器人或其一个关节急剧下落。
[0059] 上面描述的带时间戳的指令系统具有很多优点:
[0060] -利用默认值,可以避免急剧不连续性,即使是在需要在非常接近的时间执行两个指令的情况下,也能够实现这一点;
[0061] -允许利用单一的指令出现两个值之间线性插值,该差值是简单插值,但却是有效的(其它插值方式可以简化成一系列线性插值,并且因此在更复杂的情况下指令也能被最小化);
[0062] -使得能够避免DCM(具有其自身的周期)和其它模块之间同步化的问题;例如,在至少一个周期之前向DCM给出指令就足够了,DCM就能计算对应于命令的插值,而不会产生运动中的急动;
[0063] -提供了命令精度,并且因此而提供了优异的运动精度;
[0064] -对任何延迟、等候或可变通信时间不敏感;
[0065] -使得能够非常简单地同步化若干执行器,即使是它们由完全不同的模块控制,位于或不位于机器人中。
[0066] 此外,外部模块能够以简单的方式恢复系统时钟,并且因此与指令发生器同步化。
[0067] 为了降低DCM的计算负荷,将被传递到一定数量的执行器的指令可以以某个总称而归类在一起、
[0068] 还可以构想执行器直接在计算机210中产生或修改指令。特别地讲,一定数量的时间不是必须需要高级别计算机介入。某些反射反应功能显然可以在卡20中直接驱动,尤其是管理机器人的平衡或避免四肢之间碰撞。在卡20上执行相应的算法和一部分DCM就足够了。
[0069] 另外,为了向机器人提供一定的通用性,需要提供包含硬件和软件配置的文件,这些文件容易访问和修改。这些配置文件的分布在图8中显示。
[0070] 这里有Device.xml配置文件(系统配置)和一定数量的连接着机器人的特定部位的子文件(Device_Head.xml,Device_Chest.xml,和其它文件,如有必要的话)。机器人的某些部位是可互换的头部可以容易地从身体拆下,或装回到身体。机器人的臂或其它部分也可以更换。对于维护,以及前面提到的将机器人改造成用于新任务或使其具有新个性或新外观,这种通用性都是有用的。正好,这里有与这些部分相关的校正值,这对于精确地计入专门用途(关节和LED的传感器的校正,装配之后为调节某些参数进行的修改,等等)而言是必需的。因此,最佳方案是不在头部卡文件中存储这些校正值,因为这在头部需要更换时有身体校正较差的危险。优选在公用于所有机器人的文件(Device.xml)中只以存储即键=值(key=value)表单的形式存储完整基本配置的默认值和非校正值。该文件中的键的值被两个其它文件覆盖。第一个文件连接着头部,并且存储为单独的(Device_Head.xml)。其包含头部所有附属设备(主要是LED)的校正。胸部卡存储着与机器人的所有身体部位相关的文件(Device_Head.xml)。
[0071] 在启动时,闪存中的胸部配置在胸卡中被读取,并且被复制到DCM的RAM,并且以临时文件的形式被复制到头部的系统配置文件系统。STM中的Device.xml的各个值被覆盖。
[0072] 因此,唯一的引用是胸卡的闪速存储器中的内容。这样,在更换头部的情况下,新身体的胸卡中的文件因此而被读取,从而消除了任何可能有的问题。
[0073] 上述描述的实施例是用来揭示本发明的各种实施方式。它们不在任何意义上对权利要求中限定的本发明范围构成限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈