CN114237233B - 机器人下棋方法、装置、计算机可读存储介质及机器人 - Google Patents
机器人下棋方法、装置、计算机可读存储介质及机器人 Download PDFInfo
- Publication number
- CN114237233B CN114237233B CN202111446314.0A CN202111446314A CN114237233B CN 114237233 B CN114237233 B CN 114237233B CN 202111446314 A CN202111446314 A CN 202111446314A CN 114237233 B CN114237233 B CN 114237233B
- Authority
- CN
- China
- Prior art keywords
- pose
- robot
- target
- arm
- chess
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000014509 gene expression Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 17
- 238000010276 construction Methods 0.000 claims description 9
- 238000013016 damping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009975 flexible effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Abstract
本申请属于机器人技术领域,尤其涉及一种机器人下棋方法、装置、计算机可读存储介质及机器人。所述方法包括:构建机器人全身运动的构型约束;获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;所述位姿轨迹包括各个控制周期的期望位姿;对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。通过本申请,可以在下棋时基于机器人全身运动的构型约束按照规划的位姿轨迹控制机器人进行运动,能够适用于包括人形机器人在内的各种机器人中。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种机器人下棋方法、装置、计算机可读存储介质及机器人。
背景技术
现有的机器人下棋方法一般都是基于常见的七自由度机械臂来设计的,控制逻辑相对简单。但是,人形机器人相较于七自由度机械臂具备更多的自由度,并且人形机器人在执行运动的时候,需要保证机器人的稳定性,并通过多个自由度的协调来完成各种任务,因此,现有的基于七自由度机械臂的下棋方法难以适用于具有更多自由度的人形机器人中。
发明内容
有鉴于此,本申请实施例提供了一种机器人下棋方法、装置、计算机可读存储介质及机器人,以解决现有的基于七自由度机械臂的下棋方法难以适用于具有更多自由度的人形机器人中的问题。
本申请实施例的第一方面提供了一种机器人下棋方法,可以包括:
构建机器人全身运动的构型约束;
获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;
根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;
对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。
在第一方面的一种具体实现方式中,所述根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,可以包括:
以所述全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式;
对所述二次规划表达式进行求解,得到所述全身广义速度。
在第一方面的一种具体实现方式中,所述以所述全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式,可以包括:
根据下式构建所述机器人的二次规划表达式:
min||w||2
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限。
在第一方面的一种具体实现方式中,所述以所述全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式,可以包括:
根据下式构建所述机器人的二次规划表达式:
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限,ρ为预设的系数,/>为所述机器人的腰部速度。
在第一方面的一种具体实现方式中,所述根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹,可以包括:
确定与所述初始位姿对应的所述手臂末端的第一位姿,以及与所述目标位姿对应的所述手臂末端的第二位姿;
使用门型轨迹规划确定所述手臂末端从所述当前位姿运动至所述第一位姿,再由所述第一位姿运动至所述第二位姿的位姿轨迹。
在第一方面的一种具体实现方式中,所述机器人下棋方法还可以包括:
根据所述初始位姿与所述目标位姿判断所述目标棋子的直线移动路径上是否存在障碍物;
若不存在障碍物,则控制所述手臂末端采用推动棋子的方式移动所述目标棋子;
若存在障碍物,则控制所述手臂末端采用抓取棋子的方式移动所述目标棋子。
在第一方面的一种具体实现方式中,所述机器人下棋方法还可以包括:
检测所述手臂末端与所述目标棋子之间的接触力;
基于预设的弹簧阻尼模型,根据所述接触力对所述手臂末端的位姿进行调整。
本申请实施例的第二方面提供了一种机器人下棋装置,可以包括:
约束构建模块,用于构建机器人全身运动的构型约束;
位姿获取模块,用于获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;
轨迹规划模块,用于根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;
运动控制模块,用于对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。
在第二方面的一种具体实现方式中,所述运动控制模块具体可以包括:
规划构建单元,用于以所述全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式;
规划求解单元,用于对所述二次规划表达式进行求解,得到所述全身广义速度。
在第二方面的一种具体实现方式中,所述规划构建单元具体可以用于根据下式构建所述机器人的二次规划表达式:
min||w||2
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限。
在第二方面的一种具体实现方式中,所述规划构建单元具体可以用于根据下式构建所述机器人的二次规划表达式:
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限,ρ为预设的系数,/>为所述机器人的腰部速度。
在第二方面的一种具体实现方式中,所述轨迹规划模块具体可以用于:确定与所述初始位姿对应的所述手臂末端的第一位姿,以及与所述目标位姿对应的所述手臂末端的第二位姿;使用门型轨迹规划确定所述手臂末端从所述当前位姿运动至所述第一位姿,再由所述第一位姿运动至所述第二位姿的位姿轨迹。
在第二方面的一种具体实现方式中,所述机器人下棋装置还可以包括:
障碍物规避模块,用于根据所述初始位姿与所述目标位姿判断所述目标棋子的直线移动路径上是否存在障碍物;若不存在障碍物,则控制所述手臂末端采用推动棋子的方式移动所述目标棋子;若存在障碍物,则控制所述手臂末端采用抓取棋子的方式移动所述目标棋子。
在第二方面的一种具体实现方式中,所述机器人下棋装置还可以包括:
位姿调整模块,用于检测所述手臂末端与所述目标棋子之间的接触力;基于预设的弹簧阻尼模型,根据所述接触力对所述手臂末端的位姿进行调整。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人下棋方法的步骤。
本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种机器人下棋方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人下棋方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例构建机器人全身运动的构型约束;获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。通过本申请实施例,可以在下棋时基于机器人全身运动的构型约束按照规划的位姿轨迹控制机器人进行运动,能够适用于包括人形机器人在内的各种机器人中。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中一种机器人下棋方法的一个实施例流程图;
图2为站立状态下的机器人示意图;
图3为不存在障碍物时的位姿轨迹规划示意图;
图4为存在障碍物时的位姿轨迹规划示意图;
图5为本申请实施例中一种机器人下棋装置的一个实施例结构图;
图6为本申请实施例中一种机器人的示意框图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为叙述简便起见,如无特殊说明,本申请实施例中所提及的机器人均为人形机器人。
请参阅图1,本申请实施例中一种机器人下棋方法的一个实施例可以包括:
步骤S101、构建机器人全身运动的构型约束。
图2所示为站立状态下的机器人示意图,在站立状态下,可以将所述机器人的腰部视为一个浮动基座,包括六个自由度,即沿着每个轴的平动和转动,在本申请实施例中,可以将所述机器人的腰部位姿记为:η=[x y z rx ry rz],其中,x、y和z分别为所述机器人的腰部在预设的基坐标系下的三维坐标轴(X轴、Y轴及Z轴)上各自对应的坐标值,rx、ry和rz分别为所述机器人的腰部相对于所述基坐标系下的三维坐标轴(X轴、Y轴及Z轴)的偏转角度值。
假设所述机器人的手臂包含N个转动关节,N为正整数,一般情况下,N的取值为7。将所述机器人的手臂姿态记为:q=[q1,q2,...,qi,...,qN],其中,i为转动关节的序号,1≤i≤N,qi为第i个转动关节的关节角度。在本申请实施例中,可以将腰部的自由度和关节自由度组成一个6+N维的全身广义坐标,即:ζ=[ηq]T,ζ所有取值的集合即为所述机器人的构型空间。对于ζ的任意一种取值,均可以对应所述机器人的手臂末端的一种位姿,遍历所述机器人的构型空间,可以生成手臂末端的所有位姿的集合,也即所述机器人的操作空间,其中,所述机器人完成下棋任务的手臂末端的位姿(记为σ)的集合为所述机器人的任务空间,所述任务空间为所述操作空间的子集。
在本申请实施例中,可以将由所述构型空间到所述任务空间的运算记为正运动学,表示如下:σ=f(ζ)。类似地,还可以将由所述任务空间到所述构型空间的运算记为逆运动学。
基于上述的机器人构型,所述机器人的躯干相对于所述浮动基座的位姿可记为:
所述机器人的手臂基座相对于所述躯干的位姿是一个已知的固定量,由机器人的结构所决定。所述手臂末端相对于所述手臂基座的位姿/>即为手部运动学正解,根据不同的手臂结构以及不同的DH模型建立方法,有着不同的表述。这样正运动学可以表示为:
由于所述机器人全身自由度非常多,所以所述机器人的逆运动学往往使用数值方法迭代求解,首先通过逆向雅克比矩阵和末端位姿的变化量Δσ计算全身广义坐标的变化量Δζ,即/>然后通过积分计算新的全身广义坐标。
在本申请实施例中,可以利用速度叠加原理来计算正向雅克比矩阵。具体地,首先可以根据下式计算所述躯干相对于所述浮动基座的线速度和角速度/>
其中,为所述机器人的腰部速度,也即所述腰部位姿的一阶导数。
然后,可以根据下式计算所述手臂末端相对于所述浮动基座的线速度和角速度/>
其中, 为所述手臂基座相对于所述浮动基座的旋转矩阵,/>可由所述手臂末端相对于所述手臂基座的位姿求导得到。
最后,根据速度叠加原理则有:
其中,为所述机器人的全身广义速度,也即所述全身广义坐标的一阶导数,/>为所述机器人的末端速度,也即所述手臂末端的位姿的一阶导数,J为所述正向雅克比矩阵。
基于所述正向雅克比矩阵进行奇异值分解(Singular Value Decomposition,SVD),则可以得到对应的逆向雅克比矩阵。
步骤S102、获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿。
当所述机器人在下象棋、围棋等棋类时,可以通过所述视觉装置反馈当前棋局状态,并通过预设的人工智能算法对棋局状态进行分析,确定出当前需要移动的棋子(记为目标棋子)以及该棋子的走法,并进一步通过所述视觉装置获取所述目标棋子在所述基坐标系下的初始位姿和目标位姿。
步骤S103、根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹。
具体地,首先可以确定与所述初始位姿对应的所述手臂末端的第一位姿,以及与所述目标位姿对应的所述手臂末端的第二位姿。
在本申请实施例中,可以在所述初始位姿的基础上向上偏移一个棋子的高度,即可得到所述第一位姿,类似地,可以在所述目标位姿的基础上向上偏移一个棋子的高度,即可得到所述第二位姿。
优选地,当所述手臂末端与所述目标棋子接触时,还可以通过所述手臂末端的六维力传感器获取所述手臂末端与所述目标棋子之间的接触力,并基于预设的弹簧阻尼模型,根据所述接触力对所述手臂末端的位姿进行调整。这一调整主要是在Z轴上进行的,若所述手臂末端与所述目标棋子之间在Z轴上的接触力越大,则对所述手臂末端的位姿的Z轴坐标的调整量也越大,反之,若所述手臂末端与所述目标棋子之间在Z轴上的接触力越小,则对所述手臂末端的位姿的Z轴坐标的调整量也越小,从而使得所述手臂末端接触所述目标棋子的时候具有柔性效果。
然后,可以确定所述手臂末端从所述当前位姿运动至所述第一位姿,再由所述第一位姿运动至所述第二位姿的位姿轨迹。其中,所述位姿轨迹包括各个控制周期的期望位姿,即所述位姿轨迹是由预设的各个控制周期内的期望位姿所组成的位姿时序序列。
在本申请实施例中,可以使用门型轨迹规划来确定所述位姿轨迹,如图3所示,A点为所述当前位姿,B点为所述第一位姿,C点为所述第二位姿,从A点到B点,再由B点到C点的轨迹即为所述位姿轨迹。
优选地,在本申请实施例的一种具体实现方式中,可以根据所述初始位姿与所述目标位姿判断所述目标棋子的直线移动路径上是否存在障碍物。若不存在障碍物,则可以控制所述手臂末端采用推动棋子的方式移动所述目标棋子。若存在障碍物,则可以控制所述手臂末端采用抓取棋子的方式移动所述目标棋子,如图4所示,即在B点控制所述手臂末端拿起所述目标棋子,并从B点开始规划出一条门型轨迹BB’C’C,以跳过阻挡的障碍物。在轨迹规划过程中,每个点之间可以通过笛卡尔空间S曲线连接,姿态采用球角插值,当然,也可以根据实际情况采用其它的轨迹插值方法,本申请实施例对此不作具体限定。
步骤S104、对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。
在本申请实施例中,可以把机器人运动过程中机器人全身运动的构型视为一个约束,通过优化方法求解机器人全身运动中插值轨迹对应时刻下面每一步的机器人腰部位姿和手臂关节角度。在本申请实施例中,可以建立优化问题如下:即对于每个控制周期下面给定的手臂末端期望位姿,在等式约束条件下,从多解中选取最优解的过程。对于所述机器人来说,常常具备冗余关节,并且存在关节角度、角速度、力矩等限制条件,非常适合用二次规划方法来进行优化求解。二次规划的主要形式如下:
其中,H为海森矩阵,x为n维控制量,f为行向量,Aeq为m×n(m≤n)维矩阵,beq为m行列向量,A为n列矩阵,b为列向量。
在本申请实施例的一种具体实现中,可以以所述全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式,如下式所示:
min||w||2
其中,w为预设的松弛变量,为预设的速度下限,/>为预设的速度上限。
对所述二次规划表达式进行求解,即可得到所述全身广义速度。
当||w||2=0时,表示有解,即在约束条件下存在/>使得所述机器人的末端速度为/>当||w||2>0时,/>无解,求解出来的/>是/>的最接近解,即是/>的解。
进一步地,对于所述机器人来说,腰部运动会影响所述机器人在站立状态下操作的稳定性,为了保证所述机器人站立状态下腰部质心位于机器人支撑脚区域,需要对机器人腰部的位姿做出限制,综合腰部约束和手臂的约束则可将二次规划表达式写成如下形式:
其中,ρ为预设的系数。
对所述二次规划表达式进行求解,即可得到在角速度和腰部回正约束下,使得所述机器人的末端速度为的所述全身广义速度。
综上所述,本申请实施例构建机器人全身运动的构型约束;获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。通过本申请实施例,可以在下棋时基于机器人全身运动的构型约束按照规划的位姿轨迹控制机器人进行运动,能够适用于包括人形机器人在内的各种机器人中。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种机器人下棋方法,图5示出了本申请实施例提供的一种机器人下棋装置的一个实施例结构图。
本实施例中,一种机器人下棋装置可以包括:
约束构建模块501,用于构建机器人全身运动的构型约束;
位姿获取模块502,用于获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;
轨迹规划模块503,用于根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;
运动控制模块504,用于对于每个控制周期,根据所述期望位姿和所述构型约束计算所述机器人的全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。
在本申请实施例的一种具体实现方式中,所述运动控制模块具体可以包括:
规划构建单元,用于以所述全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式;
规划求解单元,用于对所述二次规划表达式进行求解,得到所述全身广义速度。
在本申请实施例的一种具体实现方式中,所述规划构建单元具体可以用于根据下式构建所述机器人的二次规划表达式:
min||w||2
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限。
在本申请实施例的一种具体实现方式中,所述规划构建单元具体可以用于根据下式构建所述机器人的二次规划表达式:
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限,ρ为预设的系数,/>为所述机器人的腰部速度。
在本申请实施例的一种具体实现方式中,所述轨迹规划模块具体可以用于:确定与所述初始位姿对应的所述手臂末端的第一位姿,以及与所述目标位姿对应的所述手臂末端的第二位姿;使用门型轨迹规划确定所述手臂末端从所述当前位姿运动至所述第一位姿,再由所述第一位姿运动至所述第二位姿的位姿轨迹。
在本申请实施例的一种具体实现方式中,所述机器人下棋装置还可以包括:
障碍物规避模块,用于根据所述初始位姿与所述目标位姿判断所述目标棋子的直线移动路径上是否存在障碍物;若不存在障碍物,则控制所述手臂末端采用推动棋子的方式移动所述目标棋子;若存在障碍物,则控制所述手臂末端采用抓取棋子的方式移动所述目标棋子。
在本申请实施例的一种具体实现方式中,所述机器人下棋装置还可以包括:
位姿调整模块,用于检测所述手臂末端与所述目标棋子之间的接触力;基于预设的弹簧阻尼模型,根据所述接触力对所述手臂末端的位姿进行调整。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图6示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图6所示,该实施例的机器人6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述各个机器人下棋方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至模块504的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述机器人6中的执行过程。
本领域技术人员可以理解,图6仅仅是机器人6的示例,并不构成对机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人6还可以包括输入输出设备、网络接入设备、总线等。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述机器人6的内部存储单元,例如机器人6的硬盘或内存。所述存储器61也可以是所述机器人6的外部存储设备,例如所述机器人6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述机器人6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述机器人6所需的其它程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (7)
1.一种机器人下棋方法,其特征在于,包括:
构建机器人全身运动的构型约束;
获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;
根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;
对于每个控制周期,以所述机器人的全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式:
或/>
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限,ρ为预设的系数,/>为所述机器人的腰部速度;对所述二次规划表达式进行求解,得到所述全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。
2.根据权利要求1所述的机器人下棋方法,其特征在于,所述根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹,包括:
确定与所述初始位姿对应的所述手臂末端的第一位姿,以及与所述目标位姿对应的所述手臂末端的第二位姿;
使用门型轨迹规划确定所述手臂末端从所述当前位姿运动至所述第一位姿,再由所述第一位姿运动至所述第二位姿的位姿轨迹。
3.根据权利要求1所述的机器人下棋方法,其特征在于,还包括:
根据所述初始位姿与所述目标位姿判断所述目标棋子的直线移动路径上是否存在障碍物;
若不存在障碍物,则控制所述手臂末端采用推动棋子的方式移动所述目标棋子;
若存在障碍物,则控制所述手臂末端采用抓取棋子的方式移动所述目标棋子。
4.根据权利要求1至3中任一项所述的机器人下棋方法,其特征在于,还包括:
检测所述手臂末端与所述目标棋子之间的接触力;
基于预设的弹簧阻尼模型,根据所述接触力对所述手臂末端的位姿进行调整。
5.一种机器人下棋装置,其特征在于,包括:
约束构建模块,用于构建机器人全身运动的构型约束;
位姿获取模块,用于获取所述机器人的手臂末端的当前位姿,并通过所述机器人的视觉装置获取目标棋子的初始位姿和目标位姿;
轨迹规划模块,用于根据所述当前位姿、所述初始位姿和所述目标位姿,规划所述手臂末端的位姿轨迹;其中,所述位姿轨迹包括各个控制周期的期望位姿;
运动控制模块,用于对于每个控制周期,以所述机器人的全身广义速度为控制量,以与所述期望位姿对应的末端速度为控制目标,基于所述构型约束构建所述机器人的二次规划表达式:或/>
其中,为所述末端速度,/>为所述全身广义速度,J为预设的雅可比矩阵,w为预设的松弛变量,/>为预设的速度下限,/>为预设的速度上限,ρ为预设的系数,/>为所述机器人的腰部速度;对所述二次规划表达式进行求解,得到所述全身广义速度,并控制所述机器人按照所述全身广义速度进行运动。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的机器人下棋方法的步骤。
7.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的机器人下棋方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446314.0A CN114237233B (zh) | 2021-11-30 | 2021-11-30 | 机器人下棋方法、装置、计算机可读存储介质及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446314.0A CN114237233B (zh) | 2021-11-30 | 2021-11-30 | 机器人下棋方法、装置、计算机可读存储介质及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114237233A CN114237233A (zh) | 2022-03-25 |
CN114237233B true CN114237233B (zh) | 2024-02-23 |
Family
ID=80752315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446314.0A Active CN114237233B (zh) | 2021-11-30 | 2021-11-30 | 机器人下棋方法、装置、计算机可读存储介质及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237233B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107175660A (zh) * | 2017-05-08 | 2017-09-19 | 同济大学 | 一种基于单目视觉的六自由度机器人运动学标定方法 |
CN110561420A (zh) * | 2019-08-09 | 2019-12-13 | 哈尔滨工业大学(深圳) | 臂型面约束柔性机器人轨迹规划方法及装置 |
CN112428273A (zh) * | 2020-11-16 | 2021-03-02 | 中山大学 | 一种考虑机械臂物理约束和模型未知的控制方法及系统 |
CN112775976A (zh) * | 2021-02-05 | 2021-05-11 | 深圳市优必选科技股份有限公司 | 任务执行控制方法、装置、控制设备及可读存储介质 |
WO2021099948A1 (en) * | 2019-11-19 | 2021-05-27 | Fondazione Istituto Italiano Di Tecnologia | Method and electronic device for controlling the movement of a humanoid robot or of a robotic arm using the least number of degrees of freedom necessary for the execution of a task and computer-readable storage medium thereof |
CN113119098A (zh) * | 2019-12-30 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 机械臂控制方法、机械臂控制装置及终端设备 |
CN113119116A (zh) * | 2021-03-22 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 一种机械臂运动规划方法、装置、可读存储介质及机械臂 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116300091A (zh) * | 2018-07-23 | 2023-06-23 | 奇跃公司 | 用于使用位置向量解析半球模糊度的方法和系统 |
-
2021
- 2021-11-30 CN CN202111446314.0A patent/CN114237233B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107175660A (zh) * | 2017-05-08 | 2017-09-19 | 同济大学 | 一种基于单目视觉的六自由度机器人运动学标定方法 |
CN110561420A (zh) * | 2019-08-09 | 2019-12-13 | 哈尔滨工业大学(深圳) | 臂型面约束柔性机器人轨迹规划方法及装置 |
WO2021099948A1 (en) * | 2019-11-19 | 2021-05-27 | Fondazione Istituto Italiano Di Tecnologia | Method and electronic device for controlling the movement of a humanoid robot or of a robotic arm using the least number of degrees of freedom necessary for the execution of a task and computer-readable storage medium thereof |
CN113119098A (zh) * | 2019-12-30 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 机械臂控制方法、机械臂控制装置及终端设备 |
CN112428273A (zh) * | 2020-11-16 | 2021-03-02 | 中山大学 | 一种考虑机械臂物理约束和模型未知的控制方法及系统 |
CN112775976A (zh) * | 2021-02-05 | 2021-05-11 | 深圳市优必选科技股份有限公司 | 任务执行控制方法、装置、控制设备及可读存储介质 |
CN113119116A (zh) * | 2021-03-22 | 2021-07-16 | 深圳市优必选科技股份有限公司 | 一种机械臂运动规划方法、装置、可读存储介质及机械臂 |
Non-Patent Citations (6)
Title |
---|
《Chess Piece Movement Detection and Tracking, A Vision System Framework for Autonomous Chess Playing Robot》;Dennis Aprilla Christie 等;《ieee》;第1-6页 * |
《Optimizing task scheduling in human-rob...eep multi-agent reinforcement learning》;tian yu 等;《journal of manufacturing system》;第1-13页 * |
《Reachability-based Push Recovery for Humanoid Robots with Variable-Height Inverted Pendulum》;Shunpeng Yang 等;《2021 IEEE International Conference on Robotics and Automation》;第1-7页 * |
《中国象棋机器人双目视觉定位和机械手运动学的研究》;田宇轩;《中国优秀硕士学位论文全文数据库信息科技辑》;第5、53-73页 * |
《基于ARM和freeRTOS的围棋机器人控制器设计》;张顺 等;《制造业自动化》;第28-32页 * |
《智能人机对弈五子棋机器人设计》;吴晏奇;《电子器件》;第42卷(第4期);第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114237233A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9449416B2 (en) | Animation processing of linked object parts | |
JP6312264B2 (ja) | 冗長自由度を伴うロボットマニピュレータの制約 | |
US5179525A (en) | Method and apparatus for controlling geometrically simple parallel mechanisms with distinctive connections | |
US9193072B2 (en) | Robot and control method thereof | |
CN107363813A (zh) | 一种基于可穿戴设备的桌面工业机器人示教系统和方法 | |
RU2308762C2 (ru) | Перемещение виртуального объекта в виртуальной окружающей среде без взаимных помех между его сочлененными элементами | |
Sasabuchi et al. | Task-oriented motion mapping on robots of various configuration using body role division | |
RU2308764C2 (ru) | Перемещение виртуального сочлененного объекта в виртуальном пространстве с предотвращением столкновений сочлененного объекта с элементами окружающего пространства | |
CN114995479A (zh) | 一种基于强化学习的四足机器人虚拟模型控制器的参数控制方法 | |
CN112720479B (zh) | 一种机器人姿态控制方法、装置及机器人 | |
CN109311155B (zh) | 一种工业机器人的工具坐标系原点的标定方法及装置 | |
CN111123943A (zh) | 一种基于伪逆约束的超冗余机器人轨迹规划方法及系统 | |
CN112757301B (zh) | 机器人抗扰动控制方法、装置、电子设备及存储介质 | |
US20110264265A1 (en) | Robot, control system, and recording medium for control program | |
CN114237233B (zh) | 机器人下棋方法、装置、计算机可读存储介质及机器人 | |
Lai et al. | Self-learning for a humanoid robotic ping-pong player | |
CN114454180B (zh) | 移动机器人的运动控制方法、装置和移动机器人 | |
CN113858207B (zh) | 人形机器人的倒地控制方法、装置、电子设备及存储介质 | |
CN113246124B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN114454981B (zh) | 双足机器人的弹跳运动控制方法、装置及双足机器人 | |
Vicente et al. | Gpu-enabled particle based optimization for robotic-hand pose estimation and self-calibration | |
US11787045B2 (en) | Robot with an inverse kinematics (IK)-based controller for retargeting input motions | |
Hu et al. | Hybrid kinematic and dynamic simulation of running machines | |
US20220193899A1 (en) | Pose control method, robot and computer-readable storage medium | |
Boldareva et al. | Development of a mechatronic systems module control system based on MEMS orientation sensors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |