报告人:田园 导师:赵永恒 研究员 组别:郭守敬(LAMOST)望远镜 运行与发展中心 博士研究生毕业答辩 基于LAMOST的观测控制系统研究 报告人:田园 导师:赵永恒 研究员 组别:郭守敬(LAMOST)望远镜 运行与发展中心
个人简介 田园,男,1982年4月,河北省定兴县 2001 - 2005,燕山大学,电子信息工程,学士 2006 – 2009,燕山大学,信号与信息系统,硕士 2012 – 2018,国家天文台,天文技术与方法,博士 2009 – 今,国家天文台,郭守敬运行和发展中心,助研 从事观测控制系统软件研究
提纲 课题背景与意义 研究工作 总结和展望 研究成果
提纲 课题背景与意义 研究工作 总结和展望 研究成果
课题背景与意义 郭守敬(LAMOST)望远镜 郭守敬(LAMOST)望远镜是我 国九五重大科学工程项目,是 一架新类型的大视场兼备大口 径望远镜。 从结构上讲,由八个子系统 组成,每个子系统下面又包含 着大量复杂的软硬件设备。
课题背景与意义 观测控制系统(Observatory Control System,OCS) OCS是LAMOST子系统之一, 属于上层系统控制软件。 OCS的主要目的有两个: 一是,调度子系统。 二是,收集信息。
课题背景与意义 OCS的开发与维护 OCS的新需求 OCS由国家天文台和中国科技大学联合开发,2000年开始研制, 2009年定型,2010年通过验收,稳定运行至今。 OCS的新需求 在保证稳定运行的前提下,减少人工操作步骤,提高自动化 控制能力,从而提高观测运行效率。
课题背景与意义 本课题的工作和意义 尝试将RTS2框架引入LAMOST观测控制领域,以大型望远镜设备虚拟化为思路,逐步将现有子系统或软件虚拟化并映射到RTS2中去,以RTS2自身的优点来提高OCS自动化观测能力,从而提高整个望远镜的观测运行效率。
提纲 课题背景与意义 研究工作 总结和展望 研究成果
研究工作 OCS和RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 自动化观测控制模拟实验 LAMOST全面映射
研究工作 OCS和RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 自动化观测控制模拟实验 LAMOST全面映射
研究工作1:OCS与RTS2 研究目的: 深入分析OCS与RTS2的结构、原理和运行机制,找出
研究工作1:OCS与RTS2 LAMOST软件体系结构 1) 结构较复杂、子系统间 以及子系统内部采用了不同 的网络通信技术。 1) 结构较复杂、子系统间 以及子系统内部采用了不同 的网络通信技术。 2) OCS居中协调和调度各 子系统,保障有序运行。
研究工作1: OCS与RTS2 OCS软件体系结构 1) 模块化设计,每个模块 是一个独立进程。 2) 分层结构,以逻辑功能 划分,不同层次的模块作用 范围不同。
研究工作1: OCS与RTS2 OCS中间件和消息总线 3) 模块间交互采用CORBA中间件 技术 4) 状态信息分发采用了CORBA提 供的消息总线机制
研究工作1: OCS与RTS2 OCS异步与代理 5) 支持异步通信,命令和状态分离, 支持基于XML的嵌套串并行命令流。 6) 子系统代理机制。
研究工作1: OCS与RTS2 OCS的优点: 采用异步通信机制设计。 前后台分离。 命令流设计和解析能够完成复杂的控制流程。 消息总线机制。
研究工作1: OCS与RTS2介绍 OCS的不足: 调度约束条件不够充分和强力。 自动化观测控制能力不足。 软件陈旧,很难维护和再开发。 OCS系统设计只有C-S框架,未考虑B-S。
研究工作1: OCS与RTS2介绍 RTS2(Remote Telescope System, 2nd Version) 一套基于Linux的集成化开源程控自主天文台控制系统。 优点: 自动化、开源 模块化和即插即用的设计理念 具有快速响应能力和长期稳定工作的特点 应用于世界各地小型望远镜自动化观测领域。
研究工作1: OCS与RTS2介绍 RTS2: RTS2由RTS发展而来。 RTS最初设计目的是为发现、跟踪、观测伽玛暴(GRBs)。 增加自动观测功能,采用C++重写,命名为RTS2。 RTS2从设计理念到实现方法都有很多过人之处。
研究工作1: OCS与RTS2介绍 RTS2类层次和继承关系: RTS2有一套复杂 而完整的内部类 继承关系 从功能上分为:客 户、中控、服务、 设备 提供了很强的设 备扩展能力
研究工作1: OCS与RTS2介绍 RTS2通信协议与全局状态机: RTS2自定义了一套通信协议, 简洁快速。 还定义了32位全局状态,采用 掩码查询,采用和与非切换。
研究工作1: OCS与RTS2 OCS与RTS2相似之处: 小结: LAMOST子系统与RTS2设备(或服务)类有对应关系。 两者都采用了异步通信支持 小结: 两者之间的相似性,为引入RTS2提供了可能性。
研究工作 OCS与RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 自动化观测控制模拟实验 LAMOST全面映射
研究工作2: 望远镜设备虚拟化 大型望远镜设备虚拟化概念: 认识到大型望远镜观测控制的复杂度。这是客观事实。 对大型望远镜操作的抽象。这是实现依据。 对大型望远镜繁杂交互信息的分类。这是努力的方向。
研究工作2: 望远镜设备虚拟化 OCS与RTS2的初步映射:
研究工作 OCS和RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 自动化观测控制模拟实验 LAMOST全面映射
研究工作3:资源监控软件 研究目的: 开发一套LAMOST计算机资源监控系统,该系统要求: 易部署好扩展,作为最简单的传感器设备模块,能融入 RTS2框架中。
研究工作3:资源监控软件 领域调研: 工具选择: 常见资源监控开源软件有Cacti、Nagios、Zabbix等。配置繁琐、二次开发难度大,很难直接集成到RTS2框架中。 工具选择: 采用Python协程技术,使用psutil包、curio包、PyZMQ包、 PyQt包、 aiomysql包、 Django框架等。
研究工作3:资源监控软件 总框架: 客户层、服务器层、应用层。 客户端: 配置文件与配置命令相结合, psutil获取信息,socket发送。
研究工作3:资源监控软件 服务器细节:
研究工作3:资源监控软件 运行资源占用: 本地GUI: 网站: 。
研究工作3:资源监控软件 RTS2Daemon的关键数据结构: 主循环: 单次任务:
研究工作4:资源监控软件 RTS2Daemon的关键数据结构:
研究工作3:资源监控软件 设备接入:
研究工作3:资源监控软件 资源监控接入RTS2: RTS2截图 接入结构图
研究工作3:资源监控软件 小结: 利用Python协程技术开发了一套LAMOST计算机资源 监控软件,为望远镜运维提供必要的支持。 在深入理解RTS2设备运行和通信接入的原理基础上, 将之映射为传感器设备模块,并成功接入RTS2框架中运行。
研究工作 OCS和RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 LAMOST自动化观测控制模拟实验 LAMOST全面映射
研究工作4:多相机控制软件 研究目的: 升级LAMOST现有多相机控制软件,在保证功能的前 提下,将之映射为相机设备模块,并融入RTS2框架中。
研究工作4:多相机控制软件 LAMOST的CCD相机集群
研究工作4:多相机控制软件 RTS2相机扩展的两种方案: 方案一: 每个相机映射成一个Rts2Camera,32个Rts2Camera分别接入RTS2框架。 方案二: 添加总控(虚拟层),将总控映射成一个Rts2Camera,将之接入RTS2框架。
研究工作4:多相机控制软件 采用方案二: 总体结构图 继承关系图: 类图:
研究工作4:多相机控制软件 Master和ccdend实现 ccdend内部细节 Master内部细节
研究工作4:多相机控制软件 内部协议
研究工作4:多相机控制软件 TCP与UDP测试 UDP广播发送测试 多线程TCP发送测试 单线程TCP接收测试
研究工作4:多相机控制软件 多相机控制软件接入RTS2:
研究工作4:多相机控制软件 小结: 在保证LAMOST多相机控制软件功能的前提下,将通 信技术由UDP更新为TCP,并采用QT5重写GUI。 将多相机控制软件虚拟化并映射为RTS2相机设备模块 并成功接入RTS2框架中运行。
研究工作 OCS和RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 自动化观测控制模拟实验 LAMOST全面映射
研究工作5:自动化观测模拟实验 研究目的: 转译SSS产生的观测计划,并入RTS2后台数据库。 将光纤定位软件映射成RTS2滤光片设备模块。 尝试建立实验环境,进行基于RTS2的LAMOST自动化观测控制实验。
研究工作5:自动化观测模拟实验 巡天战略系统(SSS)简介 SSS是LAMOST重要子系统之一,需要负责管理观测目标,处理选星约束,生成观测计划和部署巡天过程。其具体功能涵盖了巡天星表的管理和维护,观测约束条件的分析与优先策略的指定,天区覆盖和光纤分配,观测计划的生成与反馈等范围。 与观测直接相关的主要任务:根据科学目标和观测条件,以最优化的方式在尽可能短的时间内,制定出可行的观测计划
研究工作5:自动化观测模拟实验 SSS SSS界面截图 DR5天区覆盖
研究工作5:自动化观测模拟实验 光纤定位软件: 利用并行技术同时驱动焦面板上的4000 个光纤定位单元对准同一天区内不同的目 标,从而达到极高的数据获取率。
研究工作5:自动化观测模拟实验 RTS2自动化: 设备运行自动化:设备内部状态机转换以及设备命令队列缓存。 观测目标选择自动化:单队列调度(queue scheduling)、派发调度 (dispatch scheduling)和元队列组调度(meta-queues scheduling)。 元队列组调度: FIFO CIRCULAR HIGHEST WEST-EAST WEST-EAST-MERIDIAN
研究工作5:自动化观测模拟实验 观测计划的RTS2入库: OCS与RTS2数据库比较:
研究工作5:自动化观测模拟实验 观测计划的RTS2入库: 采用Python编写脚本, 转义LAMOST观测计划文件内容,
研究工作5:自动化观测模拟实验 光纤定位映射为RTS2Filterd设备: Rts2Filterd类拥有全局状态变量中的一位状态位,分别为: FILTERD_MOVE FILTERD_IDLE Rts2Filterd类改写: 1)commandAuthorized()函数,处理“filter 参数”命令。 2)addFilter(int new_filter),添加观测天区。 3)setFilterNum(int new_filter),执行指定观测天区。
研究工作5:自动化观测模拟实验 自动化模拟观测: 未完成映射的子设备采用了RTS2的 伪设备模块来代替,例如: TCS采用了Rts2Teld类的dummy。
研究工作5:自动化观测模拟实验 自动化模拟观测: 模拟观测实验中各 模块之间的时序图
研究工作5:自动化观测模拟实验 小结: 采用Python编写脚本,转译观测计划并入库。 将光纤定位软件接口虚拟化映射为滤光片设备模块。 利用已完成映射模块和RTS2提供的伪设备技术搭建测试环境,进行基于RTS2的LAMOST自动化模拟观测实验。 实验结果表明将RTS2引入LAMOST观测控制领域,从而提升OCS自动化观测能力的设想完全可行!
研究工作 OCS和RTS2 大型望远镜设备虚拟化 资源监控软件 多相机控制软件 自动化观测控制模拟实验 LAMOST全面映射
研究工作6:LAMOST全面映射 研究目的: 对LAMOST其余子系统或软件进行虚拟化映射进行研究。为实现RTS2对LAMOST的全面自动化观测控制打下基础。
研究工作6:LAMOST全面映射 总体映射图: 蓝色背景已完成。
研究工作6:LAMOST全面映射 Dome映射: LAMOST的TCS系统的部分功能例如:圆顶控制、焦面门控制以及通风制冷控制将映射成RTS2中的Dome模块。 在RTS2框架中,Rts2Domed类是基类,提供了OpneDome()、CloseDome()等虚函数接口。 RTS2为Rts2Domed分配的全局状态有: DOME_OPENING(圆顶正在打开) DOME_OPEND(圆顶已打开到位) DOME_CLOSING(圆顶正在关闭) DOME_CLOSED(圆顶已关闭到位)
研究工作6:LAMOST全面映射 Mount映射: LAMOST的机架指向跟踪、焦面姿态调整、主动光学和导星校正等功能需要合并映射成RTS2框架的Rts2Mountd模块。 Rts2Mountd基类提供了如:move()、park()、stop() 等一系列控制函数,以适应小型望远镜镜筒控制的操作。 RTS2Teld所分配的全局状态相对较多,最重要的有: TEL_MOVING(望远镜正在指向调整中) TEL_TRACKING(望远镜跟踪) TEL_CORRECTING(望远镜校正) TEL_PARKING(望远镜正在停靠中) TEL_PARKED(望远镜停靠)
研究工作6:LAMOST全面映射 Mount映射: 指向: move命令、trace命令 状态如上页。 主动光学和导星: correct命令 TEL_CORRECTING状态
研究工作6:LAMOST全面映射 气象传感器映射: 小圆顶中设备主要包括: 1)气象站设备(风速仪、湿度仪、粉尘仪等) 2)DIMM(测量室外视宁度) 3)小圆顶顶棚控制机电设备 小圆顶设备可以映射成 Rts2Sensord设备。但需要覆 盖底层函数commandAuthorized()函数。
研究工作6:LAMOST全面映射 ImageProc服务映射: LAMOST的DHS子系统。 RTS2框架中提供了图像处理 服务。用Linux系统提供的文件监 视(inotify)接口来实现。
研究工作6:LAMOST全面映射 ImageProc服务映射: 当RTS2获得拍摄图像文件后,自动驱动图像处理脚本运行。 在下一步工作中,可以将DHS系统虚拟化映射成IamgeProc模块。 需要考虑的问题: 1)如何保证本次观测全部图像获取完成后再驱动处理脚本。 2)仔细设计图像处理脚本,在保证处理结果正确的前提下减少处理时间。如果脚本运行时间过长,就无法达到实时反馈的效果了。
研究工作6:LAMOST全面映射 XML-Rpcd服务模块的映射: OCS只采用了C-S,无B-S。且设计中未支持远程访问。 RTS2提供了Rts2XmlRpcd 模块是远程访问接口。 需要完成: 1)增强认证机制 2)实现命令、状态分离和分级。
研究工作6:LAMOST全面映射 小结: 提出了LAMOST子系统全面映射方案。 初步研究LAMOST的TCS、主动光学、导星、DHS等子系统对RTS设备或服务模块的映射,并提出采用的XML-Rpcd模块增强OCS远程访问能力。 为实现RTS2对LAMOST的全面自动化观测控制打下基础。
提纲 课题背景与意义 研究工作 总结和展望 研究成果
总结和展望 本文在深入分析OCS系统的基础上,总结了当前OCS的优点和不足。并尝试将RTS2引入到LAMOST观测控制领域,以提高当前OCS的自动化控制能力。 文中比较l OCS与RTS2异同,提出了基于LAMOST的大型望远镜设备虚拟化的概念。并逐步将各子系统虚拟化映射成RTS2的设备或服务模块。最终,建立实验环境,并进行了RTS2控制LAMOST自动化模拟观测实验。实验结果证明了将RTS2自动化能力引入LAMOST的可行性。 文中最后还提出了全面映射方案,为全面虚拟化子系统,从而实现RTS2框架下LAMOST全自动观测的研究打下基础。
总结和展望 本文主要创新点 1)在深入分析LAMOST现行OCS与RTS2之间异同的基础上,首次提出了大型望远镜设备虚拟化的概念。 2)首次将自动化性能优越的RTS2引入大型望远镜观测控制领域。将LAMOST多个子系统映射成RTS2设备模块后,进行模拟自动化观测实验,从而验证了基于RTS2框架的LAMOST望远镜自动化观测控制的可能性。 3)利用Pyhton协程技术开发了LAMOST控制节点分布状态采集与监视系统。填补了LAMOST运维相关领域的空白。将Python协程这一新型技术引入望远镜观测控制领域也属于国内首创。
提纲 课题背景与意义 研究工作 总结和展望 研究成果
“基于新型中间件的大型望远镜控制计算机集群资源监控系统” 研究成果 学术论文: 1、《 LAMOST CCD camera-control system based on RTS2 》 作者: Yuan Tian, Zheng Wang, Jian Li, Zi-Huang Cao, Dai Wei, Wei Shou-lin, Yong-Heng Zhao. 已发表:RAA,2018,Vol.18 No.5,54-1 ~ 54-14 2、《基于Python协程技术的LAMOST控制节点分布状态采集与监视系统》 作者:田园, 王锋, 李建, 王政, 赵永恒. 已接收:天文研究与技术 基金项目:国家自然科学基金青年科学基金 “基于新型中间件的大型望远镜控制计算机集群资源监控系统” (批准号 11603044),2017年1月至2019年12月,项目负责人
谢谢!