基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器技术方案

技术编号:20763516 阅读:33 留言:0更新日期:2019-04-03 14:11
本发明专利技术涉及一种基于ZYNQ双核处理器的RTOS‑GPOS双操作系统机器人控制器,包括ZYNQ双核处理器、以ZYNQ双核处理器为控制核心的外围硬件模块和以ZYNQ双核处理器为硬件基础的RTOS‑GPOS双操作系统,所述RTOS‑GPOS双操作系统包括主系统模块、从系统模块、系统启动控制模块和双核通信模块。本发明专利技术通过在双核芯片ZYNQ上建立基于非对称多处理架构的双操作系统并行运行机制,构建出一种双系统机器人控制器,可同时运行通用操作系统Linux和实时操作系统FreeRTOS,从而既能完成人机交互、路径规划等上层任务,又能执行运动控制、应急操作等实时任务,从而为机器人开发提供了一种轻便、通信效率高、复用性好的控制器,可以很好地满足实际应用的需要。

【技术实现步骤摘要】
基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器
本专利技术属于自动化控制
,具体涉及一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器。
技术介绍
机器人是一种机电一体化的控制对象,其控制软件既包含人机交互、路径规划等上层非实时任务,又包含运动控制、应急操作等底层实时任务。机器人控制系统的实现,目前多采用上位机+运动控制卡的形式,上位机运行通用操作系统来完成非实时任务,运动控制卡运行实时操作系统或裸板程序来完成实时任务。这种传统的控制结构使得机器人控制器需要至少两块控制板卡,增加了空间,同时上下层通信效率较低,复用性较差。目前,国内外已经对新型的机器人控制器开展了研究。一些机器人团队提出了模块化的机器人控制器设计方案。例如由北京航空航天大学设计的基于ARM+FPGA的模块化控制器是其中一种选择。这种设计可以提高硬件平台重用性,缩短开发时间,但缺点在于ARM和FPGA的没有专门的通信通路,容易影响整体性能提升,FPGA的硬件加速特性也无法得以发挥。固高科技的四轴运动控制器采用DSP+FPGA实现,但单台价格相对比较昂贵,而且系统设计复杂,设计成本较高。因此,有必要开发一种低成本,通信效率高,系统易于设计的机器人控制器。
技术实现思路
针对上述现有技术中存在的问题,本专利技术的目的在于提供一种可避免出现上述技术缺陷的基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器。为了实现上述专利技术目的,本专利技术提供的技术方案如下:一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,包括ZYNQ双核处理器和以ZYNQ双核处理器为控制核心的外围硬件模块。进一步地,所述外围硬件模块包括电机驱动模块、应急制动模块、电机状态反馈模块、电源模块和人机交互模块;所述电机驱动模块包括差动驱动器电路和光耦电路,用于将处理器输出的脉冲信号、方向信号以及控制信号通过差动放大以及和光耦隔离控制伺服电机驱动器;所述应急制动模块利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开;所述电机状态反馈模块利用伺服电机驱动器的串列通信功能,通过串口与驱动器进行通信;所述电源模块通过电源转换芯片以及稳压器件为其他各模块所供电;所述人机交互模块包括触摸屏和上位机连接串口,触摸屏用于人机交互软件显示,上位机串口用于与PC相连将通用系统输出信息打印到PC端。进一步地,所述控制器还包括以ZYNQ双核处理器为硬件基础的RTOS-GPOS双操作系统,所述RTOS-GPOS双操作系统包括主系统模块、从系统模块、系统启动控制模块和双核通信模块。进一步地,所述主系统模块包括通用操作系统Linux,用于控制从系统的启动关闭、运行上层非实时软件;所述从系统模块包括实时操作系统FreeRTOS,用于运行底层实时任务软件;所述系统启动控制模块运行在主系统模块中,用于控制在从CPU上加载和卸载非对称多处理架构下的从系统模块的过程;所述双核通信模块以驱动程序的形式运行在主系统模块中,以库函数的形式运行于从系统模块中,利用共享内存,在两CPU间建立通信通道,用于主系统和从系统间的通信。进一步地,所述RTOS-GPOS双操作系统运行在拥有双ARM内核的ZYNQ芯片上,其中有主CPU和从CPU,双操作系统包括运行在主CPU上的主系统通用操作系统Linux和运行在从CPU上的从系统实时操作系统FreeRTOS,二者在非对称多处理架构下并行运行,由主系统引导从系统的启动和关闭,其中主操作系统运行上层非实时任务,从操作系统运行底层实时任务。进一步地,所述双核通信模块将外部DDR3内存一部分取消掉cache功能,由软件控制读取,划分为双核共享内存作为通信通道;使用基于中断的通信机制通信,通信过程中发送方通过向ICDSGIR寄存器写入SGI中断号以及指定目标CPU来产生一个软件中断,接收方收到中断后读取内存,并向ICDICPR寄存器相应位置写1清除中断。进一步地,所述双核启动模块采用由主CPU引导的启动方式,从操作系统以主系统上运行的远程固件的形式由其控制开启和关闭;双核启动模块是Linux驱动程序,它控制在从CPU上加载和卸载非对称多处理架构下的从操作系统的过程。进一步地,所述双核启动模块的启动方法,由主CPU引导,首先双核在对称多处理架构下共同运行主系统Linux,当双核启动模块启动后,主CPU调用启动控制模块获取从系统启动镜像并获取资源列表,并将从系统的系统镜像文件和资源列表文件加载到从CPU的内存空间上,加载完毕后再给从CPU发送复位启动信号,使其读取从系统镜像,从操作系统镜像作为一个固件存储在主系统Linux的文件系统目录下;启动完成后,双操作系统控制器开始运行,两系统中的程序通过调用通信模块进行通信,当需要从操作系统关闭时,由主系统通过通信模块向从系统发送特定的关闭信息,从系统确认后再次调用双核启动控制模块进行析构,释放从系统使用的资源,使双CPU重新在对称多处理架构下运行Linux。所述机器人控制器的建立方法,包括以下步骤:第一步,建立基于ZYNQ的硬件平台,包括对ZYNQ处理器的配置和对外围硬件模块的配置;使用Vivado开发工具,通过加入GPIO、系统复位、内部通信模块,使用AXI总线连接;生成位流文件,用于对芯片内部的可编程逻辑PL部分进行配置,通过PL建立起处理系统PS与片内和外围硬件模块之间的连接,构成控制器硬件基础;第二步,建立双系统并行运行机制并移植到上述平台上,使用Petalinux建立主系统Linux,按需要裁剪,分别对共享资源、双核通信、双核启动进行配置和搭建,使用SDK建立从系统FreeRTOS以及各系统软件程序,最终使用Petalinux生成主系统文件,使用SDK生成启动引导文件,通过SD卡拷入烧写启动。所述控制器的运行方法,包括:通过在主系统Linux上运行的人机交互软件获取控制信息,经由Linux上的机器人控制程序解析生成发送给下位机的控制序列,通过通信模块发送给从系统FreeRTOS,FreeRTOS根据输入对机器人执行机构进行实时的控制;双系统运行的可行性通过软件程序得到验证,当双系统启动完成后,由Linux端软件通过通信模块向FreeRTOS端发送信息,FreeRTOS软件再将收到的信息返回,由Linux端软件验证原信息是否完整正确。本专利技术提供的基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,通过在双核芯片ZYNQ上建立基于非对称多处理架构的双操作系统并行运行机制,构建出一种双系统机器人控制器,可同时运行通用操作系统Linux和实时操作系统FreeRTOS,从而既能完成人机交互、路径规划等上层任务,又能执行运动控制、应急操作等实时任务,从而为机器人开发提供了一种轻便、通信效率高、复用性好的控制器,可以很好地满足实际应用的需要。附图说明图1是本专利技术中控制器的结构框架图;图2是本专利技术中双核通信模块的结构图;图3是本专利技术中启动控制模块流程图;图4是本专利技术中主操作系统中软件运行流程图;图5是本专利技术中从操作系统中软件运行流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本专利技术做进一步说明。应当理解,此本文档来自技高网...

【技术保护点】
1.一种基于ZYNQ双核处理器的RTOS‑GPOS双操作系统机器人控制器,其特征在于,包括ZYNQ双核处理器。

【技术特征摘要】
1.一种基于ZYNQ双核处理器的RTOS-GPOS双操作系统机器人控制器,其特征在于,包括ZYNQ双核处理器。2.根据权利要求1所述的机器控制器,其特征在于,所述控制器还包括以ZYNQ双核处理器为控制核心的外围硬件模块,所述外围硬件模块包括电机驱动模块、应急制动模块、电机状态反馈模块、电源模块和人机交互模块;所述电机驱动模块包括差动驱动器电路和光耦电路,用于将处理器输出的脉冲信号、方向信号以及控制信号通过差动放大以及和光耦隔离控制伺服电机驱动器;所述应急制动模块利用伺服电机驱动器输出的电磁刹车控制信号控制继电器通断,控制抱闸电源的接通和断开;所述电机状态反馈模块利用伺服电机驱动器的串列通信功能,通过串口与驱动器进行通信;所述电源模块通过电源转换芯片以及稳压器件为其他各模块所供电;所述人机交互模块包括触摸屏和上位机连接串口,触摸屏用于人机交互软件显示,上位机串口用于与PC相连将通用系统输出信息打印到PC端。3.根据权利要求1-2所述的机器人控制器,其特征在于,所述控制器还包括以ZYNQ双核处理器为硬件基础的RTOS-GPOS双操作系统,所述RTOS-GPOS双操作系统包括主系统模块、从系统模块、系统启动控制模块和双核通信模块。4.根据权利要求1-3所述的机器人控制器,其特征在于,所述主系统模块包括通用操作系统Linux,用于控制从系统的启动关闭、运行上层非实时软件;所述从系统模块包括实时操作系统FreeRTOS,用于运行底层实时任务软件;所述系统启动控制模块运行在主系统模块中,用于控制在从CPU上加载和卸载非对称多处理架构下的从系统模块的过程;所述双核通信模块以驱动程序的形式运行在主系统模块中,以库函数的形式运行于从系统模块中,利用共享内存,在两CPU间建立通信通道,用于主系统和从系统间的通信。5.根据权利要求1-3所述的机器人控制器,其特征在于,所述RTOS-GPOS双操作系统运行在拥有双ARM内核的ZYNQ芯片上,其中有主CPU和从CPU,双操作系统包括运行在主CPU上的主系统通用操作系统Linux和运行在从CPU上的从系统实时操作系统FreeRTOS,二者在非对称多处理架构下并行运行,由主系统引导从系统的启动和关闭,其中主操作系统运行上层非实时任务,从操作系统运行底层实时任务。6.根据权利要求1-3所述的机器控制器,其特征在于,所述双核通信模块将外部DDR3内存一部分取消掉cache功能,由软件控制读取,划分为双核共享内存作为通信通道;使用基于中断的通信机制通信,通信过程中发送方通过向ICDSGIR寄存器写入SG...

【专利技术属性】
技术研发人员:孙苑淞李恩王化明杨国栋王汉进梁自泽朱成刚
申请(专利权)人:江苏艾萨克机器人股份有限公司中国科学院自动化研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1