本申请涉及机器人控制领域,具体而言,涉及一种拖拽示教的实现方法及装置、存储介质、电子设备。
背景技术:
1、拖拽示教是机器人领域一项常用的人机交互技术,即通过实际操作来教导机器人学习特定任务或技能,目标对象会使用手动控制器或其他设备来直接操纵机器人完成特定任务,同时记录下机器人的动作和行为。这样一来,机器人就可以通过学习和模仿来掌握这些任务或技能。拖曳示教可以帮助机器人快速学习和适应各种复杂的任务。
2、传统的机器人拖拽示教方式是基于无力矩传感器的拖动示教,目标对象基于机械臂本体关节电流,补偿重力和部分关节摩擦力,在关节空间拖动机械臂,即目标对象直接转动每个关节,由目标对象手持牵引机器人到达指定位姿或沿特定轨迹移动,同时记录示教过程的位姿数据,以直观方式对机器人应用任务进行示教。
3、但是这种方式本质上依赖动力学模型和外力估计算法,与机械臂无电流被动掰关节没有区别,只是有电流的情况下更容易目标对象操作。并且这种方法无法使目标对象在日常生活的空间定义内进拖拽,无法限制拖拽的自由度,同时目标对象想要精准地将机器人以特定的姿态拖拽至特定的点位往往需要经过很多次的调整,并且需要自行思考机器人应处于何种关节构型下才能达到目标位置,小范围拖拽难以控制,拖拽示教效果差。
4、针对相关技术中,在不依赖机械臂上的力矩传感器进行拖拽示教时效果不佳的问题,目前尚未提出有效的解决方案。
5、因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。
技术实现思路
1、本申请实施例提供了一种拖拽示教的实现方法及装置、存储介质、电子设备,以至少解决相关技术中,在不依赖机械臂上的力矩传感器进行拖拽示教时效果不佳的问题。
2、根据本申请的一个实施例,提供了一种拖拽示教的实现方法,包括:在机器人的机械臂受到外力的情况下,确定所述机械臂的关节对应的外力矩;根据所述外力矩确定所述机械臂的末端的受力信息;根据所述受力信息实现所述机器人在笛卡尔空间的拖拽示教。
3、可选的,确定所述机械臂的关节对应的外力矩,包括:通过所述机器人的动力学模型,根据所述机器人的当前位姿、关节速度、关节加速度确定所述机械臂的关节的理论出力信息;获取所述机器人的电机反馈的所述机械臂的关节的实际出力信息;根据所述理论出力信息和所述实际出力信息确定所述关节对应的外力矩。
4、可选的,获取所述机器人的电机反馈的所述机械臂的关节的实际出力信息之后,所述方法还包括:根据所述理论出力信息和所述实际出力信息确定所述关节对应的外力矩之前,通过滤波器抑制所述实际出力信息的随机噪声。根据所述理论出力信息和所述实际出力信息确定所述关节对应的外力矩之后,所述方法还包括:确定在当前工况下所述动力学模型的力矩观测误差,其中,所述当前工况包括:所述当前位姿、所述关节速度、所述关节加速度;根据所述力矩观测误差对所述外力矩进行修正。
5、可选的,根据所述外力矩确定所述机械臂的末端的受力信息,包括:使用导纳控制算法将所述外力矩转化为运动向量;确定所述运动向量的折算系数集合,其中,所述折算系数集合中的每个折算系数与所述运动向量中的每个元素具有一一对应关系;根据所述折算系数集合对所述运动向量进行折算处理,得到所述机械臂的末端的受力信息。
6、可选的,得到所述机械臂的末端的受力信息之后,所述方法还包括:确定所述机器人在当前位姿下的几何雅可比矩阵;根据所述几何雅可比矩阵确定修正系数集合,其中,所述修正系数集合中的每个修正系数与所述运动向量中的每个元素具有一一对应关系,所述每个修正系数用于表征所述机器人对对应方向上的外力的敏感度;根据所述修正系数集合对所述机械臂的末端的受力信息进行修正。
7、可选的,根据所述几何雅可比矩阵确定修正系数集合,包括:确定与所述运动向量对应的单位向量集合,其中,所述单位向量集合中的每个单位向量的方向不同,所述单位向量集合中的单位向量的个数与所述运动向量的维度相等;通过以下方式确定所述修正系数集合中的第i个修正系数,以得到所述修正系数集合,其中,所述i等于所述运动向量的维度:将所述单位向量集合中的第i个单位向量乘以所述几何雅可比矩阵,得到第i个矩阵;计算所述第i个矩阵的模,得到所述第i个修正系数。
8、可选的,根据所述外力矩确定所述机械臂的末端的受力信息之后,所述方法还包括:根据所述受力信息实现所述机器人在笛卡尔空间的拖拽示教之前,使用带阻滤波器和低通滤波器抑制所述末端的受力信息中的噪声。
9、根据本申请的另一个实施例,提供了一种拖拽示教的实现装置,包括:第一确定模块,用于在机器人的机械臂受到外力的情况下,确定所述机械臂的关节对应的外力矩;第二确定模块,用于根据所述外力矩确定所述机械臂的末端的受力信息;实现模块,用于根据所述受力信息实现所述机器人在笛卡尔空间的拖拽示教。
10、根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
11、根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
12、通过本申请,在机器人的机械臂受到外力的情况下,确定所述机械臂的关节对应的外力矩;根据所述外力矩确定所述机械臂的末端的受力信息;根据所述受力信息实现所述机器人在笛卡尔空间的拖拽示教。通过将关节对应的外力矩转化为机械臂末端的受力信息实现拖拽示教,解决了现有技术中在不依赖机械臂上的力矩传感器进行拖拽示教时效果不佳的问题。进而达到了不依赖于任何力矩传感器即可实现机器人灵活的拖拽示教,拖拽示教过程省力并且可以实现精准拖拽,从而提升用户拖拽交互体验感的技术效果。
1.一种拖拽示教的实现方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,确定所述机械臂的关节对应的外力矩,包括:
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,根据所述外力矩确定所述机械臂的末端的受力信息,包括:
5.根据权利要求4所述的方法,其特征在于,得到所述机械臂的末端的受力信息之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,根据所述几何雅可比矩阵确定修正系数集合,包括:
7.根据权利要求1所述的方法,其特征在于,根据所述外力矩确定所述机械臂的末端的受力信息之后,所述方法还包括:
8.一种拖拽示教的实现装置,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的方法。
10.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。