机器人控制系统及方法与流程

文档序号:11801775阅读:500来源:国知局
机器人控制系统及方法与流程

本发明涉及机器人的控制技术领域,特别涉及一种机器人控制系统及方法。



背景技术:

随着机器人技术的发展,智能机器人产品已经越来越多地深入到人们生活的各个方面,机器人不只用来帮助用户高效地完成指定的工作,更被设计为能够为用户提供娱乐的伙伴。

然而在现有技术中,机器人只能单独的执行指定的任务,无法实现与其他机器人之间的高实时交互,比如说,机器人A无法跟随机器人B并相对随机器人B做出预设的动作,限制了机器人的应用范围,降低了机器人的用户体验。



技术实现要素:

本发明实施方式的目的在于提供一种机器人控制系统及方法,使得一个机器人可以跟随运动的另一个机器人并相对其做出预设的动作。

为解决上述技术问题,本发明的实施方式提供了一种机器人控制系统,包括:控制器、第一机器人与第二机器人;所述控制器分别与所述第一机器人、所述第二机器人通信连接;所述控制器获取第一矩阵变换到第二矩阵的变换矩阵;其中,所述第一矩阵用于表征所述第一机器人相对于预设参照物的初始位置和初始姿态,所述第二矩阵用于表征所述第一机器人相对于所述预设参照物的目标位置与目标姿态;所述变换矩阵用于表征所述第一机器人从所述初始位置和所述初始姿态移动至所述目标位置与所述目标姿态的过程中执行的动作;所述控制器根据所述第一矩阵变换、所述变换矩阵控制所述第一机器人运动,根据第三矩阵与所述变换矩阵控制所述第二机器人运动;其中,所述第三矩阵用于表征所述第二机器人相对于所述第一机器人的目标位置和目标姿态。

本发明的实施方式还提供了一种机器人控制方法,应用于上述的机器人控制系统,包括:获取第一矩阵变换到第二矩阵的变换矩阵;其中,所述第一矩阵用于表征所述第一机器人相对于预设参照物的初始位置和初始姿态,所述第二矩阵用于表征所述第一机器人相对于所述预设参照物的目标位置与目标姿态;所述变换矩阵用于表征所述第一机器人从所述初始位置和所述初始姿态移动至所述目标位置与所述目标姿态的过程中执行的动作;根据所述第一矩阵变换、所述变换矩阵控制所述第一机器人运动,根据第三矩阵与所述变换矩阵控制所述第二机器人运动;其中,所述第三矩阵用于表征所述第二机器人相对于所述第一机器人的目标位置和目标姿态。

本发明实施方式相对于现有技术而言,通过第一机器人的初始位置和初始姿态,以及第一机器人的目标位置与目标姿态,可以获取第一机器人运动过程中的变换矩阵,然后根据该变换矩阵控制第二机器人的运动,使得第二机器人可以跟随第一机器人并相对其做出预设的动作,拓展了机器人的应用范围。

另外,所述控制器具体包括:解算模块、第一机器人控制模块与第二机器人控制模块;所述解算模块与所述第一机器人控制模块、所述第二机器人控制模块均相连;所述解算模块根据所述第三矩阵与所述变换矩阵,得到第四矩阵;所述第四矩阵用于表征所述第二机器人相对于所述预设参照物的目标位置与目标姿态;所述解算模块还根据所述第二矩阵解算出所述第一机器人的各个关节轴的角度,根据所述第四矩阵解算出所述第二机器人的各个关节轴的角度;所述第一机器人控制模块,用于根据解算出的所述第一机器人的各个关节轴的角度,控制所述第一机器人的各个关节轴转动;所述第二机器人控制模块,用于根据解算出的所述第二机器人的各个关节轴的角度,控制所述第二机器人的各个关节轴转动。通过解算模块解算出的机器人的各个关节轴的角度,可以控制机器人动作,同时,两个以及两个以上的机器人采用同一个解算模块,可以降低系统功耗。

另外,所述第一机器人控制模块包括:轴控模块与虚拟轴;其中,所述轴控模块的数目等于所述虚拟轴的数目;所述轴控模块与所述虚拟轴一一对应连接;所述第一机器人包括伺服驱动器;所述伺服驱动器的数目等于所述第一机器人的关节轴的数目;所述虚拟轴与所述伺服驱动器通过实时现场总线通信连接;在所述机器人控制系统启动时,所述轴控模块,用于根据连接到所述第一机器人控制模块的所述伺服驱动器的数目,初始化虚拟轴;其中,初始化的虚拟轴的数目等于所述第一机器人的伺服驱动器的数目;所述轴控模块,还用于通过所述虚拟轴将指令发送至所述伺服驱动器;其中,所述指令包括所述第一机器人的各个关节轴的角度。这样,可以根据机器人的关节轴的数目为其配置相应的虚拟轴,每个虚拟轴对应一个轴控模块和伺服驱动器,实施起来灵活、方便,更利于仿真。

另外,所述第二机器人控制模块包括:轴控模块与虚拟轴;其中,所述轴控模块的数目等于所述虚拟轴的数目;所述轴控模块与所述虚拟轴一一对应连接;所述第二机器人包括伺服驱动器;所述伺服驱动器的数目等于所述第二机器人的关节轴的数目;所述虚拟轴与所述伺服驱动器通过实时现场总线通信连接;在所述机器人控制系统启动时,所述轴控模块,用于根据连接到所述第二机器人控制模块的所述伺服驱动器的数目,初始化虚拟轴;其中,初始化的虚拟轴的数目等于所述第二机器人的伺服驱动器的数目;所述轴控模块,还用于通过所述虚拟轴将指令发送至所述伺服驱动器;其中,所述指令包括所述第二机器人的各个关节轴的角度。这样,可以根据机器人的关节轴的数目为其配置相应的虚拟轴,每个虚拟轴对应一个轴控模块和伺服驱动器,实施起来灵活、方便。

另外,所述解算模块根据所述第二机器人的最大加速度、最大速度规划所述第一机器人的运动;所述解算模块,还根据规划的所述第一机器人的运动,获取所述变换矩阵。这样可以保证第二机器人在跟随第一机器人做动作时不会超过加速度与速度的限制。

附图说明

图1是根据本发明第一实施方式的机器人控制系统结构示意图;

图2是根据本发明第二实施方式的机器人控制系统结构示意图;

图3是根据本发明第三实施方式的机器人控制方法流程图;

图4是根据本发明第四实施方式的机器人控制方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种机器人控制系统,如图1所示,包含:控制器、第一机器人与第二机器人。其中控制器分别与第一机器人、第二机器人通信连接。

具体的说,控制器获取第一矩阵变换到第二矩阵的变换矩阵;其中,第一矩阵用于表征第一机器人相对于预设参照物的初始位置和初始姿态,第二矩阵用于表征第一机器人相对于预设参照物的目标位置与目标姿态;变换矩阵用于表征第一机器人从初始位置和初始姿态移动至目标位置与目标姿态的过程中执行的动作。

控制器根据第一矩阵变换、变换矩阵控制第一机器人运动,根据第三矩阵与变换矩阵控制第二机器人运动;其中,第三矩阵用于表征第二机器人相对于第一机器人的目标位置和目标姿态。

比如说,预设的参照物可以选取地面,表征第一机器人的初始位置和初始姿态的第一矩阵可以为T1,表征第一机器人的目标位置与目标姿态的第二矩阵可以为T2,表征第一机器人从初始位置和初始姿态移动至目标位置与目标姿态的过程中执行的动作的变换矩阵可以为T,则T1*T=T2,这样,就可以根据第一矩阵T1、变换矩阵T控制第一机器人运动至目标位置与目标姿态。同样,表征第二机器人相对于第一机器人的目标位置和目标姿态的第三矩阵可以用T3表示,可以根据第三矩阵T3与变换矩阵T控制第二机器人运动,实现第二机器人可以跟随运动的第一机器人并相对其做出预设的动作(T3)。

本实施方式相对于现有技术而言,通过第一机器人的初始位置和初始姿态,以及第一机器人的目标位置与目标姿态,可以获取第一机器人运动过程中的变换矩阵,然后根据该变换矩阵控制第二机器人的运动,使得第二机器人可以跟随第一机器人的运动并相对其做出预设的动作,拓展了机器人的应用范围。

本发明的第二实施方式涉及一种机器人控制系统。本实施方式中的控制器具体可以包括:解算模块、第一机器人控制模块与第二机器人控制模块,如图2所示,其中,解算模块与第一机器人控制模块、第二机器人控制模块均相连。

具体的说,本实施方式中同样可以选取底面为预设参照物,表征第二机器人相对于地面的目标位置与目标姿态的第四矩阵可以用T4表示,设T5用于表征第二机器人相对于第一机器人的初始位置和初始姿态,T6用于表征第二机器人相对于第一机器人的预设的动作;根据运动学可知,T4=T5*T6*T;其中,T3=T5*T6,所以,可得T4=T3*T。故而,解算模块可以根据第三矩阵与变换矩阵,得到第四矩阵。

由于T3为表征第二机器人相对于第一机器人的目标位置和目标姿态,因此可以根据第三矩阵T3与变换矩阵T控制第二机器人运动,实现第二机器人可以跟随第一机器人的运动并相对其做出预设的动作。

更具体地说,解算模块还可以根据第二矩阵解算出第一机器人的各个关节轴的角度,根据第四矩阵解算出第二机器人的各个关节轴的角度。然后,第一机器人控制模块根据解算出的第一机器人的各个关节轴的角度,控制第一机器人的各个关节轴转动;第二机器人控制模块根据解算出的第二机器人的各个关节轴的角度,控制第二机器人的各个关节轴转动。

在实际应用中,第一机器人控制模块还可以包含轴控模块与虚拟轴,其中,轴控模块的数目等于虚拟轴的数目,且轴控模块与虚拟轴一一对应连接,轴控模块的数目与虚拟轴的数目均可以设置多个。第一机器人包括伺服驱动器,该伺服驱动器的数目等于第一机器人的关节轴的数目,也就是说,第一机器人每个关节轴配备一个伺服驱动器,伺服驱动器与虚拟轴可以通过实时现场总线(比如Ethernet Powerlink、EtherCAT)通信连接。在机器人控制系统启动时,轴控模块可以根据连接到第一机器人控制模块的伺服驱动器的数目,初始化虚拟轴;其中,初始化的虚拟轴的数目等于第一机器人的伺服驱动器的数目。在解算模块解算出第一机器人的各个关节轴的角度之后,轴控模块通过虚拟轴向各个关节轴对应的伺服驱动器发送指令,其中,该指令包括第一机器人的各个关节轴的角度,用于控制第一机器人动作。

同样的,第二机器人控制模块也可以包含轴控模块与虚拟轴,其中,轴控模块的数目等于虚拟轴的数目,且轴控模块与虚拟轴一一对应连接。第二机器人也包括伺服驱动器,该伺服驱动器的数目等于第二机器人的关节轴的数目,也就是说,第二机器人每个关节轴配备一个伺服驱动器,且伺服驱动器与虚拟轴也可以通过实时现场总线(比如Ethernet Powerlink、EtherCAT)通信连接。在机器人控制系统启动时,轴控模块可以根据连接到第二机器人控制模块的伺服驱动器的数目,初始化虚拟轴;其中,初始化的虚拟轴的数目等于第二机器人的伺服驱动器的数目。在解算模块解算出第二机器人的各个关节轴的角度之后,轴控模块通过虚拟轴向各个关节轴对应的伺服驱动器发送指令,其中,该指令包括第二机器人的各个关节轴的角度,用于控制第二机器人动作。

本实施方式中,根据机器人的关节轴的数目为其配置相应的虚拟轴,每个虚拟轴对应一个轴控模块和伺服驱动器,实施起来灵活、方便,更利于仿真。另外,通过解算模块解算出的机器人的各个关节轴的角度,并通过虚拟轴将包含各个关节轴角度的指令发送至各个对应的伺服驱动器,可以控制机器人动作,从而可以根据第一机器人位置变化来控制第二机器人动作,使得第二机器人可以跟随第一机器人的动作而做出相应的动作,拓展机器人的应用范围。

需要说明的是,在实际应用中,解算模块可以根据第二机器人的最大加速度、最大速度规划第一机器人的运动,并根据规划的第一机器人的运动,获取变换矩阵,这样可以保证第二机器人在跟随第一机器人做动作时不会超过加速度与速度的限制。另外,本实施方式的机器人控制系统同样适用于多个机器人的跟随动作,比如说,还可以包括第三机器人,第三机器人可以跟随第一机器人,也可以跟随第二机器人。

本发明第三实施方式涉及一种机器人控制方法,应用于第一或者第二实施方式中的机器人控制系统,本实施方式中机器人控制方法的流程如图3所示,具体如下:

在步骤301中,获取第一矩阵变换到第二矩阵的变换矩阵。具体的说,第一矩阵用于表征第一机器人相对于预设参照物的初始位置和初始姿态。第二矩阵用于表征第一机器人相对于预设参照物的目标位置与目标姿态;变换矩阵用于表征第一机器人从初始位置和初始姿态移动至目标位置与目标姿态的过程中执行的动作。

在步骤302中,根据第一矩阵变换、变换矩阵控制第一机器人运动。

在步骤303中,根据第三矩阵与变换矩阵控制第二机器人运动。具体的说,第三矩阵用于表征第二机器人相对于第一机器人的目标位置和目标姿态。

需要说明的是,步骤302与303也可以同时执行。

不难发现,本实施方式为与第一实施方式相对应的方法实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明第四实施方式涉及一种机器人控制方法。其流程如图4所示,具体如下:

在步骤401中,判断机器人控制系统是否启动。若是则进入步骤402,否则继续执行本步骤。

在步骤402中,根据连接到机器人控制系统的机器人的伺服驱动器的数目初始化虚拟轴。具体的说,根据连接到机器人控制系统的第一机器人的伺服驱动器的数目,初始化虚拟轴;其中,初始化的虚拟轴的数目等于第一机器人的伺服驱动器的数目。同时,还可以根据连接到机器人控制系统的第二机器人的伺服驱动器的数目,初始化虚拟轴;其中,初始化的虚拟轴的数目等于第二机器人的伺服驱动器的数目。

在步骤403中,获取第一矩阵变换到第二矩阵的变换矩阵。具体的说,第一矩阵用于表征第一机器人相对于预设参照物的初始位置和初始姿态。第二矩阵用于表征第一机器人相对于预设参照物的目标位置与目标姿态;变换矩阵用于表征第一机器人从初始位置和初始姿态移动至目标位置与目标姿态的过程中执行的动作。

在步骤404中,根据第二矩阵解算出第一机器人的各个关节轴的角度。

在步骤405中,根据解算出的第一机器人的各个关节轴的角度控制第一机器人的各个关节轴转动。具体的说,可以通过虚拟轴向第一机器人的伺服驱动器发送包括第一机器人的各个关节轴角度的指令,来控制第一机器人的各个关节轴转动。

在步骤406中,根据第三矩阵与变换矩阵得到第四矩阵。具体的说,第四矩阵用于表征第二机器人相对于预设参照物的目标位置与目标姿态。

在步骤407中,根据解算出的第二机器人的各个关节轴的角度,控制第二机器人的各个关节轴转动。具体的说,可以通过虚拟轴向第二机器人的伺服驱动器发送包括第二机器人的各个关节轴角度的指令,来控制第二机器人的各个关节轴转动。

需要说明的是,在实际应用中,解算模块可以根据第二机器人的最大加速度、最大速度规划第一机器人的运动,并根据规划的第一机器人的运动,获取变换矩阵,这样可以保证第二机器人在跟随第一机器人做动作时不会超过加速度与速度的限制。

另外,本实施方式的机器人控制系统同样适用于多个机器人的跟随动作,比如说,还可以包括第三机器人,第三机器人可以跟随第一机器人,也可以跟随第二机器人。

由于第二实施方式与本实施方式相互对应,因此本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,在第二实施方式中所能达到的技术效果在本实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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