一种机器人控制系统及机器人控制方法

文档序号:316 发布日期:2021-09-17 浏览:37次 英文

一种机器人控制系统及机器人控制方法

技术领域

本发明涉及机器人控制

技术领域

,特别是涉及一种机器人控制系统以及一种机器人控制方法。

背景技术

多自由度机器人由多个连杆、轴承、传感器和电机组成,通常每个电机控制一个自由度,机器人在运动过程中通常会涉及多个电机,在多自由度方向上运动。机器人中控制器,也称为控制单元(Central Process Unit)通过传感器的数据算出所有执行器,即执行单元的目标位置,每个执行器会控制一个自由度。通常情况下,由于执行器的数量较多,控制器只能按照一定的顺序串行的把所有目标位置发送给所有执行器。在现阶段,通常把相邻的执行器到达目标位置的时间差定义为τ。由于τ的存在,可以定义相邻执行器到达目标位置的相位差为φ。所有执行器间的最大相位差为(N-1)φ,该相位差会影响整个系统的重心,从而影响系统的稳定性。

在现有技术中,通常是采用高速CPU(Central Process Unit)组成控制单元;由多个伺服驱动器组成执行单元,执行单元之间采用串行连接;控制单元和执行单元之间通过CAN(Controller Area Network)总线连接。这种方式可以通过提升CPU的运算速度来减小上文中提到的时间差τ,但是它无法消除τ;并且使用高速的CPU,成本很高。所以如何提供一种可以消除时间差τ的机器人控制系统是本领域技术人员急需解决的问题。

发明内容

本发明的目的是提供一种机器人控制系统,可以消除相邻执行器到达目标位置的时间差;本发明的另一目的在于提供一种机器人控制方法,可以消除相邻执行器到达目标位置的时间差。

为解决上述技术问题,本发明提供一种机器人控制系统,包括控制器、FPGA和多个执行器;

所述FPGA与所述控制器通信连接;所述FPGA设置有多个接口控制器,一所述接口控制器与一对应的所述执行器通信连接,所述接口控制器均由同一时钟信号驱动;

所述FPGA用于:

获取所述控制器发送的控制指令;所述控制指令包括对应多个所述执行器的控制子指令;

通过所述接口控制器,根据所述时钟信号同时将各个所述控制子指令发送至对应的执行器,以同时驱动多个所述执行器运动。

可选的,所述FPGA还用于:

通过所述接口控制器获取传感器产生的传感数据;

将所述传感数据上传至所述控制器。

可选的,所述控制器包括中央处理器、DRAM和闪存芯片;所述中央处理器与所述FPGA通信连接。

可选的,所述FPGA与所述控制器之间通过并行读写总线、或SPI串行总线、或UART串行总线连接。

可选的,所述接口控制器为UART控制器,所述UART控制器与所述执行器通过UART总线连接;或,所述接口控制器为SPI控制器,所述SPI控制器与所述执行器通过SPI总线连接;或,所述接口控制器为CAN控制器,所述CAN控制器与所述执行器通过CAN总线连接。

可选的,任一所述执行器包括一伺服驱动器,所述伺服驱动器与对应的所述接口控制器通信连接;一所述伺服驱动器对应一自由度。

本发明还提供了一种机器人控制方法,应用于FPGA,包括:

获取控制器发送的控制指令;所述控制指令包括对应多个执行器的控制子指令;所述FPGA与所述控制器通信连接;所述FPGA设置有多个接口控制器,一所述接口控制器与一对应的所述执行器通信连接,所述接口控制器均由同一时钟信号驱动;

通过所述接口控制器,根据所述时钟信号同时将各个所述控制子指令发送至对应的执行器,以同时驱动多个所述执行器运动。

可选的,还包括:

通过所述接口控制器获取传感器产生的传感数据;

将所述传感数据上传至所述控制器。

本发明所提供的一种机器人控制系统,包括控制器、FPGA和多个执行器;FPGA与控制器通信连接;FPGA设置有多个接口控制器,接口控制器与执行器一一对应通信连接,接口控制器均由同一时钟信号驱动;FPGA用于获取控制器发送的控制指令;控制指令包括对应多个执行器的控制子指令;通过接口控制器,根据时钟信号同时将各个控制子指令发送至对应的执行器,以同时驱动多个执行器运动。

由于接口控制器均由同一时钟信号驱动,使得FPGA在分发控制指令时,会同时发送各个控制子指令,保证控制子指令发送时间的一致,从而可以保证消除相邻执行器到达目标位置的时间差τ,进而保证整个系统重心的稳定。

本发明还提供了一种机器人控制方法,同样具有上述有益效果,在此不再进行赘述。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所提供的一种机器人控制系统的结构框图;

图2为本发明实施例所提供的一种具体的机器人控制系统的接口框图;

图3为本发明实施例所提供的一种机器人控制方法流程图。

图中:1.控制器、2.FPGA、3.接口控制器、4.执行器。

具体实施方式

本发明的核心是提供一种机器人控制系统。在现有技术中,通常是采用高速CPU组成控制单元;由多个伺服驱动器组成执行单元,执行单元之间采用串行连接;控制单元和执行单元之间通过CAN总线连接。这种方式可以通过提升CPU的运算速度来减小上文中提到的时间差τ,但是它无法消除τ;并且使用高速的CPU,成本很高。

而本发明所提供的一种机器人控制系统,包括控制器、FPGA和多个执行器;FPGA与控制器通信连接;FPGA设置有多个接口控制器,接口控制器与执行器一一对应通信连接,接口控制器均由同一时钟信号驱动;FPGA用于获取控制器发送的控制指令;控制指令包括对应多个执行器的控制子指令;通过接口控制器,根据时钟信号同时将各个控制子指令发送至对应的执行器,以同时驱动多个执行器运动。

由于接口控制器均由同一时钟信号驱动,使得FPGA在分发控制指令时,会同时发送各个控制子指令,保证控制子指令发送时间的一致,从而可以保证消除相邻执行器到达目标位置的时间差τ,进而保证整个系统重心的稳定。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的一种机器人控制系统的结构框图。

参见图1,在本发明实施例中,机器人控制系统包括控制器1、FPGA2和多个执行器4;所述FPGA2与所述控制器1通信连接;所述FPGA2设置有多个接口控制器3,所述接口控制器3与所述执行器4一一对应通信连接,所述接口控制器3均由同一时钟信号驱动;所述FPGA2用于:获取所述控制器1发送的控制指令;所述控制指令包括对应多个所述执行器4的控制子指令;通过所述接口控制器3,根据所述时钟信号同时将各个所述控制子指令发送至对应的执行器4,以同时驱动多个所述执行器4运动。

上述控制器1需要与FPGA2通信连接,FPGA2需要与多个执行器4通信连接。上述控制器1会产生对应多个执行器4的控制指令,而该控制指令会包括多个控制子指令,每个控制子指令会对应一执行器4,控制对应执行器4进行运动。有关控制指令的具体内容需要根据实际情况自行设定,在此不做具体限定。

具体的,在本发明实施例中,所述控制器1可以包括中央处理器、DRAM(动态随机存取存储器)和闪存芯片;所述中央处理器与所述FPGA2通信连接。上述中央处理器,DRAM和闪存芯片相互配合可以对传感器获取的数据进行处理,并生成对应的控制指令。有关控制器1的具体结构以及控制器1内部数据处理流程可以参考现有技术,在此不再进行赘述。

上述FPGA2中通常需要设置有控制寄存器,发送数据缓冲区以及多个接口控制器3,其中FPGA2通过多个接口控制器3连接多个执行器4,接口控制器3与执行器4一一对应通信连接。上述控制器1在想要控制执行器4运动时,会将上述控制指令发送至FPGA2内设置的发送数据缓冲区,然后向控制寄存器内写入发送指令。之后FPGA2会根据控制寄存器内写入的发送指令,调用接口控制器3将控制指令中对应的控制子指令发送至执行器4,以驱动执行器4运动。此时需要注意的是,由于在本发明实施例中接口控制器3均由同一时钟信号驱动,即多个接口控制器3会同时发送对应的控制子指令,以消除相邻执行器4到达目标位置的时间差τ。

上述FPGA2在本发明实施例中具体会用于先获取所述控制器1发送的控制指令,通常会将控制指令存储至自身的发送数据缓冲区;之后会通过所述接口控制器3,根据所述时钟信号同时将各个所述控制子指令发送至对应的执行器4,以同时驱动多个所述执行器4运动,保证控制子指令的并行同步发送。

需要说明的是,上述控制子指令通常包括有对应执行器4需要达到的目标参数,例如目标位置、目标速度、目标力矩等等,FPGA2会将包括目标参数的控制子指令发送至对应的执行器4,以实现对执行器4的同步驱动。

通常情况下,任一所述执行器4包括一伺服驱动器,所述伺服驱动器与对应的所述接口控制器3通信连接;一所述伺服驱动器对应一自由度。即FPGA2会通过接口控制器3将对应的控制子指令发送至执行器4中的伺服驱动器,而该伺服驱动器会根据接收的控制子指令在预设的自由度范围内驱动执行器4运动。

进一步的,部分上述接口控制器3会连接整个机器人中的传感器,例如位置传感器等,该传感器会产生传感数据。而在本发明实施例中,所述FPGA2还可以用于:通过所述接口控制器3获取传感器产生的传感数据;将所述传感数据上传至所述控制器1。

上述FPGA2内可以还可以设置有状态寄存器以及接收数据缓冲区。当FPGA2通过接口控制器3获取到传感器产生的传感数据时,可以将传感数据保存至接收数据缓冲区,并改变状态寄存器中所记录的状态值。当控制器1发现FPGA2中状态寄存器中状态值改变时,或发现FPGA2中状态寄存器中状态值为对应已经获取到传感数据的状态值时,可以主动获取接收数据缓冲区内存储的传感数据,该传感数据作为控制反馈,可以使控制器1根据该传感数据产生下一轮控制指令。

需要说明的是,上述与传感器连接的接口控制器3通常也是由同一时钟信号驱动,通常FPGA2内全部实现执行器4运动以及传感数据获取的数据均由同一时钟信号驱动。上述一个接口控制器3可以同时连接一个执行器4以及一个传感器,但是一个接口控制器3不能同时连接多个执行器4,从而避免时间差τ的产生。通常情况下,每一执行器4会设置有对应的传感器,以检测自身当前的参数,例如位置参数、速度参数、力矩参数等,传感器会将上述参数通过FPGA2发送至控制器1作为控制反馈,以便控制器1控制机器人运动。

通常情况下,当时钟信号跳变时,每个接口控制器3控制发送对应的控制子指令。当时钟信号处于高电平或低电平时,每个接口控制器3可以获取对应的传感数据。

本发明实施例所提供的一种机器人控制系统,包括控制器1、FPGA2和多个执行器4;FPGA2与控制器1通信连接;FPGA2设置有多个接口控制器3,接口控制器3与执行器4一一对应通信连接,接口控制器3均由同一时钟信号驱动;FPGA2用于获取控制器1发送的控制指令;控制指令包括对应多个执行器4的控制子指令;通过接口控制器3,根据时钟信号同时将各个控制子指令发送至对应的执行器4,以同时驱动多个执行器4运动。

由于接口控制器3均由同一时钟信号驱动,使得FPGA2在分发控制指令时,会同时发送各个控制子指令,保证控制子指令发送时间的一致,从而可以保证消除相邻执行器4到达目标位置的时间差τ,进而保证整个系统重心的稳定。

有关本发明所提供的一种机器人控制系统的具体内容将在下述发明实施例中做详细介绍。

请参考图2,图2为本发明实施例所提供的一种具体的机器人控制系统的接口框图。

区别于上述发明实施例,本发明实施例是在上述发明实施例的基础上,进一步的对控制器1、FPGA2、执行器4三者之间具体连接方式进行限定,其余内容已在上述发明实施例中做详细介绍,在此不再进行赘述。

在本发明实施例中,所述FPGA2与所述控制器1之间可以通过并行读写总线、或SPI串行总线、或UART串行总线连接。

参见图2,当FPGA2与控制器1之间通过并行读写总线连接时,FPGA2与控制器1之间连接信号通常包括:RD,即读控制信号;WR,即写控制信号;ADDR,即地址总线;DATA,即数据总线。

当FPGA2与控制器1之间通过SPI(Serial Peripheral Interface)串行总线连接时,FPGA2与控制器1之间连接信号通常包括:CLK,即数据传输时钟信号;CS,即数据传输片选信号;MISO,即数据输入信号;MOSI,即数据输出信号。

当FPGA2与控制器1之间通过UART(Universal Asynchronous Receiver/Transmitter)串行总线连接时,FPGA2与控制器1之间连接信号通常包括:TXD,即数据输出信号;RXD,即数据输入信号。有关上述并行读写总线、SPI串行总线、UART串行总线的具体内容可以参考现有技术,在此不再进行赘述。

具体的,在本发明实施例中,所述接口控制器3可以为UART控制器,所述UART控制器与所述执行器4通过UART总线连接;或,所述接口控制器3可以为SPI控制器,所述SPI控制器与所述执行器4通过SPI总线连接;或,所述接口控制器3可以为CAN控制器,所述CAN控制器与所述执行器4通过CAN总线连接。

在本发明实施例中,上述接口控制器3的类型需要与FPGA2与执行器4之间通信连接方式相对应。具体的,当接口控制器3为UART控制器时,该UART控制器需要通过UART总线与对应的执行器4连接;当接口控制器3为SPI控制器时,该SPI控制器需要通过SPI总线与对应的执行器4连接;当接口控制器3为CAN控制器时,该CAN控制器需要通过CAN总线与对应的执行器4连接。

上述控制器1,FPGA2以及执行器4三者之间的连接方式,具体根据实际情况自行选择,具体可以参考控制器1FPGA2以及执行器4的类型,支持通信接口,资源大小等条件,在此不做具体限定。

本发明实施例所提供的一种机器人控制系统,由于接口控制器3均由同一时钟信号驱动,使得FPGA2在分发控制指令时,会同时发送各个控制子指令,保证控制子指令发送时间的一致,从而可以保证消除相邻执行器4到达目标位置的时间差τ,进而保证整个系统重心的稳定。

下面对本发明实施例所提供的一种机器人控制方法进行介绍,下文描述的机器人控制方法与上文描述的机器人控制系统可相互对应参照。

请参考图3,图3为本发明实施例所提供的一种机器人控制方法流程图。

本发明实施例所提供的一种机器人控制方法具体应用于上述FPGA2,有关FPGA2的具体结构,以及FPGA2,控制器1,执行器4三者之间具体的连接关系已在上述发明实施例中做详细介绍,在此不再进行赘述。本发明实施例所提供的一种机器人控制方法仅用于实现上述一种机器人控制系统的具体功能。

参见图3,在本发明实施例中,机器人控制方法包括:

S101:获取控制器发送的控制指令。

在本发明实施例中,所述控制指令包括对应多个执行器4的控制子指令;所述FPGA2与所述控制器1通信连接;所述FPGA2设置有多个接口控制器3,一所述接口控制器3与一对应的所述执行器4通信连接,所述接口控制器3均由同一时钟信号驱动。有关控制指令,控制子指令的具体内容已在上述发明实施例中做详细介绍,在此不再进行赘述。

S102:通过接口控制器,根据时钟信号同时将各个控制子指令发送至对应的执行器4,以同时驱动多个执行器4运动。

进一步的,在本发明实施例中,还可以包括:

S103:通过所述接口控制器获取传感器产生的传感数据。

S104:将所述传感数据上传至所述控制器。

进一步的,在本发明实施例中,所述控制器1包括中央处理器、DRAM和闪存芯片;所述中央处理器与所述FPGA2通信连接。

进一步的,在本发明实施例中,所述FPGA2与所述控制器1之间通过并行读写总线、或SPI串行总线、或UART串行总线连接。

进一步的,在本发明实施例中,所述接口控制器3为UART控制器,所述UART控制器与所述执行器4通过UART总线连接;或,所述接口控制器3为SPI控制器,所述SPI控制器与所述执行器4通过SPI总线连接;或,所述接口控制器3为CAN控制器,所述CAN控制器与所述执行器4通过CAN总线连接。

进一步的,在本发明实施例中,任一所述执行器4包括一伺服驱动器,所述伺服驱动器与对应的所述接口控制器3通信连接;一所述伺服驱动器对应一自由度。

有关FPGA2具体执行步骤的具体内容已在上述发明实施例中做详细介绍,在此不再进行赘述。具体的在本发明实施例中,控制器1会把所有执行器4的目标参数,例如目标位置、目标速度、目标力矩等等作为控制子指令,将多个控制子指令作为控制指令发送至FPGA2内部的发送数据缓冲区,同时控制器1会设置FPGA2中控制寄存器的标志。FPGA2内部的接口控制器3可以根据控制寄存器的标志从发送数据缓冲区读取执行器4的控制子指令,并且把包括目标参数的控制子指令发送到执行器4;执行器4会根据相关的设置参数控制电机运转至目标位置。由于所有的接口控制器3在相同的时钟驱动下工作,所以,所有的执行器4同时得到目标参数,控制目标电机同时到达目标位置。

在本发明实施例中反馈流程如下,执行器4可以定时发送自身的状态数据,例如当前位置、当前速度、当前力矩等等至FPGA2内部的接收数据缓冲区;此时FPGA2内状态寄存器可以根据接收数据缓冲区的状态设置相关的标志位;控制其读取FPGA2内部状态寄存器的相关标志位判断来接收数据缓冲区状态数据是否有新的数据:如果有新的数据,控制器1从FPGA2内部的接收数据缓冲区读取执行其的状态数据作为控制反馈。该状态数据即可为上述传感数据。

本发明实施例所提供的一种机器人控制方法,由于接口控制器3均由同一时钟信号驱动,使得FPGA2在分发控制指令时,会同时发送各个控制子指令,保证控制子指令发送时间的一致,从而可以保证消除相邻执行器4到达目标位置的时间差τ,进而保证整个系统重心的稳定。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种机器人控制系统以及一种机器人控制方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种适合机器人焊接的节点模型构建方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!