本技术涉及机器人控制,特别是涉及一种机器人控制方法、装置、系统、存储介质和计算机程序产品。
背景技术:
1、现有机器人系统中无碰撞检测措施,多个机械臂操作过程中相邻的机械臂之间容易发生碰撞,导致出现非预期运动,引发重大手术风险。因此,现有的机器人控制方法存在多个机械臂之间容易发生碰撞的问题。
技术实现思路
1、基于此,有必要针对现有的机器人控制方法存在多个机械臂之间容易发生碰撞的问题,提供一种能够避免多个机械臂之间发生碰撞的机器人控制方法、装置、系统、计算机可读存储介质和计算机程序产品。
2、第一方面,本技术提供了一种机器人控制方法,应用于机器人控制系统,系统包括多个机械臂,方法包括:
3、获取多个机械臂的实时图像;
4、采用碰撞检测模型对实时图像进行检测,得到模型检测结果;模型检测结果用于表征多个机械臂之间是否发生碰撞;
5、在存在机械臂的碰撞气压满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,确定相应机械臂发生碰撞,控制多个机械臂停止运行;
6、在每一机械臂的碰撞气压均不满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,获取每一机械臂与相应的障碍机械臂之间的距离;其中,针对任一机械臂,相应的障碍机械臂为多个机械臂中除去相应机械臂的其他机械臂;根据每一机械臂与相应的障碍机械臂之间的距离,控制相应机械臂运动。
7、在其中一个实施例中,采用碰撞检测模型对实时图像进行检测,得到模型检测结果,包括:
8、对实时图像进行降噪处理,得到降噪后的图像;
9、对降噪后的图像进行特征提取和三维重建,得到多个机械臂的三维点云;
10、将三维点云输入至碰撞检测模型,输出模型碰撞结果。
11、在其中一个实施例中,系统还包括气压传感器,气压传感器安装在需求安装的机械臂上,气压传感器上具有多个气室;确定相应机械臂发生碰撞之前,还包括:
12、获取气压传感器的多个气室中每个气室的实时气压;
13、在实时气压大于气压阈值的情况下,确定存在机械臂的碰撞气压均满足气压条件;气压阈值是基于初始气压均值所获得的,初始气压均值为未发生碰撞时各个气室的气压均值。
14、在其中一个实施例中,确定相应机械臂发生碰撞之后,还包括:
15、根据相应机械臂上安装的气压传感器中各个气室的气压,确定发生碰撞的目标气室;
16、根据目标气室在气压传感器中所处的位置,确定相应机械臂的碰撞位置;
17、根据碰撞位置,生成碰撞提醒信息。
18、在其中一个实施例中,系统还包括超声波传感器和激光传感器;超声波传感器和激光传感器安装在需求安装的机械臂上;
19、获取每一机械臂与相应的障碍机械臂之间的距离,包括:
20、针对当前机械臂和当前障碍机械臂,获取超声波传感器采集到的实时超声距离,以及当前时刻之前预设时长内的多个历史超声距离;
21、获取激光传感器采集到的实时激光距离,以及当前时刻之前预设时长内的多个历史激光距离;
22、根据多个历史超声距离,确定超声距离方差;根据多个历史激光距离,确定激光距离方差;
23、根据超声距离方差和激光距离方差,确定补偿系数;
24、根据实时超声距离、实时激光距离以及补偿系数,确定融合后的距离;将融合后的距离作为当前机械臂与当前障碍机械臂之间的距离。
25、在其中一个实施例中,系统还包括操控设备;系统响应于操控设备的操控动作生成操控指令;操控指令用于控制多个机械臂运动;
26、根据每一机械臂与相应的障碍机械臂之间的距离,控制相应机械臂运动,包括:
27、针对当前机械臂,根据当前机械臂与相应的障碍机械臂之间的距离,确定当前机械臂与相应的障碍机械臂之间的斥力;
28、基于当前机械臂与相应的障碍机械臂之间的斥力,确定当前机械臂的关节扭矩;
29、根据关节扭矩,确定操控设备的反馈力;
30、基于操控设备的反馈力,控制当前机械臂运动。
31、在其中一个实施例中,基于操控设备的反馈力,控制当前机械臂运动,包括:
32、根据操控设备的反馈力、操控设备的期望位置,以及操控设备受到的外力,得到当前机械臂的指令位置;
33、基于当前机械臂与相应的障碍机械臂之间的斥力、当前机械臂的指令位置、当前机械臂的实际位置,得到当前机械臂的关节位置;
34、控制当前机械臂运动至关节位置。
35、在其中一个实施例中,基于当前机械臂与相应的障碍机械臂之间的斥力、当前机械臂的指令位置、当前机械臂的实际位置,得到当前机械臂的关节位置,包括:
36、根据当前机械臂的指令位置和当前机械臂的实际位置,得到指令偏差;
37、基于当前机械臂与相应的障碍机械臂之间的斥力和指令偏差,得到虚拟指令力;
38、根据虚拟指令力,得到虚拟加速度;
39、根据虚拟加速度,得到当前机械臂的关节位置。
40、在其中一个实施例中,基于操控设备的反馈力,控制当前机械臂运动,包括:
41、获取操控设备的当前关节位置;
42、根据当前关节位置,通过重力补偿,得到操控设备的重力和摩擦力;
43、根据操控设备的反馈力、重力和摩擦力,确定操控设备的力矩;
44、基于操控设备的力矩,控制当前机械臂运动。
45、在其中一个实施例中,根据每一机械臂与相应的障碍机械臂之间的距离,控制相应机械臂运动,包括:
46、针对当前机械臂,
47、获取当前机械臂的当前时刻关节位置,以及关节指令速度;
48、根据当前机械臂与相应的障碍机械臂之间的距离,确定当前机械臂与相应的障碍机械臂之间的当前时刻干涉距离;
49、根据当前时刻关节位置和关节指令速度,得到下一时刻关节位置;
50、根据下一时刻关节位置,确定当前机械臂与相应的障碍机械臂之间的下一时刻干涉距离;
51、在每个下一时刻干涉距离均不大于相应的当前时刻干涉距离的情况下,控制当前机械臂继续运动;
52、在任一下一时刻干涉距离大于相应的当前时刻干涉距离的情况下,控制当前机械臂停止运动。
53、在其中一个实施例中,根据当前机械臂与相应的障碍机械臂之间的距离,确定当前机械臂与相应的障碍机械臂之间的当前时刻干涉距离,包括:
54、在当前机械臂与任一障碍机械臂之间的障碍距离大于等于预设干涉阈值的情况下,确定当前机械臂与相应障碍机械臂之间的当前时刻干涉距离为预设值;
55、在当前机械臂与任一障碍机械臂之间的障碍距离小于预设干涉阈值的情况下,确定当前机械臂与相应障碍机械臂之间的当前干涉距离为预设干涉阈值与障碍距离之差。
56、在其中一个实施例中,机器人控制方法还包括:
57、在模型碰撞结果指示多个机械臂之间发生碰撞的情况下,生成碰撞提醒信息。
58、第二方面,本技术还提供了一种机器人控制装置,应用于机器人控制系统,系统包括多个机械臂,装置包括:
59、获取模块,用于获取多个机械臂的实时图像;
60、模型检测模块,用于采用碰撞检测模型对实时图像进行检测,得到模型检测结果;模型检测结果用于表征多个机械臂之间是否发生碰撞;
61、第一控制模块,用于在存在机械臂的碰撞气压满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,确定相应机械臂发生碰撞,控制多个机械臂停止运行;
62、第二控制模块,用于在每一机械臂的碰撞气压均不满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,获取每一机械臂与相应的障碍机械臂之间的距离;其中,针对任一机械臂,相应的障碍机械臂为多个机械臂中除去相应机械臂的其他机械臂;根据每一机械臂与相应的障碍机械臂之间的距离,控制相应机械臂运动。
63、第三方面,本技术还提供了一种机器人控制系统,系统包括:
64、多个机械臂;
65、图像采集设备,用于采集多个机械臂的实时图像;
66、气压传感器,安装在需求安装的机械臂上;气压传感器上具有多个气室;气压传感器用于采集多个气室中每个气室的实时气压;
67、超声波传感器和激光传感器,安装在需求安装的机械臂上;超声波传感器,用于采集相应机械臂至相应的障碍机械臂之间的实时超声距离,以及当前时刻之前预设时长内的多个历史超声距离;激光传感器,用于采集相应机械臂至与相应的障碍机械臂之间的实时激光距离,以及当前时刻之前预设时长内的多个历史激光距离;其中,针对任一机械臂,相应的障碍机械臂为多个机械臂中除去相应机械臂的其他机械臂;
68、操控设备,用于控制多个机械臂运动;
69、计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
70、获取多个机械臂的实时图像;
71、采用碰撞检测模型对实时图像进行检测,得到模型检测结果;模型检测结果用于表征多个机械臂之间是否发生碰撞;
72、在存在机械臂的碰撞气压满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,确定相应机械臂发生碰撞,控制多个机械臂停止运行;
73、在每一机械臂的碰撞气压均不满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,获取每一机械臂与相应的障碍机械臂之间的距离;其中,针对任一机械臂,相应的障碍机械臂为所述多个机械臂中除去相应机械臂的其他机械臂;根据每一机械臂相与应的障碍机械臂之间的距离,控制相应机械臂运动。
74、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
75、获取多个机械臂的实时图像;
76、采用碰撞检测模型对实时图像进行检测,得到模型检测结果;模型检测结果用于表征多个机械臂之间是否发生碰撞;
77、在存在机械臂的碰撞气压满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,确定相应机械臂发生碰撞,控制多个机械臂停止运行;
78、在每一机械臂的碰撞气压均不满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,获取每一机械臂与相应的障碍机械臂之间的距离;其中,针对任一机械臂,相应的障碍机械臂为所述多个机械臂中除去相应机械臂的其他机械臂;根据每一机械臂相与应的障碍机械臂之间的距离,控制相应机械臂运动。
79、第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
80、获取多个机械臂的实时图像;
81、采用碰撞检测模型对实时图像进行检测,得到模型检测结果;模型检测结果用于表征多个机械臂之间是否发生碰撞;
82、在存在机械臂的碰撞气压满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,确定相应机械臂发生碰撞,控制多个机械臂停止运行;
83、在每一机械臂的碰撞气压均不满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,获取每一机械臂与相应的障碍机械臂之间的距离;其中,针对任一机械臂,相应的障碍机械臂为所述多个机械臂中除去相应机械臂的其他机械臂;根据每一机械臂相与应的障碍机械臂之间的距离,控制相应机械臂运动。
84、上述机器人控制方法、装置、系统、存储介质和计算机程序产品,通过碰撞检测模型对多个机械臂的实时图像进行检测,得到模型检测结果,在存在机械臂的碰撞气压满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,确定相应机械臂发生碰撞,控制多个机械臂停止运行;在每一机械臂的碰撞气压均不满足气压条件,且模型碰撞结果指示多个机械臂之间未发生碰撞的情况下,获取每一机械臂与相应的障碍机械臂之间的距离;根据每一机械臂与相应的障碍机械臂之间的距离,控制相应机械臂运动。采用碰撞检测模型对多个机械臂的实时图像进行碰撞检测的方法,有利于在较大的范围内确定出各个机械臂之间是否发生碰撞,在模型碰撞结果未检测出碰撞的情况下,进一步根据机械臂的碰撞气压进行碰撞检测,有利于将碰撞检测模型未能检测出的碰撞检测出来,提高碰撞检测的精度;机械臂的碰撞气压满足气压条件时,控制机械臂停止运行,能够避免多个机械臂之间发生碰撞;机械臂的碰撞气压不满足气压条件时,根据各个机械臂之间的距离控制机械臂运动,有利于避免多个机械臂之间发生碰撞。