步行机器人及其控制方法

申请号 CN201310055517.6 申请日 2013-02-21 公开(公告)号 CN103257652B 公开(公告)日 2017-09-29
申请人 三星电子株式会社; 发明人 李珉炯; 卢庆植; 林福万;
摘要 一种步行 机器人 及其控制方法,其能够根据基于FSM的步行控制方法实现平衡动作以确保在不平坦地面上稳定步行的步行机器人以及所述步行机器人的控制方法,步行机器人能够在不计算复杂的动态方程的情况下,通过利用FSM控制髋关节单元、 膝关节 单元和踝关节单元的 扭矩 来实现稳定步行,步行机器人利用由地面与两只脚形成的 角 通过简单的计算能够确保在不平坦地面上的稳定步行,步行机器人通过补偿角的简单计算应用于设置有具有六个 自由度 的关节的机器人。
权利要求

1.一种步行机器人,所述步行机器人设置有两条腿和设置在所述两条腿上的两只脚,所述步行机器人包括:
多个关节单元,设置在所述两条腿中的每条腿上;
位置轨迹产生单元,所述位置轨迹产生单元被配置成产生基于两条腿的有限状态机FSM控制方法的状态设置的每个关节单元的位置轨迹;
地面计算单元,被配置成计算由地面和两只脚形成的地面角;
补偿值计算单元,被配置成通过利用计算的地面角来计算每个关节单元的补偿值;
目标轨迹产生单元,被配置成通过利用计算的每个关节单元的补偿值和产生的每个关节单元的位置轨迹来产生每个关节单元的目标轨迹;
目标扭矩计算单元,被配置成计算每个关节单元的目标扭矩以追踪产生的目标轨迹;

伺服控制单元,被配置成通过将计算的目标扭矩传输到每个关节单元来控制步行机器人的步行。
2.根据权利要求1所述的步行机器人,其中,所述多个关节单元包括设置在所述两条腿中的每条腿上的髋关节、膝关节和踝关节。
3.根据权利要求2所述的步行机器人,所述步行机器人还包括:
/扭矩传感器,安装在所述步行机器人的脚和踝关节之间并被配置成检测两只脚是否与地面接触
其中,地面角计算单元根据力/扭矩传感器检测的传感器信息确定两只脚中的哪只脚支撑在地面上,并基于支撑在地面上的那只脚计算由地面与两只脚形成的地面角。
4.根据权利要求3所述的步行机器人,其中,由地面与两只脚形成的地面角是表示两只脚在侧倾方向和俯仰方向上相对于地面的倾斜程度的角。
5.根据权利要求4所述的步行机器人,其中,地面包括不平坦的隆起型地面和下沉型地面。
6.根据权利要求5所述的步行机器人,其中,在步行于隆起型地面或下沉型地面的过程中,补偿值计算单元通过利用在侧倾方向和俯仰方向上表示的地面角来计算髋关节、膝关节和踝关节的补偿值。
7.根据权利要求6所述的步行机器人,其中,目标轨迹产生单元通过将计算的每个关节单元的补偿值加到产生的每个关节单元的位置轨迹来产生每个关节单元的目标轨迹。
8.根据权利要求7所述的步行机器人,其中,位置轨迹产生单元产生设置在所述两条腿中的每条腿上的髋关节、膝关节和踝关节的位置轨迹,以执行预定平步行。
9.根据权利要求7所述的步行机器人,其中,在步行于隆起型地面或下沉型地面的过程中,目标轨迹产生单元通过使用髋关节、膝关节和踝关节的补偿值来产生髋关节、膝关节和踝关节的目标轨迹。
10.一种控制步行机器人的方法,所述步行机器人设置有两条腿和设置在所述两条腿上的两只脚,所述方法包括以下步骤:
产生基于两条腿的有限状态机FSM控制方法的状态设置的每个关节单元的位置轨迹;
在步行期间,基于从步行机器人的传感器检测的传感器信息计算由地面和所述两只脚形成的地面角;
通过利用计算的地面角来计算设置在所述两条腿中的每条腿上的每个关节单元的补偿值;
通过利用计算的每个关节单元的补偿值和产生的每个关节单元的位置轨迹来产生每个关节单元的目标轨迹;
计算追踪产生的目标轨迹的每个关节单元的目标扭矩;
通过将计算的目标扭矩传输到每个关节单元来控制步行机器人的步行。
11.根据权利要求10所述的方法,其中,由地面与两只脚形成的地面角是表示两只脚相对于地面的倾斜程度的角。
12.根据权利要求11所述的方法,其中,地面角的计算包括:
确定两只脚中的哪只脚支撑在地面上,并基于支撑在地面上的那只脚在侧倾方向和俯仰方向上计算由地面和两只脚形成的角。
13.根据权利要求12所述的方法,其中,地面包括不平坦的隆起型地面和下沉型地面。
14.根据权利要求13所述的方法,其中,每个关节单元的补偿值的计算包括:在步行于隆起型地面或下沉型地面的过程中,通过利用在侧倾方向和俯仰方向上表示的地面角来计算设置在所述两条腿中的每条腿上的髋关节、膝关节和踝关节的补偿值。
15.根据权利要求14所述的方法,所述方法还包括:在步行于隆起型地面或下沉型地面的过程中,通过利用髋关节、膝关节和踝关节的补偿值产生髋关节、膝关节和踝关节的目标轨迹。
16.根据权利要求15所述的方法,其中,髋关节、膝关节和踝关节的目标轨迹表示通过将计算的髋关节、膝关节和踝关节的补偿值加到根据所述两条腿的FSM控制方法的状态设定的髋关节、膝关节和踝关节的所述位置轨迹计算的目标轨迹。
17.根据权利要求16所述的方法,其中,髋关节、膝关节和踝关节的位置轨迹表示为执行预定水平步行产生的位置轨迹。

说明书全文

步行机器人及其控制方法

技术领域

[0001] 本公开的实施例涉及一种能够基于有限状态机(FSM)控制稳定步行的步行机器人以及该步行机器人的控制方法。

背景技术

[0002] 近年来,已经积极地对步行机器人进行了大量的研究,这种步行机器人具有与人的关节系统相似的关节系统并被设计为在人的工作和生活空间中与人共存。这种步行机器人包括具有多条腿的多腿步行机器人,例如双足机器人或三足机器人,并且为了实现机器人的稳定步行,需要驱动位于机器人的各个关节处的诸如电动机液压达的致动器。致动器的驱动通常分为基于位置的零矩点(ZMP)控制方法和基于扭矩的有限状态机(FSM)控制方法,其中,在零力矩点(ZMP)控制方法中,给出各个关节的命令(即,命令位置)并控制各个关节以追踪命令角,在有限状态机(FSM)控制方法中,给出各个关节的命令扭矩并控制各个关节以追踪命令扭矩。
[0003] 在ZMP控制方法中,预先设置机器人的步行方向、步行步幅和步行速度以满足ZMP约束(即,在支撑腿形成的支撑多边形内的安全区域中存在ZMP的条件,如果机器人由一条腿支撑,则安全区域表示腿的区域,如果机器人由两条腿支撑,考虑到安全,则安全区域表示被设置成具有在包括两条腿的区域的凸多边形内的小面积的区域),创建与设置的因素对应的各条腿的步行图案,并基于步行图案计算各条腿的步行轨迹。此外,通过计算的步行轨迹的逆运动学计算来计算各条腿的关节的角,并基于各个关节的当前角和目标角计算各个关节的目标控制值。
[0004] ZMP控制方法是基于位置的控制方法并因而实现了精确的位置控制,但是为了控制ZMP对各个关节执行精确的角控制,因而需要高伺服增益。因此,ZMP控制方法需要高电流,并因此具有低的能效并且高的关节僵硬度(stiffness)。另外,为了从重力中心(COG)和脚的步行图案通过逆运动学计算各个关节的角,ZMP控制方法需要避免运动奇异,从而导致机器人具有不自然的步法,其膝盖的弯曲与人的膝盖弯曲不同。
[0005] 通过伺服控制来实现基于扭矩的动态步行控制方法,从而在每个控制时间各条腿追踪计算的步行轨迹。即,在步行过程中,检测各条腿的位置是否根据步行图案精确地追踪了步行轨迹,如果一些腿偏离了步行轨迹,则调整电动机的扭矩使各条腿精确地追踪步行轨迹。
[0006] 为了根据基于扭矩的动态步行控制方法实现稳定步行,需要解动态方程,但是设置有具有能够在空间的随机方向上实现六个自由度的腿的机器人的动态方程相当复杂。因此,基于扭矩的动态步行控制方法仅应用于设置有具有四个或更少的自由度的腿的机器人。
[0007] 另一方面,在有限状态机(FSM)控制方法中,不是在每个控制时间追踪位置,而是预先限定机器人的操作状态,在步行过程中通过参照各个操作状态来计算各个关节的目标扭矩,并控制各个关节以追踪目标扭矩。这种FSM控制方法控制了各个关节在步行过程中的扭矩,因此能够实现低伺服增益,从而高能效和低僵硬度是可能的,因此相对于周围环境确保了安全性。此外,FSM控制方法不需要避免运动奇异,从而使得机器人具有更自然的步法,其伸直的膝盖与人的伸直的膝盖相似。
[0008] 然而,根据预先限定的操作状态控制机器人的步行的FSM控制方法并不能适当地控制步行,因此机器人可能失去平衡。因此,需要一种可保持机器人的平衡而与步行运动无关的平衡动作。发明内容
[0009] 因此,本公开的一方面提供了一种根据基于FSM的步行控制方法能够实现使得在不平坦地形上步行稳定的平衡动作的步行机器人以及一种步行机器人的控制方法。
[0010] 本公开的另外方面将在下面的描述中部分地阐明,并且通过描述部分将是显而易见楚的,或者通过本公开的实施可以被理解。
[0011] 根据本公开的一个方面,一种设置有两条腿和设置在所述两条腿上的两只脚的步行机器人包括关节单元、地面角计算单元、补偿值计算单元、目标轨迹产生单元、目标扭矩计算单元和伺服控制单元。关节单元可设置在所述两条腿中的每条腿上。地面角计算单元可被配置成计算由地面和两只脚形成的地面角。补偿值计算单元可被配置成通过利用计算的地面角来计算关节单元的补偿值。目标轨迹产生单元可被配置成通过利用计算的补偿值来产生关节单元的目标轨迹。目标扭矩计算单元可被配置成计算关节单元的目标扭矩以追踪产生的目标轨迹。伺服控制单元可被配置成通过将计算的目标扭矩传输到关节单元来控制机器人的步行。
[0012] 关节单元可包括设置在所述两条腿中的每条腿上的髋关节、膝关节和踝关节。
[0013] 所述步行机器人还可包括力/扭矩(F/T)传感器。力/扭矩(F/T)传感器可安装在所述步行机器人的脚和踝关节之间并可被配置成检测两只脚是否与地面接触。地面角计算单元可根据力/扭矩传感器检测的传感器信息确定两只脚中的哪只脚支撑在地面上,并可基于支撑在地面上的那只脚计算由地面与两只脚形成的地面角。
[0014] 由地面与两只脚形成的地面角可为表示两只脚在侧倾方向和俯仰方向上相对于地面的倾斜程度的角。
[0015] 地面可包括不平坦的隆起型地面和下沉型地面。
[0016] 在步行在隆起型地面或下沉型地面的过程中,补偿值计算单元可通过利用在侧倾方向和俯仰方向上表示的地面角来计算髋关节、膝关节和踝关节的补偿值。
[0017] 所述步行机器人还可包括位置轨迹产生单元。所述位置轨迹产生单元可被配置成在机器人的步行过程中产生根据多条腿的状态设定的关节单元的位置轨迹。目标轨迹产生单元可通过将计算的关节单元的补偿值加到产生的关节单元的位置轨迹来产生关节单元的目标轨迹。
[0018] 位置轨迹产生单元可产生设置在所述两条腿中的每条腿上的髋关节、膝关节和踝关节的位置轨迹,以执行预定平步行。
[0019] 在步行于隆起型地面或下沉型地面的过程中,目标轨迹产生单元可通过使用髋关节、膝关节和踝关节的补偿值来产生髋关节、膝关节和踝关节的目标轨迹。
[0020] 根据本公开的另一方面,一种控制机器人的步行的方法如下所述,所述步行机器人设置有两条腿和设置在所述两条腿上的两只脚。在步行机器人的步行过程中,可计算由地面和两只脚形成的地面角。可通过利用计算的地面角来计算设置在所述两条腿中的每条腿上的关节单元的补偿值。可通过利用计算的补偿值来产生关节单元的目标轨迹。可计算追踪产生的目标轨迹的关节单元的目标扭矩。可通过将计算的目标扭矩传输到关节单元来控制步行机器人的步行。
[0021] 地面与两只脚形成的地面角可为表示两只脚相对于地面的倾斜程度的角。
[0022] 可通过执行下面的步骤实现地面角的计算。可确定两只脚中的哪只脚支撑在地面上,并可基于支撑在地面上的脚在侧倾方向和俯仰方向上计算由地面和两只脚形成的角。
[0023] 地面可包括不平坦的隆起型地面和下沉型地面。
[0024] 可通过执行下面的步骤实现关节单元的补偿值的计算。在步行于隆起型地面或下沉型地面的过程中,可通过利用在侧倾方向和俯仰方向上表示的地面角来计算设置在所述两条腿上的每条腿上的髋关节、膝关节和踝关节的补偿值。
[0025] 可通过执行下面的步骤实现所述方法。在步行于隆起型地面或下沉型地面的过程中,可通过利用髋关节、膝关节和踝关节的补偿值产生髋关节、膝关节和踝关节的目标轨迹。
[0026] 髋关节、膝关节和踝关节的目标轨迹可表示通过将计算的髋关节、膝关节和踝关节的补偿值加到根据所述两条腿的状态设定的髋关节、膝关节和踝关节的位置轨迹计算的目标轨迹。
[0027] 髋关节、膝关节和踝关节的位置轨迹可表示为执行预定水平步行产生的位置轨迹。
[0028] 如上所述,在机器人的步行过程中不需要精确地控制各个关节的旋转角,因此实现了具有低伺服增益和低能耗的步行。另外,由于各个关节均具有低低僵硬度,所以减少了作为与周围环境的碰撞导致的冲击,因此能够安全步行。
[0029] 另外,机器人可执行通过需要逆运动学计算的传统步行方法不能实现的膝盖伸直的步行,从而实现像人一样的步行,因此提高了机器人与人的相似性。另外,节约了使机器人的膝盖弯曲所需的能量。作为实验的结果,当与传统步行相比,机器人具有三倍的步行速度且花费操作传统机器人所花费的功耗的20%。
[0030] 另外,通过补偿角的简单计算且无需计算复杂的动态方程,本公开可应用于设置有具有六个自由度的关节的机器人。根据除了位置伺服控制之外的扭矩伺服控制基本实现了膝盖伸展的像人一样步行的机器人,因此基于位置伺服控制的像人的步行被认为是侵犯了本公开的概念。因此,本公开对像人一样步行具有独创性。
[0031] 另外,通过利用由地面与两只脚形成的角,通过简单的计算可实现在不平坦地面上的稳定步行。附图说明
[0032] 通过下面结合附图对实施例进行的描述,本公开的这些和/或其它方面讲变得明显和更易于理解,在附图中:
[0033] 图1是示出根据本公开实施例的机器人的外观的视图;
[0034] 图2是示出图1中所示的机器人的主要关节的机构的视图;
[0035] 图3是示出当根据实施例的机器人基于FSM步行时机器人的操作状态和每个操作状态的控制动作的视图;
[0036] 图4A是示出在机器人步行过程中隆起型地面的视图;
[0037] 图4B是示出在机器人步行过程中下沉型地面的视图;
[0038] 图5是示出根据本公开实施例的机器人步行控制的框图
[0039] 图6是为解释当根据本公开实施例的机器人在隆起型地面和下沉型地面上步行时由地面与两只脚形成的角的概念而示出的视图;
[0040] 图7A是示出当根据本公开实施例的机器人在隆起型地面上步行时由地面与两只脚形成的角的视图;
[0041] 图7B是示出当根据本公开实施例的机器人在下沉型地面上步行时由地面与两只脚形成的角的视图;
[0042] 图8是示出根据本公开实施例的控制机器人的步行的方法的流程图

具体实施方式

[0043] 现在将详细说明本公开的实施例,本公开的示例示出在附图中,在附图中,相同的标号始终表示相同的元件。
[0044] 图1是示出根据本公开的一个实施例的机器人的外观的视图。
[0045] 参照图1,根据本公开实施例的机器人100是双足步行机器人,它按照与人相似的方式利用两条腿110L和110R直立步行并包括上身101和下身103,上身101包括躯干102、头104和臂106L和106R,下身103包括两条腿110L和110R。
[0046] 机器人100的上身101包括:躯干102;头104,通过颈120连接到躯干102的上部;两个臂106L和106R,通过肩膀114L和114R连接到躯干102的上部的两侧;手108L和108R,分别连接到两个臂106L和106R的末端。
[0047] 机器人100的下身103包括:两条腿110L和110R,连接到上身101的躯干102的下部;脚112L和112R,分别连接到两条腿110L和110R的末端。
[0048] 这里,“L”和“R”分别表示机器人100的左侧和右侧,并且COG表示机器人100的重心
[0049] 图2是示出了图1中所示的机器人的主要关节的机构的视图。
[0050] 参照图2,姿势传感器14安装在机器人100的躯干102上。姿势传感器14检测上身101的倾角(即,上身101相对于竖直轴的倾斜度)和上身101的角速度,然后产生姿势数据。
姿势传感器14可安装在头104以及躯干102上。
[0051] 腰关节单元15安装在躯干102上,具有在横摆方向上的一个自由度,以使上身101旋转。
[0052] 另外,捕获周围图像的照相机41和输入用户语音的麦克42安装在机器人100的头104上。
[0053] 头104通过颈关节单元280连接到上身101的躯干102。颈关节单元280包括横摆方向(yaw direction)上的旋转关节281(围绕Z轴旋转)、俯仰方向(pitch direction)上的旋转关节282(围绕Y轴旋转)和侧倾方向(roll direction)上的旋转关节283(围绕X轴旋转),因此具有三个自由度。
[0054] 使头旋转的马达(例如,诸如电动机或液压马达的致动器)连接到颈关节单元280的各个旋转关节281、282和283。
[0055] 机器人100的两个臂106L和106R中的每个包括上臂连接件31、前臂连接件32。
[0056] 上臂连接件31通过肩关节单元250R和250L连接到上身101,上臂连接件31和前臂连接件32通过肘关节单元260相互连接,并且前臂连接件32和手108L和108R通过腕关节单元270相互连接。
[0057] 肩关节单元250R和250L安装在上身101的躯干102的两侧,并将两个臂106L和106R连接到上身101的躯干102。
[0058] 每个肘关节单元260具有俯仰方向上的旋转关节261和横摆方向上的旋转关节262,因此具有两个自由度。
[0059] 每个腕关节单元270具有俯仰方向上的旋转关节271和侧倾方向上的旋转关节272,因此具有两个自由度。
[0060] 每只手108L或108R设置有五个手指33a。马达驱动的多个关节(未示出)可安装在各个手指108a上。手指108a与臂106L或106R的运动一起执行各种动作,诸如物体的抓握或指向特定方向。
[0061] 机器人100的两条腿110L和110R分别包括大腿连接件21和小腿连接件22。
[0062] 大腿连接件21对应于人的大腿并通过髋关节单元210连接到上身101的躯干102,大腿连接件21和小腿连接件22通过膝关节单元220相互连接,并且小腿连接件22与脚112L和112R通过踝关节单元230相互连接。
[0063] 每个髋关节单元210具有横摆方向上的旋转关节211(围绕Z轴旋转)、俯仰方向上的旋转关节212(围绕Y轴旋转)和侧倾方向上的旋转关节213(围绕X轴旋转),因此具有三个自由度。
[0064] 每个膝关节单元220具有俯仰方向上的旋转关节221,因此具有一个自由度。
[0065] 每个踝关节单元230具有俯仰方向上的旋转关节231和侧倾方向上的旋转关节232,因此具有两个自由度。
[0066] 由于髋关节单元210、膝关节单元220和踝关节单元230的六个旋转关节设置在两条腿110L和110R中的每条腿上,所以总共12个旋转关节设置在两条腿110L和110R上。
[0067] 同时,多轴力和扭矩(F/T)传感器24分别安装在脚112L和112R与两条腿110L和110R的踝关节单元230之间。多轴F/T传感器24测量从脚112L和112R传递的力的三个方向的分量Fx、Fy和Fz以及力矩的三个方向的分量Mx、My和Mz,从而检测脚112L和112R是否着地以及负载是否施加到脚112L和112R上。
[0068] 尽管在附图中未示出,但是驱动各个旋转关节的诸如马达的致动器安装在机器人100上。控制机器人100的全部操作的步行控制单元适当地控制马达,从而允许机器人100执行各种动作。
[0069] 图3是示出了当根据实施例的机器人基于FSM步行时机器人的操作状态以及各个操作状态的控制动作的视图。
[0070] 参照图3,在FSM控制方法中,机器人100的操作被划分成预先限定的多个操作状态(例如,6个状态-S1、S2、S3、S4、S5和S6)。各个操作状态S1、S2、S3、S4、S5和S6表示机器人100在步行过程中一条腿110L或110R的姿势,并通过机器人100的这种姿势之间的适当过渡来实现机器人100的稳定步行。
[0071] 第一操作状态(腾空状态)S1对应于摆动腿例如110L的姿势,第二操作状态(加载状态)S2对应于脚112L正在着地但未接触地的姿势,第三操作状态(脚跟接触状态)S3对应于仅使脚112L的脚跟与地面接触的姿势,第四操作状态(脚跟脚趾接触状态)S4对应于使脚跟和脚趾均与地面接触的姿势,第五操作状态(脚趾接触状态)S5对应于仅使脚112L的脚趾与地面接触的姿势,第六操作状态(卸载状态)S6对应于脚112R离地的姿势。
[0072] 为了从一个操作状态过渡到另一操作状态,需要用于过渡对应操作的控制动作。
[0073] 更具体地讲,如果第一操作状态S1过渡到第二操作状态S2(S1→S2),则需要脚112L的脚跟将要触及地面的控制动作。
[0074] 如果第二操作状态S2过渡到第三操作状态S3(S2→S3),则需要对应于正在触及的脚112L的膝盖(具体地讲,膝关节单元)弯曲的控制动作。
[0075] 如果第三操作状态S3过渡到第四操作状态S4(S3→S4),则需要脚112L的脚趾触及地面的控制动作。
[0076] 如果第四操作状态S4过渡到第五操作状态S5(S4→S5),则需要对应正在触及地面的脚112L的膝盖伸展的控制动作。
[0077] 如果第五操作状态S5过渡到第六操作状态S6(S5→S6),则需要正在触及地面的脚112L的膝盖充分伸展的控制动作。
[0078] 如果第六操作状态S6过渡到第一操作状态S1(S6→S1),则需要脚112R的脚趾离开地面的控制动作。
[0079] 因此,为了执行控制动作,机器人100计算与各个控制动作对应的各个关节的扭矩命令,并将计算的扭矩命令输出到安装在各个关节上的诸如马达的致动器,以驱动致动器。
[0080] 关于这种基于FSM的步行控制方法,根据预先限定的操作状态S1、S2、S3、S4、S5和S6控制机器人100的步行,并且在步行于不平坦的地面上的情况下,用于步行控制的操作状态S1、S2、S3、S4、S5和S6的改变不能适当地保持机器人100的平衡。
[0081] 因此,当机器人100在不平坦的地面上步行时,根据本公开实施例的基于FSM的步行控制方法计算由两只脚112L和112R和地面形成的角,并利用计算的角来防止机器人100失去它的平衡。
[0082] 在这种情况下,根据基于F/T传感器24检测的传感器信息确定脚112L和112R是处于站姿状态还是摆动状态来计算由两只脚112L和112R和地面形成的角,其中,F/T传感器24安装在脚112L和112R与踝关节单元230之间。
[0083] 图4A和图4B示出了根据本公开实施例的机器人所处的地面。图4A是示出了在机器人步行过程中隆起型地面的视图。图4B是示出了在机器人步行过程中下沉型地面的视图。
[0084] 图4A和图4B分别示出了机器人100在隆起型地面和下沉型地面上步行的状态,在每种状态下,以示意的形式在相对于侧倾方向(X轴)和俯仰方向(Y轴)的X-Y平面(二维空间)上呈现机器人100的躯干102以及左腿110L和右腿110R按照与人使用两只脚向前步行的方式相同的方式。
[0085] 参照图4A和图4B,机器人100可在其上步行的不平坦的地面的示例包括隆起型地面和下沉型地面。
[0086] 隆起型地面代表脚112L和112R中处于摆动状态的一只脚落在比脚112L和112R中处于站姿状态的剩余那只脚的位置高的地形或物品上的情况。
[0087] 下沉型地面代表脚112L和112R中处于摆动状态的一只脚落在比脚112L和112R中处于站姿状态的剩余那只脚的位置低的地形或物品上的情况。
[0088] 相对于机器人的步行方向(侧倾方向,X方向)在下沉型地面和隆起型地面之间径向确定,并且还可以按照相同的方式确定在垂直于步行方向的方向(Y方向)上确定下沉型地面和摆动型地面。本公开中描述的地面仅涉及两种类型的地面(隆起型地面和下沉型地面),并且机器人100所处的全部地面均可由这两种类型的地面的组合来表示。
[0089] 因此,描述了根据本公开实施例的基于FSM的步行控制方法,涉及机器人100在隆起型地面和下沉型地面上步行,并使用由两只脚112L和112R与地面形成的角来补偿预定水平步行的位置轨迹,从而实现了机器人100的稳定步行同时保持机器人100的平衡。
[0090] 图5是示出了根据本公开实施例的机器人的步行控制的框图。
[0091] 参照图5,根据本公开实施例的机器人100包括用户接口单元310、传感器单元320、步行控制单元330、伺服控制单元340以及两条腿110L和110R的髋关节单元210、膝关节单元220和踝关节单元230。
[0092] 用户接口单元310输入用户命令以指示机器人100的步行。
[0093] 传感器单元320包括姿势传感器14和F/T传感器24,其中,姿势传感器14安装在机器人100的躯干102上以检测上身101的倾斜或姿势,F/T传感器24安装在机器人100的脚112L和112R和踝关节单元230之间以检测脚112L和112R触到地面。
[0094] 除了姿势传感器之外,还可以通过倾斜检测传感器或陀螺传感器来实现检测上身101的姿势的传感器。除了F/T传感器24之外,还可以通过接触传感器或其它传感器来实现检测脚112L和112R触到地面的传感器。
[0095] 步行控制单元330代表比例微分(PD)控制器,PD控制器被配置成基于通过用户接口310输入的步行命令和通过传感器单元320检测的传感器信息控制机器人100的步行,并且步行控制单元330可包括状态数据库单元331、位置轨迹产生单元332、地面角计算单元333、补偿值计算单元334、目标轨迹产生单元335和目标扭矩计算单元336。
[0096] 在机器人100的步行过程中,状态数据库单元331存储基于FSM的机器人100的腿状态数据以及与机器人100的腿的状态对应的各个关节的操作状态数据,所述各个关节包括髋关节单元210、膝关节单元220和踝关节单元230。
[0097] FSM顺序地表现腿110L和110R的有限操作状态的改变。根据脚112L和112R中的某只脚是处于站姿状态还是摆动状态来确定腿110L和110R的有限操作状态。
[0098] 位置轨迹产生单元332被配置成产生执行预定水平步行的位置轨迹。位置轨迹产生单元332根据存储在状态数据库单元331中的机器人100的腿的状态产生设置在腿110L和110R上的各个关节(包括髋关节单元210、膝关节单元220和踝关节单元230)的目标角,并产生髋关节210的位置轨迹(desired_Hip)、膝关节220的位置轨迹(desired_Knee)和踝关节
230的位置轨迹(desired_Ankle),其中,髋关节210的位置轨迹(desired_Hip)将髋关节210的目标角的变化与时间相联系,膝关节220的位置轨迹(desired_Knee)将膝关节220的目标角的变化与时间相联系,踝关节230的位置轨迹(desired_Ankle)将踝关节230的目标角的变化与时间相联系。
[0099] 地面角计算单元333被配置成计算由两只脚112L和112R与地面形成的角(在下文中,称作地面角)。基于脚112L和112R中支撑于地面上的那只脚来获得地面角。
[0100] 更具体地讲,地面角计算单元333基于由安装在机器人100的脚112L和112R与踝关节单元230之间的F/T传感器24检测的传感器信息来确定两只脚112L和112R中的哪只脚位于地面上。根据确定的结果,在隆起型地面或下沉型地面上步行的每个时刻,在侧倾方向(X轴)和俯仰方向(Y轴)上投影两只脚112L和112R的位置,并且相对于侧倾方向和俯仰方向计算脚112L和112R与地面形成的角。侧倾方向和俯仰方向上的地面角被划分为隆起型地面角和下沉型地面角。
[0101] 补偿值计算单元334被配置成通过利用地面角计算单元333计算的地面角计算腿110L和110R的各个关节(即,髋关节单元210、膝关节单元220和踝关节单元230)的补偿值。
[0102] 也就是说,补偿值计算单元334通过利用由两只脚112L和112R与地面在侧倾方向和俯仰方向上形成的地面角来计算髋关节单元210的补偿值(compensated_Hip)、膝关节单元210的补偿值(compensated_Knee)和踝关节单元230的补偿值(compensated_Ankle)。
[0103] 例如,在隆起型地面的情况下,脚112L和112R中处于摆动状态的那只脚落在比脚112L和112R中处于站姿状态下的剩余那只脚的位置高的地形或物品上,腿110L和110R中处于摆动状态的那条腿的关节(包括髋关节、膝关节和踝关节)弯曲以消除向后推的力。
[0104] 同时,在下沉型地面的情况下,脚112L和112R中处于摆动状态的那只脚落在比脚112L和112R中处于站姿状态下的剩余那只脚的位置低的地形或物品上,腿110L和110R中处于站姿状态的剩余那条腿的关节(包括髋关节、膝关节和踝关节)弯曲以消除向前推的力。
[0105] 更具体地讲,在隆起型地面的情况下,脚112L和112R中处于摆动状态的那只脚落在比脚112L和112R中处于站姿状态下的剩余那只脚的位置高的地形或物品上,计算腿110L和110R中处于摆动状态的那条腿的髋关节单元210、膝关节单元220和踝关节单元230的补偿值,从而在使腿110L和110R中处于摆动状态的那条腿的关节(包括髋关节、膝关节和踝关节)弯曲时消除向后推的力。
[0106] 同时,在下沉型地面的情况下,脚112L和112R中处于摆动状态的那只脚落在比脚112L和112R中处于站姿状态下的剩余那只脚的位置低的地形或物品上,计算腿110L和110R中处于站姿状态的剩余那条腿的腿的髋关节单元210、膝关节单元220和踝关节单元230的补偿值,从而在使腿110L和110R中处于站姿状态的那条腿的关节(包括髋关节、膝关节和踝关节)弯曲时消除向前推的力。另外,计算腿110L和110R中处于摆动状态的那条腿的髋关节单元210的补偿值。
[0107] 目标轨迹产生单元335被配置成通过利用由补偿值计算单元334计算的腿110L和110R的各个关节的补偿值来产生设置在腿110L和110R上的各个关节(包括腿的髋关节单元
210、膝关节单元220和踝关节单元230)的目标轨迹。
[0108] 更具体地讲,目标轨迹产生单元335通过将髋关节单元210的补偿值(compensated_Hip)加到髋关节单元210的位置轨迹(desired_Hip)来获得髋关节单元210的目标轨迹(new_desired_Hip),通过将膝关节单元220的补偿值(compensated_Knee)加到膝关节单元220的位置轨迹(desired_Hip)来获得膝关节单元220的目标轨迹(new_desired_Knee),并通过将踝关节单元230的补偿值(compensated_Ankle)加到踝关节单元
230的位置轨迹(desired_Ankle)来获得踝关节单元230的目标轨迹(new_desired_Ankle)。
[0109] 目标扭矩计算单元336计算目标扭矩以追踪从目标轨迹产生单元335产生的各个关节单元210、220和230的目标轨迹。在每个控制周期实现目标扭矩的计算。
[0110] 伺服控制单元340将与由目标扭矩计算单元336计算的目标扭矩τi对应的扭矩控制信号输出到腿110L和110R中的一条腿的髋关节单元210、膝关节单元220和踝关节单元230,从而对髋关节单元210、膝关节单元220和踝关节单元230提供目标扭矩τi以驱动安装在髋关节单元210、膝关节单元220和踝关节单元230上的致动器(诸如马达)。
[0111] 因此,髋关节单元210、膝关节单元220和踝关节单元230从伺服控制单元340接收扭矩控制信号,并驱动安装在髋关节单元210、膝关节单元220和踝关节单元230上的致动器(诸如电机),从而即使在隆起型地面或下沉型地面上机器人100也可以实现稳定的步行同时保持平衡。
[0112] 在下文中,将描述如上所构造的根据本公开实施例的步行机器人的操作过程和效果及其控制方法。
[0113] 根据本公开实施例的基于FSM的步行控制方法运算平衡算法,从而机器人100即使在隆起型地面和下沉型地面上也能执行自然且稳定的步行同时保持平衡。
[0114] 本公开中提及的地面或物品的阶差(高度差)被限定为小于5cm,5cm与设置为在一般水平的步行过程中防止脚112L和112R接触地面的地面净空高度(height of ground clearance)对应。为了在阶差具有5cm或以上的高度的地面上步行,需要使用诸如在楼梯间步行的特定步行方法。
[0115] 因此,为了在阶差具有小于地面净空高度的高度的隆起型地面或下沉型地面上步行,对于保持机器人100的平衡的平衡操作,需要在侧倾方向和俯仰方向上获得由两只脚112L和112R和地面形成的角。在下文中,将参照图6和图7来描述平衡操作的地面角的获得。
[0116] 图6是为解释当机器人在根据本公开实施例的隆起型地面和下沉型地面上步行时由地面和两只脚形成的角的概念而示出的视图。
[0117] 如果相对于图6假设两只脚112L和112R中的与处于摆动状态的腿对应的脚被称作A,两只脚112L和112R中的与处于站姿状态下的腿对应的剩余那只脚被称作B,并且两只脚112L和112R所着地的地面被称作C,则得到由地面C与两只脚A和B形成的角(地面角)作为处于站姿状态下支撑在地面C上的脚B的坡角∠B。
[0118] 图7A和图7B是示出当根据本公开实施例的机器人步行时获得的地面角的视图。图7A是示出当根据本公开实施例的机器人在隆起型地面上步行时获得的地面角的视图。图7B是示出当根据本公开实施例的机器人在下沉型地面上步行时获得的地面角的视图。
[0119] 参照图7A和图7B,得到由地面C与两只脚A和B形成的地面角作为支撑在隆起型和下沉型的地面C上的脚B的坡角∠B。
[0120] 如下所述地获得与两只脚112L和112R中支撑在地面上的那只脚的坡角对应的地面角。
[0121] 通过如下面的数学公式1所示出的第二余弦定理获得坡角∠B。
[0122] 【数学公式1】
[0123]
[0124] 在步行的每个时刻,按照与如上所述的方式相同的方式在侧倾方向和俯仰方向上投影两只脚A和B的位置,并获得由脚和地面形成的角Bpitch和∠Broll。在俯仰方向和侧倾方向上获得的地面角被划分成如下面的数学公式2所示的两种情况,即,隆起型(bump type)地面和下沉型(dip type)地面。
[0125] 【数学公式2】
[0126]
[0127]
[0128]
[0129]
[0130]
[0131]
[0132] 在数学公式2中,FTSW是处于摆动状态的脚A的F/T传感器值,FTTHRESHOLD是用户设置的F/T传感器阈值,Pos_Footx是脚A和B在步行方向上的位置,Pos_Footz是脚A和B在垂直于步行方向的方向上的位置,SW和ST分别表示处于摆动状态的脚A和处于站姿状态下的脚B。FTTHRESHOLD是对应于运算平衡算法所需的脚A的负荷强度的值,并被设置为根据实验结果的可调整值。
[0133] 同时,当满足数学公式2的条件时,平衡算法应用于预定水平步行的位置轨迹(期望轨迹)。为此,如下面的数学公式3所示,通过利用平衡动作操作所用的∠Bpitch和∠Broll获得设置在腿110L和110R上的各个关节(包括髋关节、膝关节和踝关节)的补偿值。
[0134] 【数学公式3】
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142]
[0143]
[0144] 通过数学公式3获得的补偿值被加到预定水平步行的位置轨迹(期望轨迹),从而如下面的数学公式4所示地计算最终目标轨迹(新期望的轨迹)。
[0145] 【数学公式4】
[0146] new_desired_Hip(θd,Hip)=desired_Hip+compensated_Hip
[0147] new_desired_Knee(θd,Knee)=desired_Knee+compensated_Knee
[0148] new_desired_Ankle(θd,Ankle)=desired_Ankle+compensated_Ankle[0149] 在数学公式4中,desired_Hip表示水平步行的髋关节单元210的位置轨迹,desired_Knee表示水平步行的膝关节单元220的位置轨迹,desired_Ankle表示水平步行的踝关节230的位置轨迹。
[0150] 按照这种方式,对于隆起型地面,如果处于摆动状态的脚A落在比处于站姿状态的脚B的位置高的地形或物品上,则腿110L和110R中处于摆动状态的那条腿的关节(包括髋关节、膝关节和踝关节)弯曲,以消除向后推的力。
[0151] 同时,对于下沉型地面,如果处于摆动状态的脚A落在比处于站姿状态的脚B的位置低的地形或物品上,则腿110L和110R中处于站姿状态的那条腿的关节(包括髋关节、膝关节和踝关节)弯曲,以消除向前推的力。
[0152] 因此,通过下面的数学公式5利用比例微分(PD)控制器控制方法计算使用各个关节的目标角和角速度的扭矩。
[0153] 【数学公式5】
[0154]
[0155] 在数学公式5中,τ是每个控制周期的扭矩值,θd是每个控制周期的目标角, 是每个控制周期的目标角速度,θc是每个控制周期的当前角, 是每个控制周期的当前角速度,并且kp和kd是系数。确定系数以通过重复实验进行调整,从而最大程度确保稳定步行。i表示各个关节,通过上述的公式获得各个关节的扭矩。通过对角θ进行微分获得角速度[0156] 如上所述,根据本公开的实施例,平衡算法应用于通过使用由地面和两只脚形成的角预先确定的水平步行的位置轨迹,在作为干扰的不平坦地面C上步行是可能的。如上获得的运动与人的运动相似,并且自然。
[0157] 图8是示出根据本公开实施例的控制机器人的步行的方法的流程图。
[0158] 参照图8,通过用户接口单元310输入指示机器人100的步行的用户命令(步骤400)。
[0159] 如果输入用户命令,则位置轨迹产生单元332根据存储在状态数据库单元331中的机器人100的腿的状态产生设置在腿110L和110R上的各个关节(即,髋关节单元210、膝关节单元220和踝关节单元230)的目标角,并产生髋关节210的位置轨迹(desired_Hip)、膝关节220的位置轨迹(desired_Knee)和踝关节230的位置轨迹(desired_Ankle)(步骤402),其中,髋关节210的位置轨迹(desired_Hip)将髋关节210的目标角的变化与时间相联系,膝关节220的位置轨迹(desired_Knee)将膝关节220的目标角的变化与时间相联系,踝关节230的位置轨迹(desired_Ankle)将踝关节230的目标角的变化与时间相联系。髋关节210的位置轨迹(desired_Hip)、膝关节220的位置轨迹(desired_Knee)和踝关节230的位置轨迹(desired_Ankle)中的每个表示预定水平步行的位置轨迹。
[0160] 之后,安装在机器人100的躯干102上的姿势传感器14检测上身101的倾斜度或姿势,安装在机器人100的脚112L和112R上的F/T传感器24检测脚112L和112R与地面的接触,从而感测的信息被传输到步行控制单元330的地面角计算单元333(步骤404)。
[0161] 因此,地面角计算单元333计算由地面与两只脚112L和112R形成的地面角(步骤406)。
[0162] 关于计算由地面与脚112L和112R形成的地面角,在步行于隆起型地面或下沉型地面上的过程中,在步行的每个时刻,在侧倾方向(X轴)和俯仰方向(Y轴)上投影两只脚112L和112R的位置,并且在侧倾方向和俯仰方向上计算由地面与脚112L和112R形成的地面角。在侧倾方向和俯仰方向上计算的地面角被传输到补偿值计算单元334,同时被划分成如通过数学公式2示出的两种情况,即,隆起型(bump type)地面和下沉型(dip type)地面。
[0163] 【数学公式2】
[0164]
[0165]
[0166]
[0167]
[0168]
[0169]
[0170] 因此,如数学公式3所示,补偿值计算单元334通过使用计算的地面角计算腿110L和110R的各个关节(即,髋关节单元210、膝关节单元220和踝关节单元230)的补偿值,并将计算的补偿值传输到目标轨迹产生单元335(步骤408)。
[0171] 【数学公式3】
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179]
[0180]
[0181] 通过数学公式3计算的补偿值包括髋关节单元210的补偿值(compensated_Hip)、膝关节单元210的补偿值(compensated_Knee)和踝关节单元230的补偿值(compensated_Ankle)。
[0182] 之后,目标轨迹产生单元335通过使用补偿值计算单元334计算的髋关节单元210的补偿值(compensated_Hip)、膝关节单元210的补偿值(compensated_Knee)和踝关节单元230的补偿值(compensated_Ankle),通过下面的数学公式4产生设置在腿110L和110R上的各个关节(即,髋关节单元210、膝关节单元220和踝关节单元230)的目标轨迹,并将计算的各个关节的目标轨迹传输到目标扭矩计算单元336(步骤410)。
[0183] 【数学公式4】
[0184] new_desired_Hip(θd,Hip)=desired_Hip+compensated_Hip
[0185] new_desired_Knee(θd,Knee)=desired_Knee+compensated_Knee
[0186] new_desired_Ankle(θd,Ankle)=desired_Ankle+compensated_Ankle[0187] 在数学公式4中,通过将髋关节单元210的补偿值(compensated_Hip)加到髋关节单元210的位置轨迹(desired_Hip)来获得髋关节单元210的目标轨迹(new_desired_Hip),通过将膝关节单元220的补偿值(compensated_Knee)加到膝关节单元220的位置轨迹(desired_Hip)来获得膝关节单元220的目标轨迹(new desired_Knee),并通过将踝关节单元230的补偿值(compensated_Ankle)加到踝关节单元230的位置轨迹(desired_Ankle)来获得踝关节单元230的目标轨迹(new_desired_Ankle)。
[0188] 因此,目标扭矩计算单元336通过使用各个关节单元210、220和230的目标角和角速度来计算目标扭矩,所述目标扭矩被配置成追踪由目标轨迹产生单元335产生的各个关节单元210、220和230的目标轨迹(步骤412)。在每个控制周期执行目标扭矩的计算。
[0189] 之后,伺服控制单元340将目标扭矩计算单元336计算的目标扭矩τi传输到腿110L和110R中的一条腿的髋关节单元210、膝关节单元220和踝关节单元230,以驱动安装在髋关节单元210、膝关节单元220和踝关节单元230上的致动器(诸如马达)(步骤414),从而即使在隆起型地面和下沉型地面上也能实现机器人100的稳定步行同时保持机器人100的平衡。
[0190] 因此,即使地面是不平坦的,机器人100也可以保持平衡且与机器人100的运动速度无关。
[0191] 另外,即使当地面倾斜时,由于机器人100可通过利用支撑躯干102的两条腿110L和110R的各个关节来保持平衡,所以以简单的方式实现了平衡方法,因此可应用于设置有具有六个自由度的关节的机器人100。
[0192] 尽管已经示出和描述了本公开的几个实施例,本领域的技术人员将理解的是,在不脱离本公开的原理和精神的情况下可在这些实施例中作出改变,本公开的范围限定在权利要求及其等同物中限定。
QQ群二维码
意见反馈