一种机器人控制系统的制作方法

文档序号:13750449阅读:108来源:国知局
一种机器人控制系统的制作方法

本申请涉及机器人领域,尤其涉及一种机器人控制系统。



背景技术:

随着机器人产业的发展,机器人的应用逐渐渗透各个产业,尤其是移动机器人,广泛应用于仓储、清洁、寻物等方面。移动机器人涉及路径规划、自身移动姿态调整、定位和驱动等方面,往往需要进行大量复杂的并行运算和实时运算,且需要与传感器配合对外部环境和自身状态的相关数据进行采集和处理,并发布控制指令进行移动。在现有技术中,为实现移动机器人的功能满足其移动需求,会将工控机、驱动器、电源模块、可编程逻辑器件、接口板、数据采集板,交换机等多个功能模块直接进行组合。

然而,现有技术将功能模块直接连接组合,往往会因为各个模块各自有一定的空间结构而增加了机器人的结构复杂性,模块多,接线复杂,可靠性变差。



技术实现要素:

本申请的一个目的是提供一种机器人控制系统。

为实现上述目的,本申请提供了一种机器人控制系统,该系统包括:

安装于一块电路板中的运算中枢模块、控制模块和数据总线;

所述运算中枢模块包括:用于并行运算的多个并行运算模块,和用于实时运算的实时运算模块;

所述控制模块用于控制一个或多个用于获取机器人姿态与位置信息的数据采集模块,控制一个或多个用于调整机器人移动方位和速度的驱动模块,以及控制一个或多个用于给机器人供电的动力管理模块;

所述数据总线用于连接所述系统中所包括的模块,以及连接外部网络;

其中,所述运算中枢模块通过所述数据总线发送控制指令至所述控制模块,所述控制模块通过所述数据总线发送机器人状态数据至所述运算中枢模块。

与现有技术相比,本申请通过将运算中枢模块、控制模块和数据总线安装于同一电路板,从而高度集成化机器人控制系统,使得机器人控制核心硬件系统体积小、重量轻,便于生产、组装和开发调试。

所述运算中枢模块包括:用于并行运算的多个并行运算模块,和用于实时运算的实时运算模块。因为所述运算中枢所包括的并行运算模块有多个,因此可进行大规模的复杂并行运算,且同时包括并行运算模块和实时运算模块的运算中枢模块对于移动机器人而言功耗较低。

通过所述控制模块通过控制数据采集模块、驱动模块和动力管理模块,可获得用于运算的机器人状态数据,从而在运算中枢模块运算后根据机器人当前的姿态和位置对后续机器人移动的姿态和位置进行调整。

通过所述数据总线可将所述控制模块与中枢模块连接,并进行数据通信,从而传递控制命令和运算所需的数据,使得高度集成化的机器人控制系统所包括的模块之间及时通信,从而使得机器人在移动时反应及时、行动灵活。

进一步地,所述系统还包括可扩展接口,其中,所述运算中枢模块通过所述可扩展接口获取数据,并将所述数据用于处理所述并行运算和所述实时运算;所述控制模块通过所述可扩展接口控制所扩展的模块,获取原始机器人状态数据。通过可扩展接口使得机器人控制系统可连接其他功能模块,并连接运算中枢模块和驱动模块,从而丰富机器人控制系统的功能,使得机器人适应更多的使用场景。

进一步地,所述原始机器人状态数据由所述控制模块处理并输出为所述机器人状态数据发送至所述运算中枢模块。通过所述控制模块对原始机器人状态数据进行处理,帮助运算中枢模块分担运算处理工作量,从而缩短运算时间,使得机器人的控制和响应更加快速。

进一步地,所述系统还包括所述数据采集模块、所述驱动模块和所述动力管理模块。通过将控制模块所控制的所述数据采集模块、所述驱动模块和所述动力管理模块都包括在机器人控制系统中,安装于同一块电路板中,使得机器人控制系统更加集成化,安装了这一机器人控制系统的机器人应用于姿态和位置获取、驱动和提供动力时更加轻便灵活。

进一步地,所述数据采集模块包括以下至少一项:用于获取机器人姿态信息的惯性测量模块;用于获取机器人位置信息的定位模块。数据采集模块通过惯性测量模块可以获取机器人的加速度,旋转角度等姿态信息;数据采集模块通过定位模块可快速获取机器人当前位置信息;利用姿态和位置信息可对机器人移动的路径进行规划和感知当前环境的地图,并进行其它移动操作,从而提高机器人移动准确度。

进一步地,每个所述驱动模块用于同步控制双路电机,所述双路电机中每路电机驱动机器人的一个轮子。通过同步控制双路电机,使得机器人的两个轮子被统一驱动模块控制,从而避免电机不同步导致的移动里程累积误差,并通过每两个电机减少一个驱动模块,节约机器人底盘的内部空间。

进一步地,所述动力管理模块包括以下至少一项:提供机器人多电压等级的电源模块;用于监测所述电源模块的预警模块。通过多电压等级的电源模块,使得机器人适应多种电压情况,从而扩大机器人的使用场景和范围。预警模块通过检测输入电压,可实时反馈电源状态,便于机器人控制系统及时根据电源状态进行移动路径和使用模式等方面的调整,提升机器人动力系统的使用安全性。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了根据本申请一个方面的一种机器人控制系统的系统结构框图;

图2示出了根据本申请一个优选实例的一种机器人控制系统的示意图;

图3示出了根据本申请另一个优选实例的一种机器人控制系统的示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

根据本申请的一个方面,一种机器人控制系统如图1所示,包括:安装于一块电路板中的运算中枢模块1、控制模块2和数据总线3。

其中,所述运算中枢模块1包括:用于并行运算的多个并行运算模块11,和用于实时运算的实时运算模块12。

具体地,所述运算中枢模块1用于进行机器人控制相关的运算,是一种有大规模并行运算能力的计算中枢处理器,例如图2中所示的ARM(Acorn RISC Machine)处理器即为运算中枢模块的一个优选举例。运算中枢模块处理通过数据总线所传输的用于运算的传感数据或其它运算相关数据。

所述运算中枢模块通过数据总线3与其它模块连接通信,例如输出根据运算结果形成的控制命令给控制模块,或接受控制模块发送的用于运算的数据信息。例如图2中所示的网络交换系统即为数据总线的一个优选举例,网络交换系统功能类似于网络总线,通过网络交换系统所连接的运算中枢模块和控制模块,可在模块间进行通信。数据总线还可通过连接以太网(Ethernet)与如图1中所示出的外部网络进行信息交换,例如,接受人工控制命令,或者输出当前机器人移动的路线规划等至外部设备,但不限于此。

优选地,所述运算中枢模块所在的机器人控制系统应用在机器人移动领域时,通过接受处理控制模块所发送的机器人的位置信息或加速度、角速度等姿态信息,在进行运算后输出当前机器人的准确位置、所规划的一定时间内的移动路径和当前移动环境的应对策略等信息.

所述并行运算模块11被包括在运算中枢模块中,用于处理并行运算。例如图2所示,采用GPU(Graphics Processing Unit)图形处理器进行并行运算。并行运算模块的数量有多个,在此多个是指并行模块的数量大于一个,在优选情况有上百个。当并行运算模块数量较多时,机器人控制系统在处理复杂并行运算的性能会被提升,尤其在机器人移动的场景中,输出机器人姿态的反馈和控制信息速度会被提升。GPU负责并行处理自定位算法中的大规模粒子滤波,实时输出机器人在环境中的参考位置。

所述实时运算模块12被包括在运算中枢模块中,用于处理实时运算。例如图2所示,采用CPU(Central Processing Unit)中央处理器进实时运算。从而可以在机器人控制系统用于机器人移动的场景中,综合使用和分析从数据总线获取的各种信息,实时计算机器人的最终滤波后位置,认知周边环境状态,并通过路径与速度规划算法给出实时的速度指令。

所述并行运算模块和所述实时运算模块被包括在所述运算中枢模块中,在此,所述包括关系可以是在一个实际个体上。例如图2中所示的均在ARM处理器上。也可以是分别两个部分,例如在电路板上有多个GPU和一个CPU,分别作为并行运算模块和实时运算模块完成运算工作。

在优选情况下,所述运算中枢模块采用NVIDIA(NVIDIA Corporation,英伟达)的TK1移动处理器为核心,提升运算处理速度,从而带来更好的性能体验。因为所述TK1所搭载的开普勒(kepler)架构的192个流处理器作为并行运算模块进行运算,从而相对于传统技术中的X86架构可以降低功耗。TK1常用于智能移动手机或平板领域往往因为功耗较大而效果不理想,在此用于机器人控制系统时,相对于机器人的总体功耗,其所消耗的功耗小于机器人控制系统所常用的X86架构。

所述控制模块2所述控制模块的核心是可提供实时运算及控制功能的微控制器,用于通过通信接口控制用于机器人移动或动作的模块,从而采集和处理数据采集模块所获取的传感数据,控制机器人驱动模块调整姿态,控制机器人动力模块并检测其状态获取相关信息。例如,图1中所示的控制区域中的模块,即为控制模块所控制的典型模块举例。所述通信接口例如SCI(Serial Communication Interface)串行总线、CAN总线、ADC或GPIO等,但不限于此。通过通信接口,控制模块采集所需要的数据,或者发送控制命令,或者接受所控制模块的信息反馈,但不限于此。在优选情况下采用单片机作为控制模块,例如Cotex系列的单片机。

所述控制模块实现控制功能所需的控制命令通过数据总线从运算中枢模块获取,在优选情况下控制模块还可以自行处理所控制模块所采集的数据后发出控制命令。例如,对IO点以及各类接口进行高频扫描,从而给运算中枢模块分流工作量,并承担实时控制任务。

所述控制模块通过数据总线3与其它模块连接通信,例如输出处理后的机器人状态相关的数据,或接受运算中枢模块发送的控制指令信息。例如图2中所示的网络交换系统即为数据总线的一个优选举例,网络交换系统功能类似于网络总线,通过网络交换系统所连接的运算中枢模块和控制模块,可在模块间进行通信。

如图1所示,所述控制模块2用于控制一个或多个用于获取机器人姿态与位置信息的数据采集模块41。所述数据采集模块用于获取机器人的外部环境和自身状态的信息。例如,在用于机器人移动的场景中,由感知机器人角速度、加速度、定位等传感元件组成。所述数据采集模块在每个机器人控制系统中可以是一个或多个,当不止一个时,每个数据采集模块所负责的功能可相同或不同。例如,控制模块通过通信接口连接数据采集模块IMU(Inertial measurement unit)惯性测量模块,获取机器人当前的姿态信息。控制模块通过通信接口连接UWB(Ultra Wideband)室内精确定位标签,获取机器人当前位置信息。

优选地,所述数据采集模块41包括以下至少一项:用于获取机器人姿态信息的惯性测量模块;用于获取机器人位置信息的定位模块。

其中,所述惯性测量模块是用于采集机器人在移动时的姿态信息和矫正机器人姿态的模块。所述姿态信息包括机器人当前的速度,行走或转动的角度等信息。矫正机器人姿态例如变换当前移动的方向角度。所述关系测量模块通过通信接口与控制模块连接以实现数据通信,接受控制命令或反馈采集数据。例如,IMU通过SCI串行总线与控制模块连接。优选地,所述惯性测量模块采用三个独立陀螺仪构成的IMU,从而补偿机器人在移动场景下电机工作造成的电磁干扰,获取更加精确的姿态信息。

所述定位模块用于获取机器人的位置信息,即在机器人静止或移动时的定位信息。所述位置信息通过所述定位模块与机器人所安装的激光雷达配合可进行高精度定位。例如,UWB室内精确定位标签通过SCI串行总线与控制模块连接以实现数据通信,接受控制命令或反馈采集数据。优选地,定位模块为基于UWB技术的室内精确定位标签,从而在机器人室内移动的场景下获取精确的室内定位。所述定位模块通过通信接口与控制模块连接。

如图1所示,所述控制模块2用于控制一个或多个用于调整机器人移动方位和速度的驱动模块42。所述驱动模块是指对机器人移动时的部件进行驱动的模块,例如驱动机器人的轮子。所述驱动模块可为一个或多个,当为多个时,即属于机器人所需要的驱动的轮子数目大于驱动模块可以控制的轮子数量。例如,一个驱动器控制一个轮子,当有两个轮子时即需要两个驱动器。在此,所述驱动器所驱动的不仅仅为轮子,其它可使得机器人实现移动的辅助部件也包含于此。所述驱动模块通过通信接口与控制模块连接以实现数据通信,接受控制命令或反馈当前驱动相关的数据。例如,驱动器通过CAN总线与控制模块连接。

优选地,每个所述驱动模块42用于同步控制双路电机,所述双路电机中每路电机驱动机器人的一个轮子。所述同步控制双路电机是指一个驱动器驱动双路电机,从而一个驱动器可以控制这两路电机所分别驱动的两个轮子。例如,当驱动模块接受到机器人的前进和旋转速度后,通过控制矢量算法和空间矢量正弦波分别驱动两路电机,驱动器内部同步读取两个电机脉冲编码器信息,对机器人里程直接进合成,使其积分时间常数达到微秒级,从而输出机器人的具体位置和旋转角度。通过驱动器同步控制双路电机,使得在机器人移动情景下可以避免电机之间因为获得控制命令的时间不同步所导致的里程误差累计。优选情况下,所述驱动模块选择具有微秒级同步精度的双BLDC电机磁场导向控制(FOC)变频器,其额定输出功率达600W。且因为每两个轮子减少了一个驱动器,节省了机器人的底盘空间,从使得机器人更好的驱动。

如图1所示,所述控制模块2用于控制一个或多个用于给机器人供电的动力管理模块43。所述动力管理模块用于给机器人提供动力,包括驱动和运算控制时所需要的动力。通过获取控制模块所下发的控制命令选择当前所供给的电压,或采用监测电路对当前电源状态进行监控,当有情况发生时反馈预警信息给控制模块,或直接采用闪灯等方式进行示警。所述动力管理模块可以是一个,用于给机器人供电和反馈供电状态,或者是多个,即电源或预警的功能模块是分开的。所述动力管理模块通过通信接口(如ADC/GPIO)与所述控制模块连接以实现数据通信,接受控制命令或反馈当前电源供电的状态数据。

优选地,所述动力管理模块包括以下至少一项:提供机器人多电压等级的电源模块;用于监测所述电源模块的预警模块。

所述电源模块是指给机器人提电源的模块,通过通信接口与控制模块连接,所提供的的电压为一个电压范围,从而适合多种电压等级的机器人。例如,提供8~60V的宽电压直流输入。

所述预警模块是指用于监控当前电源状态的模块,通过通信接口与控制模块连接。所述预警模块监测当前电源的供电状态,优选情况下可以设置预警阈值对应电源状态的关键数据,例如当电压处于不稳定情况下,可以在超过预警阈值或接近电压预警阈值时直接预警或反馈预警信息给控制模块。

所述数据总线3用于连接所述系统中所包括的模块,以及连接外部网络。所述数据总线连接所述机器人控制系统中所包括的所有模块,从而使得所有模块通过数据总线可以进行通信和数据交换,并通过数据总线所连接的外部网络与外界进行信息交换。例如图2中所示的网络交换系统即为数据总线的一个优选举例,网络交换系统功能类似于网络总线,通过网络交换系统所连接的运算中枢模块和控制模块,可在模块间进行通信。数据总线还可通过连接以太网(Ethernet)与如图1中所示出的外部网络进行信息交换,例如,接受人工控制命令,或者输出当前机器人移动的路线规划等至外部设备,但不限于此。

其中,所述运算中枢模块通过所述数据总线发送控制指令至所述控制模块,所述控制模块通过所述数据总线发送机器人状态数据至所述运算中枢模块。所述控制指令包括运算中枢所计算的路径信息,机器人即将进行的动作指令,当前定位结果等。所述机器人状态数据是指通过控制模块收集并处理后的反映机器人姿态和位置的数据信息,通过控制模块的处理,可以为运算中枢模块分流一定的工作。

优选地,所述系统还包括所述数据采集模块、所述驱动模块和所述动力管理模块。即上文所述的数据采集模块,所述驱动模块和所述动力模块可以又控制模块通过通信接口相连,并被集成安装在机器人控制系统对应的电路板中。例如图1中所示的控制区域内的模块与控制模块、数据总线、运算中枢模块一同被包括在机器人控制系统中,而非作为外接模块另外安装。从而进一步集成机器人控制系统,减轻机器人的体积和重量,方便开发和测试。

优选地,所述系统还包括可扩展接口。所述可扩展接口用于与外界通信以及连接其它可用于机器人控制系统的模块,从而达到扩展机器人控制系统规模,拓展机器人控制系统功能的目的。所述可扩展接口包括但不限于网络端口、无线接口、USB接口、高清接口以及其它工业界别的通信接口。例如图3所示,下面的“对外Ethernet接口”为网络端口。作为运算中枢模块的“ARM处理器”,以及作为控制模块的“MCU数据采集与驱动核心”所连接的RS232串行接口、USB串行接口、WIFI/Blue tooth无线接口、音视频接口、GPIO通用输入/输出点、CAN总线接口、RS485串行总线接口、SCI串行总线、ADC/GPIO均为可扩展接口在机器人控制系统中的优选示例。

其中,所述运算中枢模块通过所述可扩展接口获取数据,并将所述数据用于处理所述并行运算和所述实时运算。例如图3中作为运算中枢模块的“ARM处理器”通过RS232串行接口、USB串行接口、WIFI/Blue tooth无线接口、音视频接口等,获取外部指令,或其它需要读取的数据进行并行和实时运算,并将结果通过上述接口进行反馈或演示,例如反馈所规划的路径图。

所述控制模块通过所述可扩展接口控制所扩展的模块,获取原始机器人状态数据。例如图3中作为控制模块的“MCU数据采集与驱动核心”通过GPIO通用输入/输出点、CAN总线接口、RS485串行总线接口、SCI串行总线、ADC/GPIO与被控制的模块连接,从而获取机器人状态数据。

更优选地,所述原始机器人状态数据由所述控制模块处理并输出为所述机器人状态数据发送至所述运算中枢模块。所述原始机器人状态数据是由控制模块所控制的数据采集模块、驱动模块、动力管理模块等所采集和反馈的传感信息、外部环境和自身状态信息等未被处理过的数据信息。所述机器人状态数据是指通过控制模块将所述原始状态数据处理后的反映机器人姿态和位置的数据信息。通过控制模块处理原始机器人状态数据,会分流运算中枢模块的工作流,从而提升机器人控制系统的运行效率。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。

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