基于RTS2的RAO管理系统二次开发*
2013-03-13崔辰州赵永恒曹子皇KubnekPetr
李 建,崔辰州,赵永恒,曹子皇,Kubánek Petr
(1.中国科学院光学天文重点实验室,国家天文台,北京 100012; 2.Institute of Physics,Academy of Sciences,Praha,Czech Republic)
基于RTS2的RAO管理系统二次开发*
李 建1,崔辰州1,赵永恒1,曹子皇1,Kubánek Petr2
(1.中国科学院光学天文重点实验室,国家天文台,北京 100012; 2.Institute of Physics,Academy of Sciences,Praha,Czech Republic)
程控自主天文台(Robotic Autonomous Observatory,RAO)是一架能够执行各种远程观测并且能够在任务执行过程中在没有任何人为协助的情况下自主适应各种变化的望远镜。使用程控自主天文台进行自主化观测,是近些年天文学观测模式新的重要发展方向。首先对程控自主天文台历史、现状、应用领域等做了回顾;然后重点介绍了一套程控自主天文台软件管理系统——RTS2;在此基础上对其代码结构进行详细分析,并且以一种小型赤道仪为实例,实现了在RTS2系统下驱动程序的设计。二次开发试验的成功为自行建设基于RTS2的程控自主天文台系统奠定了基础。
自主天文台;RTS2;控制系统;二次开发
通常说,天文学是一门古老而又常新的自然科学。往往当天文学家把最新的技术、最新的设备应用于天文领域时,就会发现新的天文现象、天体目标,进而开辟出一片新的天文领域。新的观测技术、观测工具,是天文学家进行科研活动的有力武器[1]。当前计算机技术、网络技术、微电子技术进步迅速,这使天文学家对建造一种全自动望远镜计划更加充满信心。
事实上,全自动望远镜的建造很早就有人关注,并付出行动[2-9]。只是在当时的技术条件下,存在很多无法克服的困难。直到最近10年,才出现一些真正意义的全自动望远镜或者是程控自主天文台(Robotic Autonomous Observatory,RAO)[10-14]。程控自主天文台是一架能够执行各种远程观测并且能够在任务执行过程中在没有任何人为协助的情况下自主适应各种变化的望远镜。程控自主天文台的技术难点是在无人值守的情况下,设备能够按照自动生成的观测计划完成所有的观测任务。也就是说,系统应该具备感知环境的能力和一定程度的“智能化”。随着近些年电子器件工艺的发展以及各种单片机传感器的产生,使得技术、设备的门槛进一步降低。从硬件上来说,程控自主天文台所需的要求都已经具备。
一套程控自主天文台的灵魂是其软件系统,但由于其所涉及的技术和知识领域很多,因此程控自主天文台管理系统的软件开发工作具有相当难度。当前各方面都比较完善的程控自主天文台管理软件系统并不常见。另外,任何一个管理系统能支持的硬件设备、软件功能模块都是有限的。无论是在已有的天文台硬件平台上部署程控自主天文台管理系统,还是重新规划一个程控自主天文台系统使其在新的天文台上正常工作,都很可能需要对现有的程控自主天文台管理系统进行二次开发,从而实现对特定设备的支持或者增加新的软件功能。RTS2(Remote Telescope System-2ndversion)[15]是BOOTES[16]系列望远镜的软件控制系统,全部控制代码和设备驱动开源发布,并且在十多年的开发、调试过程中,其稳定性也经受住了考验。和其它望远镜管理系统一样,RTS2系统所能支持的硬件设备也是有限的,部分硬件的驱动程序有赖于使用者自己开发。本文对RTS2软件进行介绍,并针对一种小型赤道仪——信达NEQ6进行RTS2系统下的驱动程序二次开发。通过这一试验来检测RTS2的可扩展性,为程控自主天文台建设积累经验。
1 关于程控自主天文台
一般来说,程控自主天文台的历史可以追溯到20世纪60年代末[3]。早期的研究工作,无论是在软件还是在硬件方面,都付出了昂贵的代价,而且实现的功能还十分有限[4-6]。直到近些年,天文设备普遍采用机电接口,并且用计算机控制各个子系统部分,这一状况才有了很大的改变。现在,对程控自主天文台技术的研究成为天文观测技术领域的一个热点。目前关于自主天文台的分类,较为一致的共识是将其分为自动执行望远镜(Automated Telescope)、远程操作望远镜(Remotely Operated Telescope)、程控自主天文台(Robotic Autonomous Observatory)、远程智能天文台(Intelligent Robotic Observatory)等几种[1]。自动执行望远镜和远程操作望远镜的观测模式,还停留在有人操作或有人参与才能工作的阶段;目前天文学家的关注主流为程控自主天文台,即可以在没有人干预的情况下,完成按照一定算法计算好的、可以根据环境变化而改变的观测任务;至于远程智能天文台,是天文学家下一步努力的方向,它使天文台或望远镜具有更加智能化的工作模式,这有赖于未来人工智能技术的发展。
程控自主天文台,是天文学家在天体观测过程中的实际需求的产物。一般除对太阳的观测工作外,天文观测人员主要是在夜间工作,然而这和人们自然生物钟相违背。长期夜间工作是一件十分辛苦的事情。如何能够让望远镜按照事先设定好的模式自动观测,不用人干预,从而达到解放人力的目的,这是自主望远镜最初的设计目标。另外,随着现代化进程的不断深入,城市的发展速度大大加快,严重的光污染成了天文观测不可忽视的问题。当前优秀的台址大都远离城市,往往是自然条件十分恶劣的地区,如高原、沙漠、岛屿等人烟稀少的地方。由于氧气稀薄、食物补给、电力供应等客观困难的存在,这些地方不适合人类的长期驻扎,而工作人员每天往返于台址与日常工作区又浪费了大量的时间。因此天文学家需要一种能够远程控制,甚至是能够自主观测的望远镜或天文台。近些年瞬变源的时域观测需求不断增加[16],这也需要能够对突发事件做出快速反应的望远镜系统。这一点,人工操作难以实现高速的随动观测过程,只有依赖于全自动的望远镜系统得以实现。
在实际需求的驱动下,天文学家对新的望远镜技术不断探索,程控自主望远镜的概念逐步变为现实。目前,国际上出现了一批优秀的自主望远镜项目,如 MONET[17]、eSTAR[18]、SONG[19-20]、ROTSE[21]、LCOGT[22]、BRT[23]、BOOTES[16]等。并且类似于BOOTES、ROTSE、LCOGT、SONG这些项目,都努力在全球范围内建成自主望远镜观测网络,使得能够对同一目标进行24小时不间断的观测。这些自主望远镜项目主要科学目标是对γ暴、超新星爆发等瞬变源进行随动观测。除此之外,它们还可以承担近地小天体跟踪、银河系变源搜寻以及科普教育等工作。
2 程控自主天文台管理软件与RTS2
程控自主天文台管理软件是程控自主天文台的灵魂,它反应了自主天文台的“自主”能力。目前的许多程控自主天文台所欠缺的,也正是如何构建这样一套软件系统,来控制整个望远镜或天文台。当前应用于自主天文台观测的天文台管理软件有ATIS(Automatic Telescope Instruction Set)[24]、OCAAS(Observatory Control and Astronomical Analysis)[25]、AUDELA[26]、ASCOM[27]、INDI(The Instrument Neutral Distributed Interface)[28]等。然而这些软件并不能完全满足科学型自主天文台的所有需求,一些自主望远镜项目,基于上述的软件进行二次开发或干脆重新编写自己的管理软件。BRT天文台(Bradford Robotic Telescope)是一个有着较长历史的自主天文台。经过多年的探索及研究,望远镜自主化水平也比较高,目前在此领域比较突出,其软件系统也比较优秀。但是,其代码没有公开,无法对其代码进行二次开发的工作。
RTS2是一套完整的集观测计划制定、观测任务调度、观测控制、数据生成与发布为一体的自主天文台管理软件[29-30]。它最初应用于BOOTES系列望远镜上,可以说是为BOOTES项目量身定做的软件系统。目前,RTS2系统已经应用到全世界20多台中小望远镜上,遍布亚、非、欧、南北美各个大洲。美国大口径全天巡视望远镜(LSST)项目的CCD测试工作目前也在RTS2系统下进行。软件采用C++开发,模块化设计,在Linux系统下安装和运行,并且源代码对外开放。RTS2自2001年左右开始由Kubánek Petr开发,经过十多年发展,积累了大量的实际经验。代码的反复修改、锤炼,使得其设计目标进一步明晰,运行状态更加稳定。相比于其它软件系统,RTS2更适合中小型自主天文台;经过适当的二次开发,也能够应用于大型天文项目。
RTS2最初始的设计目标就是为中小型自主天文台提供一套能够观测γ暴现象的软件系统。因此项目从一开始就有其自身的特点:必须完全的自动化;必须对最新的γ暴警报做出最快反应;必须在没有γ暴观测时能够执行其它的观测任务;必须模块化设计,以便硬件设备切换等。随着项目的推进,额外的功能需求不断增加。尤其当RTS2系统移植到其它项目的望远镜时,产生了一些新的技术要求:系统必须具有足够强的鲁棒性,即使在一些非关键性单元崩溃时,系统也能够连续的运行;系统必须能够被观测人员远程控制;系统必须可以完全用配置文件来配置;系统必须对当前正在工作的部件提供清晰的状态描述信息;设备启动失败时,必须能够向观测者提供一份故障清单;代码应该包括虚拟设备驱动,用来对软件进行没有硬件情况的测试。可以看出,在实际的开发过程中,随着经验的积累,RTS2本身的功能也在不断的完善。
RTS2秉承“即插即用”的设计理念,所有设备在接入RTS2所在服务器时,都可以随时地开启和关闭。模块化设计使得系统的各个部分彼此独立,这为每个设备的单独控制和调试带来了方便。另外RTS2被设计成基于Linux用户空间的模式,不涉及到操作系统的内核部分,有利于开发和安装时避免过多代码库的依赖。
从RTS2的代码上看,RTS2具有逻辑清晰的类继承关系,所有天文台管理行为只定义为几个最基础的类。其他的所有硬件驱动、守护进程等都从这几个基本的类出发,继承相关特性。通过这种类继承的关系,RTS2的控制命令可以共享参数,达到一定程度的内部通信的目的。这几个基本的类为:
生成可执行文件的类:类中有init()、run()以及idle()函数等,它们用来响应命令行参数。类中的run()方法是程序的入口,用来执行实际的应用程序代码;
连接类:用来处理其它RTS2可执行文件的网络数据流;
脚本支持类:用来存储和执行观测脚本,通常用在执行器(executor)模块;
目标类:用来存储可能的观测目标的信息;
和数据库相关的类:用来存储记录或表,以便和数据库通信。
在图1中,列出了上述基础类的继承关系。图中可以通过Rts2App、Rts2Dev、Rts2DevCamera、Apogee这一路径看出一个真实的物理设备的类继承关系。
RTS2系统在代码编译后会生成100多个可执行的命令,所有的可执行命令,在代码层面上都共享相同的参数。这些可执行文件可以分为以下几个大类:
中控程序:负责名称解析和自主天文台的后台守护进程,能够发现天文台中的其它设备,并且实时跟踪天文台的状态。例如天文台处在白天还是黑夜,望远镜是应该关闭、待机还是开启状态。
设备守护程序:每个物理设备都对应一个可执行命令。它们共享统一的上层类的代码,用来完成TCP/IP命令的处理(例如把设备注册到中控),或是完成硬件层次的相互作用。例如相机、赤道仪、圆顶等驱动程序的守护进程。
执行程序:用于选择下一个观测目标(rts2-selector)、执行观测(rts2-executor)、处理图像(rts2-imgproc)以及等待处理GCN[31]或其它传进来的消息(rts2-grbd和rts2-auger-shooter)等。
客户端监控程序:如基于ncurses[32]的rts2-mon,基于控制台的rts2-cmon,基于X-Window的图像采集rts2-xfocusc,控制台下的图像采集rts2-focusc,以及能通过SOAP(简单对象获取协议)获取RTS2系统的rts2-soapd等。
图1 RTS2继承关系图Fig.1 Hierarchical diagram of the RTS2 class
数据库相关程序:用于查询和更新数据库的工具。如编辑程序(rts2-newtarget、rts2-target、rts2-plan)、模型程序(rts2-tpm和rts2-telmodeltest)以及报告程序(rts2-nightreport,rts2-targetlist,rts2-nightmails)等。
以上介绍了RTS2代码的类以及编译后生成的可执行命令。一个自主天文台管理程序的核心为其调度和控制程序。RTS2在其设计开发时也考虑到了这一点[33]。基于遗传算法而改进的RTS2调度程序,使系统在选择观测目标时能够充分考虑各个方面的外部因素(如天气状况、硬件设备限制、观测目标距离天顶的位置等),从而制定出尽可能优化的观测方案。目前RTS2调度程序所能够支持的观测模式有队列观测、先入先出(FIFO)观测、循环观测、高权重值观测、观测目标出现时间顺序观测等模式,基本能够满足自主化观测的需求。
由前面的介绍可以看出,RTS2所具有的功能比较丰富,对实际情况的考虑比较全面,可以满足一台程控自主望远镜的基本需求。其代码结构层次分明、可扩展性好,比较适于二次开发。经过适当的配置,还可以把地理上多个不同地点的望远镜连成网络协同观测,使得观测目标始终存在于整个自主望远镜网络内。在天气允许的情况下,实现24小时的不间断跟踪观测。
3 赤道仪的RTS2驱动开发
信达NEQ6是一款适合于天文爱好者观测或简单科学研究观测的赤道仪。配有自动寻星、自动跟踪目标等系统,具有一定的内置巡天功能,并支持手控模块控制赤道仪的定位。信达NEQ6采用星特朗(Sky Watcher)的Nexstar通用串行接口标准。这一节主要介绍通过信达NEQ6的RS-232串口通信指令,结合RTS2的串口类的部分代码,用RTS2系统完全控制信达NEQ6这一过程,也就是为信达NEQ6编写一个RTS2的驱动程序。
RTS2的C++代码用Makefile管理。代码的组织、分类明确,有关自主天文台的各个硬件部分的驱动代码,都按照硬件种类、品牌和型号放在相应的文件夹中。这里只需要对赤道仪相关部分,补充信达NEQ6的代码即可。在源代码中,和赤道仪以及望远镜相关的代码位于./src/teld/目录下。依据RTS2代码的类继承关系,赤道仪代码应该隶属于设备类下的Telescope类,而Telescope类又继承Rts2Device类……以此类推,一直可以追溯到Rts2App。图2展示了自telescope而上的类继承关系,以及相应的类所在的源码文件。
图2 NexStar类继承关系Fig.2 Hierarchical diagram of the NexStar class
前面已经提到过,RTS2中每一类硬件都有对应的虚拟设备用于调试、开发。为此,这里从src/teld/下的dummy.cpp文件出发,并参照其它赤道仪的驱动程序代码,在src/teld/文件夹新建一个nexstar.cpp的文件,用于对信达NEQ6赤道仪的控制。
表1为Nexstar型号系列赤道仪说明文档中部分串口控制指令[34]。信达NEQ6的串口控制指令完全与其兼容。
表1 Nexstar(信达NEQ6)部分串口控制指令Table 1 Certain serial-port control commands of the Nexstar(Synta NEQ6)
有了上面的串口控制指令,就可以根据需要写出赤道仪的驱动程序。首先在nexstar.cpp文件中定义一个名为NexStar的赤道仪类,它继承于Telescope类。配置好其构造函数和析构函数。这里的NexStar类的构造函数定义了默认的串口连接设备、Nexstar软件版本信息以及命令行操作的参数符号等初始信息,析构函数会删除构造函数所创建的串口连接。
在所创建的NexStar类中,核心的函数就是如何把NexStar的串口代码指令翻译成RTS2体系所能理解的函数。这里以最具代表性的setPreciseDeg()函数为例说明,它的功能是使望远镜移动到指定的坐标位置。这可以通过NexStar的串口代码指令r或b实现。具体实现时,由于RTS2内部的坐标和Nexstar需要处理的坐标单位不同,还需要通过一系列单位转换,把赤经、赤纬(Ra/Dec)或方位角、高度角(Azm/Alt)转化成NexStar串口可以识别的值,作为输入,然后驱动赤道仪移动。setPreciseDeg()函数的关键代码如下:
有了这个核心的函数,一些上层函数就可以在其基础上构造起来。如用于跟踪目标的startResync()函数、用于移动望远镜的moveAltAz()函数。这里需要注意的是,除了单纯的控制赤道仪的动作外还要兼顾其他设备的限制,如望远镜的移动极限、CCD相机曝光时间限制等,这就需要RTS2系统内置的掩码(mask)阻塞(block)规则来协调实现。
以下为本驱动程序(nexstar.cpp)中NexStar类所封装的主要函数及其功能。整个NexStar类定义在命名空间rts2teld中。
表2 驱动程序nexstar.cpp的NexStar类所封装的函数Table 2 Functions embedded in the NexStar chass as built in the driving program nexstar.cpp
驱动程序中,所有和望远镜移动以及初值配置相关的操作均使用表1中的几个指令完成。至于NexStar所提供的一些更高级的命令,如目标同步(sync)、跟踪模式(tracking)等都没有用到,这是因为RTS2只要根据表1中的几个指令,并依据RTS2内部的算法,就可以实现类似同步、跟踪等功能。另外,NexStar类中所定义的函数,有一些函数直接调用类中的另一个函数,并没有做其它操作,如isMovingFixed()、isParking()函数。它们直接调用isMoving()函数,这样做的意义就在于给函数重新命名,以便使函数被NexStar的父类中的相关程序所识别,从而达到和RTS2内部其它硬件通信的目的。
赤道仪的驱动编写完成后,还需要把这部分代码整合到RTS2系统中,以便编译时能够被中控程序和其它设备的代码所识别。这里需要做的就是修改src/teld/文件夹下makefile.am文件,把新写的nexstar.cpp的信息加进去。这样在rts2程序编译时,就会自动产生信达NEQ6赤道仪的相关控制命令——rts2-teld-nexstar。
为了检测代码的正确性,可执行以下检测过程:
(1)在装有RTS2系统的服务器上,硬件连接好信达NEQ6赤道仪;
(2)在服务器控制台下输入以下命令,以便把当前的RTS2赤道仪模块调整为Nexstar的工作模式:
rts2-teld-nexstar-f/dev/ttyS0-c T0
这里用-f参数指定赤道仪所连接的串口位置,-c参数指定赤道仪的名称为T0;
(3)输入rts2-mon命令,启动RTS2的界面程序,查看是否有赤道仪T0的选项;
(4)切换到T0选项,在界面下方的命令窗口处输入控制赤道仪的命令,如:
info
move 20 70
park
这里info可以查看当前赤道仪的相关信息,move表示移动到指定位置,park使赤道仪回到初始位置;
(5)查看/var/log/rts2-debug调试过程中的记录。
经过测试,新开发的驱动程序可以被RTS2系统调用。系统能够正确识别新的赤道仪,并且在RTS2命令的控制下能够按照期望的方式移动。
4 总结
本文较为详细地介绍了RTS2程控自主天文台管理软件,并对其代码进行分析。通过对信达NEQ6赤道仪在RTS2系统下驱动程序的开发,掌握了RTS2系统二次开发过程的具体步骤。对整个RTS2代码组织体系、系统内部通信机制有了一定的了解。证明了在RTS2系统下对未知硬件驱动程序开发的可行性,为将来更加复杂的驱动编写甚至是RTS2系统结构改造积累了经验,进而使RTS2系统在更多的程控自主天文台部署成为可能。对RTS2系统所进行的二次开发工作,在一定程度上满足了程控自主天文台对管理软件的需求。
程控自主天文台是未来天文台建设和发展的一个重要方向,一些正在运行或已经完成原有观测使命的传统望远镜项目也在积极地向“自主化”方向改造。RTS2是一套优秀的自主天文台管理系统,对其深入了解,并掌握二次开发技术能够对未来自主天文台部署的工作提供借鉴意义。
致谢:本论文得到中国天文数据中心提供的数据资源支持。中国天文数据中心得到国家科技基础条件平台建设项目“地球系统科学数据共享平台”和“基础科学数据共享网—理化天文空间生物”的资助。
[1]余明.简明天文学教程[M].北京:科学出版社,2011:1-22.
[2]A JCastro-Tirado.Robotic autonomous observatories:a historical perspective[J].Advances in Astronomy,Volume 2010(2010),Article ID 570489,8 pages.
[3]JF McNall,J L Miedaner,A D Code.A computer-controlled photometric telescope[J].The Astronomical Journal,1968,73:756-761.
[4]R H Lee,R M MacQueen,W GMankin.A computer-controlled infrared eclipse telescope[J].Applied Optics,1970,9(12):2653-2657.
[5]EW Dennison.Computer control of large telescopes[C]//RMWest.Proceedings of Conference on Large Telescope Design,ESO/CERN Conference.Geneva,1971:363.
[6]L B Robinson.On-line computers for telescope control and data handling[J].Annual Review of Astronomy and Astrophysics,1975,13:165-185.
[7]D Skillman.Running a telescope with amicrocomputer[J].Sky&Telescope,1981,61:71.
[8]R M Genet.Introduction to automatic photoelectric telescopes(APTs)[J].International Amateur-Professional Photoelectric Photometry Communication,1986,25:1-25.
[9]T Taki.A new concept in computers-aided telescopes[J].Sky&Telescope,1989,77:194.
[10] W T Vestrand,K N Borozdin,S P Brumby,et al.The RAPTOR experiment:a system for monitoring the optical sky in real time[J].Advanced Global Communications Technologies for Astronomy II,of Proceedings of the SPIE,2002,4845:126-136.
[11] FM Zerbi,G Chincarini,G Ghisellini,et al.REM telescope,a robotic facility tomonitor the prompt afterglow of gamma ray bursts[J].Instrument Design and Performance for Optical/Infrared Ground-Based Telescopes,of Proceedings of the SPIE,2002,4841:737-748.
[12] F Hessman.Robotic telescope projects[EB/OL].[2012-06-29].http://www.astro.physik.unigoettingen.de/~hessman/MONET/links.html.
[13] V M Lipunov,V G Kornilov,A V Krylov,et al.Themastermobile astronomical system.Optical observations of gammaray bursts[J].The Astrophysical Journal,2005,48(3):389-399.
[14]J Baruch.Bradford robotic telescope:education&public outreach:journey into space[J].Astronomy&Geophysics,2007,48(4):27-28.
[15] P Kubánek.Remote telescope system-2ndversion[EB/OL].[2012-06-29].http://rts2.org.
[16]A JCastro-Tirado.BOOTES:burst optical observer and transient exploring system[EB/OL].[2012-06-29].http://bootes.iaa.es.
[17]F Hessman.MONET astronomie&internet[EB/OL].[2012-06-29].http://monet.unigoettingen.de/foswiki.
[18] A Allan.eSTAR project[EB/OL].[2012-06-29].http://www.estar.org.uk.
[19] FGrundahl,JChristensen-Dalsgaard,U G Jorgensen,et al.SONG-stellar observations network group:status of the prototype[J].Astronomische Nachrichten,2006,999(88):789-792.
[20] JChristensen-Dalsgaard.SONG project[EB/OL].[2012-06-29].http://song.phys.au.dk/.
[21] CW Akerlof.Robotic Optical Transient Search Experiment[EB/OL].[2012-06-29].http://www.rotse.net/.
[22] SShporer,T Brown,T Lister,et al.The SCOGT network[C]//The Astrophysics of Planetary System:Formation,Structure,and Dynamical Evolution.Proceedings of the International Astronomical Union,IAU Symposium,2011,276:553-555.
[23] JBaruch.Bradford robotic Telescope.[EB/OL].[2012-06-29].http://www.telescope.org/.
[24] R M Gener,L JBoyd,D S Hayes.Automatic small telescope operations[C]//A G Davis Philip,D S Hayes,S J Adelman.New Directions in Spectrophotometry.Schenectady:L Davis Press,1988.
[25] E C Downey,R L Mutel.The university of Iowa automated telescope facility[C]//G H Jacoby,JBarnes.Astronomical Data Analysis Software and Systems V.ASP Conference Series,1996,101:380.
[26] AUDELA[EB/OL].[2012-06-29].http://www.audela.org/english audela.php.
[27] ASCOM[EB/OL].[2012-06-29].http://ascom-standards.org/.
[28] INDI[EB/OL].[2012-06-29].http://www.indilib.org/.
[29] P Kubánek.RTS2—The Remote Telescope System[J].Advances in Astronomy,2010,2010(1):1-10.
[30]P Kubánek,Martin Jelinek,Stanislav Vitek,et al.RTS2:a powerful robotic observatory manager[C]//Lewis Hilton,Bridger Alan.Advanced Software and Control for Astronomy.Proceedings of the SPIE,2006,6274:62741V.
[31] GCN:The Gamma-ray Coordinates Network[EB/OL].[2012-06-29].http://gcn.gsfc.nasa.gov/.
[32] Ncurseslibrary[EB/OL].[2012-06-29].http://www.gnu.org/software/ncurses/.
[33]P Kubánek.Genetic algorithm for robotic telescope scheduling[D].Spain:Universidad de Granada,2010.
[34]NexStar Communication Protocol[EB/OL].[2012-06-29].http://www.celestron.com/c3/images/files/downloads/1154108406_nexstarcommprot.pdf.
A Secondary Development of an RAO M anagement System Based on the Remote Telescope System-2ndVersion
Li Jian1,Cui Chenzhou1,Zhao Yongheng1,Cao Zihuang1,Kubánek Petr2
(1.Key Laboratory of Optical Astronomy,National Astronomical Observatories,Chinese Academy of Sciences,Beijing 100012,China,Email:ccz@nao.cas.cn;2.Institute of Physics,Academy of Sciences,Praha,Czech Republic)
A Robotic Autonomous Observatory(RAO)is a telescope that can perform various remote observations and adapt to changes during a task execution withouthuman assistance.Currently,there aremore andmore RAO projects dedicated to follow-up observations ofγ-ray bursts(GRBs)and supernovae.The RAO technology also showsmore advantages as the time-domain astronomy develops.The software system plays a key role in an RAO system,since it is used to control the hardware devices and to schedule the entire observing process.The RTS2(Remote Telescope System-2ndversion)is an open-source project aimed at developing a software environment to control a fully robotic observatory.Ithas been developed formore than 10 years.As the RTS2 project advances,many additional functions have been added,making the architecture of RTS2 more stable and mature.The RTS2 is based on the“plug and play”design.Each part of the system can be started,restarted,or stopped atanytime.Another highlight for the RTS2 is that there are dummy devices in an RTS2 system,providing a virtual environment for development tests.Due to the open-source and goodscalability characteristics,an RTS2 system is rather suitable for secondary developments to fit a new telescope.Nowadays,many RAO projects have installed RTS2 systems for the control of the telescopes.This paper first reviews the history and current situation of RAO,and then introduces our RTS2 software in detail.After that,the paper discusses the feasibility of a secondary development of an RTS2 system.The paper finally shows a design of a driving program for an RTS2 system to control a small equatorial(Synta NEQ6).This success lays the foundation for independent developing an RAO system based on the RST2.
RAO;RTS2;Control system;Secondary development
P112;TP311.52
:A
:1672-7673(2013)03-0264-09
国家自然科学基金与中国科学院天文联合基金(U1231108);科技部科技基础性工作专项(2012FY120500)和北京市科技新星计划(2007A085)资助.
2012-07-06;修定日期:2012-07-28
李 建,男,博士后.研究方向:天文信息技术.Email:olijian@gmail.com
崔辰州,男,副研究员.研究方向:虚拟天文台、天文信息技术.Email:ccz@nao.cas.cn
CN 53-1189/P ISSN 1672-7673