机械臂姿态补偿方法、装置、存储介质和机械臂与流程

文档序号:11758118阅读:437来源:国知局
机械臂姿态补偿方法、装置、存储介质和机械臂与流程

本发明涉及机器人技术领域,尤其涉及机械臂姿态补偿方法、装置、存储介质和机械臂。



背景技术:

随着产业升级和企业技术进步的加快,机械臂成为了机器人技术领域中被得到广泛实际应用的自动化机械装置,此类机械臂具有多自由度,允许在二维或三维空间进行运动,通过接收控制指令以完成各种作业。

目前,部分机械臂的操纵部件安装在机械臂的关节上。如图1a和图1b所示,机械臂配置有第一关节a1和第二关节a2,第一关节a1通过旋转轴01与机械臂基座连接安装,第二关节a2通过旋转轴02与第一关节a1连接安装,操作部件b安装在第二关节a2的末端。用户可以通过牵引操纵部件b实现牵引机械臂运动的目的,更便于机械臂的使用。

然而,将操纵部件b安装在机械臂关节上,由于操纵部件b坐标系与机械臂的坐标系的对应关系是预先建立的,但在机械臂的使用过程中,随着机械臂关节的移动,会导致操纵部件b的坐标系与机械臂的坐标系之间产生偏移,破坏预先建立的对应关系,导致使用操纵部件b对机械臂的控制不准确。



技术实现要素:

本发明实施例提供了一种机械臂姿态补偿方法、装置、存储介质和机械臂,即便机械臂关节移动,安装在关节上的操纵部件与机械臂的坐标系之间的对应关系也可以得到实时修正,能够避免由于操纵部件的移动而导致两个坐标系之间产生偏移的情况,在一定程度上提高操纵部件对机械臂控制的准确性。

本发明实施例提供的一种机械臂姿态补偿方法,所述机械臂姿态补偿方法应用于一种机械臂,所述机械臂配置有至少一个关节以及操纵部件,所述操纵部件安装在所述关节上;

所述机械臂姿态补偿方法包括:

在通过牵引所述操纵部件控制所述机械臂运动的过程中,实时检测所述关节的运动角度,所述运动角度为所述关节运动时相对前一时刻位置转动的角度;

根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系。

可选地,所述机械臂配置有两个以上关节,所述两个以上关节通过旋转轴依次连接后,一端通过旋转轴安装在所述机械臂的基座上,另一端安装有所述操纵部件;

所述实时检测所述关节的运动角度具体为:

实时检测所述操纵部件所在关节的运动角度。

可选地,所述实时检测所述操纵部件所在关节的运动角度具体包括:

实时获取所述两个以上关节中各个关节的旋转轴的已转动角度,所述已转动角度为所述旋转轴的当前位置相对于初始位置的已转过的角度;

根据所述各个关节对应的各个所述已转动角度计算所述操纵部件所在关节的运动角度。

可选地,在实时获取所述两个以上关节中各个关节的旋转轴的已转动角度之前,还包括:

若所述各个关节的旋转轴发生转动,则记录发生转动的旋转轴的已转动角度。

可选地,包括:

当所述运动角度为基于所述机械臂的坐标系的角度时,所述根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系包括:

将所述机械臂的坐标系沿着所述运动角度的方向调整所述运动角度的角度值;或,将所述操纵部件的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;

当所述运动角度为基于所述操纵部件的坐标系的角度时,所述根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系包括:

将所述机械臂的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;或,将所述操纵部件的坐标系沿着所述运动角度的方向调整所述运动角度的角度值。

本发明实施例提供的一种机械臂姿态补偿装置,所述机械臂姿态补偿装置应用于一种机械臂,所述机械臂配置有至少一个关节以及操纵部件,所述操纵部件安装在所述关节上;

所述机械臂姿态补偿装置包括:

运动角度检测模块,用于在通过牵引所述操纵部件控制所述机械臂运动的过程中,实时检测所述关节的运动角度,所述运动角度为所述关节运动时相对前一时刻位置转动的角度;

坐标系修正模块,用于根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系。

可选地,所述机械臂配置有两个以上关节,所述两个以上关节通过旋转轴依次连接后,一端通过旋转轴安装在所述机械臂的基座上,另一端安装有所述操纵部件;

所述运动角度检测模块包括:

关节角度检测单元,用于实时检测所述操纵部件所在关节的运动角度。

可选地,所述关节角度检测单元具体包括:

已转动角度获取子单元,用于实时获取所述两个以上关节中各个关节的旋转轴的已转动角度,所述已转动角度为所述旋转轴的当前位置相对于初始位置的已转过的角度;

运动角度计算子单元,用于根据所述各个关节对应的各个所述已转动角度计算所述操纵部件所在关节的运动角度。

可选地,包括:

当所述运动角度为基于所述机械臂的坐标系的角度时,所述坐标系修正模块包括:

第一机械臂坐标系调整单元,用于将所述机械臂的坐标系沿着所述运动角度的方向调整所述运动角度的角度值;或,第一操纵部件坐标系调整单元,用于将所述操纵部件的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;

当所述运动角度为基于所述操纵部件的坐标系的角度时,所述坐标系修正模块包括:

第二机械臂坐标系调整单元,用于将所述机械臂的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;或,第二操纵部件坐标系调整单元,用于将所述操纵部件的坐标系沿着所述运动角度的方向调整所述运动角度的角度值。

本发明实施例提供的一种机械臂,所述机械臂配置有至少一个关节以及操纵部件,所述操纵部件安装在所述关节上;

所述机械臂还包括上述的机械臂姿态补偿装置。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,所述机械臂姿态补偿方法应用于一种机械臂,所述机械臂配置有至少一个关节以及操纵部件,所述操纵部件安装在所述关节上;在通过牵引所述操纵部件控制所述机械臂运动的过程中,实时检测所述关节的运动角度,所述运动角度为所述关节运动时相对前一时刻位置转动的角度;根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系。这样,即便机械臂关节移动,安装在关节上的操纵部件与机械臂的坐标系之间的对应关系也可以得到实时修正,避免了由于操纵部件的移动而导致两个坐标系之间产生偏移的情况,在一定程度上提高了操纵部件对机械臂控制的准确性。

附图说明

图1a为一种机械臂的正视结构示意图;

图1b为图1a所示机械臂的俯视结构示意图;

图2a为一种机械臂在姿态a下第一关节a1与第二关节a2的带有坐标系的位置示意图;

图2b为一种机械臂在姿态b下第一关节a1与第二关节a2的带有坐标系的位置示意图;

图2c为图2b所示机械臂处于姿态b下的角度计算原理示意图;

图3为本发明实施例中一种机械臂姿态补偿方法一个实施例流程图;

图4a为另一种机械臂在前一姿态下第一关节a的带有坐标系的位置示意图;

图4b为另一种机械臂在后一姿态下第一关节a的带有坐标系的位置示意图;

图5为本发明实施例中一种机械臂姿态补偿方法实时检测运动角度的具体流程示意图;

图6为本发明实施例中一种机械臂姿态补偿装置一个实施例结构图;

图7为本发明一实施例提供的机械臂的示意图。

具体实施方式

本发明实施例提供了一种机械臂姿态补偿方法、装置、存储介质和机械臂,用于解决现有机械臂关节移动时,操纵部件的坐标系与机械臂的坐标系之间产生偏移的问题。

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

对于目前的机械臂,例如为图1a和图1b所示的机械臂,当其从一个姿态运动至另一个姿态时,由于操纵部件b安装在第一关节a1上,会导致操纵部件b坐标系与机械臂坐标系之间产生偏移。为便于描述,图2a和图2b分别示出了该机械臂在姿态a和姿态b中的第一关节a1与第二关节a2的位置示意图。

如图2a所示,假设在姿态a下,第一关节a1与第二关节a2平行,预先建立机械臂在水平面上的坐标系(x1,y1)与操纵部件b在水平面上的坐标系(x2,y2)之间的对应关系。此时,坐标系(x1,y1)与坐标系(x2,y2)平行,当通过牵引操纵部件b上的点p往x2方向移动时,机械臂就往x1方向移动,从而实现了操纵部件b对机械臂的准确控制。当机械臂从姿态a运动到姿态b之后,此时第一关节a1与第二关节a2呈一定夹角,由于操纵部件b安装在第二关节a2末端的缘故,操纵部件b会随着第二关节a2运动,坐标系(x2,y2)随之运动,但机械臂的坐标系(x1,y1)固定不动,从而坐标系(x1,y1)与坐标系(x2,y2)之间也呈一定夹角,不再平行。此时,当通过牵引操纵部件b上的点p往x2方向移动时,由于坐标系(x1,y1)与坐标系(x2,y2)预先建立的对应关系,会使得机械臂往图2b所示的x1方向移动,显然,此时操纵部件b对机械臂的控制结果是不准确的,并非用户想要达到的控制效果。

为克服上述问题,本发明实施例提供了一种机械臂姿态补偿方法来修正机械臂运动过程中机械臂坐标系与操纵部件坐标系之间的对应关系。请参阅图3,在一个实施例中,该机械臂姿态补偿方法包括:

步骤301、在通过牵引所述操纵部件控制所述机械臂运动的过程中,实时检测所述关节的运动角度,所述运动角度为所述关节运动时相对前一时刻位置转动的角度;

步骤302、根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系。

本实施例中的机械臂姿态补偿方法应用于一种机械臂,该机械臂配置有至少一个关节以及操纵部件,并且该操纵部件安装在所述关节上。

对于上述步骤301,由于操纵部件安装在关节上,因此,操纵部件的坐标系的偏移与其所在关节的运动角度偏移量息息相关。该运动角度为所述关节运动时相对前一时刻位置转动的角度,检测所述关节的运动角度的时刻为当前时刻,则上一次检测关节的运动角度的时刻为前一时刻。可知,前一时刻关节所处位置即为前一时刻位置。本实施例中,当前时刻与前一时刻的时间间隔由“实时检测”的时间间隔决定。可以理解的是,该运动角度可以基于机械臂的坐标系,也可以基于操纵部件的坐标系,在修正时,针对该运动角度对应的坐标系进行修正即可。

为了保证修正的实时性,上述步骤301需要实时检测关节的运动角度,并每检测到该关节的一个当前时刻的运动角度,就将当前时刻的运动角度交给步骤302进行修正处理。本实施例中所述的“实时”是指每隔预定时间间隔执行一次操作,比如,每0.1秒检测一次所述关节的运动角度。

对于上述步骤302,每获取到所述关节的一个当前时刻的运动角度,即根据该运动角度修正两个坐标系之间的对应关系,使得机械臂的坐标系与操纵部件的坐标系之间的对应关系始终保持一致。

进一步地,步骤302具体可以分为以下两种方式进行修正:

第一种方式:当所述运动角度为基于所述机械臂的坐标系的角度时,可以将所述机械臂的坐标系沿着所述运动角度的方向调整所述运动角度的角度值;或,将所述操纵部件的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值。

第二种方式:当所述运动角度为基于所述操纵部件的坐标系的角度时,可以将所述机械臂的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;或,将所述操纵部件的坐标系沿着所述运动角度的方向调整所述运动角度的角度值。

对于上述第一种方式和第二种方式,由于其原理基本类似,因此,在下述内容中具体描述坐标系的修正计算过程时,仅以“运动角度基于机械臂的坐标系时,将所述机械臂的坐标系沿着所述运动角度的方向调整所述运动角度的角度值”这种情况进行具体描述,其它情况下的修正类似,不再赘述。

为便于理解,在第一个应用场景下,如图4a和图4b所示,机械臂配置有第一关节a和操纵部件b,操纵部件b安装在第一关节a上。机械臂的坐标系为(x1,y1),操纵部件b的坐标系为(x2,y2)。其中,图4a为机械臂的前一姿态,图4b为机械臂的后一姿态,可知,从前一姿态运动至后一姿态时,坐标系(x1,y1)与坐标系(x2,y2)之间发生偏移,偏移角度为m1。从图4b所示可知,从前一姿态运动至后一姿态,可以获取到第一关节a的运动角度为m2,此时,m2=m1,即第一关节a的运动角度正好等于两个坐标系的偏移角度。从而,修正时,将坐标系(x1,y1)往m2运动角度的方向调整m2角度值后,坐标系(x1,y1)与坐标系(x2,y2)再次重合,也即两个坐标系的对应关系恢复一致,姿态补偿完成。

上述第一应用场景中主要描述了机械臂只有一个关节时,坐标系的具体修正过程。而当机械臂配置有两个以上关节时,这些两个以上关节通过旋转轴依次连接后,一端通过旋转轴安装在所述机械臂的基座上,另一端安装有所述操纵部件。在这种情况下,机械臂的坐标系与所述操纵部件的坐标系之间的对应关系的修正将比只有一个关节的情况更为复杂。

本实施例中,为了解决两个以上关节情况下的坐标系修真或机械臂姿态补偿,进一步地,上述步骤301具体可以为:在通过牵引所述操纵部件控制所述机械臂运动的过程中,实时检测所述操纵部件所在关节的运动角度。可以理解的是,由于操纵部件安装在其所在关节上,导致操纵部件的坐标系的移动只与其所在关节的运动角度有关。

然而,由于机械臂上配置有两个以上关节,在通过牵引所述操纵部件控制所述机械臂运动的过程中,当其它关节也在运动时,由于操纵部件所在关节的基准点发生改变,因此,也需要通过其它关节的已转动角度来计算该操纵部件所在关节的运动角度。如图5所示,具体地,实时检测所述操纵部件所在关节的运动角度可以包括:

501、实时获取所述两个以上关节中各个关节的旋转轴的已转动角度,所述已转动角度为所述旋转轴的当前位置相对于初始位置的已转过的角度;

502、根据所述各个关节对应的各个所述已转动角度计算所述操纵部件所在关节的运动角度。

其中,进一步地,为了提高各个旋转轴的已转动角度的获取效率,从而提高运动角度的实时计算效率,可以在所述各个关节的旋转轴发生转动时,记录发生转动的旋转轴的已转动角度。这样,在需要计算操纵部件所在关节的运动角度时,可以从记录中即时获取到各个关节的已转动角度,从而计算出操纵部件所在关节的运动角度。

为便于理解,下面对机械臂配置有两个以上关节的情况进行详细描述。在第二个应用场景下,请参阅图2a、图2b和图2c,图2c为图2b所示的机械臂处于姿态b下的角度计算原理示意图。机械臂配置有两个关节,分别为第一关节a1和第二关节a2,其相互之间的关系已在上述内容中说明,此处不再赘述。

假设,设定姿态a为机械臂的初始状态,则旋转轴01和旋转轴02正处于初始位置。可以设定初始位置下,旋转轴01和旋转轴02的已转动角度为0。姿态b为机械臂下一时刻的姿态,从图2c中可知,机械臂从姿态a运动至姿态b时,旋转轴01的已转动角度为n1,旋转轴02的已转动角度为n2。而操纵部件的坐标系的偏移角度为k1,k1=k2,k2为第二关节a2的运动角度。可知,k1=k2=n2-n1’=n2-n1,从而,计算旋转轴02的已转动角度与旋转轴01的已转动角度之差,即可得到所述操纵部件b所在第二关节a2的运动角度。

在第二应用场景下,在得到第二关节a2的运动角度之后,可以根据该运动角度k2对坐标系(x1,y1)与坐标系(x2,y2)之间的对应关系进行修正,修正后坐标系(x1,y1)与坐标系(x2,y2)平行,对应关系恢复一致,机械臂姿态补偿完成。

需要说明的是,本发明实施例中,该操纵部件具体可以为3d鼠标或者摇杆部件,其可以安装在机械臂关机的末端,通过牵引该3d鼠标或摇杆,实现机械臂的牵引控制。

如上所述,本发明实施例中,即便机械臂关节移动,安装在关节上的操纵部件与机械臂的坐标系之间的对应关系也可以得到实时修正,避免了由于操纵部件的移动而导致两个坐标系之间产生偏移的情况,在一定程度上提高了操纵部件对机械臂控制的准确性。

上面主要描述了一种机械臂姿态补偿方法,下面将对一种机械臂姿态补偿装置进行详细描述。

图6示出了本发明实施例中一种机械臂姿态补偿装置一个实施例结构图。

一种机械臂姿态补偿装置,所述机械臂姿态补偿装置应用于一种机械臂,所述机械臂配置有至少一个关节以及操纵部件,所述操纵部件安装在所述关节上;

所述机械臂姿态补偿装置包括:

运动角度检测模块601,用于在通过牵引所述操纵部件控制所述机械臂运动的过程中,实时检测所述关节的运动角度,所述运动角度为所述关节运动时相对前一时刻位置转动的角度;

坐标系修正模块602,用于根据所述运动角度修正所述机械臂的坐标系与所述操纵部件的坐标系之间的对应关系。

进一步地,所述机械臂配置有两个以上关节,所述两个以上关节通过旋转轴依次连接后,一端通过旋转轴安装在所述机械臂的基座上,另一端安装有所述操纵部件;

所述运动角度检测模块可以包括:

关节角度检测单元,用于实时检测所述操纵部件所在关节的运动角度。

进一步地,所述关节角度检测单元具体可以包括:

已转动角度获取子单元,用于实时获取所述两个以上关节中各个关节的旋转轴的已转动角度,所述已转动角度为所述旋转轴的当前位置相对于初始位置的已转过的角度;

运动角度计算子单元,用于根据所述各个关节对应的各个所述已转动角度计算所述操纵部件所在关节的运动角度。

进一步地,所述机械臂姿态补偿装置还可以包括:

角度记录模块,用于若所述各个关节的旋转轴发生转动,则记录发生转动的旋转轴的已转动角度。

进一步地,包括:

当所述运动角度为基于所述机械臂的坐标系的角度时,所述坐标系修正模块可以包括:

第一机械臂坐标系调整单元,用于将所述机械臂的坐标系沿着所述运动角度的方向调整所述运动角度的角度值;或,第一操纵部件坐标系调整单元,用于将所述操纵部件的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;

当所述运动角度为基于所述操纵部件的坐标系的角度时,所述坐标系修正模块可以包括:

第二机械臂坐标系调整单元,用于将所述机械臂的坐标系沿着所述运动角度的反方向调整所述运动角度的角度值;或,第二操纵部件坐标系调整单元,用于将所述操纵部件的坐标系沿着所述运动角度的方向调整所述运动角度的角度值。

本发明实施例还提供一种机械臂,所述机械臂配置有至少一个关节以及操纵部件,所述操纵部件安装在所述关节上;所述机械臂还包括图6对应实施例中描述的任意一种机械臂姿态补偿装置。

图7是本发明一实施例提供的机械臂的示意图。如图7所示,该实施例的机械臂7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如机械臂姿态补偿程序。所述处理器70执行所述计算机程序72时实现上述各个机械臂姿态补偿方法实施例中的步骤,例如图3所示的步骤301至302。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至602的功能。

示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述机械臂7中的执行过程。

所述机械臂7可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是机械臂7的示例,并不构成对机械臂7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机械臂还可以包括输入输出设备、网络接入设备、总线等。

所述处理器70可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述机械臂7的内部存储单元,例如机械臂7的硬盘或内存。所述存储器71也可以是所述机械臂7的外部存储设备,例如所述机械臂7上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器71还可以既包括所述机械臂7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述计算机所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1