一种乒乓球机器人的运动控制方法、系统及存储介质与流程

文档序号:27447647发布日期:2021-11-18 00:20阅读:230来源:国知局
一种乒乓球机器人的运动控制方法、系统及存储介质与流程

1.本发明涉及机器人技术领域,特别是涉及一种乒乓球机器人的运动控制方法、系统及存储介质。


背景技术:

2.乒乓球机器人是一种可以和人类进行多回合乒乓球对打的机器人,其可用于对专业运动员进行训练以及与业余爱好者进行互动对战,在国内乒乓球运动广泛普及的情况下,乒乓球机器人越来越受到欢迎。现有的乒乓球机器人,其运动控制算法主要有牛顿

拉夫森法以及几何法,牛顿

拉夫森法求机器人逆运动学时主要通过迭代的方式来进行求解,该方法的主要缺陷在于估计的初始值尽量要和该逆解的正确答案接近才能迭代成功。几何法分析机器人的逆运动学模型时,需结合机器人的几何构型来进行逆运动学分析,否则易出现漏解问题。


技术实现要素:

3.发明目的:为了克服现有技术中存在的不足,本发明提供一种求解速度与精确度都较高的乒乓球机器人的运动控制方法、系统及存储介质。
4.技术方案:为实现上述目的,本发明的乒乓球机器人的运动控制方法,所述方法包括:
5.获取击球参数,所述击球参数包括执行击球动作时的球拍的位姿数据与速度数据;
6.根据机器人逆运动学模型将所述位姿数据转换为对应于各关节的关节位置,所述关节位置为角度或位移;
7.根据机器人微分运动学模型将所述速度数据转换为对应于各关节的关节速度;
8.根据所述关节位置与所述关节速度对乒乓机器人进行轨迹规划得到各关节的运动参数,所述运动参数包括不同时刻对应于所述关节的加速度、速度以及位置;
9.根据机器人动力学模型将各关节的运动参数转换为驱动扭矩数据;
10.根据所述驱动扭矩数据驱动所述乒乓机器人的各关节运转,以执行击球任务。
11.进一步地,所述乒乓球机器人为六关节机器人,其位形空间被描述为e2×
s2×
s2。
12.进一步地,所述乒乓球机器人具备安装在两个移动关节上的移动台、安装在所述移动台上的机械手、以及安装在所述机械手执行末端的球拍,所述机械手包括四个旋转关节;所述乒乓球机器人的正运动学模型为:
[0013][0014]
其中:
[0015][0016][0017]
为所述球拍到所述乒乓球机器人基坐标之间的齐次变换矩阵;l1、l2、l4分别为第3、5、6个关节的连杆偏移;l3为第5个关节的连杆长度;d1与d2分别为两个平移关节的关节位移量;c
i
为cos(θ
i
)的简写,s
i
为sin(θ
i
)的简写;θ
i
为第i个关节的关节角,i=3,4,5,6;s
4+5
为sin(θ4+θ5)的缩写;c
4+5
为cos(θ4+θ5)的缩写;
[0018]
所述根据机器人逆运动学模型将所述位姿数据转换为对应于各关节的关节位置包括:
[0019]
获取所述位姿数据,所述位姿数据的形式为:其中:n
x
、n
y
、n
z
、o
x
、o
y
、o
z
、a
x
、a
y
、a
z
、p
x
、p
y
、p
z
均为已知数;
[0020]
根据与的对应关系计算各关节的关节位置,得到:
[0021][0022]
进一步地,所述根据机器人微分运动学模型将所述速度数据转换为对应于各关节的关节速度包括:
[0023]
根据公式计算各关节的关节速度;其中:
[0024]
θ为包含各关节的所述关节位置的矩阵;v为包含各关节的所述关节速度的矩阵;j
‑1为j的逆矩阵,而j为所述乒乓球机器人的雅可比矩阵,
[0025]
进一步地,所述根据所述关节位置与所述关节速度对乒乓机器人进行轨迹规划得到各关节的运动参数包括:
[0026]
根据轨迹方程以及约束条件计算所述轨迹方程中的所有未知参数,以得到确切的运动轨迹;
[0027]
根据所述运动轨迹计算各所述关节的运动参数。
[0028]
进一步地,所述轨迹方程为θ(t)=at5+bt4+ct3+dt2+et+f,t为时间,a、b、c、d、e、f为未知参数;所述约束条件包括:初始加速度a0、初始速度v0、初始关节角度末端加速度a1、末端速度v1、末端关节角度据此得到:
[0029][0030]
其中,t
f
为执行所述运动轨迹所要花费的时间。
[0031]
一种乒乓球机器人的运动控制系统,其包括:
[0032]
获取模块,其用于获取击球参数,所述击球参数包括执行击球动作时的球拍的位姿数据与速度数据;
[0033]
第一计算模块,其用于根据机器人逆运动学模型将所述位姿数据转换为对应于各关节的关节位置,所述关节位置为角度或位移;
[0034]
第二计算模块,其用于根据机器人微分运动学模型将所述速度数据转换为对应于各关节的关节速度;
[0035]
轨迹规划模块,其用于根据所述关节位置与所述关节速度对乒乓机器人进行轨迹规划得到各关节的运动参数,所述运动参数包括不同时刻对应于所述关节的加速度、速度
以及位置;
[0036]
扭矩计算模块,其用于根据机器人动力学模型将各关节的运动参数转换为驱动扭矩数据;
[0037]
驱动模块,其用于根据所述驱动扭矩数据驱动所述乒乓机器人的各关节运转,以执行击球任务。
[0038]
一种存储介质,其内存储有可执行程序,所述可执行程序被处理器执行时能够实现上述的乒乓球机器人的运动控制方法。
[0039]
有益效果:本发明的乒乓球机器人的运动控制方法、系统及存储介质,针对乒乓球机器人运用解析法给出了机器人逆运动学模型,从而使该机器人求逆解的速度与精确度与其他方法比有较大优势,可提升乒乓球机器人的响应速度,使得乒乓球机器人具有较强的回合对战能力,能被应用于更专业的场合。
附图说明
[0040]
附图1为乒乓球机器人的运动控制方法的流程示意图;
[0041]
附图2为乒乓球机器人的结构图;
[0042]
附图3为乒乓球机器人的运动控制系统的构成示意图。
具体实施方式
[0043]
下面结合附图对本发明作更进一步的说明。
[0044]
本发明之乒乓球机器人的运动控制方法应用于多关节乒乓球机器人的控制,其由乒乓球机器人的控制系统实施。具体地,如附图1所示,控制方法包括如下步骤s101

s106:
[0045]
步骤s101,获取击球参数,所述击球参数包括执行击球动作时的球拍的位姿数据与速度数据;
[0046]
本步骤中,击球参数用于指导乒乓球机器人将球拍移动到什么位置以及以什么姿态什么速度击球。当控制系统为只能控制乒乓球运动的下位机时,击球参数数据从用于决策的上位机获取;当控制系统为具有决策功能的全局控制系统时,击球参数由控制系统自身根据对方运动员的击球数据产生并根据预定算法得到。
[0047]
步骤s102,根据机器人逆运动学模型将所述位姿数据转换为对应于各关节的关节位置,所述关节位置为角度或位移;
[0048]
步骤s103,根据机器人微分运动学模型将所述速度数据转换为对应于各关节的关节速度;
[0049]
步骤s104,根据所述关节位置与所述关节速度对乒乓机器人进行轨迹规划得到各关节的运动参数,所述运动参数包括不同时刻对应于所述关节的加速度、速度以及位置;
[0050]
步骤s105,根据机器人动力学模型将各关节的运动参数转换为驱动扭矩数据;
[0051]
步骤s106,根据所述驱动扭矩数据驱动所述乒乓机器人的各关节运转,以执行击球任务。
[0052]
上述步骤s101

s106可用于任意多关节乒乓球机器人的运动控制,本技术中以如附图2所示的乒乓球机器人为例对乒乓球机器人的运动控制进行详细说明。
[0053]
附图2中所示的乒乓球机器人为六关节机器人,其位形空间被描述为e2×
s2×
s2,
其为采用了两个移动关节构成笛卡尔空间平面上的移动,且该平面上共有四个旋转关节,旋转关节的关节轴两两汇交于一点。
[0054]
具体地,所述乒乓球机器人具备安装在两个移动关节上的移动台3、安装在所述移动台3上的机械手4、以及安装在所述机械手4执行末端的球拍5,两个移动关节分别为第一直线模组1与第二直线模组2,两者的驱动方向相互垂直,使得移动台3作双轴平移运动,具体地,第二直线模组2安装在第一直线模组1的平移单元上,移动台3安装在第二直线模组2的平移单元上。所述机械手4包括四个旋转关节,其包括座体4

1、旋转座4

2、第一臂部4

3、第二臂部4

4以及第三臂部4

5,五者从前到后依次两两转动连接构成旋转关节,且每个旋转关节均由电机驱动运转;球拍5转动安装在第三臂部4

5上,且两者之间的转动由末端电机驱动运转。
[0055]
本实施例中,取乒乓球机器人中的如下六个关节作为控制对象,分别为:第一直线模组1的平移关节、第二直线模组2的平移关节、座体4

1与旋转座4

2之间的转动关节、第一臂部4

3与第二臂部4

4之间的转动关节、第二臂部4

4与第三臂部4

5之间的转动关节以及第三臂部4

5与球拍5之间的转动关节。六个关节从前到后依次编号为1、2、3、4、5、6。
[0056]
其中,第1个关节与第2个关节的平移方向相互垂直,第2个关节的平移方向与第3个关节的转轴垂直,第4、5个关节的转轴相互垂直且两者的转轴均垂直于第3个关节的转轴,第6个关节的平移方向与第5个关节的转轴垂直。
[0057]
此外,第一臂部4

3、第二臂部4

4及第三臂部4

5的臂长分别为l1、l2与l3,球拍5的理想击打点(即球拍中心位置)偏离于第5个关节转轴的距离为l4。
[0058]
据此得到上述乒乓球机器人的dh参数如下表所示:
[0059][0060]
上表中,i为关节编号;d
i
为沿着z
i
‑1轴方向(第i

1个关节的坐标系中的z轴方向)i

1坐标系原点到x
i
轴(第i个关节的坐标系中的x轴)的距离,简称为连杆偏移;θ
i
为x
i
‑1轴和x
i
轴之间关于z
i
‑1的角度,简称关节角;a
i
为沿着x
i
轴,z
i
‑1轴与z
i
轴之间的距离,简称连杆距离;α
i
为z
i
‑1轴与z
i
轴之间关于x
i
轴的角度,简称连杆扭转角。
[0061]
根据上表,得到乒乓球机器人的正运动学模型如下:
[0062][0063][0064][0065][0066]
其中:为第i个关节的坐标系到第i

1个关节的坐标系之间的转换矩阵,第0个坐标系为基坐标;为所述球拍到所述乒乓球机器人基坐标之间的转换矩阵;
[0067]
即代表了乒乓球机器人的正运动学模型;可被拆解为:
[0068][0069]
其中:
[0070][0071][0072]
上式中,l1、l2、l4实际代表了第3、5、6个关节的连杆偏移;l3为第5个关节的连杆长度;d1与d2分别为两个平移关节的关节位移量;c
i
为cos(θ
i
)的简写,s
i
为sin(θ
i
)的简写;θ
i
为第i个关节的关节角,i=3,4,5,6;s
4+5
为sin(θ4+θ5)的缩写;c
4+5
为cos(θ4+θ5)的缩写;
[0073]
基于此,上述步骤s102中所述根据机器人逆运动学模型将所述位姿数据转换为对应于各关节的关节位置包括如下步骤s201

s202:
[0074]
步骤s201,获取所述位姿数据;
[0075]
本步骤中,所述位姿数据的形式为:其代表了球拍5的目标位置与姿态,其中:n
x
、n
y
、n
z
、o
x
、o
y
、o
z
、a
x
、a
y
、a
z
、p
x
、p
y
、p
z
均为已知数;
[0076]
步骤s202,根据与的对应关系计算各关节的关节位置。
[0077]
本步骤中,具体计算过程如下:
[0078]
(1)先求解θ4+θ5,得到:
[0079]
θ4+θ5=arccos(

a
z
);
[0080]
(2)求解θ6,得到:
[0081][0082]
(3)求解θ3,得到:
[0083][0084]
(4)求解θ4,得到:
[0085][0086]
(5)求解θ5,得到:
[0087][0088]
(6)求解d1,得到:
[0089]
d1=

p
y

l2s3‑
l3c3c4‑
l4c3c4c5‑
l4c3c5s4;
[0090]
(7)求解d2,得到:
[0091]
d2=p
x

(

l2c3+l3c4s3+l4c4s3s5+l4c5s3s4)。
[0092]
进一步地,上述步骤s103中所述根据机器人微分运动学模型将所述速度数据转换为对应于各关节的关节速度包括:
[0093]
根据公式计算各关节的关节速度;其中:
[0094]
θ为包含各关节的所述关节位置的矩阵;v为包含各关节的所述关节速度的矩阵;j
‑1为j的逆矩阵,而j为所述乒乓球机器人的雅可比矩阵,
[0095]
进一步地,上述步骤s104中所述根据所述关节位置与所述关节速度对乒乓机器人进行轨迹规划得到各关节的运动参数包括如下步骤s301

s302:
[0096]
步骤s301,根据轨迹方程以及约束条件计算所述轨迹方程中的所有未知参数,以得到确切的运动轨迹;
[0097]
步骤s302,根据所述运动轨迹计算各所述关节的运动参数。
[0098]
具体地,所述轨迹方程为θ(t)=at5+bt4+ct3+dt2+et+f,t为时间,a、b、c、d、e、f为未知参数;所述约束条件包括:初始加速度a0、初始速度v0、初始关节角度末端加速度a1、末端速度v1、末端关节角度据此得到:
[0099][0100]
其中,t
f
为执行所述运动轨迹所要花费的时间。
[0101]
本发明还提供了一种乒乓球机器人的运动控制系统400,运动控制系统400可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述乒乓球机器人的运动控制方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述乒乓球机器人的运动控制方法在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能,如附图3所示,乒乓球机器人的运动控制系统400包括:
[0102]
获取模块401,其用于获取击球参数,所述击球参数包括执行击球动作时的球拍的位姿数据与速度数据;
[0103]
第一计算模块402,其用于根据机器人逆运动学模型将所述位姿数据转换为对应于各关节的关节位置,所述关节位置为角度或位移;
[0104]
第二计算模块403,其用于根据机器人微分运动学模型将所述速度数据转换为对应于各关节的关节速度;
[0105]
轨迹规划模块404,其用于根据所述关节位置与所述关节速度对乒乓机器人进行
轨迹规划得到各关节的运动参数,所述运动参数包括不同时刻对应于所述关节的加速度、速度以及位置;
[0106]
扭矩计算模块405,其用于根据机器人动力学模型将各关节的运动参数转换为驱动扭矩数据;
[0107]
驱动模块406,其用于根据所述驱动扭矩数据驱动所述乒乓机器人的各关节运转,以执行击球任务。
[0108]
基于上述运动控制系统400实现上述乒乓球机器人的运动控制方法在上文中已经详细介绍,可参考上文中的对应内容,此处不再赘述。
[0109]
本发明还提供一种计算机可读的存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘、服务器、app应用商城等等,其内存储有可执行程序,所述可执行程序被处理器执行时能够实现上述的乒乓球机器人的运动控制方法。
[0110]
本发明的乒乓球机器人的运动控制方法、系统及存储介质,针对乒乓球机器人运用解析法给出了机器人逆运动学模型,从而使该机器人求逆解的速度与精确度与其他方法比有较大优势,可提升乒乓球机器人的响应速度,使得乒乓球机器人具有较强的回合对战能力,能被应用于更专业的场合。
[0111]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1