CN112894827A - 一种机械臂运动控制方法、系统、装置及可读存储介质 - Google Patents
一种机械臂运动控制方法、系统、装置及可读存储介质 Download PDFInfo
- Publication number
- CN112894827A CN112894827A CN202110210584.5A CN202110210584A CN112894827A CN 112894827 A CN112894827 A CN 112894827A CN 202110210584 A CN202110210584 A CN 202110210584A CN 112894827 A CN112894827 A CN 112894827A
- Authority
- CN
- China
- Prior art keywords
- motion
- joint
- controller
- mechanical arm
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种机械臂运动控制方法,在运动控制器上建立了实时操作系统并实现了通信功能。基于三个异步定时器,运动控制器接收自上位机发送的运动控制指令,根据运动控制指令确定机械臂的运动路径,并根据运动路径生成对机械臂的各关节对应的关节控制器的关节控制指令,将关节控制指令下发至对应的关节控制器,通过多线程并发实现对上位机运动控制指令的快速响应和对机械臂关节的实时控制,从而大幅度提升了控制精度和控制响应速率,有助于实现多种运动模式,提升了机械臂的工作效率。本申请还公开了一种机械臂运动控制系统、装置及可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及机械臂运动控制领域,特别是涉及一种机械臂运动控制方法、系统、装置及可读存储介质。
背景技术
多自由度机器人是一种能够完成模拟人手臂、手腕和手功能的机械电子装置,它可以把任意物件或工具按空间位姿的时变要求进行移动,从而完成某一工业生产的作业要求。机械手自由度,是指传送机构机械手的运动灵活性。机械手的每一个自由度是由其操作机的独立驱动关节来实现的。
九自由度串联机械臂是一种超冗余机械臂,相对于传统的六自由度串联机械臂,具有更高的灵活性和冗余度。灵活性是指串联臂的解空间不唯一,可以根据工作需求选择最适合的位姿,可完成狭小空间内的灵活作业和避障等功能。冗余度是指当某些关节失效时,剩余的关节仍可保证机械臂的正常工作。九自由度串联机械臂在空间应用、深海探测和多臂协同工作等领域都具有很大的应用潜力。
然而,现有的机器人控制系统多为六自由度串联臂控制系统,不能控制九自由度串联机械臂。少数针对特定机器人设计的控制系统也仅满足了基本的定位需求,如执行一段特定的运动控制脚本,无法实现实时的运动控制,也无法结合传感器实现复杂的运动。
因此,提供一种能够配合超冗余机械臂实现实时运动控制的机械臂运动控制方案,是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的是提供一种机械臂运动控制方法、系统、装置及可读存储介质,用于配合超冗余机械臂实现实时运动控制。
为解决上述技术问题,本申请提供一种机械臂运动控制方法,基于运动控制器,包括:
接收自上位机发送的运动控制指令;
根据所述运动控制指令确定机械臂的运动路径,并根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令;
将所述关节控制指令下发至对应的所述关节控制器;
其中,所述运动控制器运行有用于实现所述运动控制器与所述上位机之间通信的第一异步定时器、用于实现所述运动控制器与各所述关节控制器之间通信的第二异步定时器以及用于执行所述机械臂的运动控制程序的第三异步定时器;所述第一异步定时器、所述第二异步定时器和所述第三异步定时器具有同等优先级。
可选的,还包括:
监听急停信号;
当接收到所述急停信号时,向所述关节控制器发送急停控制命令。
可选的,所述运动控制器还运行有用于实现所述运动控制器与设于所述机械臂末端的力传感器之间通信的第四异步定时器;
相应的,所述根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令,具体包括:
根据所述力传感器反馈的所述机械臂末端的受力信息对所述运动路径进行补偿,得到补偿后的运动路径;
根据所述补偿后的运动路径生成对各所述关节控制器的关节控制指令;
其中,所述第四异步定时器与所述第一异步定时器具有同等优先级。
可选的,所述运动控制器与所述上位机之间的通信协议为传输控制协议;所述运动控制器与各所述关节控制器之间的通信协议为控制局域网通信协议;所述运动控制器与所述力传感器之间的通信协议为用户数据报协议。
可选的,所述根据所述运动控制指令确定机械臂的运动路径,并根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令,具体包括:
根据各所述关节控制器反馈的各所述关节的关节角计算得到所述机械臂末端的笛卡尔空间坐标;
根据所述运动控制指令确定所述机械臂末端在笛卡尔空间的末端运动路径;
根据所述末端运动路径反解得到各所述关节的关节运动路径;
根据所述关节的关节运动路径生成对所述关节的关节控制器的关节控制指令。
可选的,所述运动控制指令的类型具体包括:关节点动控制指令、关节脚本运动控制指令、笛卡尔空间点动控制指令、笛卡尔空间脚本运动控制指令和定点运动控制指令。
为解决上述技术问题,本申请还提供一种机械臂运动控制系统,包括:上位机,与所述上位机连接的运动控制器,与所述运动控制器连接的与机械臂的各关节对应的关节控制器;
其中,所述上位机用于接收用户指令,根据所述用户指令生成运动控制指令,并将所述运动控制指令发送至所述运动控制器;
所述运动控制器运行有用于实现所述运动控制器与所述上位机之间通信的第一异步定时器、用于实现所述运动控制器与各所述关节控制器之间通信的第二异步定时器以及用于执行所述机械臂的运动控制程序的第三异步定时器,所述运动控制器用于接收自所述上位机发送的运动控制指令,根据所述运动控制指令确定所述机械臂的运动路径,并根据所述运动路径生成对各所述关节控制器的关节控制指令,将所述关节控制指令下发至对应的所述关节控制器;
其中,所述第一异步定时器、所述第二异步定时器和所述第三异步定时器具有同等优先级。
可选的,所述运动控制器还运行有用于实现所述运动控制器与设于所述机械臂末端的力传感器之间通信的第四异步定时器;
相应的,所述运动控制器根据所述运动路径生成对各所述关节控制器的关节控制指令,具体包括:
所述运动控制器根据所述力传感器反馈的所述机械臂末端的受力信息对所述运动路径进行补偿,得到补偿后的运动路径;
所述运动控制器根据所述补偿后的运动路径生成对各所述关节控制器的关节控制指令;
其中,所述第四异步定时器与所述第一异步定时器具有同等优先级。
为解决上述技术问题,本申请还提供一种机械臂运动控制装置,包括:
接收单元,用于基于第一异步定时器,接收自上位机发送的运动控制指令;
计算单元,用于基于第二异步定时器,根据所述运动控制指令确定机械臂的运动路径,并根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令;
发送单元,用于基于第三异步定时器,将所述关节控制指令下发至对应的所述关节控制器;
其中,所述第一异步定时器用于实现所述运动控制器与所述上位机之间的通信、所述第二异步定时器用于实现所述运动控制器与各所述关节控制器之间的通信,所述第三异步定时器用于执行所述机械臂的运动控制程序;所述第一异步定时器、所述第二异步定时器和所述第三异步定时器具有同等优先级。
为解决上述技术问题,本申请还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述机械臂运动控制方法的步骤。
本申请所提供的机械臂运动控制方法,在运动控制器上运行用于实现运动控制器与上位机之间通信的第一异步定时器、用于实现运动控制器与各关节控制器之间通信的第二异步定时器以及用于执行机械臂的运动控制程序的第三异步定时器,第一异步定时器、第二异步定时器和第三异步定时器具有同等优先级,因而在运动控制器上建立了实时操作系统并实现了通信功能。基于这三个异步定时器,运动控制器接收自上位机发送的运动控制指令,根据运动控制指令确定机械臂的运动路径,并根据运动路径生成对机械臂的各关节对应的关节控制器的关节控制指令,将关节控制指令下发至对应的关节控制器,通过多线程并发实现对上位机运动控制指令的快速响应和对机械臂关节的实时控制,从而大幅度提升了控制精度和控制响应速率,有助于实现多种运动模式,提升了机械臂的工作效率。
本申请还提供了一种机械臂运动控制系统、装置及可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种机械臂运动控制方法的流程图;
图2为本申请实施例提供的另一种机械臂运动控制方法的流程图;
图3为本申请实施例提供的一种机械臂运动控制系统的结构示意图;
图4为本申请实施例提供的一种机械臂运动控制装置的结构示意图。
具体实施方式
本申请的核心是提供一种机械臂运动控制方法、系统、装置及可读存储介质,用于配合超冗余机械臂实现实时运动控制。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种机械臂运动控制方法的流程图。
如图1所示,基于运动控制器,本申请实施例提供的机械臂运动控制方法:
S101:接收自上位机发送的运动控制指令。
S102:根据运动控制指令确定机械臂的运动路径,并根据运动路径生成对机械臂的各关节对应的关节控制器的关节控制指令。
S103:将关节控制指令下发至对应的关节控制器。
其中,运动控制器运行有用于实现运动控制器与上位机之间通信的第一异步定时器、用于实现运动控制器与各关节控制器之间通信的第二异步定时器以及用于执行机械臂的运动控制程序的第三异步定时器;第一异步定时器、第二异步定时器和第三异步定时器具有同等优先级。
在本申请实施例中,机械臂运动控制系统主要由上位机、运动控制器和关节控制器组成。
上位机用于提供人机交互接口,显示机械臂的控制状态,接收用户指令并将用户指令转换为运动控制命令发送至运动控制器。运动控制命令可以包括目标运动的相关参数(如目标位置和姿态、设定运动速度和加速度等)和系统命令(如使能、运行、寄存器读写、关节角采集开关等)等。
运动控制器用于运行实时操作系统,实现与上位机之间的通信以及与关节控制器之间的通信,通过多线程并发来实现对上位机指令的快速响应和对关节控制器的实时控制。在运动控制过程中,运动控制器具体应用进行机械臂运动学正反解运算求解机械臂的目标位姿在各关节空间的广义坐标,利用轨迹插补算法生成机械臂的当前位姿和机械臂的目标位姿之间的轨迹等。
关节控制器受运动控制器的控制进行运动,每个关节控制器具有唯一ID。
在具体实施中,本申请实施例采用分布式控制软件架构,运行在NI LabviewRealtime实时模块上,是一种实时控制系统。基于NI Labview Realtime实时模块创建第一异步定时器、第二异步定时器和第三异步定时器,还可以设置其他控制线程,实现多线程并发,达到实时运动控制的目的。出于安全性考虑,本申请实施例提供的机械臂运动控制方法还包括:监听急停信号;当接收到急停信号时,向关节控制器发送急停控制命令。通过设置一个用于监听并触发急停信号的控制线程,保障机器人和操作员的运行安全性,该控制线程具有最高优先级。第一异步定时器、第二异步定时器和第三异步定时器分别执行通信任务和机械臂运动控制任务,具有中等优先级,同时满足实时性和可控性。
本申请实施例的通信架构主要包括上位机与运动控制器之间的通信、运动控制器与关节控制器之间的通信。
运动控制器与上位机之间的通信协议采用传输控制(TCP)协议。在上位机中搭建UI界面和传输控制服务器(TCP SERVER)。在UI界面上提供给操作人员输入用户指令或选择指令选项的模块,指令选项的类型可以包括使能、运行、停止、急停、寄存器读写、发送脚本指令、机械臂运动模式等,各类型对应多个可选项,以供操作人员进行输入或选择。UI界面还包括实时显示机械臂的关节角度等状态信息的模块,以供操作人员查看。上位机在接收到操作人员输入的用户指令后,生成相应的运动控制指令,采用TCP协议发送至运动控制器。运动控制器采用TCP协议向上位机发送机械臂的状态参数,如关节角、关节状态等。
运动控制器与各关节控制器之间基于控制局域网路(Controller Area Network,CAN)实现通信,采用控制局域网通信协议(CANopen)。运动控制器采用CANopen协议接收关节控制器发送的关节角、寄存器和关节状态等数据,并将根据运动控制指令生成的关节控制指令发送至关节控制器。
基于上述机械臂运动控制系统,对于步骤S101来说,当操作人员在上位机输入用户指令后,上位机根据用户指令生成运动控制指令,采用TCP协议发送至运动控制器。运动控制器接收上位机发送的运动控制指令。该运动控制指令可以为对机械臂关节的控制指令,也可以对机械臂末端的控制指令。
对于步骤S102来说,运动控制器根据运动控制指令进行路径规划,从而得到机械臂的运动路径以及在该运动路径上的运动模型。运动控制器确定机械臂的运动路径,具体为按照运动控制指令中给定的速度、加速度和加加速度值等,规划机械臂从起始位置至中间位置的速度数组,轨迹规划包含加速和减速过程,达到最大速度后,按照最大速度匀速行驶。最后将速度数组插补成位置数组,以便控制机械臂运动。机械臂的运动模型可以采用T型曲线,也可以采用S型曲线。
在路径规划过程中,对于针对机械臂末端的运动控制指令,运动控制器需要基于预先部署的机械臂运动学正解算法和机械臂运动学反解算法进行机械臂运动学正反解运算。机械臂运动学正解运算是由机械臂关节角计算机械臂末端的笛卡尔空间坐标的算法过程,机械臂运动学反解运算则是由机械臂末端的笛卡尔空间坐标计算机械臂关节角的算法过程。则步骤S102具体可以包括:
根据各关节控制器反馈的各关节的关节角计算得到机械臂末端的笛卡尔空间坐标;
根据运动控制指令确定机械臂末端在笛卡尔空间的末端运动路径;
根据末端运动路径反解得到各关节的关节运动路径;
根据关节的关节运动路径生成对关节的关节控制器的关节控制指令。
其中,关节控制指令包括关节角的调整角度、调整速率等参数。
对于针对机械臂关节的运动控制指令,运动控制器则直接根据运动控制指令进行相应关节的控制。
由于机械臂的运动控制对实时性要求较高,如在本申请实施例中可以设置为执行周期为5ms,频率为200hz,要求路径规划算法和机械臂运动学反解运算在一个周期内执行完毕并将结果发送至关节控制器和上位机,故在本申请实施例的基础上,通过优化路径规划算法和机械臂运动学反解运算,可以有效实现超冗余机械臂的实时运动控制。
对于步骤S103来说,运动控制器将根据运动路径生成的对机械臂的各关节对应的关节控制器的关节控制指令,并分发至对应的关节控制器。在控制过程中,运动控制器接收关节控制器发送的关节角、寄存器、关节状态等数据,并向关节控制器发送关节控制指令。具体地,运动控制器将关节控制指令(如关节角信息)封装成CAN帧,发送至CAN总线,每个关节有固定ID,各关节控制器按照对应的关节的ID接收到数据帧,将其解算成角度值,按照此值规划关节角的运动。由于每个关节有单独的关节控制器,因此,宏观上看,所有关节的运动是并发执行的。
本申请实施例提供的机械臂运动控制方法,在运动控制器上运行用于实现运动控制器与上位机之间通信的第一异步定时器、用于实现运动控制器与各关节控制器之间通信的第二异步定时器以及用于执行机械臂的运动控制程序的第三异步定时器,第一异步定时器、第二异步定时器和第三异步定时器具有同等优先级,因而在运动控制器上建立了实时操作系统并实现了通信功能。基于这三个异步定时器,运动控制器接收自上位机发送的运动控制指令,根据运动控制指令确定机械臂的运动路径,并根据运动路径生成对机械臂的各关节对应的关节控制器的关节控制指令,将关节控制指令下发至对应的关节控制器,通过多线程并发实现对上位机运动控制指令的快速响应和对机械臂关节的实时控制,从而大幅度提升了控制精度和控制响应速率,有助于实现多种运动模式,提升了机械臂的工作效率。
在上述实施例的基础上,为实现机械臂结合传感器实现复杂运动,还可以建立运动控制器与机械臂的传感器之间的通信,通过与第一异步定时器等同等优先级的异步定时器实现基于传感器的机械臂运动实时控制。传感器可以为视觉传感器、力传感器等。
以力传感器为例,在本申请实施例提供的机械臂运动控制方法中,运动控制器还运行有用于实现运动控制器与设于机械臂末端的力传感器之间通信的第四异步定时器。
相应的,步骤S102中根据运动路径生成对机械臂的各关节对应的关节控制器的关节控制指令,具体包括:
根据力传感器反馈的机械臂末端的受力信息对运动路径进行补偿,得到补偿后的运动路径;
根据补偿后的运动路径生成对各关节控制器的关节控制指令。
其中,第四异步定时器与第一异步定时器具有同等优先级。
在具体实施中,运动控制器与力传感器之间可以采用用户数据报协议(UserDatagram Protocol,UDP)进行通信。运动控制器采用UDP协议向力传感器发送控制指令,力传感器通过UDP协议传送受力信息(包括力信息和力矩信息)。运动控制器根据关节控制器反馈的关节状态信息和力传感器反馈的机械臂受力信息确定机械臂的运动情况,结合运动控制指令将机械臂分为多个状态,根据当前状态为机械臂规划相应的运动形式和参数信息。
力传感器具体可以安装于机械臂末端的夹具处,当操作人员通过该夹具引导机械臂运动时,通过力传感器测得操作人员的引导对机械臂的运动带来的影响,以便运动控制器做出相应的补偿计算。
在上述实施例的基础上,运动控制指令的类型具体包括:关节点动控制指令、关节脚本运动控制指令、笛卡尔空间点动控制指令、笛卡尔空间脚本运动控制指令和定点运动控制指令。
其中,关节点动控制指令和关节脚本运动控制指令为针对关节的控制指令。关节点动控制指令具体给出单关节的速度设定值、加速度设定值等,在上位机给出开始关节点动的命令(可以由工作人员点击/按下上位机提供的点动按钮)后,运动控制器持续规划运动路径,并以此控制关节运动,直至上位机给出停止关节点动的命令(如工作人员抬起点动按钮),做减速运动直至停止。关节脚本运动控制指令具体给出关节角运动路径的脚本,运动控制器读取该脚本,并控制对应关节的关节控制器按照该脚本的关节角数据运动。
笛卡尔空间点动控制指令、笛卡尔空间脚本运动控制指令和定点运动控制指令均为针对机械臂末端的控制指令。
笛卡尔空间点动共包含六种运动方向,分别为xyz方向的平移和旋转。笛卡尔空间点动控制指令具体给出运动方向、速度和加速度,上位机给出开始笛卡尔空间点动的命令(可以由工作人员点击/按下上位机提供的点动按钮)后,运动控制模块持续规划笛卡尔运动路径,并进行机械臂运动学反解运算得到对应的关节角度,以此控制关节角运动,直至上位机给出停止笛卡尔空间点动的命令(如工作人员抬起点动按钮),做减速运动直至运动停止。笛卡尔空间脚本运动控制指令具体给出机械臂末端运动路径的脚本,运动控制器解析该脚本后,控制机械臂的各个关节使得机械臂末端按照既定路径运动。定点运动控制指令具体给出机械臂末端运动的目标点,由运动控制器自行规划出一条自当前点到目标点的运动路径,再反解到关节角,控制机械臂的各个关节使得机械臂末端按照既定路径运动。
在运动控制器执行运动控制指令时,若机械臂运动控制系统中存在传感器,则运动控制器根据传感器反馈的信息对当前运动规划进行补偿计算。例如对于力传感器,运动控制器实时采集位于机械臂末端的力传感器反馈的力信息和力矩信息,将力信息和力矩信息转换到工具坐标系内,解算出机械臂末端的速度信息,再通过差分解算出位移信息,最终转换到关节角,控制机械臂运动。
图2为本申请实施例提供的另一种机械臂运动控制方法的流程图。
在上述实施例的基础上,本申请实施例提供一种优选的机械臂运动控制方法,如图2所示,具体包括:
S201:机械臂运动控制系统上电后,上位机、运动控制器和各关节控制器进行初始化。
具体地,关节控制器进行关节自检、CAN总线初始化和寄存器初始化;上位机进行UI界面初始化和TCP SERVER的搭建;运动控制器开启所有定时器和线程,建立UDP CLIENT访问力传感器,建立TCP CLIENT访问上位机,连接CAN总线接收各关节控制器的数据帧。
S202:初始化成功后,关节控制器持续发送关节角和关节状态至CAN总线。若运动控制器接收到上位机发送的使能信号,则进入就绪状态。
S203:运动控制器判断接收到的指令内容,若接收到上位机发送的运动控制指令,则进入步骤S204;若接收到力传感器反馈的受力信息,则进入步骤S212。
具体地,运动控制器在进入就绪状态后,可以对关节控制器的寄存器进行读写操作,但不能控制关节运动,运动控制器和各关节控制器自动校准零位寄存器,设置当前位置为零位,直至接收到运动控制指令或受力信息。受力信息包括力信息和力矩信息。
S204:运动控制器根据运动控制指令判断机械臂的运动形式;若为关节点动控制指令,则进入步骤S205;若为关节脚本运动控制指令,则进入步骤S206;若为笛卡尔空间点动控制指令,则进入步骤S207;若为笛卡尔空间脚本运动控制指令,则进入步骤S208。
S205:运动控制器根据关节点动控制指令规划出关节运动路径,而后进入步骤S210。
具体地,运动控制器根据关节点动控制指令中的速度设定值和加速度设定值计算目标关节的关节角度值,按照T曲线规划目标关节的加速、匀速阶段,若此时接到停止点动的指令,则令加速度取反,继续运动直至速度为0。
S206:运动控制器读取并析关节角脚本得到关节运动路径,而后进入步骤S210。
具体地,运动控制器确定关节角脚本规划出的关节运动路径中的关节角度值。
S207:运动控制器根据笛卡尔空间点动控制指令规划出机械臂末端运动路径,而后进入步骤S209。
具体地,运动控制器根据笛卡尔空间点动控制指令中的速度设定值和加速度设定值计算机械臂末端在笛卡尔空间的路径,按照T曲线规划机械臂末端的笛卡尔空间的加速、匀速阶段,若此时接到停止点动的指令,则令加速度取反,继续运动直至速度为0。
S208:运动控制器读取并分析笛卡尔空间脚本得到机械臂末端运动路径,而后进入步骤S209。
S209:运动控制器应用机械臂运动学反解算法,根据机械臂末端运动路径的笛卡尔空间坐标解算出目标关节的关节运动路径后,进入步骤S210。
S210:运动控制器根据关节运动路径生成关节控制指令,发送至对应的关节控制器以控制机械臂运动。
S211:在控制机械臂运动的过程中,运动控制器判断接收到的指令信息的内容;若接收到力传感器反馈的受力信息,则进入步骤S212;若接收到上位机发送的停止命令,则进入步骤S213;若接收到关节控制器反馈的所有关节控制命令都执行完毕的信息,则返回步骤S203。
S212:运动控制器将受力信息转换为机械臂末端的笛卡尔空间坐标信息,而后通过运动补偿的方式根据受力信息调整关节控制指令。
S213:运动控制器控制各关节控制器,进而控制机械臂进入停止状态。
上文详述了机械臂运动控制方法对应的各个实施例,在此基础上,本申请还公开了与上述方法对应的机械臂运动控制系统、装置及可读存储介质。
图3为本申请实施例提供的一种机械臂运动控制系统的结构示意图。
如图3所示,本申请实施例提供的机械臂运动控制系统包括:上位机301,与上位机301连接的运动控制器302,与运动控制器302连接的与机械臂的各关节对应的关节控制器303;
其中,上位机301用于接收用户指令,根据用户指令生成运动控制指令,并将运动控制指令发送至运动控制器302;
运动控制器302运行有用于实现运动控制器302与上位机301之间通信的第一异步定时器、用于实现运动控制器302与各关节控制器303之间通信的第二异步定时器以及用于执行机械臂的运动控制程序的第三异步定时器,运动控制器302用于接收自上位机301发送的运动控制指令,根据运动控制指令确定机械臂的运动路径,并根据运动路径生成对各关节控制器303的关节控制指令,将关节控制指令下发至对应的关节控制器303;
其中,第一异步定时器、第二异步定时器和第三异步定时器具有同等优先级。
进一步的,运动控制器302还运行有用于实现运动控制器302与设于机械臂末端的力传感器之间通信的第四异步定时器;
相应的,运动控制器302根据运动路径生成对各关节控制器303的关节控制指令,具体包括:
运动控制器302根据力传感器反馈的机械臂末端的受力信息对运动路径进行补偿,得到补偿后的运动路径;
运动控制器302根据补偿后的运动路径生成对各关节控制器303的关节控制指令;
其中,第四异步定时器与第一异步定时器具有同等优先级。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图4为本申请实施例提供的一种机械臂运动控制装置的结构示意图。
如图4所示,本申请实施例提供的机械臂运动控制装置包括:
接收单元401,用于基于第一异步定时器,接收自上位机发送的运动控制指令;
计算单元402,用于基于第二异步定时器,根据运动控制指令确定机械臂的运动路径,并根据运动路径生成对机械臂的各关节对应的关节控制器的关节控制指令;
发送单元403,用于基于第三异步定时器,将关节控制指令下发至对应的关节控制器;
其中,第一异步定时器用于实现运动控制器与上位机之间的通信、第二异步定时器用于实现运动控制器与各关节控制器之间的通信,第三异步定时器用于执行机械臂的运动控制程序;第一异步定时器、第二异步定时器和第三异步定时器具有同等优先级。
进一步的,本申请实施例提供的机械臂运动控制装置还可以包括:
监听单元,用于监听急停信号;
控制单元,用于当接收到急停信号时,向关节控制器发送急停控制命令。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
需要说明的是,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。
为此,本申请实施例还提供一种可读存储介质,该可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如机械臂运动控制方法的步骤。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-Only Memory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的机械臂运动控制方法的步骤,效果同上。
以上对本申请所提供的一种机械臂运动控制方法、系统、装置及可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统、装置及可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种机械臂运动控制方法,其特征在于,基于运动控制器,包括:
接收自上位机发送的运动控制指令;
根据所述运动控制指令确定机械臂的运动路径,并根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令;
将所述关节控制指令下发至对应的所述关节控制器;
其中,所述运动控制器运行有用于实现所述运动控制器与所述上位机之间通信的第一异步定时器、用于实现所述运动控制器与各所述关节控制器之间通信的第二异步定时器以及用于执行所述机械臂的运动控制程序的第三异步定时器;所述第一异步定时器、所述第二异步定时器和所述第三异步定时器具有同等优先级。
2.根据权利要求1所述的机械臂运动控制方法,其特征在于,还包括:
监听急停信号;
当接收到所述急停信号时,向所述关节控制器发送急停控制命令。
3.根据权利要求1所述的机械臂运动控制方法,其特征在于,所述运动控制器还运行有用于实现所述运动控制器与设于所述机械臂末端的力传感器之间通信的第四异步定时器;
相应的,所述根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令,具体包括:
根据所述力传感器反馈的所述机械臂末端的受力信息对所述运动路径进行补偿,得到补偿后的运动路径;
根据所述补偿后的运动路径生成对各所述关节控制器的关节控制指令;
其中,所述第四异步定时器与所述第一异步定时器具有同等优先级。
4.根据权利要求3所述的机械臂运动控制方法,其特征在于,所述运动控制器与所述上位机之间的通信协议为传输控制协议;所述运动控制器与各所述关节控制器之间的通信协议为控制局域网通信协议;所述运动控制器与所述力传感器之间的通信协议为用户数据报协议。
5.根据权利要求1所述的机械臂运动控制方法,其特征在于,所述根据所述运动控制指令确定机械臂的运动路径,并根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令,具体包括:
根据各所述关节控制器反馈的各所述关节的关节角计算得到所述机械臂末端的笛卡尔空间坐标;
根据所述运动控制指令确定所述机械臂末端在笛卡尔空间的末端运动路径;
根据所述末端运动路径反解得到各所述关节的关节运动路径;
根据所述关节的关节运动路径生成对所述关节的关节控制器的关节控制指令。
6.根据权利要求1所述的机械臂运动控制方法,其特征在于,所述运动控制指令的类型具体包括:关节点动控制指令、关节脚本运动控制指令、笛卡尔空间点动控制指令、笛卡尔空间脚本运动控制指令和定点运动控制指令。
7.一种机械臂运动控制系统,其特征在于,包括:上位机,与所述上位机连接的运动控制器,与所述运动控制器连接的与机械臂的各关节对应的关节控制器;
其中,所述上位机用于接收用户指令,根据所述用户指令生成运动控制指令,并将所述运动控制指令发送至所述运动控制器;
所述运动控制器运行有用于实现所述运动控制器与所述上位机之间通信的第一异步定时器、用于实现所述运动控制器与各所述关节控制器之间通信的第二异步定时器以及用于执行所述机械臂的运动控制程序的第三异步定时器,所述运动控制器用于接收自所述上位机发送的运动控制指令,根据所述运动控制指令确定所述机械臂的运动路径,并根据所述运动路径生成对各所述关节控制器的关节控制指令,将所述关节控制指令下发至对应的所述关节控制器;
其中,所述第一异步定时器、所述第二异步定时器和所述第三异步定时器具有同等优先级。
8.根据权利要求7所述的机械臂运动控制系统,其特征在于,所述运动控制器还运行有用于实现所述运动控制器与设于所述机械臂末端的力传感器之间通信的第四异步定时器;
相应的,所述运动控制器根据所述运动路径生成对各所述关节控制器的关节控制指令,具体包括:
所述运动控制器根据所述力传感器反馈的所述机械臂末端的受力信息对所述运动路径进行补偿,得到补偿后的运动路径;
所述运动控制器根据所述补偿后的运动路径生成对各所述关节控制器的关节控制指令;
其中,所述第四异步定时器与所述第一异步定时器具有同等优先级。
9.一种机械臂运动控制装置,其特征在于,包括:
接收单元,用于基于第一异步定时器,接收自上位机发送的运动控制指令;
计算单元,用于基于第二异步定时器,根据所述运动控制指令确定机械臂的运动路径,并根据所述运动路径生成对所述机械臂的各关节对应的关节控制器的关节控制指令;
发送单元,用于基于第三异步定时器,将所述关节控制指令下发至对应的所述关节控制器;
其中,所述第一异步定时器用于实现所述运动控制器与所述上位机之间的通信、所述第二异步定时器用于实现所述运动控制器与各所述关节控制器之间的通信,所述第三异步定时器用于执行所述机械臂的运动控制程序;所述第一异步定时器、所述第二异步定时器和所述第三异步定时器具有同等优先级。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述机械臂运动控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110210584.5A CN112894827B (zh) | 2021-02-25 | 2021-02-25 | 一种机械臂运动控制方法、系统、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110210584.5A CN112894827B (zh) | 2021-02-25 | 2021-02-25 | 一种机械臂运动控制方法、系统、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112894827A true CN112894827A (zh) | 2021-06-04 |
CN112894827B CN112894827B (zh) | 2022-09-02 |
Family
ID=76107157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110210584.5A Active CN112894827B (zh) | 2021-02-25 | 2021-02-25 | 一种机械臂运动控制方法、系统、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112894827B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114473324A (zh) * | 2022-02-21 | 2022-05-13 | 哈尔滨工业大学(深圳) | 基于示教学习的多机械臂协同拼接焊接控制方法及系统 |
CN114932555A (zh) * | 2022-06-14 | 2022-08-23 | 如你所视(北京)科技有限公司 | 机械臂协同作业系统及机械臂控制方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195946A (zh) * | 2010-03-16 | 2011-09-21 | 上海交技发展股份有限公司 | 基于arm技术的智能通信控制器 |
CN102455940A (zh) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | 一种定时器和异步事件的处理方法及系统 |
CN102880064A (zh) * | 2011-07-13 | 2013-01-16 | 库卡罗伯特有限公司 | 机器人控制装置 |
CN103722565A (zh) * | 2014-01-23 | 2014-04-16 | 哈尔滨工业大学 | 仿人机器人自碰撞监控系统及监控方法 |
CN106272416A (zh) * | 2016-08-29 | 2017-01-04 | 上海交通大学 | 基于力觉和视觉的机器人细长轴精密装配系统及方法 |
CN106607901A (zh) * | 2015-10-21 | 2017-05-03 | 田荣侠 | 一种3自由度气动串联机械手的关节控制器 |
CN107132814A (zh) * | 2017-02-24 | 2017-09-05 | 上海交通大学 | 基于机器视觉状态监控与误差补偿的开放式数控系统 |
CN107932504A (zh) * | 2017-11-13 | 2018-04-20 | 浙江工业大学 | 基于PyQt的机械臂运行控制系统 |
CN109249395A (zh) * | 2018-10-18 | 2019-01-22 | 清华大学深圳研究生院 | 一种多功能多足机器人控制系统 |
CN110549334A (zh) * | 2019-08-15 | 2019-12-10 | 大连大华中天科技有限公司 | 一种四自由度机械手臂的控制方法 |
CN112045677A (zh) * | 2020-08-10 | 2020-12-08 | 华东理工大学 | 一种航空发动机涡轮盘螺栓孔智能强化系统及其控制方法 |
CN112548527A (zh) * | 2020-12-08 | 2021-03-26 | 扬州舞指芯创智能科技有限公司 | 一种基于多相机视觉伺服的动态轴孔装配的装置和方法 |
-
2021
- 2021-02-25 CN CN202110210584.5A patent/CN112894827B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195946A (zh) * | 2010-03-16 | 2011-09-21 | 上海交技发展股份有限公司 | 基于arm技术的智能通信控制器 |
CN102455940A (zh) * | 2010-10-29 | 2012-05-16 | 迈普通信技术股份有限公司 | 一种定时器和异步事件的处理方法及系统 |
CN102880064A (zh) * | 2011-07-13 | 2013-01-16 | 库卡罗伯特有限公司 | 机器人控制装置 |
US20130018507A1 (en) * | 2011-07-13 | 2013-01-17 | Kuka Roboter Gmbh | Control System Of A Robot |
CN103722565A (zh) * | 2014-01-23 | 2014-04-16 | 哈尔滨工业大学 | 仿人机器人自碰撞监控系统及监控方法 |
CN106607901A (zh) * | 2015-10-21 | 2017-05-03 | 田荣侠 | 一种3自由度气动串联机械手的关节控制器 |
CN106272416A (zh) * | 2016-08-29 | 2017-01-04 | 上海交通大学 | 基于力觉和视觉的机器人细长轴精密装配系统及方法 |
CN107132814A (zh) * | 2017-02-24 | 2017-09-05 | 上海交通大学 | 基于机器视觉状态监控与误差补偿的开放式数控系统 |
CN107932504A (zh) * | 2017-11-13 | 2018-04-20 | 浙江工业大学 | 基于PyQt的机械臂运行控制系统 |
CN109249395A (zh) * | 2018-10-18 | 2019-01-22 | 清华大学深圳研究生院 | 一种多功能多足机器人控制系统 |
CN110549334A (zh) * | 2019-08-15 | 2019-12-10 | 大连大华中天科技有限公司 | 一种四自由度机械手臂的控制方法 |
CN112045677A (zh) * | 2020-08-10 | 2020-12-08 | 华东理工大学 | 一种航空发动机涡轮盘螺栓孔智能强化系统及其控制方法 |
CN112548527A (zh) * | 2020-12-08 | 2021-03-26 | 扬州舞指芯创智能科技有限公司 | 一种基于多相机视觉伺服的动态轴孔装配的装置和方法 |
Non-Patent Citations (1)
Title |
---|
史君成 等: "《LabWindows虚拟仪器设计》", 30 April 2007 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114473324A (zh) * | 2022-02-21 | 2022-05-13 | 哈尔滨工业大学(深圳) | 基于示教学习的多机械臂协同拼接焊接控制方法及系统 |
CN114473324B (zh) * | 2022-02-21 | 2023-11-03 | 哈尔滨工业大学(深圳) | 基于示教学习的多机械臂协同拼接焊接控制方法及系统 |
CN114932555A (zh) * | 2022-06-14 | 2022-08-23 | 如你所视(北京)科技有限公司 | 机械臂协同作业系统及机械臂控制方法 |
CN114932555B (zh) * | 2022-06-14 | 2024-01-05 | 如你所视(北京)科技有限公司 | 机械臂协同作业系统及机械臂控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112894827B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9492925B2 (en) | Robot controller, robot system, robot, robot control method, and program | |
Safeea et al. | Kuka sunrise toolbox: Interfacing collaborative robots with matlab | |
US9393687B2 (en) | Method for programming an industrial robot and industrial robot | |
CN106945043B (zh) | 一种主从式遥操作手术机器人多臂协同控制系统 | |
CN108656112B (zh) | 一种面向直接示教的机械臂零力控制实验系统 | |
Kröger | Opening the door to new sensor-based robot applications—The Reflexxes Motion Libraries | |
Cherubini et al. | Multimodal control for human-robot cooperation | |
CN112894827B (zh) | 一种机械臂运动控制方法、系统、装置及可读存储介质 | |
WO2010136961A1 (en) | Control device and method for controlling a robot | |
Surdilovic et al. | Development of collaborative robots (cobots) for flexible human-integrated assembly automation | |
EP3441201B1 (en) | Method for operating a robot and robotic system | |
CN110709211B (zh) | 机器人系统和机器人系统的控制方法 | |
Decré et al. | Extending the iTaSC constraint-based robot task specification framework to time-independent trajectories and user-configurable task horizons | |
US20180250816A1 (en) | Control system, setting device, setting method, and storage device | |
CN115502979A (zh) | 一种机械臂力矩主动柔顺精确控制方法及系统 | |
Hayward et al. | Introduction to RCCL: A robot control &C& library | |
KR20230154076A (ko) | 실시간 로보틱스 제어 프레임워크 | |
KR100853167B1 (ko) | 네트워크 기반의 탑재형 로봇 제어 시스템 | |
KR101474778B1 (ko) | 다관절 로봇의 동작인식을 통한 제어장치 및 그 방법 | |
Mineo et al. | Interfacing toolbox for robotic arms with real-time adaptive behavior capabilities | |
Liang et al. | Human-robot collaborative semi-autonomous teleoperation with force feedback | |
Zieliński et al. | Multi-robot system controllers | |
Caccavale et al. | RePLiCS: An environment for open real-time control of a dual-arm industrial robotic cell based on RTAI-Linux | |
Ibarguren et al. | Control strategies for dual arm co-manipulation of flexible objects in industrial environments | |
CN117083157A (zh) | 用于控制机器人的位移的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |