发明内容
考虑到上述问题而提出了本发明。本发明的实施例提供了一种用于控制机器人运动的运动控制部件、系统以及方法。
根据本发明一个方面,提供了一种用于控制机器人运动的运动控制部件。该运动控制部件包括:触发部和与所述触发部连接的运动控制部;
所述触发部用于接收第一控制命令;
所述运动控制部用于基于第一存储器中的、与所述第一控制命令对应的目标存储区域预存的运动数据控制所述机器人运动,其中,所述第一存储器包括多个存储区域,所述多个存储区域中的至少两个存储区域用于预存不同组的运动数据。
示例性地,所述运动控制部件还用于自主控部件接收第三控制命令,并基于所述第一存储器中的、与所述第三控制命令对应的目标存储区域预存的运动数据控制所述机器人运动;
其中,所述主控部件与所述运动控制部件连接并和至少一个其他运动控制部件连接,所述其他运动控制部件与所述运动控制部件相同,所述主控部件包括第二存储器,所述第二存储器用于存储协同控制信息,所述协同控制信息包括需要协同控制的运动控制部件与所述第一存储器中的存储区域的对应关系信息.
所述主控部件用于接收第二控制命令,根据所述第二控制命令查询所述协同控制信息以确定与所述第二控制命令对应的运动控制部件和目标存储区域,并基于与所述第二控制命令对应的目标存储区域向所确定的运动控制部件发送所述第三控制命令。
示例性地,所述运动控制部件还用于根据所述第一控制命令向所述主控部件发送对应的第二控制命令。
示例性地,所述第二控制命令是所述主控部件自所述至少一个其他运动控制部件接收的。
示例性地,所述第二控制命令是所述主控部件自机器人控制设备接收的,其中,所述机器人控制设备用于控制所述主控部件。
示例性地,所述第一存储器集成在所述主控部件中,所述第三控制命令包括与所述第三控制命令对应的目标存储区域预存的运动数据。
示例性地,所述第一存储器集成在所述运动控制部件中,所述第三控制命令包括与所述第三控制命令对应的目标存储区域的标识符。
示例性地,所述运动控制部件还用于自机器人控制设备接收所述第一控制命令,其中,所述机器人控制设备用于控制所述运动控制部件。
示例性地,所述触发部包括多个信号端口,用于分别接收触发信号,其中,所述第一控制命令根据所述多个信号端口接收的触发信号确定。
示例性地,所述触发部包括多个信号端口,用于接收编码方式的触发信号,其中,所述第一控制命令根据所述多个信号端口接收的触发信号确定。
根据本发明另一方面,提供了一种用于控制机器人运动的运动控制系统。该运动控制系统包括上述运动控制部件。
根据本发明再一方面,提供了一种用于控制机器人运动的运动控制方法,所述运动控制方法用于运动控制系统,所述运动控制系统包括运动控制部件和第一存储器,所述运动控制部件包括触发部和与所述触发部连接的运动控制部,其特征在于,所述运动控制方法包括:
通过所述触发部接收第一控制命令;
利用所述运动控制部基于所述第一存储器中的、与所述第一控制命令对应的目标存储区域预存的运动数据控制所述机器人运动,其中,所述第一存储器包括多个存储区域,所述多个存储区域中的至少两个存储区域用于预存不同组的运动数据。
示例性地,所述运动控制部件是多个,所述运动控制系统还包括与所述运动控制部件连接的主控部件;
所述运动控制方法还包括:
通过所述主控部件接收第二控制命令;
利用所述主控部件根据所述第二控制命令查询所述主控部件的第二存储器中存储的协同控制信息以确定与所述第二控制命令对应的运动控制部件和目标存储区域,并基于与所述第二控制命令对应的目标存储区域向所确定的运动控制部件发送第三控制命令,其中,所述协同控制信息包括需要协同控制的运动控制部件与所述第一存储器中的存储区域的对应关系信息;
利用所确定的运动控制部件基于所述第一存储器中的、与所述第三控制命令对应的目标存储区域预存的运动数据控制所述机器人运动。
根据本发明实施例的用于控制机器人运动的运动控制部件、系统以及方法,通过预存机器人需要执行的动作对应的运动数据,也即针对一个动作预存一组对应的运动数据,从而可以通过控制命令触发调用预存的运动数据控制机器人执行对应的动作。由此极大简化了机器人的操控方式,提高了工作效率和用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
机器人的运行一般通过控制电机配合运动执行部件(例如丝杠或减速器等)实现。以利用电机配合减速器进行运动控制的多关节机器人(或称为多关节机械手、多轴机器人、机械臂等)为例,通过控制电机配合减速器的运行,实现机器人根据预定的路线从一个初始位置夹取目标物体到目标位置。此类多关节机器人常用于诸多工业领域的机械自动化作业。
多关节机器人例如可以是四关节机器人(四轴机器人)、六关节机器人(六轴机器人)等。它们均包括有基座、手臂和末端执行器(例如物体夹持部)。手臂上关节的多少决定了机器人的“轴”的数量,每一个关节都是由一个电机的转动来驱动,以实现关节的运动。图1示出了根据本发明一个实施例的机器人100的示意性结构图。如图1所示,机器人100是一种四关节机器人,包括有底座110、大臂120、小臂130、电机140和减速器150。小臂130上还可以连接有腕(未示出),腕上可以有爪,以实现对物体的抓取等功能。在机器人100的各个关节上可以分别设置有运动部件(如电机和减速器)。例如在底座110的外壳内设置有一套电机和减速器(未示出),该减速器的输出轴连接底座110的上盖。底座110的上盖安装大臂120,大臂120的底部设置有另一套电机140和减速器150,减速器150的输出轴连接大臂120的本体。在大臂120的上部设置有另一套电机和减速器(未示出),该减速器的输出轴连接小臂130的本体。在小臂130的前端还可以设置有另一套电机和减速器(未示出),该减速器的输出轴连接腕的本体。腕上可以安装各种末端执行器,例如物体夹持部。底座110内的电机旋转运动可以带动底座110的上盖沿水平方向360度旋转运动、进而带动机器人100的大臂120、小臂130等沿水平方向360度旋转。电机140的旋转运动可以带动大臂120沿S1方向前俯向下运动、或沿S2方向后仰向上运动,进而带着小臂130等沿S1或S2方向运动。大臂120上部的电机旋转运动可以带动小臂130进行旋转运动,进而带着腕等旋转运动。小臂130的另一端的电机旋转运动可以带动腕进行旋转运动,进而带着末端执行器进行旋转运动。末端执行器上的电机还可以带动末端执行器进行夹取物体等操作。
用户可以通过机器人控制设备(如电脑、示教器等)实现对机器人的参数设定和控制。用户可以通过编辑每个关节的运动参数实现对机器人的运动控制,所述运动参数实际上是控制机器人的运动部件(如电机)的运动参数。用户编辑机器人的运动参数后,发送给机器人的运动控制部件(或称为驱控器等),运动控制部件对接收到的运动参数进行解算后控制运动部件运动。运动控制部件可以单独设置在机器人的外部、通过连接线与机器人上的各个运动部件(如电机)连接,也可以安装在机器人的本体外壳内。通过不同的运动参数控制机器人的每个运动部件按用户设定的运动路线运动,就可以实现对机器人的控制,使机器人完成用户设定的各种功能。
如背景技术所述,目前对机器人的控制是“即用即算”型,即机器人每一次动作需要用户每次计算对应的运动参数并输入给运动控制部件,然后进行解算,基于解算得到的电机控制数据控制电机运动。运动参数例如可以是PVT参数,P(Position)表示运动的目的位置,例如可以是期望达到的旋转角度或期望达到的位移位置;V(Velocity)表示运动的速度,T(Time)表示运动到达目的位置的时刻。运动参数需要进行解算,转换为电机控制数据来控制机器人运动。电机控制数据例如可以是脉冲宽度调制(Pulse Width Modulation,简称PWM)波表数据。“即用即算”型操控不仅耗时对工作效率有影响,而且对操作人员的专业知识要求较高,操作人员需要计算对应动作的运动参数,使得用户体验差。为此,本发明提供了一种用于控制机器人运动的运动控制部件。
下面将参考图2描述根据本发明实施例的用于控制机器人运动的运动控制部件。图2示出了根据本发明一个实施例的用于控制机器人运动的运动控制系统的示意性框图。如图2所示,运动控制部件200包括触发部210和与触发部210连接的运动控制部220。触发部210用于接收第一控制命令。运动控制部220用于基于第一存储器200a中的、与第一控制命令CM1对应的目标存储区域预存的运动数据控制机器人运动。其中,第一存储器200a包括多个存储区域,多个存储区域中的至少两个存储区域用于预存不同组的运动数据。
如图2所示,第一存储器200a包括存储区域1、存储区域2、……、存储区域n共n个存储区域。不同组的运动数据对应需要机器人执行的不同动作,其中,每组运动数据对应一个动作。例如,需要机器人分别执行:动作A(向前移动10厘米)、动作B(左转90度)、动作C(向前移动20厘米)、动作D(右转135度)。表1示出了预存运动数据的存储区域与动作的对应关系。如表1所示,可以把动作A、动作B、动作C和动作D对应的运动数据作为不同组的运动数据分别预存到不同的存储区域。
表1预存运动数据表
预定义动作 |
对应的运动数据 |
存储区域标识 |
动作A |
运动数据1 |
存储区域1 |
动作B |
运动数据2 |
存储区域2 |
动作C |
运动数据3 |
存储区域3 |
动作D |
运动数据4 |
存储区域4 |
触发部210用于接收第一控制命令CM1。运动控制部220用于基于第一存储器200a中的多个存储区域中的、与接收到的第一控制命令CM1对应的目标存储区域预存的运动数据控制机器人运动。第一控制命令CM1是触发机器人执行所需要的动作的命令。继续上述示例,例如触发部210接收到的第一控制命令CM1指示需要执行动作B,对应的目标存储区域为存储区域2。运动控制部220可以基于存储区域2预存的运动数据2控制机器人运动,即可使得机器人执行动作B。本领域技术人员可以理解,第一存储器200a只要能实现通过存储区域划分以预存不同组的运动数据即可,第一存储器200a与运动控制部件200之间的具体连接方式可以根据实际工程需要合理设计。换言之,第一存储器200a可以是与运动控制部件200相对独立的外部存储器,也可以是集成于运动控制部件200内的内置存储器。图2示出了第一存储器200a为独立于运动控制部件200的外部存储器的情况,但不应理解为对本发明的限制。第一存储器200a中预存的不同组的运动数据可以是运动参数,例如PVT参数,运动控制部220根据预存的运动参数解算得到电机控制数据来控制机器人运动。第一存储器200a中预存的不同组的运动数据也可以是根据运动参数解算得到的电机控制数据,运动控制部220根据预存的电机控制数据来控制机器人运动。
上述运动控制部件通过预存需要机器人执行的动作对应的运动数据,也即针对一个动作预存一组对应的运动数据,从而可以通过控制命令触发调用预存的运动数据来控制机器人执行对应的动作。由此极大简化了机器人的操控方式,提高了工作效率和用户体验。
可以通过多种触发方式给运动控制部件200发送第一控制命令,以调用预存的运动数据来控制机器人执行对应的动作。
示例性地,运动控制部件200用于自机器人控制设备接收第一控制命令CM1。其中,机器人控制设备用于控制运动控制部件200。机器人控制设备通过与运动控制部件200的触发部210连接的通信接口发送第一控制命令CM1,从而可以通过第一控制命令CM1触发调用预存的运动数据来控制机器人执行对应的动作。由此,通过一个控制命令触发替代了控制机器人执行一次动作所需的大量参数的计算和输入,极大简化了机器人的操控方式,提高了工作效率和用户体验。
示例性地,触发部210包括多个信号端口,用于分别接收触发信号。其中,第一控制命令CM1根据多个信号端口接收的触发信号确定。触发部210的多个信号端口可以通过键盘按键或触摸屏按钮等设备实现。例如,在一个实施例中,第一存储器200a预存了上述表1示出的4个预定义动作。触发部210包括4个信号端口,每个信号端口对应一个预定义动作。具体地,端口1对应动作A、端口2对应动作B、端口3对应动作C、端口4对应动作D。用户可以通过端口1对应的按键或按钮触发对应动作A的第一控制命令CM1,通过端口2对应的按键或按钮触发对应动作B的第一控制命令CM1,通过端口3对应的按键或按钮触发对应动作B的第一控制命令CM1,通过端口4对应的按键或按钮触发对应动作D的第一控制命令CM1。由此,通过一键式触发实现了对机器人需要执行的动作的控制,极大简化了机器人的操控方式,提高了工作效率和用户体验。
示例性地,触发部210包括多个信号端口,用于接收编码方式的触发信号。其中,第一控制命令CM1根据多个信号端口接收的触发信号确定。可以理解,对于预定义动作个数较多的情况,可以利用触发部210的多个信号端口接收编码方式的触发信号。例如,对于预定义动作个数为32个的情况,可以通过5个(25=32)信号端口接收编码方式的触发信号。用户可以通过5个信号端口输入00000、00001、……、11110、11111共32种二进制编码方式的触发信号。通过编码方式的触发信号,可以方便地支持更多预存动作个数。由此,提高了通过控制命令触发调用预存的运动数据控制机器人执行对应的动作的实用性,进一步提高了工作效率和用户体验。
图3示出了根据本发明另一个实施例的用于控制机器人运动的运动控制系统的示意性框图。如图3所示,运动控制部件300还用于自主控部件300b接收第三控制命令CM3,并基于第一存储器300a中的、与第三控制命令CM3对应的目标存储区域预存的运动数据控制机器人运动。主控部件300b与多个运动控制部件300连接,如图中所示的1#、2#、……、n#共n个运动控制部件300。主控部件300b包括第二存储器310b,第二存储器310b用于存储协同控制信息。协同控制信息包括需要协同控制的运动控制部件300与第一存储器300a中的存储区域的对应关系信息。主控部件300b用于接收第二控制命令CM2,根据第二控制命令CM2查询第二存储器310b中的协同控制信息以确定与第二控制命令CM2对应的运动控制部件300和第一存储器300a中的目标存储区域,并基于与第二控制命令CM2对应的目标存储区域向所确定的运动控制部件300发送第三控制命令CM3。
本领域普通技术人员可以理解,对于多关节机器人,控制机器人执行动作需要协同控制机器人的多个关节分别执行对应的分解动作。如图1所示的机器人100,控制机器人100执行动作需要协同控制机器人100的各关节(底座110、大臂120、小臂130、腕)分别执行对应的分解动作。以机器人100为例,表2示出了与机器人100执行的动作对应的各关节需要协同执行的分解动作,各关节的驱动电机基于对应的分解动作的运动数据来驱动各关节协同运动,从而驱动机器人100运动以实现需要执行的动作。
表2机器人100的动作分解
机器人100 |
底座110 |
大臂120 |
小臂130 |
腕(未示出) |
动作X |
分解动作X1 |
分解动作X2 |
分解动作X3 |
分解动作X4 |
动作Y |
分解动作Y1 |
分解动作Y2 |
分解动作Y3 |
分解动作Y4 |
…… |
…… |
…… |
…… |
…… |
各分解动作对应的运动数据预先存储在第一存储器300a中。通过第二存储器310b存储协同控制信息,该协同控制信息包括第二控制命令CM2与第一存储器300a的存储区域的对应关系信息。第二控制命令CM2是触发机器人的各关节协同运动以执行所需要的动作的命令。主控部件300b接收到第二控制命令CM2后,根据第二控制命令CM2索引读取第二存储器310b中存储的协同控制信息,从而获得与该第二控制命令CM2对应的协同控制信息。协同控制信息中指示了需要协同运动的关节,以及各关节需要执行的分解动作的运动数据在第一存储器300a中的存储区域。
在一个实施例中,可以以第二控制命令CM2为标识符索引读取第二存储器310b中存储的协同控制信息。继续上述示例,表3示出了机器人100的协同控制信息表。
表3机器人100的协同控制信息表
例如,主控部件300b接收到第二控制命令CM2为C1,首先根据第二控制命令CM2(C1)从第二存储器310b中索引读到对应的协同控制信息,如表3所示。从而确定机器人的此次运动需要底座110基于存储区域1预存的运动数据、大臂120基于存储区域11预存的运动数据、小臂130基于存储区域21预存的运动数据以及腕基于存储区域31预存的运动数据协同运动。然后,主控部件300b向底座110、大臂120、小臂130以及腕分别发送第三控制命令CM3。具体地,主控部件300b向底座110发送的第三控制命令CM3对应的目标存储区域为存储区域1,主控部件300b向大臂120发送的第三控制命令CM3对应的目标存储区域为存储区域11,主控部件300b向小臂130发送的第三控制命令CM3对应的目标存储区域为存储区域21,主控部件300b向腕发送的第三控制命令CM3对应的目标存储区域为存储区域31。最后,底座110、大臂120、小臂130以及腕根据从主控部件300b接收到的第三控制命令CM3,并基于与各自的第三控制命令CM3对应的目标存储区域预存的运动数据协同运动,从而控制机器人100运动以执行与第二控制命令CM2(C1)对应的动作。
可以理解,对于多关节机器人,控制机器人执行某一动作未必需要所有的关节都协同运动。换言之,多关节机器人可以只需要部分关节协同运动来执行的某些动作。如图1所示的机器人100,某些动作只需要大臂120、小臂130和腕协同运动,并不需要底座110运动。如表3所示,第二控制命令CM2为C3时对应的协同控制信息中,底座110不需要参与协同运动。
在一个实施例中,第二控制命令CM2包括了运动控制部件300的名称以及与该运动控制部件300对应的第一存储器300a中的目标存储区域的信息。可以以第二控制命令CM2为关键字索引包括该运动控制部件以及对应的目标存储区域信息的协同控制信息。表4示出了一个4关节机器人的协同控制信息表。
表4一个4关节机器人的协同控制信息表
例如,主控部件300b接收到包括“关节1:存储区域11”的第二控制命令CM2,首先以“关节1:存储区域11”为关键字从第二存储器310b中索引读到对应的协同控制信息,如表4所示。从而确定机器人的此次运动需要关节1基于存储区域11预存的运动数据、关节2基于存储区域21预存的运动数据、关节3基于存储区域31预存的运动数据以及关节4基于存储区域41预存的运动数据协同运动。然后,主控部件300b向关节1、关节2、关节3以及关节4分别发送第三控制命令CM3。具体地,主控部件300b向关节1发送的第三控制命令CM3对应的目标存储区域为存储区域11,主控部件300b向关节2发送的第三控制命令CM3对应的目标存储区域为存储区域21,主控部件300b向关节3发送的第三控制命令CM3对应的目标存储区域为存储区域31,主控部件300b向关节4发送的第三控制命令CM3对应的目标存储区域为存储区域41。最后关节1、关节2、关节3以及关节4根据从主控部件300b接收到的第三控制命令CM3,并基于与各自的第三控制命令CM3对应的目标存储区域预存的运动数据协同运动,从而控制该4关节机器人运动以执行与第二控制命令CM2C1对应的动作。
如前所述,多关节机器人的运动并不必须所有关节都参与协同运动。如表4所示,该4关节机器人的第3条协同控制信息不需要关节1参与协同运动。
上述运动控制部件基于预存的运动数据协同运动来执行多关节机器人需要执行的动作。由此极大简化了多关节机器人的操控方式,提高了工作效率和用户体验。
在一个实施例中,如图3所示,第一存储器300a集成在主控部件300b内。运动控制部件300自主控部件300b接收的第三控制命令CM3包括与该第三控制命令CM3对应的目标存储区域预存的运动数据。具体地,主控部件300b基于第二控制命令CM2确定了需要协同控制的运动控制部件300以及各自对应的目标存储区域后,从第一存储器300a中读取与各个运动控制部件300对应的目标存储区域的运动数据,并在发送第三控制命令CM3时把读取到的运动数据发送给对应的运动控制部件300。如上述示例中,主控部件300b可以把关节1对应的存储区域11中的运动数据读出,在给关节1发送第三控制命令CM3时把读取到的运动数据发送给关节1。运动控制部件300根据第三控制命令CM3包括的运动数据控制机器人运动。
上述运动控制系统把第一存储器集成到主控部件内,简化了运动控制部件的设计,提高了运动控制系统的灵活性。
图4示出了根据本发明再一个实施例的用于控制机器人运动的运动控制系统的示意性框图。如图4所示,每个运动控制部件400集成有第一存储器400a,以用于预存该运动控制部件400的不同组的运动数据。为了简洁,图4中没有针对每个运动控制部件400示出第一存储器400a。主控部件400b与多个运动控制部件400连接,如图中所示的1#、2#、……、n#共n个运动控制部件400。主控部件400b包括第二存储器410b,第二存储器410b用于存储协同控制信息。第二存储器410b与上述第二存储器310b结构和功能类似,在此不再赘述。主控部件400b用于接收第二控制命令CM2,根据第二控制命令CM2查询第二存储器410b中的协同控制信息以确定与第二控制命令CM2对应的运动控制部件400和第一存储器400a中的目标存储区域,并基于与第二控制命令CM2对应的目标存储区域向所确定的运动控制部件400发送第三控制命令CM3。第三控制命令CM3包括与该第三控制命令CM3对应的目标存储区域的标识符。运动控制部件400用于自主控部件400b接收第三控制命令CM3,并基于第一存储器400a中的、与第三控制命令CM3对应的目标存储区域的标识符指示的存储区域中预存的运动数据控制机器人运动。例如,2#运动控制部件400接收到的第三控制命令CM3中包括的目标存储区域的标识符为“存储区域1”,则2#运动控制部件400根据其集成的第一存储器400a中的、“存储区域1”中预存的运动数据控制机器人运动。
上述运动控制部件自身集成了第一存储器,以用于预存自己的不同组的运动数据,提高了运动控制部件的集成度,同时简化了运动控制系统的设计。
示例性地,上述第二控制命令是主控部件自机器人控制设备接收的。其中,机器人控制设备用于控制主控部件。机器人控制设备通过与主控部件连接的通信接口发送第二控制命令,从而可以通过第二控制命令触发主控部件。主控部件基于第二存储器中与该第二控制命令对应的协同控制信息向需要协同控制的运动控制部件发送第三控制命令。运动控制部件基于第一存储器中的、与接收到的第三控制命令对应的目标存储区域预存的运动数据控制机器人运动。由此,通过一个控制命令触发替代了控制机器人执行一次动作所需的大量参数的计算和输入,极大简化了机器人的操控方式,提高了工作效率和用户体验。
图5示出了根据本发明又一个实施例的用于控制机器人运动的运动控制系统的示意性框图。如图5所示,主控部件500b与1#、2#、3#、……、m#运动控制部件500连接。运动控制部件500还用于根据接收到的第一控制命令CM1向主控部件500b发送对应的第二控制命令CM2。主控部件500b基于第二存储器510b中对应的协同控制信息向需要协同控制的运动控制部件500发送第三控制命令CM3。运动控制部件500基于第一存储器500a中的、与自主控部件接收的第三控制命令CM3对应的目标存储区域预存的运动数据控制机器人运动。本领域普通技术人员可以理解,对于一个运动控制部件500而言,一方面可以通过向主控部件500b发送与接收到的第一控制命令CM1对应的第二控制命令CM2,来控制其他需要协同控制的运动控制部件500,从而实现对机器人运动控制。另一方面,该运动控制部件500也可以接受主控部件500b自其他任一运动控制部件500接收的第二控制命令CM2触发的协同控制。例如,1#运动控制部件500可以通过向主控部件500b发送与接收到的第一控制命令CM1对应的第二控制命令CM2来触发协同控制,1#运动控制部件500也可以接受主控部件500b自其他(2#、3#、……、m#)任一运动控制部件500接收的第二控制命令CM2触发的协同控制。继续表4示出的4关节机器人的协同控制示例,例如,用于控制关节1的1#运动控制部件500接收到的第一控制命令CM1指示的存储区域为“存储区域11”。1#运动控制部件500基于“关节1:存储区域11”向主控部件500b发送对应的第二控制命令CM2。主控部件500b根据接收到的“关节1:存储区域11”从第二存储器510b中索引读到对应的协同控制信息,根据协同控制信息触发2#、3#、4#运动控制部件与1#运动控制部件一起协同控制。其中,2#、3#、4#运动控制部件分别用于控制关节2、关节3和关节4,图5中m#为4#。又例如,3#运动控制部件500基于“关节3:存储区域31”向主控部件500b发送对应的第二控制命令CM2。主控部件500b根据接收到的“关节3:存储区域31”从第二存储器510b中索引读到对应的协同控制信息,根据协同控制信息触发1#、2#、4#运动控制部件与3#运动控制部件一起协同控制。具体协同控制过程与上述示例类似,为了简洁,这里不再赘述。
上述技术方案利用主控部件实现了多个运动控制部件之间的协同触发控制,从而可以控制各运动控制部件基于预存的运动数据协同运动来执行多关节机器人需要执行的动作。由此极大简化了多关节机器人的操控方式,提高了工作效率和用户体验。
图6示出了根据本发明又一个实施例的用于控制机器人运动的运动控制系统的示意性框图。如图6所示,主控部件600b与1#、2#、3#、……、m#运动控制部件600连接。每个运动控制部件600集成有第一存储器600a,以用于预存该运动控制部件600的不同组的运动数据。为了简洁,图6中没有针对每个运动控制部件600示出第一存储器600a。运动控制部件600还用于根据接收到的第一控制命令CM1向主控部件600b发送对应的第二控制命令CM2。主控部件600b基于第二存储器610b中对应的协同控制信息向需要协同控制的运动控制部件600发送第三控制命令CM3。第三控制命令CM3包括与该第三控制命令CM3对应的目标存储区域的标识符。运动控制部件600基于与自主控部件600b接收的第三控制命令CM3对应的第一存储器600a中的、与第三控制命令CM3对应的目标存储区域的标识符指示的存储区域中预存的运动数据控制机器人运动。例如,2#运动控制部件600接收到的第三控制命令CM3中包括的目标存储区域的标识符为“存储区域2”,则2#运动控制部件600根据其集成的第一存储器600a中的、“存储区域2”中预存的运动数据控制机器人运动。
上述技术方案利用主控部件实现了多个运动控制部件之间的协同触发控制,从而可以控制各运动控制部件基于预存的运动数据协同运动来执行多关节机器人需要执行的动作。运动控制部件自身集成了第一存储器,以用于预存自己的不同组的运动数据。由此极大简化了多关节机器人的操控方式,提高了工作效率和用户体验。同时提高了运动控制部件的集成度,简化了运动控制系统的设计。
根据本发明另一方面,提供了一种用于控制机器人运动的运动控制系统。该运动控制系统包括上述运动控制部件。
根据本发明再一方面,提供了一种用于控制机器人运动的运动控制方法。该运动控制方法用于运动控制系统,该运动控制系统包括运动控制部件和第一存储器,该运动控制部件包括触发部和与触发部连接的运动控制部。其中,第一存储器包括多个存储区域,该多个存储区域中的至少两个存储区域用于预存不同组的运动数据。该运动控制方法包括以下步骤S1和步骤S2。
步骤S1,通过触发部接收第一控制命令。
步骤S2,利用运动控制部基于第一存储器中的、与步骤S1接收的第一控制命令对应的目标存储区域预存的运动数据控制所述机器人运动。
在一个实施例中,上述运动控制部件是多个,上述运动控制系统还包括与运动控制部件连接的主控部件。上述运动控制方法还包括以下步骤S3、步骤S4以及步骤S5。
步骤S3,通过主控部件接收第二控制命令。
步骤S4,利用主控部件根据第二控制命令查询主控部件的第二存储器中存储的协同控制信息以确定与第二控制命令对应的运动控制部件和目标存储区域,并基于与第二控制命令对应的目标存储区域向所确定的运动控制部件发送第三控制命令。其中,协同控制信息包括需要协同控制的运动控制部件与第一存储器中的存储区域的对应关系信息。
步骤S5,利用所确定的运动控制部件基于第一存储器中的、与第三控制命令对应的目标存储区域预存的运动数据控制所述机器人运动。
上述运动控制方法可以用于前述运动控制系统。本领域普通技术人员通过前述关于运动控制系统的描述,可以理解该运动控制方法的各个步骤的具体实现和技术效果。为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的视觉定位地图加载装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。