发明内容
考虑到上述问题而提出了本发明。本发明提供了一种机器人的关节限位方法、一种机器人的关节限位装置、一种机器人的关节限位系统及一种存储介质。
根据本发明实施例的一方面,提供了一种机器人的关节限位的方法,包括:
通过人机交互接口获取所述机器人的关节的限位信息;
获取所述关节的运动信息;以及
根据所述限位信息和所述运动信息,执行针对所述关节的运动的限位操作。
示例性地,通过人机交互接口获取机器人的关节的限位信息包括:通过所述人机交互接口获取所述关节的距离限位信息。
示例性地,通过人机交互接口获取所述机器人的关节的限位信息包括:通过所述人机交互接口获取所述关节的角度限位信息。
示例性地,角度限位信息包括:关节的初始角度、所述关节的正向运动极限角度与所述初始角度之差和所述关节的反向运动极限角度与所述初始角度之差;
根据限位信息和运动信息,执行针对所述关节的运动的限位操作包括:
根据所述关节的初始角度、所述关节的正向运动极限角度与所述初始角度之差和所述关节的反向运动极限角度与所述初始角度之差,确定所述关节的极限位置;
当根据所述运动信息确定所述关节达到所述极限位置时,执行针对所述关节的运动的限位操作。
示例性地,角度限位信息还包括用于指示关节的运动轨迹是否包括角度为0°的点的信息。
示例性地,其中,机器人的关节限位方法还包括:
通过人机交互接口获取关于关节达到极限位置时的系统响应方式的信息;
根据限位信息和运动信息,执行针对所述关节的运动的限位操作包括:
根据所述限位信息确定所述极限位置;
当根据所述运动信息确定所述关节达到所述极限位置时,根据所述关于所述关节达到极限位置时的系统响应方式的信息,控制所述机器人的响应动作。
示例性地,当根据运动信息确定关节达到极限位置时根据关于所述关节达到极限位置时的系统响应方式的信息控制所述机器人的响应动作包括:
当根据所述运动信息确定所述关节达到所述极限位置时,根据所述关于所述关节达到极限位置时的系统响应方式的信息,控制所述机器人的所述关节停止运动和/或发出报警信号。
示例性地,人机交互接口是人机交互界面,所述人机交互界面包括一个或多个控制区域,所述一个或多个控制区域中的至少一个控制区域用于获取一个对应的关节的编码器的限位信息。
根据本发明实施例的一方面,还提供了一种机器人的关节限位的装置,包括:
第一获取模块,用于通过人机交互接口获取所述机器人的关节的限位信息;
第二获取模块,用于获取所述关节的运动信息;以及
限位模块,用于根据所述限位信息和所述运动信息,执行针对所述关节的运动的限位操作。
根据本发明实施例的又一方面,还提供了一种机器人的关节限位的系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的机器人的关节限位的方法。
本发明实施例又提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述的机器人的关节限位方法。
根据本发明实施例的上述技术方案,解决了现有机器人的关节限位方式不灵活的问题,实现了可以根据机器人的具体工作环境调整机器人关节的工作范围,防止碰撞。不仅确保了机器人的安全性及可靠性,而且提高了关节限位的灵活性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
如背景技术中所述,现有的机器人的关节限位方法中限制方式较死板,难以满足用户灵活多变的需求,例如无法让用户根据具体工作环境来自由限定机器人的关节的工作范围。
根据本发明实施例,提供了一种机器人的关节限位方法。机器人是自动执行工作的机器装置。机器人的部件中能够旋转或移动的部位可以统称为关节。机器人可以包括多个关节,例如基座、大臂、小臂、腕等。又例如,机器人的末端执行器可以称为一个关节。可选地,末端执行器是一个可以开合的夹爪,夹爪通过轴固定,通过旋转一定角度实现开合,那么所述夹爪也可以称为关节。当然,夹爪还可以通过直线移动一定距离实现开合,其一样可以称为关节。
图1示出了根据本发明一个实施例的机器人的关节限位方法100的示意性流程图。如图1所示,机器人的关节限位方法100包括如下步骤:
步骤S110,通过人机交互接口获取机器人的关节的限位信息。
在机器人控制系统的控制过程中,机器人的各个关节会进行相应的运动。比如有的关节会进行旋转,有的关节会进行直线运动。为了防止所述关节在运动过程中超出关节运动的极限运动范围,发生误碰撞导致相关部件损坏或所述关节本身产生故障的情况,需要根据关节的特点或者工作环境来限制机器人的关节的运动范围,以确保机器人的关节在运动过程中的安全性。
关节的限位信息是用于限定机器人的关节的正常运动范围的任意信息。如果关节运动到正常运动范围之外,其可能会发生损坏或者出现其他不期望的状况。例如,关节的限位信息可以是该正常运动范围的极限位置信息,例如端点位置信息。
人机交互接口是人与机器(例如计算机)之间建立联系、交换信息的输入/输出设备的接口。在方法100中,通过人机交互接口获取机器人的关节的限位信息。用户可以根据机器人的具体工作环境和工作需要灵活地设置关节的限位信息。通过人机交互接口,可以接收用户所设置的关节的限位信息。
步骤S120,获取关节的运动信息。
关节的运动信息可以包括机器人的关节的当前位置信息和当前运动方向。通过关节的运动信息可以了解关节的当前运动状态。关节的运动信息比如关节正向旋转到的角度值,或者正向直线运动的距离值。
可以通过关节上的各种传感器获得关节的运动信息。
步骤S130,根据步骤S110获取的关节的限位信息和步骤S120获取的关节的运动信息,执行针对所述关节的运动的限位操作。
根据机器人的关节的限位信息和当前的运动信息,判断所述关节是否需要限位。根据关节的当前运动信息和限位信息,可以确定关节当前是否运动在正常运动范围内。如果关节运动在正常运动范围内,则无需针对关节的执行运动的限位操作,即关节可以继续运动。如果根据关节的当前运动信息确定其已经运动到了正常运动范围的极限位置或者正常运动范围之外,针对该关节的运动执行限位操作。
上述机器人的关节限位方法,通过人机交互接口获取机器人的关节的限位信息,解决了现有限位方式不灵活的问题。由此,实现了可以根据机器人的具体工作环境调整机器人关节的工作范围,防止碰撞,提高了关节限位的灵活性。因此,显著提高了用户体验。
示例性地,通过人机交互接口获取所述机器人的关节的限位信息包括:通过所述人机交互接口获取所述关节的角度限位信息。针对机器人的关节进行限制活动的范围,如果所述关节是可旋转的,所述关节的限位信息可以是该关节的角度限位信息。在一个示例中,机器人包括一个小臂关节。在初始状态时,该小臂与大臂成一条直线。小臂可以绕小臂关节内旋。在该示例中,小臂关节的限位信息可以是0°至170°,这两个角度值限定了小臂关节可以旋转的角度范围。
对于执行绕轴旋转运动的关节来说,利用角度限位信息来进行关节的限位是非常方便的。对于用户来说,对于这类关节,利用角度限位信息来进行限位也是较直观的,便于用户设置合理的限位信息。
对于进行旋转运动的关节来说,机器人在启动后,其可以有一个初始位置,所述关节在初始位置的角度即为关节的初始角度,或称为零位值。为了确保机器人的关节在运动过程中的安全性,即保证关节在正常运动范围内,关节不论是正向运动还是反向运动都有一个旋转的极限角度。一旦关节旋转超过该极限角度,容易导致关节与其他部件相撞或者关节自身的损坏。所以,需要限制关节从所述初始角度的正向运动的运动范围和反向运动的运动范围。
在一个示例中,针对机器人的关节限位的角度限位信息包括:关节的初始角度、关节的正向运动极限角度与初始角度之差和关节的反向运动极限角度与初始角度之差。其中关节的正向运动极限角度对应于关节正向运动的正常运动范围的端点,反向运动极限角度对应于关节的反向运动的正常运动范围的端点。
而端点是关节的极限位置。
可以理解,关节的正向运动极限角度与初始角度之差可以简称为相对于零位的上限值。可以用关节的相对于零位的上限值和关节的零位值这二者来表征所述关节从所述初始角度进行正向运动的正常运动范围。前者表示了该范围的大小,后者表示了该范围的具体位置。同样的,关节的反向运动极限角度与初始角度之差可以简称为相对于零位的下限值。可以用关节的相对于零位的下限值和关节的零位值这二者来表征所述关节从所述初始角度进行反向运动的正常运动范围。
上述方法100中的步骤S130可以包括以下步骤:根据关节的初始角度、关节的正向运动极限角度与所述初始角度之差和关节的反向运动极限角度与所述初始角度之差,确定所述关节的极限位置;当根据运动信息确定关节达到极限位置时,执行针对关节的运动的限位操作。
具体地,在步骤S110获取到机器人的关节的限位信息后,可以通过限位信息得到关节正向或反向运动的极限位置。在上述示例中,关节的极限位置是关节正向运动极限角度和反向运动极限角度。
基于所述角度限位信息,可以通过如下公式计算得到关节的正、反向运动极限角度。
根据如下公式确定关节的正向运动极限角度:θf=θfb+θz,其中,θf表示所述正向运动极限角度,θz表示关节的初始角度,θfb表示关节的正向运动极限角度与初始角度之差。
类似地,根据如下公式确定关节的反向运动极限角度:θr=θrb+θz,其中,θr表示所述反向运动极限角度,θz所述关节的初始角度,θrb表示关节的反向运动极限角度与所述初始角度之差。
如上所述,确定了所述关节正向运动极限角度和所述关节反向运动极限角度即可确定所述关节的极限位置。
确定了关节运动的极限位置后,可以根据步骤S120获取的关节的运动信息判断当前关节是否达到极限位置。在确定了关节达到极限位置的情况下,执行针对关节的运动的限位操作;否则,不执行任何限位操作,关节可以继续运动。
上述角度限位信息对于用户是更直观的,便于用户根据机器人的具体工作环境和关节的运动范围设置更加合理的限位信息,进一步提高了用户体验。
示例性地,角度限位信息还包括用于指示机器人的关节的运动轨迹是否包括角度为0°的点(简称零点)的信息。
在机器人的控制过程中,通常通过各种传感器来向机器人运动控制部件反馈机器人的关节的转动角度等位置信息。这些传感器中有些对于角度的范围是有规定的。例如编码器是没有负值读数的。当机器人的关节的运动轨迹由正角度值越过零点再运动到负角度值或由负角度值越过零点再运动到正角度值时,需要将负角度值换算为对应的正角度值。
由于存在以上特殊情况,所以当机器人的关节的运动轨迹包括零点时,可以通过人机交互接口获取包括0°点的标识,然后根据所述标识发送相关信息给机器人的运算部件进行相应的转换计算。具体例如,如果关节的初始角度(或称为零位值)是120°,即编码器读数为120°,而关节运动的上、下限值分别是正、负60°,那么关节就在编码器读数为60°至180°的范围内运动,该范围不包含零点。此种情况中,可以根据指示机器人的关节的运动轨迹不包括零点的信息,不进行相应的角度转换计算。再例如,如果关节的初始角度对应的编码器读数为120°,而关节运动的上、下限是140°,那么关节就在角度为-20°至260°的范围内运动。由于编码器没有负值,这种情况就会导致编码器识别错误。因此,可以根据指示机器人的关节的运动轨迹包括零点的信息,对角度进行相应的转换计算。在上述例子中,经过转换后,关节的正常运动范围是0°至260°和340°至360°。上述角度范围能够确保编码器正常运行,进而确保了机器人关节的正常运行。
角度限位信息包括用于指示所述关节的运动轨迹是否包括零点的信息,解决了编码器等传感器没有负值读数的问题,克服了出现负值读数导致机器人的限位不准确或限位出错的情况,确保了机器人的关节的限位准确性。
示例性地,上述方法100中的步骤S110通过人机交互接口获取所述机器人的关节的限位信息可以包括:通过所述人机交互接口获取所述关节的距离限位信息。如果关节是类似直线运动的,利用该关节的距离限位信息进行限位是非常方便有利的。距离限位信息方便测量,用户容易设置。
图2示出了根据本发明一个实施例的物体夹持部的示意图。如图2所示,物体夹持部200是机器人用来夹持物品的部件,在机器人的运动部件带动下,左边曲柄220a和右边曲柄220b绕各自的轴旋转,并分别带动末端卡块210a和210b沿直线运动开合。为防止末端卡块210a和210b相互碰撞导致部件出现问题,可以针对末端卡块210a和210b进行限位。由于所述末端卡块210a和210b是沿类似直线运动,那么针对末端卡块210a和210b的限位信息可以为距离限位信息。
可以理解,跟旋转关节的角度限位操作类似,当根据运动信息确定末端卡块210a和210b达到直线运动的极限位置时,可以执行针对所述末端卡块的运动的限位操作,否则容易导致末端卡块超出运动范围发生误碰撞或引起相关部件的损坏。可以理解,如图2所示,左边曲柄220a和右边曲柄220b沿各自的轴旋转,针对左边曲柄220a和右边曲柄220b可以按照上述限位方法进行角度限位。
示例性地,机器人的关节限位方法还包括通过人机交互接口获取关于关节达到极限位置时的系统响应方式的信息。所述系统响应方式可以包括系统发出控制关节执行相应的动作的指令,系统发出用于通知某个组件或者机器人所连接的周边设备的指令或信息等等响应方式。
基于通过人机交互接口获取的关于关节达到极限位置时的系统响应方式的信息,执行针对所述关节的运动的限位操作包括以下步骤:
步骤1:根据限位信息确定关节的极限位置。
步骤2:根据运动信息确定关节是否达到了上述极限位置。
步骤3:当关节达到极限位置时,根据上述关于关节达到极限位置时的系统响应方式的信息,控制机器人的响应动作;当关节未达到极限位置时,控制机器人继续执行当前动作,不进行限位。
所述系统响应方式的信息通过人机交互接口获取,可以根据机器人工作的环境进行定制或调整,提高了机器人的关节限位的灵活性。
示例性地,根据关于关节达到极限位置时的系统响应方式的信息控制机器人的响应动作包括当根据运动信息确定关节达到极限位置时,根据关于所述关节达到极限位置时的系统响应方式的信息,控制机器人的关节停止运动和/或发出报警信号。
可选地,当根据机器人的关节的限位信息和运动信息确定机器人的关节达到所述关节的极限位置时,这时针对所述机器人的关节采取的控制动作可以是停止该关节的运动,但是机器人不发送任何信号给机器人控制设备。控制动作也可以是控制机器人的关节继续运行并由机器人发出报警信号,以提醒用户是否进行相关处理。控制动作还可以是停止该关节的运动并且由机器人发出报警信号。所述报警信号发送给机器人控制设备,由用户来决定如何控制机器人或所述机器人的关节的运动。上述控制动作可以依据机器人的具体应用场景进行选择。例如对于机器人超出极限位置会发生重大故障的场景,就可以选择最后一种控制动作。
示例性地,人机交互接口是人机交互界面,所述人机交互界面包括一个或多个控制区域,所述一个或多个控制区域中的至少一个控制区域用于获取一个对应的关节的编码器的限位信息。编码器是机器人中的常见传感器。直接采用编码器的限位信息可以减少计算和转换操作,利于用户对机器人进行关节限位。
图3示出了根据本发明一个实施例的人机交互界面的示意图。
如图3所示的人机交互界面共包括5个控制区域。左边的4个控制区域中的每一个分别可用于获取机器人的一个对应关节的限位信息,例如基座、大臂、小臂和腕。这些控制区域获取的是对应关节的编码器的限位信息。所述限位信息是角度限位信息,具体包括:角度上限值(即关节的正向运动极限角度与初始角度之差)、角度下限值(关节的反向运动极限角度与初始角度之差)和零位值(关节的初始角度)。
如图3所示,人机交互界面还用于获取其他信息,比如告警状态信息、用于指示关节的运动轨迹是否有零点的信息和关于关节达到极限位置时的系统响应方式的信息。
根据本发明的又一方面,还提供了一种机器人的关节限位装置。图4示出了根据本发明一个实施例的机器人的关节限位装置400的示意性框图。
如图4所示,装置400包括第一获取模块410、第二获取模块420和限位模块430。
第一获取模块410用于通过人机交互接口获取机器人的关节的限位信息。
第二获取模块420用于获取所述关节的运动信息。
限位模块430用于根据所述限位信息和所述运动信息,执行针对所述关节的运动的限位操作。
根据本发明另一方面,还提供了一种关节限位系统。该关节限位系统包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述的机器人的关节限位方法。
此外,根据本发明再一方面,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时使得所述计算机或处理器执行本发明实施例的机器人的关节限位方法的相应步骤。所述存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上文关于机器人的关节限位方法的相关描述,可以理解上述机器人的关节限位装置、系统和存储介质的具体实现方案,为了简洁,在此不再赘述。
上述技术方案解决了现有限位方式不灵活的问题,实现了可以根据机器人的具体工作环境进行调整机器人关节的工作范围,提高了关节限位的灵活性。由此,有效提高了用户体验。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于机器人的关节限位的装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。