协作机械臂实时手动控制装置、控制方法及协作系统转让专利

申请号 : CN202310754909.5

文献号 : CN116494249B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王迎智戈朝波张书猛

申请人 : 极限人工智能(北京)有限公司

摘要 :

本发明属于机器人控制技术领域,为了解决协作机械臂无法统一化配置手动模式,协作机械臂研发周期长的问题,提供了一种协作机械臂实时手动控制装置、控制方法及协作系统。其中,协作机械臂实时手动控制装置包括:关节监听模块用于监听协作机械臂当前时刻的各轴关节位置及速度信号并发送至扩展MoveIt接口;扩展MoveIt接口用于实时接收协作机械臂当前时刻的各轴关节位置及速度信号,根据预先确定的手动控制模式计算机械臂下一时刻的各轴关节位置;手动控制模块用于向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置。其可统一化配置协作机械臂的手动模式,快速缩短研发周期的时间。

权利要求 :

1.一种协作机械臂实时手动控制装置,其特征在于,包括:关节监听模块、扩展MoveIt接口和手动控制模块;

所述关节监听模块,用于监听协作机械臂当前时刻的各轴关节位置及速度信号并发送至所述扩展MoveIt接口;

所述扩展MoveIt接口,用于实时接收协作机械臂当前时刻的各轴关节位置及速度信号,并根据预先确定的手动控制模式来计算机械臂下一时刻的各轴关节位置;

所述手动控制模式包括关节控制模式和末端位姿控制模式;

当手动控制模式为关节控制模式时,所述扩展MoveIt接口用于根据当前时刻的各轴关节位置及速度信号,计算下一时刻关节位置;

当手动控制模式为末端位姿控制模式时,所述扩展MoveIt接口用于根据当前时刻的各轴关节位置及速度信号,首先计算下一时刻位姿,再反解求得下一时刻各关节位置;

所述手动控制模块,用于根据机械臂下一时刻的各轴关节位置,向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置;

采用话题插件扩展MoveIt接口,结合CODESYS实时控制软件实时监听机械臂各轴关节位置及速度指令,各轴关节位置通过实时读取CODESYS中共享内存数据得到,然后根据速度指令计算机械臂末端下一时刻位姿或者机械臂某关节的位置,并写入共享内存,由机械臂执行下一时刻轨迹点位,最终实现对机械臂的实时手动控制模式功能。

2.如权利要求1所述的协作机械臂实时手动控制装置,其特征在于,所述扩展MoveIt接口还用于将计算的机械臂下一时刻的各轴关节位置发送至共享内存中进行存储。

3.如权利要求2所述的协作机械臂实时手动控制装置,其特征在于,所述手动控制模块用于从所述共享内存中调取机械臂下一时刻的各轴关节位置。

4.如权利要求1‑3任一项所述的协作机械臂实时手动控制装置的控制方法,其特征在于,包括:监听协作机械臂当前时刻的各轴关节位置及速度信号;

根据协作机械臂当前时刻的各轴关节位置及速度信号以及预先确定的手动控制模式,计算机械臂下一时刻的各轴关节位置;

当手动控制模式为关节控制模式时,根据当前时刻的各轴关节位置及速度信号,计算下一时刻关节位置;

当手动控制模式为末端位姿控制模式时,根据当前时刻的各轴关节位置及速度信号,首先计算下一时刻位姿,再反解求得下一时刻各关节位置;

根据机械臂下一时刻的各轴关节位置,向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置。

5.如权利要求4所述的控制方法,其特征在于,机械臂下一时刻的各轴关节位置存储在共享内存中。

6.一种协作系统,其特征在于,包括协作机械臂以及如权利要求1‑3中任一项所述的协作机械臂实时手动控制装置。

说明书 :

协作机械臂实时手动控制装置、控制方法及协作系统

技术领域

[0001] 本发明属于机器人控制技术领域,尤其涉及一种协作机械臂实时手动控制装置、控制方法及协作系统。

背景技术

[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
[0003] 传统的工业机械臂与人之间缺少协作、交互,并且存在以下缺点:一是体积大,生产周期较长,对于更新迭代较快的领域适应性差;二是需要点动示教,示教过程复杂;三是出于安全考虑,机械臂需要被隔离在安全门之内,机械臂与机械臂、机械臂与人之间不能像人类一样进行协作及交互,人类所具有的智能感知、灵巧操作以及协调控制的能力并不能在传统的工业机械臂上体现,导致其在电子信息、家庭服务和轻功装配等领域的应用受到限制。与传统的工业机械臂不同,协作机械臂是一种新型的工业机器人,具有质量轻、体积小、安全性高等优点,不需要设置围栏,能与操作人员在同一空间内进行协同工作。
[0004] 现有的MoveIt作为机械臂轨迹规划系统,主要用于机械臂末端工作空间轨迹规划或者轴关节空间轨迹规划,此轨迹规划属于离线式规划,而且MoveIt本身基于ROS作为底层通讯机制,多数功能服务接口通常为service或者action server两种,但此方式响应时间较长不适用于实时的手动控制模式。而对于协作机械臂使用者来说,手动模式实际使用过程中不可或缺,若想实现手动模式,研发人员需要针对不同型号及应用于不同领域的协作机械臂,单独进行匹配编程,这样使得协作机械臂无法统一化配置手动模式,延长了协作机械臂的研发周期。

发明内容

[0005] 为了解决上述背景技术中存在的技术问题,本发明提供一种协作机械臂实时手动控制装置、控制方法及协作系统,其可以统一化配置协作机械臂的手动模式,快速的缩短研发周期的时间,使协作机械臂快速成型。
[0006] 为了实现上述目的,本发明采用如下技术方案:
[0007] 本发明的第一个方面提供一种协作机械臂实时手动控制装置。
[0008] 一种协作机械臂实时手动控制装置,其包括:关节监听模块、扩展MoveIt接口和手动控制模块;
[0009] 所述关节监听模块,用于监听协作机械臂当前时刻的各轴关节位置及速度信号并发送至所述扩展MoveIt接口;
[0010] 所述扩展MoveIt接口,用于实时接收协作机械臂当前时刻的各轴关节位置及速度信号,并根据预先确定的手动控制模式来计算机械臂下一时刻的各轴关节位置;
[0011] 所述手动控制模块,用于根据机械臂下一时刻的各轴关节位置,向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置。
[0012] 作为一种实施方式,所述扩展MoveIt接口还用于将计算的机械臂下一时刻的各轴关节位置发送至共享内存中进行存储。
[0013] 上述技术方案的优点在于,利用扩展MoveIt接口将计算的机械臂下一时刻的各轴关节位置发送至共享内存中进行存储,为后续机械臂下一时刻的各轴关节位置的共享调用提供了数据基础。
[0014] 作为一种实施方式,所述手动控制模块用于从所述共享内存中调取机械臂下一时刻的各轴关节位置。
[0015] 上述技术方案的优点在于,利用共享内存存储机械臂的各轴关节位置信息,有利于手动控制模块快速调取数据,提高了数据共享的效率。
[0016] 作为一种实施方式,所述扩展MoveIt接口为话题插件式扩展MoveIt接口。
[0017] 上述技术方案的优点在于,利用话题插件式扩展MoveIt接口结合手动控制模块,实现了统一化配置协作机械臂的手动模式,而且话题插件式扩展MoveIt接口能够实时监控机械臂各轴关节位置及速度。
[0018] 作为一种实施方式,所述手动控制模式包括关节控制模式和末端位姿控制模式。
[0019] 作为一种实施方式,当手动控制模式为关节控制模式时,所述扩展MoveIt接口用于根据当前时刻的各轴关节位置及速度信号,计算下一时刻关节位置。
[0020] 作为一种实施方式,当手动控制模式为末端位姿控制模式时,所述扩展MoveIt接口用于根据当前时刻的各轴关节位置及速度信号,首先计算下一时刻位姿,再反解求得下一时刻各关节位置。
[0021] 本发明的第二个方面提供一种协作机械臂实时手动控制方法。
[0022] 一种协作机械臂实时手动控制方法,其包括:
[0023] 监听协作机械臂当前时刻的各轴关节位置及速度信号;
[0024] 根据协作机械臂当前时刻的各轴关节位置及速度信号以及预先确定的手动控制模式,计算机械臂下一时刻的各轴关节位置;
[0025] 根据机械臂下一时刻的各轴关节位置,向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置。
[0026] 作为一种实施方式,机械臂下一时刻的各轴关节位置存储在共享内存中。
[0027] 一种协作系统,其包括协作机械臂以及如上述所述的协作机械臂实时手动控制装置。
[0028] 与现有技术相比,本发明的有益效果是:
[0029] 为了解决现有的MoveIt响应时间较长,不适用于实时的手动控制模式,且协作机械臂无法统一化配置手动模式,协作机械臂的研发周期长的问题,本发明研发了一种协作机械臂实时手动控制装置,其由关节监听模块、扩展MoveIt接口和手动控制模块构成,利用扩展MoveIt接口实时接收协作机械臂当前时刻的各轴关节位置及速度信号,并根据预先确定的手动控制模式来计算机械臂下一时刻的各轴关节位置,弥补了机械臂开发人员或使用者在实际工作中的需求,实现了统一化配置协作机械臂的手动模式;对于研发人员而言,快速缩短研发周期的时间,使协作机械臂快速成型。
[0030] 本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0031] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0032] 图1是本发明实施例的协作机械臂实时手动控制原理图。

具体实施方式

[0033] 下面结合附图与实施例对本发明作进一步说明。
[0034] 应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0035] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0036] 术语解释:
[0037] CODESYS:是一种功能强大的PLC软件编程工具,它支持IEC61131‑3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。
[0038] 本实施例提供了一种协作机械臂实时手动控制装置,其包括:关节监听模块、扩展MoveIt接口和手动控制模块;
[0039] 所述关节监听模块,用于监听协作机械臂当前时刻的各轴关节位置及速度信号并发送至所述扩展MoveIt接口;
[0040] 所述扩展MoveIt接口,用于实时接收协作机械臂当前时刻的各轴关节位置及速度信号,并根据预先确定的手动控制模式来计算机械臂下一时刻的各轴关节位置;
[0041] 所述手动控制模块,用于根据机械臂下一时刻的各轴关节位置,向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置。
[0042] 其中,所述扩展MoveIt接口还用于将计算的机械臂下一时刻的各轴关节位置发送至共享内存中进行存储。
[0043] 在具体实施过程中,所述手动控制模块用于从所述共享内存中调取机械臂下一时刻的各轴关节位置。
[0044] 例如,所述扩展MoveIt接口为话题插件式扩展MoveIt接口。
[0045] 在具体实施过程中,所述手动控制模式包括关节控制模式和末端位姿控制模式。
[0046] 当手动控制模式为关节控制模式时,所述扩展MoveIt接口用于根据当前时刻的各轴关节位置及速度信号,计算下一时刻关节位置。
[0047] 根据图1,当手动控制模式为关节控制模式时,实时手动控制协同机械臂的流程为:
[0048] 步骤a1:话题订阅监听关节位置,开启共享内存读取速度指令;
[0049] 步骤a2:在初始阶段:获取关节位置以及速度指令;
[0050] 步骤a3:在加速阶段:
[0051] 步骤a31:利用关节空间计算下一时刻速度以及关节位置;
[0052] 步骤a32:向共享内存写入下一时刻关节位置;
[0053] 步骤a33:控制机械臂运动至期望关节位置;
[0054] 步骤a34:判断协同机械臂是否减速,若是,则进入减速阶段,根据减速阶段中对应公式计算下一时刻速度以及关节位;
[0055] 步骤a35:否则继续根据加速阶段中对应公式计算下一时刻速度以及关节位;
[0056] 步骤a36:向共享内存写入下一时刻关节位置;
[0057] 步骤a37:控制机械臂运动至期望关节位置;
[0058] 步骤a4:判断协同机械臂的速度是否为零,若是则结束控制;否则继续根据减速阶段中对应公式计算下一时刻速度以及关节位。
[0059] 当手动控制模式为末端位姿控制模式时,所述扩展MoveIt接口用于根据当前时刻的各轴关节位置及速度信号,首先计算下一时刻位姿,再反解求得下一时刻各关节位置。
[0060] 此处需要说明的是,在图1中,IK是Inverse Kinametics的缩写,指的逆向运动学。
[0061] 具体地,根据图1,当手动控制模式为末端位姿控制模式时,实时手动控制协同机械臂的流程为:
[0062] 步骤b1:话题订阅监听关节位置,开启共享内存读取速度指令;
[0063] 步骤b2:在初始阶段:获取关节位置以及速度指令;
[0064] 步骤b3:在加速阶段:
[0065] 步骤b31:利用工作空间计算下一时刻速度及位姿,求解下一时刻关节位置;
[0066] 步骤b32:向共享内存写入下一时刻关节位置;
[0067] 步骤b33:控制机械臂运动至期望关节位置;
[0068] 步骤b34:判断协同机械臂是否减速,若是,则进入减速阶段,根据减速阶段中对应公式计算下一时刻速度以及关节位;
[0069] 步骤b35:否则继续根据加速阶段中对应公式计算下一时刻速度以及关节位;
[0070] 步骤b36:向共享内存写入下一时刻关节位置;
[0071] 步骤b37:控制机械臂运动至期望关节位置;
[0072] 步骤b4:判断协同机械臂的速度是否为零,若是则结束控制;否则继续根据减速阶段中对应公式计算下一时刻速度以及关节位。
[0073] 在本实施例中,采用话题插件扩展MoveIt接口,例如结合CODESYS实时控制软件可以实时监听机械臂各轴关节位置及速度指令,如:控制周期为10ms,各轴关节位置可通过实时读取CODESYS中共享内存数据得到,然后根据速度指令计算机械臂末端下一时刻位姿或者机械臂某关节的位置,并写入共享内存,由机械臂执行下一时刻轨迹点位,最终实现了对机械臂的实时手动控制模式功能。
[0074] 在其他实施例中,还提供了一种协作机械臂实时手动控制方法,其具体包括如下步骤:
[0075] 步骤(1):监听协作机械臂当前时刻的各轴关节位置及速度信号;
[0076] 步骤(2):根据协作机械臂当前时刻的各轴关节位置及速度信号以及预先确定的手动控制模式,计算机械臂下一时刻的各轴关节位置;
[0077] 步骤(3):根据机械臂下一时刻的各轴关节位置,向机械臂各轴关节下发指令,以控制下一时刻机械臂运动至相应位置。
[0078] 具体的,机械臂下一时刻的各轴关节位置存储在共享内存中。
[0079] 此处需要说明的是,协作机械臂实时手动控制方法中的各个步骤与协作机械臂实时手动控制装置中的模块一一对应,其具体实施过程相同,此处不再累述。
[0080] 在一个或多个实施例中,还提供了一种协作系统,其包括协作机械臂以及如上述所述的协作机械臂实时手动控制装置。
[0081] 为了解决现有的MoveIt响应时间较长,不适用于实时的手动控制模式,且协作机械臂无法统一化配置手动模式,协作机械臂的研发周期长的问题,本发明研发了一种协作机械臂实时手动控制装置,其由关节监听模块、扩展MoveIt接口和手动控制模块构成,利用扩展MoveIt接口实时接收协作机械臂当前时刻的各轴关节位置及速度信号,并根据预先确定的手动控制模式来计算机械臂下一时刻的各轴关节位置,弥补了机械臂开发人员或使用者在实际工作中的需求,实现了统一化配置协作机械臂的手动模式;对于研发人员而言,快速缩短研发周期的时间,使协作机械臂快速成型。
[0082] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。