本发明涉及机器人领域,具体涉及一种内置控制器的机器人。
背景技术:
目前机器人在工业生产中的应用越来越广泛,其中轻便型机器人和协作型机器人由于灵活的工作方式和较低的安装环境要求,得到越来越多的应用,这些机器人通常需要工作于较为狭窄空间内或是需要固定于移动平台上。
但是,传统设计的机器人都需要一个用于负责机器人供电和控制的电控柜才可以正常工作。过大的电控柜既不方便机器人的运输与固定,也降低了机器人在狭小空间内工作的适用性。
由其是在移动平台的使用上,由于过大的电控柜无法固定于移动平台或移动机器人上,使得机器人在移动平台或与移动机器人协同工作的领域受到严重限制。
技术实现要素:
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种内置控制器的机器人,提高机器人的便携性和对狭小工作环境适应性。
本发明解决其技术问题所采用的技术方案是:提供一种内置控制器的机器人,该机器人包括机器人本体,该机器人还包括若干驱动机器人本体运动的驱动器,以及设置在机器人本体内部的内置控制器,该内置控制器分别与各驱动器通信连接并通过驱动器控制机器人本体运动,该内置控制器包括一实时操作系统,该实时操作系统包括运动控制单元和用户接口单元;其中,
该用户接口单元获取外部的控制信号,以及通过内置控制器获取各驱动器的反馈信息,该用户接口单元将获得的信息发送到运动控制单元中;
该运动控制单元通过控制信号或/和反馈信息,获得机器人下一步动作,分解成对应的控制命令,并通过内置控制器发送到各驱动器中。
其中,较佳方案是:该实时操作系统包括一通信单元,该通信单元与运动控制单元进行数据交换,该内置控制器通过通信单元与各驱动器进行通信连接。
其中,较佳方案是:该机器人包括设置在内置控制器中的EtherCAT主站模块,以及分别设置在各驱动器中的EtherCAT从站模块,该EtherCAT主站模块与通信单元进行数据交换,以及与各EtherCAT从站模块进行数据交换。
其中,较佳方案是:该运动控制单元与用户接口单元之间通过共享内存的方式连接,该运动控制单元与通信单元之间通过共享内存的方式连接。
其中,较佳方案是:该内置控制器包括若干通讯接口,并通过通讯接口分别与外部器件、驱动器、人机交互器件进行通讯连接,该实时操作系统包括若干驱动对应通讯接口工作的驱动程序。
其中,较佳方案是:该运动控制单元包括示教模块,该示教模块在机器人本体进入示教功能后,控制其保持当前姿态,所述的姿态通过外力进行改变,并在外力撤销后,该示教模块控制机器人本体保持外力撤销时的姿态。
其中,较佳方案是:该运动控制单元包括碰撞检测模块,该碰撞检测模块包括一力量预设范围,该碰撞检测模块检测到机器人本体在运动过程中产生碰撞,且碰撞的力量超过力量预设范围,发出预警信息。
其中,较佳方案是:该用户接口单元包括若干控制信号输出端,该控制信号输出端为触控屏幕、按钮、菜单、输入框或脚本语言,该控制信号输出端产生控制信号并发送到运动控制单元中,该运动控制单元将脚本语言转化为对应的控制命令,该机器人本体根据控制命令改变机器人的姿态、朝向以及工作状态。
其中,较佳方案是:该用户接口单元包括一脚本语言模块,该脚本语言模块发送脚本语言到运动控制单元中,该运动控制单元将脚本语言转化为对应的控制命令,该机器人本体根据控制命令改变机器人的姿态、朝向以及工作状态。
其中,较佳方案是:该机器人本体包括支撑座、机械臂和关节,该关节设置在机械臂之间,该驱动器为关节驱动器,该关节通过关节驱动器进行驱动,并带动机械臂的运动;该内置控制器与关节驱动器连接,并设置在支撑座、机械臂或关节的内部。
本发明的有益效果在于,与现有技术相比,本发明通过设计一种内置控制器的机器人,将用于控制机器人运动和工作的主要控制器件置于机器人本体内,解决机器人应用中,控制器体积过大、生产成本高的问题,尤其对于轻便型和协作型机器人,解决其对于狭小空间或移动平台适应性差的问题。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明内置控制器机器人的结构框图;
图2是本发明实时操作系统的结构框图;
图3是本发明实时操作系统的具体结构框图;
图4是本发明运动控制单元的结构框图;
图5是本发明用户接口单元的结构框图;
图6是本发明内置控制器的硬件结构框图;
图7是本发明内置控制器机器人的结构示意图;
图8是本发明内置控制器机器人的最小系统的结构示意图。
具体实施方式
现结合附图,对本发明的较佳实施例作详细说明。
在本发明中,内置控制器式机器人是指将用于控制机器人运动和工作的主要控制器件置于机器人本体内部,解决机器人应用中,控制器体积过大、生产成本高的问题,尤其对于轻便型和协作型机器人,解决其对于狭小空间或移动平台适应性差的问题。
如图1和图2所示,本发明提供内置控制器的机器人的优选实施例。
一种内置控制器2的机器人,该机器人包括机器人本体、若干驱动机器人本体运动的驱动器11,以及设置在机器人本体内部的内置控制器2,该内置控制器2分别与各驱动器11通信连接并通过驱动器11控制机器人本体运动,该内置控制器2包括一实时操作系统20,该实时操作系统20包括运动控制单元21和用户接口单元22。
具体描述如下:该用户接口单元22获取外部的控制信号,以及通过内置控制器2获取各驱动器11的反馈信息,该用户接口单元22将获得的信息发送到运动控制单元21中;该运动控制单元21通过控制信号或/和反馈信息,获得机器人下一步动作,分解成对应的控制命令,并通过内置控制器2发送到各驱动器11中。进一步地,该运动控制单元21将控制信号和反馈信息结合,获得机器人下一步动作。
其中,实时操作系统20以内置控制器2为硬件基础,拥有工业级实时运算处理能力,同时,包含机器人的所有物理端口的驱动程序,以及一些特殊的端口的驱动程序。进一步地,实时操作系统20通过独特的实时控制算法,使实时操作系统20的响应时间能满足工业级实时系统的要求。
进一步地,驱动机器人本体运动的驱动器11也是设置在机器人内部,实现全面内置,提高内置机器人的便携程度。
如图3所示,本发明提供实时操作系统的较佳实施例。
实时操作系统20包括一通信单元23,该通信单元23与运动控制单元21进行数据交换,该内置控制器2通过通信单元23与各驱动器11进行通信连接。
进一步地,机器人包括设置在内置控制器2中的EtherCAT主站模块24,以及分别设置在各驱动器11中的EtherCAT从站模块111,该EtherCAT主站模块24与通信单元23进行数据交换,以及与各EtherCAT从站模块111进行数据交换。具体地,EtherCAT主站模块24通过EtherCAT工业现场总线下发至相应的EtherCAT从站模块111中。
在本实施例中,还提供一种共享内存的连接方案。
运动控制单元21与用户接口单元22之间通过共享内存的方式连接,以及,该运动控制单元21与通信单元23之间通过共享内存的方式连接。具体地,存在一共享内存模块24,共享内存模块24分别设置在运动控制单元21与用户接口单元22之间,以及设置在运动控制单元21与通信单元23之间,保证数据在各功能单元间稳定高效的数据流通。其中,共享内存是一种高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝。为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间。进程就可以直接读写这一块内存而不需要进行数据的拷贝,从而大大提高效率。
如图4所示,本发明提供运动控制单元的较佳实施例。
运动控制单元21负责控制机器人的启动触发条件、停止触发条件,以及从起始点到终点的整条空间轨迹的规划和插补,以及机器人运动学的相关运算,同时包含安全设置和示教功能。
具体地,运动控制单元21包括示教模块211,该示教模块211在机器人本体进入示教功能后,控制其保持当前姿态,所述的姿态通过外力进行改变,并在外力撤销后,该示教模块211控制机器人本体保持外力撤销时的姿态。进一步地,机器人本体姿态不能被重力改变其姿态。以及,运动控制单元21包括碰撞检测模块212,该碰撞检测模块212包括一力量预设范围,该碰撞检测模块212检测到机器人本体在运动过程中产生碰撞,且碰撞的力量超过力量预设范围,发出预警信息。
在本实施例中,运动控制单元21接受用户指令或脚本指令,转化成轨迹或控制命令,并实时运算运动学方程,将其转化成实际关节32运动数据传送给EtherCAT主站模块24。以及,运动控制单元21通过独特设计的共享内存技术与EtherCAT主站通讯,实时传输路径信息至各驱动器11中。
如图5所示,本发明提供用户接口单元的较佳实施例。
用户接口单元22是人机交互的一个窗口,通过用户接口单元22提供的按钮222和脚本语言225,用户可任意改变机器人的姿态、朝向以及工作状态,同时显示机器人当前的状态信息和警告信息。
具体地,用户接口单元22包括若干控制信号输出端,该控制信号输出端为触控屏幕221、按钮222、菜单223、输入框224或脚本语言225,该控制信号输出端产生控制信号并发送到运动控制单元21中,该运动控制单元21将脚本语言225转化为对应的控制命令,该机器人本体根据控制命令改变机器人的姿态、朝向以及工作状态。以及,用户接口单元22包括一脚本语言225模块,该脚本语言225模块发送脚本语言225到运动控制单元21中,该运动控制单元21将脚本语言225转化为对应的控制命令,该机器人本体根据控制命令改变机器人的姿态、朝向以及工作状态。
在本实施例种,用户接口单元22还提供一个用于显示当前机器人姿态和朝向的3D模型,便于用户更好了解机器人的姿态。
如图6所示,本发明提供内置控制器的较佳实施例。
该内置控制器2包括若干通讯接口,并通过通讯接口分别与外部器件、驱动器11、人机交互器件进行通讯连接,该实时操作系统20包括若干驱动对应通讯接口工作的驱动程序。
具体地,内置控制器2的硬件主要包括SOC主控芯片、各种外设接口芯片、存储设备以及电源模块。内置控制器2包含了用于通信的RS232接口、用于特殊控制的USB接口、用于显示的VGA接口、用于存储数据的FLASH芯片、DDR芯片,以及为EtherCAT通信专门设计的高速以太网接口。同时,内置控制器2使用高复杂度的硬件设计,尽可能压缩控制器电路板尺寸。
如图7和图8所示,本发明提供机器人本体的较佳实施例。
该机器人本体包括支撑座33、机械臂31和关节32,该关节32设置在机械臂31之间,该驱动器11为关节驱动器,该关节32通过关节驱动器进行驱动,并带动机械臂31的运动;该内置控制器2与关节驱动器连接,并设置在支撑座33、机械臂31或关节32的内部。
具体地,机器人本体包括三大部分,第一部分包括支撑座33、机械臂31、关节32和线缆,支撑座33将机器人本体固定支持,机械臂31与关节32连接并通过线缆进行通信,通过关节驱动器对关节32进行控制,从而控制机械臂31的运动;第二部分包括一电控柜34,由于内置控制器2设置在机器人本体内,电控柜34只要集成I/O接口以及电源即可,使电控柜34小型化,同时参考图8,其为内置控制器2机器人的最小系统总成图,只需要外界电源36(优选为48V)内置控制器2机器人就可完成用户预设轨迹或预设脚本的任务;第三部分包括一显示器35或示教器,或者显示器35与示教器一体式设计,通过显示器35查看内置控制器2机器人的信息,或者输入相关控制信号,以及示教器用于进行示教。
在本发明中,首先设计一个可以满足任务需求的硬件平台,即内置控制器2,使其有足够的性能支撑所有的上层任务,并为其配备必要的外设资源,如通讯端口;其次,在硬件平台上安装工业级处理运算能力的实时操作系统20,完成相关运动任务,并通过共享内存技术使其与内部的功能单元通信;最后,加入EtherCAT实时主站模块,并获取及下发控制指令至EtherCAT总线,达到控制机器人正常运行的效果。
在本发明中,提供机器人的控制方法,具体描述如下:
用户接口单元22主要通过内置控制器2的显示接口显示机器人的相关信息,通过内置控制器2的触控接口获取用户输入的命令或编写的脚本。其中,显示机器人的相关信息主要包括一个可以描述机器人当前姿态的3D模型,以及机器人当前位置、温度、电流、电压、力矩和工作状态等信息的面板。获取用户输入命令的方式主要是:通过获取触控按钮222信息、获取机器人运动方向标的信息、自定义编程的脚本文件。
运动控制单元21主要将用户输入信息与机器人各部件的反馈信息相结合,运算得出机器人下一步的动作,并分解成相关命令分发给各个部件或关节驱动器;同时其包含了零力示教及碰撞检测的功能。
通信单元23主要是指获取机器人控制系统的命令,将其转化为EtherCAT总线专有格式的数据,并实时下发至各EtherCAT从站部件,其通讯周期保证在1ms以内。
进一步地,每一个机器人的工作流程,都由用户接口单元22发起,该用户接口单元22通过获取用户触控数据或读取用户预设脚本文件,获得机器人下一步工作所需相关信息,并将其传递给机器人的运动控制单元21,运动控制单元21通过一系列运算和控制逻辑,将其转化为机器人各个部件(如关节驱动器)可执行的命令,然后通过EtherCAT主站下发至各个EtherCAT从站,及机器人各个执行部件。与此同时,机器人各个部件也会通过EtherCAT总线将其执行信息及结果反馈给EhterCAT主站,主站实时获取并传输信息至机器人控制系统,一部分信息被用于控制运动控制单元21的反馈信号,另一部分信息则被继续向上层系统传输至用户接口单元22,并最终通过显示接口呈现给用户。
以上所述者,仅为本发明最佳实施例而已,并非用于限制本发明的范围,凡依本发明申请专利范围所作的等效变化或修饰,皆为本发明所涵盖。