本发明涉及机器人控制,特别涉及一种机械臂碰撞检测方法。
背景技术:
1、复杂环境下机器人进行运动规划,必然需要对运动空间中一个或多个障碍物进行规避,即机器人的避障运动规划,然而复杂的运行环境存在随机性、模糊性和不可预测性。碰撞检测问题是复杂工作环境中机械臂避障运动规划的亟待解决的关键性问题。
2、现有的碰撞检测方法可分为使用外部传感器和不依靠附加传感器两种。1、使用外部传感器的方法可利用深度相机等外部设备采集的数据来判断机械臂是否发生碰撞,上述方法需要综合考虑传感器的安装问题,成本高,且无法检测碰撞发生的位置。2、不依靠附加传感器的方法即需要建立机械臂和障碍物的模型,采用动力学模型或者几何模型完成碰撞检测,这种方法不需要外部传感器,基于模型进行计算,但是此方法对模型的要求比较高。
技术实现思路
1、本发明实施例的目的是提供一种机械臂碰撞检测方法,通过获取机械臂各关节实时状态信息,计算每一关节包络模型的空间位姿信息来判断该关节与预设电子围栏是否存在位置冲突,无需增加外部各类传感器,同时减少机械臂环境障碍物的建模工作量,提高了机械臂碰撞检测的效率,降低了碰撞检测的系统成本。
2、为解决上述技术问题,本发明实施例的第一方面提供了一种机械臂碰撞检测方法,包括如下步骤:
3、获取机械臂各关节当前的实时状态信息,并基于所述实时状态信息计算所述机械臂当前的各关节包络模型的空间位姿信息,所述实时状态信息包括:角度值和角速度值;
4、基于所述机械臂当前的各关节包络模型的空间位姿信息,判断所述机械臂当前的各关节包络模型与预设电子围栏是否发生干涉;
5、其中,所述预设电子围栏包括至少一个碰撞检测面,所述碰撞检测面根据所述机械臂的位置限制参数设置。
6、进一步地,在所述机械臂当前的各关节包络模型与所述预设电子围栏发生干涉的情形下,所述机械臂碰撞检测方法还包括:
7、根据所述机械臂各关节的所述实时状态信息,计算所述机械臂各关节受到的外力力矩值;
8、控制所述机械臂各关节的驱动电机输出与所述外力力矩值相抵消的输出转矩,对所述机械臂各关节受到的外力进行抵消,使所述机械臂以零力控制模式运行。
9、进一步地,所述根据所述机械臂各关节的所述实时状态信息,计算所述机械臂各关节受到的外力力矩值,包括:
10、基于改进型lugre摩擦模型,结合所述机械臂每个关节当前的所述角度值及所述角速度值计算所述机械臂每个关节受到的所述外力力矩值。
11、进一步地,所述外力力矩值τs的计算公式为:
12、τs=g(θ)+τf;
13、其中,g(θ)为所述机械臂各关节处的重力矩补偿值,θ为所述机械臂各关节处的角度值,τf为基于所述改进型lugre摩擦模型计算得到的所述机械臂各关节处的摩擦力矩补偿值。
14、进一步地,基于所述改进型lugre摩擦模型计算得到的所述机械臂各关节处的摩擦力矩补偿值τf的计算公式为:
15、τf=fn=fu+fm;
16、
17、fm=(e+fv)np;
18、其中,fn为摩擦力矩值总和,fu为基于改进型lugre摩擦模型的摩擦力矩值,fm为波纹摩擦力矩值,fc为库伦摩擦力矩值,fs为最大静摩擦力矩值,vs为stribeck速度,v为机械臂关节角速度,σ2为粘性摩擦系数,e为常量,f为常量,np为与对应所述关节角度值相关的系数值。
19、进一步地,所述判断所述机械臂当前的各关节包络模型与预设电子围栏是否发生干涉之前,还包括:
20、获取所述预设电子围栏的类型设置信息及位置信息;
21、基于所述预设电子围栏的类型设置信息及位置信息,建立所有所述碰撞检测面,形成初始电子围栏模型;
22、获取所述机械臂当前的各关节包络模型的空间位姿信息;
23、基于所述机械臂当前的各关节包络模型的空间位姿信息,判断所述机械臂当前的各关节包络模型和所述初始电子围栏模型是否发生位置冲突;
24、如果所述机械臂和所述初始电子围栏模型未发生位置冲突,则将所述初始电子围栏模型配置为所述预设电子围栏。
25、进一步地,所述获取所述预设电子围栏的类型设置信息包括:
26、获取所述机械臂的型号参数和/或所述机械臂工作场地的地形参数;
27、根据所述机械臂的型号参数和/或所述机械臂工作场地的地形参数,匹配所述预设电子围栏的类型设置信息。
28、进一步地,所述机械臂碰撞检测方法还包括:
29、如果所述机械臂和所述初始电子围栏模型存在位置冲突,则基于移位后的所述机械臂实时的各关节包络模型的空间位姿信息,再次判断所述机械臂当前的各关节包络模型和所述初始电子围栏模型是否发生位置冲突,直至所述机械臂的移动位置允许所述预设电子围栏配置成功。
30、进一步地,所述机械臂碰撞检测方法还包括:
31、如果所述机械臂和所述初始电子围栏模型存在位置冲突,则获取所述预设电子围栏的类型调整信息和/或位置调整信息;
32、根据所述类型调整信息和/或所述位置调整信息,再次形成所述初始电子围栏模型;
33、基于再次形成的所述初始电子围栏模型,执行所述预设电子围栏的配置步骤。
34、相应地,本发明实施例的第二方面提供了一种机械臂碰撞检测装置,包括:
35、状态信息获取模块,其用于获取机械臂各关节当前的实时状态信息,并基于所述实时状态信息计算所述机械臂当前的各关节包络模型的空间位姿信息,所述实时状态信息包括:角度值和角速度值;
36、围栏干涉判断模块,其用于基于所述机械臂当前的各关节包络模型的空间位姿信息,判断所述机械臂当前的各关节包络模型与预设电子围栏是否发生干涉;
37、其中,所述预设电子围栏包括至少一个碰撞检测面,所述碰撞检测面根据所述机械臂的位置限制参数设置。
38、相应地,本发明实施例的第三方面提供了一种机器人,包括上述机械臂碰撞检测装置。
39、相应地,本发明实施例的第四方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述机械臂碰撞检测方法。
40、本发明实施例的上述技术方案具有如下有益的技术效果:
41、1、通过获取机械臂各关节实时状态信息,计算每一关节包络模型的空间位姿信息来判断该关节与预设电子围栏是否存在位置冲突,无需增加外部各类传感器,同时减少机械臂环境障碍物的建模工作量,提高了机械臂碰撞检测的效率,降低了碰撞检测的系统成本;
42、2、通过采用基于动力学模型的零力控制策略,在检测到机械臂与电子围栏发生碰撞时,将机械臂切换至零力控制模式,避免机械臂在与电子围栏发生碰撞时,其各个关节的驱动电机仍保持较大的驱动力,实现对机械臂各个关节的保护,并克服了机械臂悬停抖动的问题,提升了系统的安全性。
1.一种机械臂碰撞检测方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的机械臂碰撞检测方法,其特征在于,在所述机械臂当前的各关节包络模型与所述预设电子围栏发生干涉的情形下,所述机械臂碰撞检测方法还包括:
3.根据权利要求2所述的机械臂碰撞检测方法,其特征在于,所述根据所述机械臂各关节的所述实时状态信息,计算所述机械臂各关节受到的外力力矩值,包括:
4.根据权利要求3所述的机械臂碰撞检测方法,其特征在于,
5.根据权利要求4所述的机械臂碰撞检测方法,其特征在于,
6.根据权利要求1-5任一所述的机械臂碰撞检测方法,其特征在于,所述判断所述机械臂当前的各关节包络模型与预设电子围栏是否发生干涉之前,还包括:
7.根据权利要求6所述的机械臂碰撞检测方法,其特征在于,所述获取所述预设电子围栏的类型设置信息包括:
8.根据权利要求6所述的机械臂碰撞检测方法,其特征在于,所述机械臂碰撞检测方法还包括:
9.根据权利要求6所述的机械臂碰撞检测方法,其特征在于,所述机械臂碰撞检测方法还包括:
10.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-9任一所述的机械臂碰撞检测方法。