基于脑机接口的机械臂轨迹规划方法、装置以及电子设备转让专利

申请号 : CN202210941922.7

文献号 : CN114986524B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李栋辉王庆滨赵松朋邹伟张大朋余山韩新勇

申请人 : 中国科学院自动化研究所

摘要 :

本发明提供一种基于脑机接口的机械臂轨迹规划方法、装置以及电子设备,涉及机器人技术领域,所述方法包括:获取第一配置列表;基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对第二配置列表中的所有三维点的目标访问顺序;基于第二配置列表和目标访问顺序,获取机械臂在三维头部区域中运动形成的模拟植入轨迹,模拟植入轨迹用于将脑机接口植入至三维头部区域,解决了无法快速安全地获取机械臂在高度杂乱的三维头部区域中运动所形成的模拟植入轨迹。

权利要求 :

1.一种基于脑机接口的机械臂轨迹规划方法,其特征在于,包括:

获取第一配置列表,所述第一配置列表包括三维头部区域中的每一个三维点以及机械臂在所述三维头部区域中的每一个三维点处的机械臂关节转角数据;

基于所述三维头部区域和所述第一配置列表进行碰撞检测,并基于碰撞检测结果删除所述第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;

将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对所述第二配置列表中的所有三维点的目标访问顺序;

基于所述第二配置列表和所述目标访问顺序,获取机械臂在所述三维头部区域中运动形成的模拟植入轨迹,所述模拟植入轨迹用于将脑机接口植入至三维头部区域;

其中,所述基于所述第二配置列表和所述目标访问顺序,获取机械臂在所述三维头部区域中运动形成的模拟植入轨迹,包括:基于所述目标访问顺序和所述第二配置列表构建三维点级联图;所述三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点,其中,每一个三维点层对应一个三维点,多个顶点表示三维点对应的多组机械臂关节转角数据;

遍历所述三维点级联图中的每一个三维点层,在相邻两个三维点层中各选取一个顶点,并基于选取的两个顶点获取机械臂在所述相邻两个三维点层之间移动的移动路径以及移动成本;

重复执行上一个步骤,直至遍历所述三维点级联图中的所有顶点,获取最终得到所有移动路径和所述移动成本;

遍历所述三维点级联图中的每一个三维点层,基于所述移动成本从相邻两个三维点层对应的多个移动路径中筛选出目标移动路径,得到多个目标移动路径;

基于多个目标移动路径和所述第二配置列表获取目标配置列表,并基于所述目标配置列表获取机械臂在三维头部区域中形成的模拟植入轨迹;

其中,所述基于选取的两个顶点获取机械臂在所述相邻两个三维点层之间移动的移动路径以及移动成本,包括:获取选取的两个顶点所对应的机械臂关节转角数据以及机械臂关节的最大转角角速度;

基于两个顶点所对应的机械臂关节转角数据获取机械臂关节转角差值,并基于所述机械臂关节转角差值和所述最大转角角速度获取最大关节转角时间;

基于两个顶点所对应的机械臂关节转角数据获取机械臂关节的转角符号切换成本;基于所述转角符号切换成本和预设额外成本系数,获取机械臂在所述相邻两个三维点层之间移动的额外成本;

基于所述最大关节转角时间和所述额外成本,获取机械臂在所述相邻两个三维点层之间移动的移动成本。

2.根据权利要求1所述的基于脑机接口的机械臂轨迹规划方法,其特征在于,所述获取第一配置列表包括:获取机械臂在三维头部区域中的每一个三维点处的机械臂位姿数据,所述机械臂位姿数据包括机械臂的三维坐标值以及坐标轴旋转角;

基于运动学逆解运算策略将所述机械臂位姿数据转换为所述机械臂关节转角数据,所述机械臂关节转角数据包括多个机械臂关节以及每一个机械臂关节的转角;

基于三维头部区域中的每一个三维点以及每一个三维点对应的机械臂关节转角数据,得到所述第一配置列表。

3.根据权利要求1或2所述的基于脑机接口的机械臂轨迹规划方法,其特征在于,所述基于所述三维头部区域和所述第一配置列表进行碰撞检测,并基于碰撞检测结果删除所述第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据,包括:获取机械臂在所述第一配置列表中的每一个三维点处对应的第一包围盒以及所述三维头部区域对应的第二包围盒;

针对每一所述第一包围盒,判断所述第一包围盒是否与所述第二包围盒相交;

在所述第一包围盒与所述第二包围盒相交的情况下,判断机械臂在所述第一包围盒对应的三维点处是否与所述三维头部区域相交;

在机械臂在所述第一包围盒对应的三维点处与所述三维头部区域相交的情况下,在所述第一配置列表中删除所述三维点及其对应的机械臂关节转角数据。

4.根据权利要求3所述的基于脑机接口的机械臂轨迹规划方法,其特征在于,所述获取机械臂在所述第一配置列表中的每一个三维点处对应的第一包围盒以及所述三维头部区域对应的第二包围盒,包括:获取机械臂在所述第一配置列表中的每一个三维点处的机械臂坐标极值数据,所述机械臂坐标极值数据包括机械臂的多个机械臂关节以及每一个机械臂关节的坐标极值数据;

基于所述机械臂坐标极值数据获取机械臂中的每一个机械臂关节在所述第一配置列表中的每一个三维点处对应的第一包围盒;

获取所述三维头部区域的区域坐标极值数据,并基于所述区域坐标极值数据获取所述三维头部区域对应的第二包围盒。

5.根据权利要求1或2所述的基于脑机接口的机械臂轨迹规划方法,其特征在于,所述获取机械臂对所述第二配置列表中的所有三维点的目标访问顺序,包括:获取当前迭代计数以及机械臂对所述第二配置列表中的所有三维点的当前访问顺序;

基于所述当前访问顺序和所述第二配置列表中每一个三维点的三维坐标,获取所述当前访问顺序对应的当前访问路径;

获取所述当前访问顺序中任意两个不相邻的三维点之间的局部访问顺序,并对所述当前访问顺序中的局部访问顺序进行翻转处理得到第一访问顺序;

基于所示第一访问顺序和所述第二配置列表中每一个三维点的三维坐标,获取所述第一访问顺序对应的第一访问路径;

基于所述当前访问路径和所述第一访问路径,更新所述当前访问顺序和所述当前迭代计数;

将更新后的当前访问顺序作为新的当前访问顺序,将更新后的当前迭代计数作为新的当前迭代计数;

重复执行上述步骤,直至所述当前迭代计数达到最大迭代次数,将最终得到的当前访问顺序作为所述目标访问顺序。

6.一种基于脑机接口的机械臂轨迹规划装置,其特征在于,包括:

配置获取模块,用于获取第一配置列表,所述第一配置列表包括三维头部区域中的每一个三维点以及机械臂在所述三维头部区域中的每一个三维点处的机械臂关节转角数据;

碰撞检测模块,用于基于所述三维头部区域和所述第一配置列表进行碰撞检测,并基于碰撞检测结果删除所述第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;

顺序确定模块,用于将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对所述第二配置列表中的所有三维点的目标访问顺序;

轨迹生成模块,用于基于所述第二配置列表和所述目标访问顺序,获取机械臂在所述三维头部区域中运动形成的模拟植入轨迹,所述模拟植入轨迹用于将脑机接口植入至三维头部区域;

其中,轨迹生成模块包括:级联图构建单元,用于基于目标访问顺序和第二配置列表构建三维点级联图;三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点,其中,每一个三维点层对应一个三维点,多个顶点表示三维点对应的多组机械臂关节转角数据;第一移动计算单元,用于遍历三维点级联图中的每一个三维点层,在相邻两个三维点层中各选取一个顶点,并基于选取的两个顶点获取机械臂在相邻两个三维点层之间移动的移动路径以及移动成本;第二移动计算单元,用于重复执行上一个步骤,直至遍历三维点级联图中的所有顶点,获取最终得到所有移动路径和移动成本;移动路径筛选单元,用于遍历三维点级联图中的每一个三维点层,基于移动成本从相邻两个三维点层对应的多个移动路径中筛选出目标移动路径,得到多个目标移动路径;模拟轨迹生成单元,用于基于多个目标移动路径和第二配置列表获取目标配置列表,并基于目标配置列表获取机械臂在三维头部区域中形成的模拟植入轨迹;

第一移动计算单元包括:关节数据获取子单元,用于获取选取的两个顶点所对应的机械臂关节转角数据以及机械臂关节的最大转角角速度;转角时间获取子单元,用于基于两个顶点所对应的机械臂关节转角数据获取机械臂关节转角差值,并基于机械臂关节转角差值和最大转角角速度获取最大关节转角时间;额外成本获取子单元,用于基于两个顶点所对应的机械臂关节转角数据获取机械臂关节的转角符号切换成本;基于转角符号切换成本和预设额外成本系数,获取机械臂在相邻两个三维点层之间移动的额外成本;移动成本获取子单元,用于基于最大关节转角时间和额外成本,获取机械臂在相邻两个三维点层之间移动的移动成本。

7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于脑机接口的机械臂轨迹规划方法。

8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于脑机接口的机械臂轨迹规划方法。

说明书 :

基于脑机接口的机械臂轨迹规划方法、装置以及电子设备

技术领域

[0001] 本发明涉及机器人技术领域,尤其涉及一种基于脑机接口的机械臂轨迹规划方法、装置以及电子设备。

背景技术

[0002] 脑机接口(brain‑computer interface,BCI)指在人或动物大脑与外部设备之间创建的直接连接,实现脑与设备的信息交换。脑机接口通过信号采集设备从大脑皮层采集脑电信号,并将脑电信号经过放大、滤波、A/D转换等操作转换为可以被计算机识别的目标信号,然后对目标信号进行预处理,并从预处理后的目标信号中提取特征信号,再利用特征信号进行模式识别,实现脑与设备之间的信息交互。
[0003] 在现有技术中,由于头部区域为高度杂乱的三维环境,因此机械臂在将脑机接口植入到三维头部区域的过程中,容易与三维头部区域发生碰撞,这不仅会增加植入的作业时间,还会造成诸多的生产安全问题,从而使得无法快速安全地获取机械臂在高度杂乱的三维头部区域中运动所形成的模拟植入轨迹,进而基于模拟植入轨迹将脑机接口植入到三维头部区域。
[0004] 因此,现有技术中无法快速安全地获取机械臂在高度杂乱的三维头部区域中运动所形成的模拟植入轨迹,进而基于模拟植入轨迹将脑机接口植入到三维头部区域的技术问题,相关领域技术人员尚无有效解决方法。

发明内容

[0005] 本发明提供一种基于脑机接口的机械臂轨迹规划方法、装置以及电子设备,用以解决现有技术中无法快速安全地获取机械臂在高度杂乱的三维头部区域中运动所形成的模拟植入轨迹,进而基于模拟植入轨迹将脑机接口植入到三维头部区域的技术问题,提高脑机接口的植入效率以及安全性,避免造成诸多的生产安全问题。
[0006] 本发明提供一种基于脑机接口的机械臂轨迹规划方法,包括:获取第一配置列表,所述第一配置列表包括三维头部区域中的每一个三维点以及机械臂在所述三维头部区域中的每一个三维点处的机械臂关节转角数据;基于所述三维头部区域和所述第一配置列表进行碰撞检测,并基于碰撞检测结果删除所述第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对所述第二配置列表中的所有三维点的目标访问顺序;基于所述第二配置列表和所述目标访问顺序,获取机械臂在所述三维头部区域中运动形成的模拟植入轨迹,所述模拟植入轨迹用于将脑机接口植入至三维头部区域。
[0007] 根据本发明提供的一种基于脑机接口的机械臂轨迹规划方法,所述获取第一配置列表包括:获取机械臂在三维头部区域中的每一个三维点处的机械臂位姿数据,所述机械臂位姿数据包括机械臂的三维坐标值以及坐标轴旋转角;基于运动学逆解运算策略将所述机械臂位姿数据转换为所述机械臂关节转角数据,所述机械臂关节转角数据包括多个机械臂关节以及每一个机械臂关节的转角;基于三维头部区域中的每一个三维点以及每一个三维点对应的机械臂关节转角数据,得到所述第一配置列表。
[0008] 根据本发明提供的一种基于脑机接口的机械臂轨迹规划方法,所述基于所述三维头部区域和所述第一配置列表进行碰撞检测,并基于碰撞检测结果删除所述第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据,包括:获取机械臂在所述第一配置列表中的每一个三维点处对应的第一包围盒以及所述三维头部区域对应的第二包围盒;针对每一所述第一包围盒,判断所述第一包围盒是否与所述第二包围盒相交;在所述第一包围盒与所述第二包围盒相交的情况下,判断机械臂在所述第一包围盒对应的三维点处是否与所述三维头部区域相交;在机械臂在所述第一包围盒对应的三维点处与所述三维头部区域相交的情况下,在所述第一配置列表中删除所述三维点及其对应的机械臂关节转角数据。
[0009] 根据本发明提供的一种基于脑机接口的机械臂轨迹规划方法,所述获取机械臂在所述第一配置列表中的每一个三维点处对应的第一包围盒以及所述三维头部区域对应的第二包围盒,包括:获取机械臂在所述第一配置列表中的每一个三维点处的机械臂坐标极值数据,所述机械臂坐标极值数据包括机械臂的多个机械臂关节以及每一个机械臂关节的坐标极值数据;基于所述机械臂坐标极值数据获取机械臂中的每一个机械臂关节在所述第一配置列表中的每一个三维点处对应的第一包围盒;获取所述三维头部区域的区域坐标极值数据,并基于所述区域坐标极值数据获取所述三维头部区域对应的第二包围盒。
[0010] 根据本发明提供的一种基于脑机接口的机械臂轨迹规划方法,所述获取机械臂对所述第二配置列表中的所有三维点的目标访问顺序,包括:获取当前迭代计数以及机械臂对所述第二配置列表中的所有三维点的当前访问顺序;基于所述当前访问顺序和所述第二配置列表中每一个三维点的三维坐标,获取所述当前访问顺序对应的当前访问路径;获取所述当前访问顺序中任意两个不相邻的三维点之间的局部访问顺序,并对所述当前访问顺序中的局部访问顺序进行翻转处理得到第一访问顺序;基于所示第一访问顺序和所述第二配置列表中每一个三维点的三维坐标,获取所述第一访问顺序对应的第一访问路径;基于所述当前访问路径和所述第一访问路径,更新所述当前访问顺序和所述当前迭代计数;将更新后的当前访问顺序作为新的当前访问顺序,将更新后的当前迭代计数作为新的当前迭代计数;重复执行上述步骤,直至所述当前迭代计数达到最大迭代次数,将最终得到的当前访问顺序作为所述目标访问顺序。
[0011] 根据本发明提供的一种基于脑机接口的机械臂轨迹规划方法,所述基于所述第二配置列表和所述目标访问顺序,获取机械臂在所述三维头部区域中运动形成的模拟植入轨迹,包括:基于所述目标访问顺序和所述第二配置列表构建三维点级联图;所述三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点,其中,每一个三维点层对应一个三维点,多个顶点表示三维点对应的多组机械臂关节转角数据;遍历所述三维点级联图中的每一个三维点层,在相邻两个三维点层中各选取一个顶点,并基于选取的两个顶点获取机械臂在所述相邻两个三维点层之间移动的移动路径以及移动成本;重复执行上一个步骤,直至遍历所述三维点级联图中的所有顶点,获取最终得到所有移动路径和所述移动成本;遍历所述三维点级联图中的每一个三维点层,基于所述移动成本从相邻两个三维点层对应的多个移动路径中筛选出目标移动路径,得到多个目标移动路径;基于多个目标移动路径和所述第二配置列表获取目标配置列表,并基于所述目标配置列表获取机械臂在三维头部区域中形成的模拟植入轨迹。
[0012] 根据本发明提供的一种基于脑机接口的机械臂轨迹规划方法,所述基于选取的两个顶点获取机械臂在所述相邻两个三维点层之间移动的移动路径以及移动成本,包括:获取选取的两个顶点所对应的机械臂关节转角数据以及机械臂关节的最大转角角速度;基于两个顶点所对应的机械臂关节转角数据获取机械臂关节转角差值,并基于所述机械臂关节转角差值和所述最大转角角速度获取最大关节转角时间;基于两个顶点所对应的机械臂关节转角数据获取机械臂关节的转角符号切换成本;基于所述转角符号切换成本和预设额外成本系数,获取机械臂在所述相邻两个三维点层之间移动的额外成本;基于所述最大关节转角时间和所述额外成本,获取机械臂在所述相邻两个三维点层之间移动的移动成本。
[0013] 本发明还提供一种基于脑机接口的机械臂轨迹规划装置,包括:配置获取模块,用于获取第一配置列表,所述第一配置列表包括三维头部区域中的每一个三维点以及机械臂在所述三维头部区域中的每一个三维点处的机械臂关节转角数据;碰撞检测模块,用于基于所述三维头部区域和所述第一配置列表进行碰撞检测,并基于碰撞检测结果删除所述第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;顺序确定模块,用于将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对所述第二配置列表中的所有三维点的目标访问顺序;轨迹生成模块,用于基于所述第二配置列表和所述目标访问顺序,获取机械臂在所述三维头部区域中运动形成的模拟植入轨迹,所述模拟植入轨迹用于将脑机接口植入至三维头部区域。
[0014] 本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于脑机接口的机械臂轨迹规划方法。
[0015] 本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于脑机接口的机械臂轨迹规划方法。
[0016] 本发明提供的基于脑机接口的机械臂轨迹规划方法、装置以及电子设备,通过基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据,以避免机械臂在将脑机接口植入到三维头部区域的过程中与三维头部区域发生碰撞,提高脑机接口的植入效率以及安全性,避免造成诸多的生产安全问题;通过基于第二配置列表设置更加合理的目标访问顺序,可以提高机械臂对三维头部区域中的多个三维点的访问效率,进而可以提高机械臂将脑机接口植入至三维头部区域中的多个三维点的植入效率,解决了现有技术中无法快速安全地获取机械臂在高度杂乱的三维头部区域中运动所形成的模拟植入轨迹,进而基于模拟植入轨迹将脑机接口植入到三维头部区域的技术问题。

附图说明

[0017] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之一;
[0019] 图2是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之二;
[0020] 图3是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之三;
[0021] 图4是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之四;
[0022] 图5是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之五;
[0023] 图6是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之六;
[0024] 图7是本发明具体实施例中三维点级联图的结构示意图;
[0025] 图8是本发明提供的基于脑机接口的机械臂轨迹规划方法的流程示意图之七;
[0026] 图9是本发明提供的脑机接口的机械臂轨迹规划装置的结构示意图;
[0027] 图10是本发明提供的电子设备的结构示意图。

具体实施方式

[0028] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 下面结合图1‑图7描述本发明的基于脑机接口的机械臂轨迹规划方法。如图1所示,本发明提供一种基于脑机接口的机械臂轨迹规划方法,包括:
[0030] 步骤S1,获取第一配置列表,第一配置列表包括三维头部区域中的每一个三维点以及机械臂在三维头部区域中的每一个三维点处的机械臂关节转角数据。
[0031] 步骤S2,基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据。
[0032] 步骤S3,将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对第二配置列表中的所有三维点的目标访问顺序。
[0033] 步骤S4,基于第二配置列表和目标访问顺序,获取机械臂在三维头部区域中运动形成的模拟植入轨迹,模拟植入轨迹用于将脑机接口植入至三维头部区域。
[0034] 其中,模拟植入轨迹表示基于第二配置列表和目标访问顺序模拟出的机械臂在三维头部区域中运动所形成的运动轨迹。
[0035] 进一步地,基于模拟植入轨迹控制机械臂依次将脑机接口植入至模拟植入轨迹中机械臂与三维头部区域无碰撞的每一个三维点,以实现将脑机接口植入至三维头部区域中的指定头部位置。
[0036] 上述步骤S1至步骤S4,通过基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据,以避免机械臂在将脑机接口植入到三维头部区域的过程中与三维头部区域发生碰撞,提高脑机接口的植入效率以及安全性,避免造成诸多的生产安全问题;通过基于第二配置列表设置更加合理的目标访问顺序,可以提高机械臂对三维头部区域中的多个三维点的访问效率,进而可以提高机械臂将脑机接口植入至三维头部区域中的多个三维点的植入效率,解决了现有技术中无法快速安全地获取机械臂在高度杂乱的三维头部区域中运动所形成的模拟植入轨迹,进而基于模拟植入轨迹将脑机接口植入到三维头部区域的技术问题。
[0037] 在一个实施例中,如图2所示,上述步骤S1包括步骤S11至步骤S13,其中:
[0038] 步骤S11,获取机械臂在三维头部区域中的每一个三维点处的机械臂位姿数据,机械臂位姿数据包括机械臂的三维坐标值以及坐标轴旋转角。
[0039] 其中,三维坐标值包括x坐标、y坐标和z坐标。坐标轴旋转角包括x轴旋转角、y轴旋转角和z轴旋转角。其中,x轴旋转角表示围绕x轴进行旋转的旋转角。y轴旋转角表示围绕y轴进行旋转的旋转角。z轴旋转角表示围绕z轴进行旋转的旋转角。
[0040] 步骤S12,基于运动学逆解运算策略将机械臂位姿数据转换为机械臂关节转角数据,机械臂关节转角数据包括多个机械臂关节以及每一个机械臂关节的转角。
[0041] 可选地,机械臂关节转角数据包括六个机械臂关节以及每一个机械臂关节的转角。
[0042] 需要说明的是,将机械臂位姿数据转换为机械臂关节转角数据的过程可以称为求解机械臂的逆运动学。运动学逆解运算策略(即机械臂的逆运动学的求解方法)包括但不仅限于解析法、几何投影法以及解析法与几何投影法的结合。其中,解析法包括采用预先构建的运动学逆解计算模型将机械臂位姿数据转换为机械臂关节转角数据的方法。
[0043] 步骤S13,基于三维头部区域中的每一个三维点以及每一个三维点对应的机械臂关节转角数据,得到第一配置列表。
[0044] 在一个实施例中,三个坐标轴旋转角中有一个坐标轴旋转角为变量,其取值范围不受限制。将该坐标轴旋转角赋值为一个预设值集,其中,预设值集为具有离散化步长的一组数值。
[0045] 需要说明的是,由于三个坐标轴旋转角中有一个坐标轴旋转角为变量,而在输入的机械臂位姿数据中存在变量时无法输出一个确定的机械臂关节转角数据,因此通过将上述坐标轴旋转角这一变量赋值为一个预设值集,既可以保证该坐标轴旋转角的数值在一定的范围内可以变化,也可以确保基于输入的机械臂位姿数据输出一个确定的机械臂关节转角数据。
[0046] 在一个实施例中,由于其中一个坐标轴旋转角的取值在预设值集的范围内,即其取值为多个,每一个三维点对应的机械臂位姿数据为多组,由机械臂位姿数据转换得到的机械臂关节转角数据也为多组,此时,每一个三维点对应的多组机械臂关节转角数据可以由以下公式(1)表示:
[0047]
[0048] 其中, 表示多组机械臂关节转角数据, 表示第1组机械臂关节转角数据,表示第2组机械臂关节转角数据, 表示第j组机械臂关节转角数据, 表示第m组机械臂关节转角数据,m表示机械臂关节转角数据的个数。
[0049] 在机械臂关节转角数据包括六个机械臂关节以及每一个机械臂关节的转角的情况下,每一组机械臂关节转角数据可以由如下公式(2)表示:
[0050]
[0051] 其中, 表示第j组机械臂关节转角数据, 表示第1个机械臂关节的转角,表示第2个机械臂关节的转角, 表示第3个机械臂关节的转角, 表示第4个机械臂关节的转角, 表示第5个机械臂关节的转角, 表示第6个机械臂关节的转角。
[0052] 优选地,基于2‑Opt算法实现步骤S2中的碰撞检测过程,其中,2‑opt为2‑optimization的缩写。
[0053] 在一个实施例中,如图3所示,上述步骤S2包括步骤S21至步骤S24,其中:
[0054] 步骤S21,获取机械臂在第一配置列表中的每一个三维点处对应的第一包围盒以及三维头部区域对应的第二包围盒。
[0055] 其中,包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。本实施例中的对象为机械臂和三维头部区域。
[0056] 步骤S22,针对每一第一包围盒,判断第一包围盒是否与第二包围盒相交。
[0057] 步骤S23,在第一包围盒与第二包围盒相交的情况下,判断机械臂在第一包围盒对应的三维点处是否与三维头部区域相交。
[0058] 步骤S24,在机械臂在第一包围盒对应的三维点处与三维头部区域相交的情况下,在第一配置列表中删除三维点及其对应的机械臂关节转角数据。
[0059] 上述步骤S21至步骤S24,通过判断第一包围盒是否与第二包围盒相交,并在第一包围盒与第二包围盒相交的情况下,判断机械臂在第一包围盒对应的三维点处是否与三维头部区域相交,由于第一包围盒和第二包围盒的求交算法比三维点处的机械臂对象与三维头部区域对象的求交算法简单,因此采用这种方法可以快速排除不相交的对象,从而简化碰撞检测步骤以及加快了碰撞检测效率。
[0060] 在一个实施例中,如图4所示,上述步骤S21包括步骤S211至步骤S213,其中:
[0061] 步骤S211,获取机械臂在第一配置列表中的每一个三维点处的机械臂坐标极值数据,机械臂坐标极值数据包括机械臂的多个机械臂关节以及每一个机械臂关节的坐标极值数据。
[0062] 其中,坐标极值数据包括机械臂关节的x坐标极值、y坐标极值和z坐标极值。x坐标极值包括最大x坐标和最小x坐标。y坐标极值包括最大y坐标和最小y坐标。z坐标极值包括最大z坐标和最小z坐标。
[0063] 步骤S212,基于机械臂坐标极值数据获取机械臂中的每一个机械臂关节在第一配置列表中的每一个三维点处对应的第一包围盒。
[0064] 具体地,针对第一配置列表中的每一个三维点,在机械臂位于所述三维点处的情况下,基于机械臂中每一个机械臂关节的坐标极值数据获取每一个机械臂关节在所述三维点处对应的第一包围盒。
[0065] 步骤S213,获取三维头部区域的区域坐标极值数据,并基于区域坐标极值数据获取三维头部区域对应的第二包围盒。
[0066] 其中,区域坐标极值数据包括三维头部区域中点的x坐标极值、y坐标极值和z坐标极值。
[0067] 在一个实施例中,第一包围盒和第二包围盒为轴对齐的包围盒(AABB),轴对齐的包围盒为包含对象的最小六面体,其边平行于轴。第一包围盒为包含机械臂关节的最小六面体。第二包围盒为包含三维头部区域的最小六面体。
[0068] 通过上述实施例,采用轴对齐的包围盒构建第一包围盒和第二包围盒,由于轴对齐的包围盒只需要对象的六个基本几何元素即可完成包围盒构建,因此,一方面采用这种方法可以减少包围盒构建过程的计算量以及提高包围盒构建过程的计算效率,另一方面,也可以减少后续步骤中第一包围盒与第二包围盒的求交运算的计算量,提高包围盒求交运算的计算效率。
[0069] 在一个实施例中,上述步骤S22至步骤S24还包括:针对第一配置列表中的每一个三维点,在机械臂位于所述三维点处的情况下,判断机械臂中每一个机械臂关节在所述三维点处对应的第一包围盒是否与第二包围盒相交,在机械臂中任意一个机械臂关节在所述三维点处对应的第一包围盒与第二包围盒相交的情况下,判断在机械臂在所述三维点处是否与三维头部区域相交,在机械臂在所述三维点处与三维头部区域相交的情况下,在第一配置列表中删除所述三维点及其对应的机械臂关节转角数据。
[0070] 在一个实施例中,如图5所示,上述步骤S3包括步骤S31至步骤S37,其中:
[0071] 步骤S31,获取当前迭代计数以及机械臂对第二配置列表中的所有三维点的当前访问顺序。
[0072] 步骤S32,基于当前访问顺序和第二配置列表中每一个三维点的三维坐标,获取当前访问顺序对应的当前访问路径。
[0073] 步骤S33,获取当前访问顺序中任意两个不相邻的三维点之间的局部访问顺序,并对当前访问顺序中的局部访问顺序进行翻转处理得到第一访问顺序。
[0074] 例如,当前访问顺序为(A,B,C,D,E,F,G),选取当前访问顺序中任意两个不相邻的三维点B和三维点E之间的局部访问顺序(B,C,D,E),对当前访问顺序中的局部访问顺序进行翻转处理,翻转处理后的当前访问顺序即为第一访问顺序(A,E,D,C,B,F,G)。
[0075] 步骤S34,基于所示第一访问顺序和第二配置列表中每一个三维点的三维坐标,获取第一访问顺序对应的第一访问路径。其中,三维坐标包括x坐标、y坐标和z坐标。
[0076] 步骤S35,基于当前访问路径和第一访问路径,更新当前访问顺序和当前迭代计数。
[0077] 在一个实施例中,获取当前访问路径和第一访问路径的路径长度并比较,在第一访问路径的路径长度小于当前访问路径的路径长度的情况下,将第一访问顺序作为更新后的当前访问顺序,并将当前迭代计数赋值为零。在第一访问路径的路径长度大于或者等于当前访问路径的路径长度的情况下,不更新当前访问顺序,对在当前迭代计数的基础上加数值1得到更新后的当前迭代计数。
[0078] 进一步地,采用欧几里得距离计算当前访问路径和第一访问路径的路径长度,访问路径的路径长度如公式(3)所示:
[0079]
[0080] 其中, 表示路径长度, 表示访问路径的起点三维坐标,且 。表示访问路径的终点三维坐标,且 。
[0081] 步骤S36,将更新后的当前访问顺序作为新的当前访问顺序,将更新后的当前迭代计数作为新的当前迭代计数。
[0082] 步骤S37,重复执行上述步骤,直至当前迭代计数达到最大迭代次数,将最终得到的当前访问顺序作为目标访问顺序。
[0083] 上述步骤S31至步骤S37,通过多次迭代对当前访问顺序中的局部访问顺序进行翻转处理得到第一访问顺序,并比较当前访问路径和第一访问路径的路径长度,在第一访问路径的路径长度小于当前访问路径的路径长度的情况下,将第一访问顺序作为更新后的当前访问顺序,以使最终得到的当前访问顺序所对应的当前访问路径达到最短,并将最终得到的当前访问顺序作为目标访问顺序,从而可以提高机械臂对三维头部区域中的多个三维点的访问效率,进而可以提高机械臂将脑机接口植入至三维头部区域中的多个三维点的植入效率。
[0084] 优选地,基于迪杰斯特拉算法(即Dijkstra算法)实现步骤S4中第二配置列表的优化过程,从而得到目标配置列表。
[0085] 在一个实施例中,如图6所示,上述步骤S4包括步骤S41至步骤S45,其中:
[0086] 步骤S41,基于目标访问顺序和第二配置列表构建三维点级联图;三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点,其中,每一个三维点层对应一个三维点,多个顶点表示三维点对应的多组机械臂关节转角数据。
[0087] 需要说明的是,每一个三维点层对应的多个顶点表示机械臂在每一个三维点处对应的多组机械臂关节转角数据。
[0088] 步骤S42,遍历三维点级联图中的每一个三维点层,在相邻两个三维点层中各选取一个顶点,并基于选取的两个顶点获取机械臂在相邻两个三维点层之间移动的移动路径以及移动成本。
[0089] 步骤S43,重复执行上一个步骤,直至遍历三维点级联图中的所有顶点,获取最终得到所有移动路径和移动成本。
[0090] 步骤S44,遍历三维点级联图中的每一个三维点层,基于移动成本从相邻两个三维点层对应的多个移动路径中筛选出目标移动路径,得到多个目标移动路径。
[0091] 优选地,从相邻两个三维点层对应的多个移动路径中筛选出移动成本最小的移动路径作为目标移动路径,从而可以降低机械臂在三维头部区域中移动进行脑机接口植入的植入成本。
[0092] 步骤S45,基于多个目标移动路径和第二配置列表获取目标配置列表,并基于目标配置列表获取机械臂在三维头部区域中形成的模拟植入轨迹。
[0093] 其中,目标配置列表包括按照目标访问顺序排列的多个三维点以及每一个三维点对应的机械臂关节转角数据。
[0094] 进一步地,机械臂在三维头部区域中形成的模拟植入轨迹可以由如下公式(4)表示:
[0095]
[0096] 其中, 表示模拟植入轨迹, 表示起始三维点, 表示终点三维点, 表示起始三维点与终点三维点之间的其他三维点的速度数据,该速度数据包括其他三维点的加速度和速度。K表示其他三维点的数量。
[0097] 优选地,采用开源机器人运动规划算法和目标配置列表生成机械臂在三维头部区域中形成的模拟植入轨迹。其中,开源机器人运动规划算法为OMPL算法(The Open Motion Planning Library,OMPL)。
[0098] 在一个实施例中,图7是本发明具体实施例中三维点级联图的结构示意图,如图7所示,三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点。三维点层由纵向排列的多个顶点构成,三维点层的编号即为[1,n],图7中的每一个圆圈表示一个顶点,图7中左侧的黑色实心圆圈表示起始顶点,右侧的黑色实心圆圈表示终点顶点。相邻两个顶点之间的线条表示顶点对应的相邻两个三维点层之间的移动路径。例如,三维点层1和三维点层2为相邻的两个三维点层。
[0099] 在一个实施例中,如图8所示,上述步骤S42包括步骤S421至步骤S424,其中:
[0100] 步骤S421,获取选取的两个顶点所对应的机械臂关节转角数据以及机械臂关节的最大转角角速度。
[0101] 步骤S422,基于两个顶点所对应的机械臂关节转角数据获取机械臂关节转角差值,并基于机械臂关节转角差值和最大转角角速度获取最大关节转角时间。
[0102] 其中,机械臂关节转角数据包括多个机械臂关节以及每一机械臂关节对应的关节转角。多个机械臂关节通过关节编号 进行区分。例如,若机械臂关节的数量为六个,则取值为[1,6]。
[0103] 步骤S423,基于两个顶点所对应的机械臂关节转角数据获取机械臂关节的转角符号切换成本;基于转角符号切换成本和预设额外成本系数,获取机械臂在相邻两个三维点层之间移动的额外成本。
[0104] 步骤S424,基于最大关节转角时间和额外成本,获取机械臂在相邻两个三维点层之间移动的移动成本。
[0105] 在一个实施例中,针对两个顶点所对应的机械臂关节 ,基于机械臂关节 的关节转角计算其对应的机械臂关节转角差值。基于机械臂关节 的最大转角角速度及其对应的机械臂关节转角差值计算得到其对应的最大关节转角时间。基于机械臂关节 的关节转角计算其对应的转角符号切换成本,并基于机械臂关节 对应的转角符号切换成本以及预设额外成本系数,获取机械臂关节 在相邻两个三维点层中的两个顶点之间移动的额外成本。基于机械臂关节 对应的最大关节转角时间和额外成本,计算得到机械臂关节在相邻两个三维点层中的两个顶点之间移动的移动成本。其中,机械臂关节 表示机械臂中任意一个机械臂关节。
[0106] 进一步地,机械臂在相邻两个三维点层之间移动的移动成本的计算方式如下公式(5)所示:
[0107]
[0108] 其中,C表示预设额外成本系数,其为一个常量。 表示机械臂关节的关节编号。表示前一个三维点层中顶点对应的机械臂关节 的第一关节转角, 表示后一个三维点层中顶点对应的机械臂关节 的第二关节转角。 表示相邻两个三维点层中顶点对应机械臂关节 的机械臂关节转角差值。 表示机械臂关节 的最大转角角速度, 表示机械臂关节 的最大关节转角时间。 表示符号函
数, 表示机械臂中机械臂关节 在相邻两个三维点层之间移动的转
角符号切换成本。
[0109] 需要说明的是,在机械臂关节 的关节转角从负角度转到正角度或者从负角度转到正角度的情况下,转角符号切换成本为1。在机械臂关节 的关节转角从负角度转到负角度或者从正角度转到正角度的情况下,转角符号切换成本为0。即相邻两个三维点层中顶点所对应的机械臂关节 具有不同的转角符号的情况下,机械臂从相邻两个三维点层之间移动的移动成本更高。
[0110] 下面提供一个具体实施例,以对本发明提供的基于脑机接口的机械臂轨迹规划方法作进一步说明,具体包括以下步骤:
[0111] 步骤1:获取机械臂在三维头部区域中的每一个三维点处的机械臂位姿数据,机械臂位姿数据包括机械臂的三维坐标值以及坐标轴旋转角;基于运动学逆解运算策略将机械臂位姿数据转换为机械臂关节转角数据,机械臂关节转角数据包括多个机械臂关节以及每一个机械臂关节的转角;基于三维头部区域中的每一个三维点以及每一个三维点对应的机械臂关节转角数据,得到第一配置列表。
[0112] 步骤2:获取机械臂在第一配置列表中的每一个三维点处对应的第一包围盒以及三维头部区域对应的第二包围盒;针对每一第一包围盒,判断第一包围盒是否与第二包围盒相交;在第一包围盒与第二包围盒相交的情况下,判断机械臂在第一包围盒对应的三维点处是否与三维头部区域相交;在机械臂在第一包围盒对应的三维点处与三维头部区域相交的情况下,在第一配置列表中删除三维点及其对应的机械臂关节转角数据。将删除处理后的第一配置列表作为第二配置列表。
[0113] 步骤3:获取当前迭代计数以及机械臂对第二配置列表中的所有三维点的当前访问顺序;基于当前访问顺序和第二配置列表中每一个三维点的三维坐标,获取当前访问顺序对应的当前访问路径;获取当前访问顺序中任意两个不相邻的三维点之间的局部访问顺序,并对当前访问顺序中的局部访问顺序进行翻转处理得到第一访问顺序;基于所示第一访问顺序和第二配置列表中每一个三维点的三维坐标,获取第一访问顺序对应的第一访问路径;基于当前访问路径和第一访问路径,更新当前访问顺序和当前迭代计数;将更新后的当前访问顺序作为新的当前访问顺序,将更新后的当前迭代计数作为新的当前迭代计数;重复执行上述步骤,直至当前迭代计数达到最大迭代次数,将最终得到的当前访问顺序作为目标访问顺序。
[0114] 步骤4:基于目标访问顺序和第二配置列表构建三维点级联图;三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点,其中,每一个三维点层对应一个三维点,多个顶点表示三维点对应的多组机械臂关节转角数据;遍历三维点级联图中的每一个三维点层,在相邻两个三维点层中各选取一个顶点,并基于选取的两个顶点获取机械臂在相邻两个三维点层之间移动的移动路径以及移动成本;重复执行上一个步骤,直至遍历三维点级联图中的所有顶点,获取最终得到所有移动路径和移动成本;遍历三维点级联图中的每一个三维点层,基于移动成本从相邻两个三维点层对应的多个移动路径中筛选出目标移动路径,得到多个目标移动路径;基于多个目标移动路径和第二配置列表获取目标配置列表,并基于目标配置列表获取机械臂在三维头部区域中形成的模拟植入轨迹。
[0115] 步骤5:获取选取的两个顶点所对应的机械臂关节转角数据以及机械臂关节的最大转角角速度;基于两个顶点所对应的机械臂关节转角数据获取机械臂关节转角差值,并基于机械臂关节转角差值和最大转角角速度获取最大关节转角时间;基于两个顶点所对应的机械臂关节转角数据获取机械臂关节的转角符号切换成本;基于转角符号切换成本和预设额外成本系数,获取机械臂在相邻两个三维点层之间移动的额外成本;基于最大关节转角时间和额外成本,获取机械臂在相邻两个三维点层之间移动的移动成本。
[0116] 下面对本发明提供的基于脑机接口的机械臂轨迹规划装置进行描述,下文描述的基于脑机接口的机械臂轨迹规划装置与上文描述的基于脑机接口的机械臂轨迹规划方法可相互对应参照。
[0117] 如图9所示,本发明提供一种基于脑机接口的机械臂轨迹规划装置,基于脑机接口的机械臂轨迹规划装置100包括:配置获取模块10,用于获取第一配置列表,第一配置列表包括三维头部区域中的每一个三维点以及机械臂在三维头部区域中的每一个三维点处的机械臂关节转角数据。碰撞检测模块20,用于基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据。顺序确定模块30,用于将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对第二配置列表中的所有三维点的目标访问顺序。轨迹生成模块40,用于基于第二配置列表和目标访问顺序,获取机械臂在三维头部区域中运动形成的模拟植入轨迹,模拟植入轨迹用于将脑机接口植入至三维头部区域。
[0118] 在一个实施例中,配置获取模块10包括:位姿数据获取单元,用于获取机械臂在三维头部区域中的每一个三维点处的机械臂位姿数据,机械臂位姿数据包括机械臂的三维坐标值以及坐标轴旋转角。转角数据获取单元,用于基于运动学逆解运算策略将机械臂位姿数据转换为机械臂关节转角数据,机械臂关节转角数据包括多个机械臂关节以及每一个机械臂关节的转角。配置列表获取单元,用于基于三维头部区域中的每一个三维点以及每一个三维点对应的机械臂关节转角数据,得到第一配置列表。
[0119] 在一个实施例中,碰撞检测模块20包括:包围盒获取单元,用于获取机械臂在第一配置列表中的每一个三维点处对应的第一包围盒以及三维头部区域对应的第二包围盒。第一相交判断单元,用于针对每一第一包围盒,判断第一包围盒是否与第二包围盒相交。第二相交判断单元,用于在第一包围盒与第二包围盒相交的情况下,判断机械臂在第一包围盒对应的三维点处是否与三维头部区域相交。三维点删除单元,用于在机械臂在第一包围盒对应的三维点处与三维头部区域相交的情况下,在第一配置列表中删除三维点及其对应的机械臂关节转角数据。
[0120] 在一个实施例中,包围盒获取单元包括:坐标极值获取子单元,用于获取机械臂在第一配置列表中的每一个三维点处的机械臂坐标极值数据,机械臂坐标极值数据包括机械臂的多个机械臂关节以及每一个机械臂关节的坐标极值数据;第一包围盒获取子单元,用于基于机械臂坐标极值数据获取机械臂中的每一个机械臂关节在第一配置列表中的每一个三维点处对应的第一包围盒。第二包围盒获取子单元,用于获取三维头部区域的区域坐标极值数据,并基于区域坐标极值数据获取三维头部区域对应的第二包围盒。
[0121] 在一个实施例中,顺序确定模块30包括:迭代数据获取单元,用于获取当前迭代计数以及机械臂对第二配置列表中的所有三维点的当前访问顺序。第一路径获取单元,用于基于当前访问顺序和第二配置列表中每一个三维点的三维坐标,获取当前访问顺序对应的当前访问路径。局部顺序翻转单元,用于获取当前访问顺序中任意两个不相邻的三维点之间的局部访问顺序,并对当前访问顺序中的局部访问顺序进行翻转处理得到第一访问顺序。第二路径获取单元,用于基于所示第一访问顺序和第二配置列表中每一个三维点的三维坐标,获取第一访问顺序对应的第一访问路径。迭代数据更新单元,用于基于当前访问路径和第一访问路径,更新当前访问顺序和当前迭代计数。迭代数据确定单元,用于将更新后的当前访问顺序作为新的当前访问顺序,将更新后的当前迭代计数作为新的当前迭代计数。目标顺序确定单元,用于重复执行上述步骤,直至当前迭代计数达到最大迭代次数,将最终得到的当前访问顺序作为目标访问顺序。
[0122] 在一个实施例中,轨迹生成模块包括:级联图构建单元,用于基于目标访问顺序和第二配置列表构建三维点级联图;三维点级联图包括多个级联的三维点层以及每一个三维点层对应的多个顶点,其中,每一个三维点层对应一个三维点,多个顶点表示三维点对应的多组机械臂关节转角数据。第一移动计算单元,用于遍历三维点级联图中的每一个三维点层,在相邻两个三维点层中各选取一个顶点,并基于选取的两个顶点获取机械臂在相邻两个三维点层之间移动的移动路径以及移动成本。第二移动计算单元,用于重复执行上一个步骤,直至遍历三维点级联图中的所有顶点,获取最终得到所有移动路径和移动成本。移动路径筛选单元,用于遍历三维点级联图中的每一个三维点层,基于移动成本从相邻两个三维点层对应的多个移动路径中筛选出目标移动路径,得到多个目标移动路径。模拟轨迹生成单元,用于基于多个目标移动路径和第二配置列表获取目标配置列表,并基于目标配置列表获取机械臂在三维头部区域中形成的模拟植入轨迹。
[0123] 在一个实施例中,第一移动计算单元包括:关节数据获取子单元,用于获取选取的两个顶点所对应的机械臂关节转角数据以及机械臂关节的最大转角角速度。转角时间获取子单元,用于基于两个顶点所对应的机械臂关节转角数据获取机械臂关节转角差值,并基于机械臂关节转角差值和最大转角角速度获取最大关节转角时间。额外成本获取子单元,用于基于两个顶点所对应的机械臂关节转角数据获取机械臂关节的转角符号切换成本;基于转角符号切换成本和预设额外成本系数,获取机械臂在相邻两个三维点层之间移动的额外成本。移动成本获取子单元,用于基于最大关节转角时间和额外成本,获取机械臂在相邻两个三维点层之间移动的移动成本。
[0124] 图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(Communications Interface)1020、存储器(memory)
1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行基于脑机接口的机械臂轨迹规划方法,该方法包括:获取第一配置列表,第一配置列表包括三维头部区域中的每一个三维点以及机械臂在三维头部区域中的每一个三维点处的机械臂关节转角数据;
基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对第二配置列表中的所有三维点的目标访问顺序;基于第二配置列表和目标访问顺序,获取机械臂在三维头部区域中运动形成的模拟植入轨迹,模拟植入轨迹用于将脑机接口植入至三维头部区域。
[0125] 此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0126] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于脑机接口的机械臂轨迹规划方法,该方法包括:获取第一配置列表,第一配置列表包括三维头部区域中的每一个三维点以及机械臂在三维头部区域中的每一个三维点处的机械臂关节转角数据;基于三维头部区域和第一配置列表进行碰撞检测,并基于碰撞检测结果删除第一配置列表中机械臂与三维头部区域存在碰撞的三维点以及三维点对应的机械臂关节转角数据;将删除处理后的第一配置列表作为第二配置列表,并获取机械臂对第二配置列表中的所有三维点的目标访问顺序;基于第二配置列表和目标访问顺序,获取机械臂在三维头部区域中运动形成的模拟植入轨迹,模拟植入轨迹用于将脑机接口植入至三维头部区域。
[0127] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0128] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0129] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。