专利名称:双系统组件式的工业机器人控制器的制作方法
技术领域:
本发明涉及一种エ业机器人控制器,具体说是ー种双系统组件式的エ业机器人控制器。
背景技术:
机器人控制器在发展过程中按照机器人控制算法的处理方式来看,可分为单CPU结构、集中控制方式;ニ级CPU结构、主从式控制方式和多CPU分布式控制方式等。前两种结构出现在计算机技术发展的早期,采用微处理器芯片实现,CPU运算能力不够强,第三种结构多采用PC机+DSP板卡的形式,分别实现上位机程序和运动控制程序,如PMAC卡或 Trio板卡。这些方案存在ー些相似的问题,结构普遍比较复杂,编程比较困难,而且系统运算能力较差,难以实现比如机器人动力学控制这样的复杂运算,软件与硬件联系比较紧密,配线过多,对系统进行调试及维修比较困难,导致系统的可靠性较差。而且当需要控制的节点不断增加时,控制变得异常复杂。如果实现更多轴的联动控制,则需要在整个结构上做大的调整,造成成本的增加。目前最新的开放式的架构如专利CN1424649A“开放式结构机器人控制器”等,虽然也在PC机上利用实时系统开发了开放式的控制器,但是这些控制器基本上都是具有层次性的架构,每个层次所实现的功能是确定的,在増加新功能时往往需要对系统的框架进行修改,工作量非常大。
发明内容
本发明所要解决的技术问题,在于克服现有技术存在的缺陷,提出了ー种双系统组件式的エ业机器人控制器。采用“组件式”的结构,利用路由管理器和软总线实现组件式互联的基础,形成开放式构架。本发明双系统组件式的エ业机器人控制器,包括标准操作系统、实时操作系统、 路由管理模块、软总线、驱动管理模块、运动控制模块、PLC模块(可编程控制器模块)、IO模块、示教盒接ロ模块和协议栈模块;其特征是
所述标准操作系统和实时操作系统是所有组件模块运行的基础平台,示教盒接ロ模块、协议栈模块以及IO模块运行在标准操作系统下,PLC模块、运动控制模块、驱动管理模块和路由管理模块运行在实时操作系统下;
软总线是ー种自定义的Ethernet协议,通过组件模块的网络地址和功能地址,来向对应的组件功能发起请求及通讯;路由管理模块和软总线一起,将其他实时和非实时运行的模块连接起来;
路由管理模块用于对不同功能模块之间的访问进行路由选择及访问控制仲裁,并且对系统中的公用数据资源进行维护;各个功能模块(即驱动管理模块、运动控制模块、PLC模块、IO模块、示教盒接ロ模块和协议栈模块)都有ー个符合软总线协议规则的接ロ,当模块之间需要交互时,会通过该接ロ,将信息传递到软总线上,最后到达路由管理模块;路由管理模块对这些请求或回复进行解析,经过仲裁判断后,对对应的数据区进行操作,并对相关的模块进行指示或回复;
驱动管理模块(总线管理模块)对现场总线进行管理,驱动管理模块的下层为各种现场总线板卡或协议栈的驱动程序;驱动管理模块对各种现场总线板卡或协议栈的驱动程序进行抽象,在内部开辟ー块内存区域,用于将这些总线抽象出来的数据进行映射;当其他功能模块需要访问现场总线所连接的设备时,驱动管理模块会为该访问提供一个相同的抽象接 ロ,并在内部将该访问传递到正确的驱动程序上去;
运动控制模块对机器人进行运动规划及控制;该功能模块周期性运行,每个周期读取机器人各轴的当前信息,根据相应的算法进行运算后,将新的给定数据更新;这些数据由路由管理模块负责维护,最終传递到驱动管理模块上,并经过驱动程序发送到对应的硬件上;
IO模块和运动控制模块运行在同一级别,主要维护系统的IO信息,对上层程序提供常见的系统中已有的IO信号的访问;上层程序访问IO时,经过IO模块传递到路由管理模块上;路由管理模块将该信息转给驱动管理模块,最終经过驱动程序发送到对应的硬件上; 示教盒接ロ模块、协议栈模块和PLC模块处于同一级,为IO模块和运动控制模块的上层程序;PLC模块运行在实时系统下,示教盒接ロ模块、协议栈模块运行在非实时系统中。本发明双系统组件式的エ业机器人控制器,采用组件式结构,使得控制器为开放式构架,用户可以自行开发功能模块组件,并按照规则添加到系统中。而且控制器开放式的接ロ使得控制器可以连接的硬件不受限制。
图I是本发明双系统组件式的エ业机器人控制器结构示意框图。
具体实施例方式下面结合附图和实施例,对本发明做进ー步详细说明。如图I所示,双系统组件式的エ业机器人控制器,包括标准操作系统1,实时操作系统2,路由管理模块3,软总线4,驱动管理模块5,运动控制模块6,PLC模块7,IO模块 8,示教盒接ロ模块(包含示教再现功能)9和协议栈模块10。其中,标准操作系统I和实时操作系统2是所有组件模块运行的基础平台。示教盒接ロ模块9、协议栈模块10以及IO模块8运行在标准操作系统I下,PLC模块7、运动控制模块6、驱动管理模块5和路由管理模块3运行在实时操作系统下。软总线4是ー种自定义的Ethernet协议,通过组件模块的网络地址和功能地址, 来向对应的组件功能发起请求及通讯。路由管理模块3是系统中的管理者,和软总线4 一起,将其他实时和非实时运行的模块连接起来。路由管理模块3用于对不同功能模块之间的访问进行路由选择及访问控制仲裁, 并且对系统中的公用数据资源进行维护。在具体实现时,路由管理模块3在系统内存中开辟ー块共享内存区域,用于存储全局性的数据。不同功能模块的可供访问的全局数据映射到不同的相应内存段,这些内存段即代表了各功能模块的地址空间。不同功能模块之间的数据交互及功能调用最终归结到对这些全局数据的访问,所有对这些数据的访问都需要经过路由管理模块3来进行仲裁及选择。每个功能模块都有ー个符合软总线4协议规则的接 ロ,当功能模块之间需要交互时,会通过该接ロ,将信息传递到软总线4上,最后到达路由管理模块3。路由管理模块3对这些请求或回复进行解析,经过仲裁判断后,对对应的数据区进行操作,并对相关的功能模块进行指示或回复。软总线4和路由管理模块3的结合使得组件可以分布在网络中的不同设备中,不同设备中的组件进行通讯时,由路由管理模块判断组件是否为本地组件或远程组件,如果为远程组件,则将软总线上传递来的协议数据封包成Ethernet数据包,通过网络设备传递到目标设备上。驱动管理模块5对现场总线进行管理,在各功能模块中属于较为底层。驱动管理模块5的下层为各种现场总线板卡或协议栈的驱动程序,如CanOpen、EtherCAT和 Prof iDrive等。驱动管理模块5对这些驱动程序进行抽象,在内部开辟ー块内存区域,用于将这些总线抽象出来的数据进行映射。当其他功能模块如IO模块8或运动控制模块6需要访问现场总线所连接的设备时(如IO从站或伺服器),驱动管理模块5会为这种对不同现场总线的访问提供ー个相同的抽象接ロ,并在内部将这些访问传递到正确的驱动程序上去。运动控制模块6对机器人进行运动规划及控制。该功能模块周期性运行,每个周期读取机器人各轴的当前信息,根据相应的算法进行运算后,将新的给定数据更新。这些数据由路由管理模块3负责维护,最終传递到驱动管理模块5上,并经过驱动程序发送到对应的硬件上。IO模块8和运动控制模块6运行在同一级别,主要维护系统的IO信息。对上层提供常见的系统中已有的IO信号的访问。上层程序访问IO时,经过IO模块8传递到路由管理模块3上。路由管理模块3将该信息转给驱动管理模块5,最终经过驱动程序发送到对应的硬件上。示教盒接ロ模块9、协议栈10和PLC模块7处于同一级,为IO模块8和运动控制模块6的上层程序,实现对这些下层模块功能的访问。PLC模块7运行在实时系统下,示教盒接ロ模块9、协议栈模块10运行在非实时系统中。这种组件式的设计使得控制器的功能并不局限于此,用户可以自行开发功能模块组件,并按照规则添加到系统中。而且控制器开放式的接ロ使得控制器可以连接的硬件不受限制。
权利要求
1.一种双系统组件式的工业机器人控制器,包括标准操作系统、实时操作系统、路由管理模块、软总线、驱动管理模块、运动控制模块、PLC模块、IO模块、示教盒接口模块和协议栈模块;其特征是所述标准操作系统和实时操作系统是所有组件模块运行的基础平台,示教盒接口模块、协议栈模块以及IO模块运行在标准操作系统下,PLC模块、运动控制模块、驱动管理模块和路由管理模块运行在实时操作系统下;软总线是一种自定义的Ethernet协议,通过组件模块的网络地址和功能地址,来向对应的组件功能发起请求及通讯;路由管理模块和软总线一起,将其他实时和非实时运行的模块连接起来;路由管理模块用于对不同功能模块之间的访问进行路由选择及访问控制仲裁,并且对系统中的公用数据资源进行维护;各个功能模块(即驱动管理模块、运动控制模块、PLC模块、IO模块、示教盒接口模块和协议栈模块)都有一个符合软总线协议规则的接口,当模块之间需要交互时,会通过该接口,将信息传递到软总线上,最后到达路由管理模块;路由管理模块对这些请求或回复进行解析,经过仲裁判断后,对对应的数据区进行操作,并对相关的模块进行指示或回复;驱动管理模块(总线管理模块)对现场总线进行管理,驱动管理模块的下层为各种现场总线板卡或协议栈的驱动程序;驱动管理模块对各种现场总线板卡或协议栈的驱动程序进行抽象,在内部开辟一块内存区域,用于将这些总线抽象出来的数据进行映射;当其他功能模块需要访问现场总线所连接的设备时,驱动管理模块会为该访问提供一个相同的抽象接口,并在内部将该访问传递到正确的驱动程序上去;运动控制模块对机器人进行运动规划及控制;该功能模块周期性运行,每个周期读取机器人各轴的当前信息,根据相应的算法进行运算后,将新的给定数据更新;这些数据由路由管理模块负责维护,最终传递到驱动管理模块上,并经过驱动程序发送到对应的硬件上;IO模块和运动控制模块运行在同一级别,主要维护系统的IO信息,对上层程序提供常见的系统中已有的IO信号的访问;上层程序访问IO时,经过IO模块传递到路由管理模块上;路由管理模块将该信息转给驱动管理模块,最终经过驱动程序发送到对应的硬件上; 示教盒接口模块、协议栈模块和PLC模块处于同一级,为IO模块和运动控制模块的上层程序;PLC模块运行在实时系统下,示教盒接口模块、协议栈模块运行在非实时系统中。
全文摘要
本发明公开了一种双系统组件式的工业机器人控制器,包括标准操作系统、实时操作系统、路由管理模块、软总线、驱动管理模块、运动控制模块、PLC模块、IO模块、示教盒接口模块和协议栈模块。本发明采用组件式的架构,组件分别运行在非实时系统和实时系统下,支持分布式处理;通过路由管理器和软总线实现各组件之间的通讯及功能调用;路由管理器是各组件的仲裁者,组件通讯时经过该模块的管理;驱动管理模块为其他模块之间的通讯提供了一个抽象、统一的符合DS402标准的接口,符合该接口标准的伺服驱动器可以通过简单的工作集成到控制器中。用户可以自行开发功能模块组件,并按照规则添加到系统中,而且控制器开放式的接口使得连接硬件不受限制。
文档编号G05B19/418GK102591306SQ201210059639
公开日2012年7月18日 申请日期2012年3月8日 优先权日2012年3月8日
发明者余继军, 吴波, 王杰高, 王继虎 申请人:南京埃斯顿机器人工程有限公司, 南京埃斯顿自动化股份有限公司