CN103176442A - 天文望远镜与umac控制器通讯的方法 - Google Patents
天文望远镜与umac控制器通讯的方法 Download PDFInfo
- Publication number
- CN103176442A CN103176442A CN2012103080916A CN201210308091A CN103176442A CN 103176442 A CN103176442 A CN 103176442A CN 2012103080916 A CN2012103080916 A CN 2012103080916A CN 201210308091 A CN201210308091 A CN 201210308091A CN 103176442 A CN103176442 A CN 103176442A
- Authority
- CN
- China
- Prior art keywords
- umac
- flag
- group
- host computer
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Telescopes (AREA)
Abstract
天文望远镜与UMAC控制器通讯的方法,采用上位机+运动控制器方式:预先求解到跟踪天体Look-up表;上位机采用WINDOWS,VC++6.0编程;根据绝对时间准备2组数据;查表得第1组数据;UMAC标志寄存单元flag=1,即把第1组数据发送给UMAC,存于缓冲存储单元中并把标志寄存单元改为10;UMAC开始跟踪第一组目标,设flag=2;上位机得到第2组数据;flag=2即发送给UMAC,存于缓冲存储单元中,并把标志寄存单元改为20;UMAC开始跟踪第二组目标,设置标志寄存单元flag=1;余类推。本发明极大缓解了对上位机监控程序和操作系统实时性的要求,亦可获得极高跟踪精度。
Description
技术领域
本发明涉及一种自动化控制方法,具体涉及一种天文望远镜控制系统中数据处理和传输的方法。本发明是国家自然科学基金面上项目(11073034)“南极大口径天文光学望远镜低速高精度跟踪中的低温非线性干扰补偿的研究”(江苏省“333”工程共同资助项目)的研究成果。
背景技术
当前大型天文望远镜的控制系统一般采用“上位机+运动控制器”的方式,其中“IPC+UMAC+独立高性能伺服驱动器+独立伺服力矩电机”这种分层且分布式控制的方式被证明效果非常好。强实时性任务由UMAC和方位轴、高度轴和视场旋转轴的电机伺服驱动器完成,其中指向跟踪、闭环控制、硬件接口等强实时性的任务由强大的UMAC运动控制器和伺服驱动器的下层来完成。上位机的压力大大缓解,只负责通讯管理,系统维护以及天体轨迹计算等。形成了各司所长的工作方式。然而这样的设计带来了新的实时性瓶颈问题。上位机程序需要传递望远镜观测子系统OCS的命令、望远镜控制子系统TCS的命令给UMAC运动控制器。尤其是要把跟踪天体的目标位置数据传递给UMAC。由于地平式望远镜的各运动轴线不像赤道式望远镜那样与地球自转轴平行,所以地平式天文光学望远镜都必须把目标天体的赤道式坐标解算为地平坐标,才能控制主轴跟踪,不仅如此,计算时还必须计算大气折射、岁差和章动的影响,随之而来的还要求解儒略日、恒星时等。这样求解天体当前位置的计算量很大。当前望远镜控制系统的通常做法是,由上位机根据当前的绝对时间实时解算天体位置,转换为方位轴、高度轴、视场旋转轴的目标位置,然后传递给运动控制器,运动控制器再控制各个电机驱动器和电机,使望远镜的各轴指向相应的位置。这种工作方式的缺点是:从上位机计算天体位置,到电机运转,由于计算量大的缘故,存在着明显的时间差。这就造成了一个跟踪误差,且该误差随着跟踪目标速度的变化而变化。
望远镜跟踪天体运行,一般方位轴速度在几角秒~几十角秒,以15″/s为例,如果以上天体轨道解算和通讯过程造成时间误差10毫秒,则望远镜跟踪在方位轴方向上将差0.15″。而大型天文望远镜一般包括方位轴、高度轴、视场旋转轴3轴的总误差要求<0.2~0.3″。可见天体轨道解算与通讯时间造成的跟踪误差对望远镜的影响是很严重的。
另外,在国外的大型望远镜上,上位机经常采用VxWorks,QNX等实时操作系统。实时操作系统多程序同时运行,程序有各自的优先级,操作系统按事件触发程序。多个事件同时被触发时,系统保证优先级高的事件被及时处理。实时操作系统最重要的是保证响应时间,即要求系统的时间延迟非常短,同时延迟时间基本一致。操作系统的实时性能够保证天体轨道解算和通讯造成的时间差自身变化不大。但是VxWorks,QNX等操作系统价格昂贵、支持软件相对较少、不支持UMAC等许多硬件且国内用户不熟悉。因此国内望远镜上位机操作系统一般选用WINDOWS或LINUX等非实时操作系统,它们具有丰富的支持软件、友好的图形用户界面、强有力的应用程序开发工具、多任务处理能力。不过经过测试,在这种非实时操作系统下,天体轨道解算和通讯造成的时间差自身不是固定的,是在一定范围内变化的。这样一来,跟踪误差的变化更加难以预测与控制。
发明内容
针对现有技术的不足,本发明的目的是,提供一种天文望远镜与UMAC控制器通讯的方法,对于使用WINDOWS的上位机,在解算天体坐标和发送各个轴的目标给UMAC控制器时,能够保证控制系统的实时性。
完成上述发明任务的技术方案是:一种天文望远镜与UMAC控制器通讯的方法,采用“上位机+运动控制器”的方式,其特征在于,步骤如下,
⑴. 预先根据天文公式求解,得到一张跟踪天体的Look-up表,其中含有各主轴(包括方位轴、高度轴、视场旋转轴)在不同时间应该跟踪到的位置,以及对应的绝对时间;
⑵. 上位机的操作系统采用WINDOWS,采用VC++6.0编程;
⑶.在跟踪天体时,上位机需要根据绝对时间,准备2组数据,每组1秒钟的跟踪目;
⑷.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第1组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=1,即把第1组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10;
⑸. UMAC检测到标志寄存单元flag=10后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区;
⑹.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为20;
⑺. UMAC检测到标志寄存单元flag=20后,即知道已经获得第二组目标,开始跟踪,同时设置标志寄存单元flag=1,即请求上位机发送第1组目标位置到指定的缓冲区;
⑻. 交替进行步骤⑷到步骤⑺的操作;依次类推。
更优化和更具体地说,本发明的方法包括:
⑴.预先根据天文公式求解,得到一张跟踪天体的Look-up表,其中含有各主轴(包括方位轴、高度轴、视场旋转轴)在不同时间应该跟踪到的位置,以及对应的绝对时间。该表每10ms一行目标数据,每秒钟100行。
⑵.上位机的操作系统采用WINDOWS,采用VC++6.0编程。采用多媒体定时器MMRESULTtimeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD dwUser, UINT fuEvent),设定定时精度为1ms,定时时间为1秒。
⑶.在跟踪天体时,上位机需要根据绝对时间,准备2组数据,每组100行,即1秒钟的跟踪目标。
⑷. 定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第1组数据。检查UMAC的自定义的flag标志寄存单元,如果flag=1,即把第1组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10。
⑸. UMAC检测到标志寄存单元flag=10后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区;
⑹.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为20;
⑺. UMAC检测到标志寄存单元flag=20后,即知道已经获得第二组目标,开始跟踪,同时设置标志寄存单元flag=1,即请求上位机发送第1组目标位置到指定的缓冲区;
⑻. 交替进行步骤⑷到步骤⑺的操作;依次类推。
本发明的有益效果是,通过采用预先求解,得到一张跟踪天体的Look-up表,在望远镜跟踪过程中无需实时进行天体轨迹解算,以及采用一种UMAC与望远镜主机间缓冲交换周期性实时跟踪数据的方法,极大地缓解了对上位机监控程序和操作系统实时性的要求,使得采用WINDOWS等非实时操作系统的望远镜亦可获得极高的跟踪精度。
附图说明
图1为上位机发送数据流程图;
图2为UMAC接收数据流程图。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
实施例1一种天文望远镜与UMAC控制器通讯的方法,参照图1、图2:望远镜主轴控制程序分为上下两层。上位机是一台工业控制计算机(IPC),上层软件是主轴监控程序,这是在工业控制计算机上运行的上位机程序。采用的配置是Windows XP,开发环境是Visual C++ 6.0。下层是运行在UMAC上的实时控制程序。UMAC实时控制软件通过PMAC语言编程来实现。UMAC实时控制软件主要负责各种实时性要求很高的插补、伺服更新、工作过程中的各种检测,数据的误差计算和相应的补偿计算,控制各个伺服电机轴的运动过程和对来自I/O端口信号的处理等。该软件包括伺服驱动模块、插补模块、监控模块、数据采集模块等。这些模块将由主机传送过来的数据经过处理之后,直接向UMAC发送指令,驱动UMAC完成伺服控制。UMAC是实时、多任务的计算机,能够自动对任务进行优先级判别,高优先级的任务能够抢先得到执行。因此UMAC能够在任务处理、任务切换等方面大大减轻上位机的负担。但是在UMAC与上位机的通讯之间出现了实时性瓶颈。
UMAC与主计算机的通讯,是计算机之间的通讯,不是计算机与外围设备的通讯。UMAC与主机间的通讯程序的中介是Delta Tau公司提供的驱动程序。其中WINDOWS下采用动态连接库PCOMM32.DLL,它囊括了同UMAC进行通讯的所有方式,使用户能方便的在VB、VC、Dephi、C++Builder下编写自己的软件,控制UMAC,实现下达指令或上传状态参数。
地平式望远镜,必须把目标天体的赤道式坐标解算为地平坐标。计算时还必须计算大气折射、岁差和章动的影响,这样一来计算量很大。为了避免实时计算,本实施例采取的方法是预先求解,得到一张Look-up表,其中含有各主轴在不同时间应该跟踪到的位置。该表每10ms一行目标数据,每秒钟100行。当然,该表存在10ms的量化误差,但是UMAC可以根据轨迹,在两个离散点间插补,进行高精度地跟踪。如表1所示。
表1 天体轨迹Look-up表:
在跟踪时,上位机准备2组数据,每组1秒钟的跟踪目标。UMAC在得到第一组目标,开始跟踪时,即请求上位机发送下一组目标位置到数据缓冲区,依次类推。这种方式极大减轻了上位机实时性的负担。如图1和图2所示。本实施例中,交换数据的标志存储单元是UMAC的M184存储寄存器。UMAC修改M184=1或M184=2,表示向上位机要求第1组或第2组数据。而上位机修改M184=10或M184=20表示已经把第1组或第2组数据发出。
Claims (6)
1. 一种天文望远镜与UMAC控制器通讯的方法,采用“上位机+运动控制器”的方式,其特征在于,步骤如下,
⑴. 预先根据天文公式求解,得到一张跟踪天体的Look-up表,其中含有各主轴在不同时间应该跟踪到的位置,以及对应的绝对时间;
⑵. 上位机的操作系统采用WINDOWS,采用VC++6.0编程;
⑶.在跟踪天体时,上位机需要根据绝对时间,准备2组数据;
⑷.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第1组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=1,即把第1组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10;
⑸. UMAC检测到标志寄存单元flag=10后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区;
⑹.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为20;
⑺. UMAC检测到标志寄存单元flag=20后,即知道已经获得第二组目标,开始跟踪,同时设置标志寄存单元flag=1,即请求上位机发送第1组目标位置到指定的缓冲区;
⑻. 交替进行步骤⑷到步骤⑺的操作;依次类推。
2. 根据权利要求1所述的天文望远镜与UMAC控制器通讯的方法,其特征在于,步骤⑴中所述的各主轴,包括方位轴、高度轴和视场旋转轴。
3. 根据权利要求1所述的天文望远镜与UMAC控制器通讯的方法,其特征在于,步骤⑴中所述的跟踪天体的Look-up表表每10ms一行目标数据,每秒钟100行。
4. 根据权利要求1所述的天文望远镜与UMAC控制器通讯的方法,其特征在于,步骤⑵中所述的WINDOWS,采用多媒体定时器MMRESULTtimeSetEvent,设定定时精度为1ms,定时时间为1秒。
5. 根据权利要求1所述的天文望远镜与UMAC控制器通讯的方法,其特征在于,步骤⑶中所述的2组数据,是每组100行,为1秒钟的跟踪目标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210308091.6A CN103176442B (zh) | 2012-08-27 | 2012-08-27 | 天文望远镜与umac控制器通讯的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210308091.6A CN103176442B (zh) | 2012-08-27 | 2012-08-27 | 天文望远镜与umac控制器通讯的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103176442A true CN103176442A (zh) | 2013-06-26 |
CN103176442B CN103176442B (zh) | 2015-01-28 |
Family
ID=48636395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210308091.6A Expired - Fee Related CN103176442B (zh) | 2012-08-27 | 2012-08-27 | 天文望远镜与umac控制器通讯的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103176442B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682331A (en) * | 1996-01-05 | 1997-10-28 | Xerox Corporation | Motion tracking using applied thermal gradients |
CN101093397A (zh) * | 2006-06-23 | 2007-12-26 | 航天东方红卫星有限公司 | 基于星上网的卫星姿态和轨道控制系统 |
CN101387883A (zh) * | 2008-10-09 | 2009-03-18 | 上海交通大学 | 天文望远镜控制系统中采集与传输大量数据的方法 |
CN102073495A (zh) * | 2010-12-31 | 2011-05-25 | 哈尔滨工业大学 | 星务和姿态一体化星载计算机时序控制方法 |
-
2012
- 2012-08-27 CN CN201210308091.6A patent/CN103176442B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682331A (en) * | 1996-01-05 | 1997-10-28 | Xerox Corporation | Motion tracking using applied thermal gradients |
CN101093397A (zh) * | 2006-06-23 | 2007-12-26 | 航天东方红卫星有限公司 | 基于星上网的卫星姿态和轨道控制系统 |
CN101387883A (zh) * | 2008-10-09 | 2009-03-18 | 上海交通大学 | 天文望远镜控制系统中采集与传输大量数据的方法 |
CN102073495A (zh) * | 2010-12-31 | 2011-05-25 | 哈尔滨工业大学 | 星务和姿态一体化星载计算机时序控制方法 |
Non-Patent Citations (1)
Title |
---|
徐欣圻等: "大型天文望远镜Lamost的焦面控制系统", 《电气自动化》, vol. 28, no. 3, 31 March 2006 (2006-03-31) * |
Also Published As
Publication number | Publication date |
---|---|
CN103176442B (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022007358A1 (zh) | 阻抗控制方法、装置、阻抗控制器和机器人 | |
CN103143984B (zh) | 基于激光跟踪仪的机床误差动态补偿方法 | |
CN109848983A (zh) | 一种高顺应性人引导机器人协同作业的方法 | |
CN105583824A (zh) | 力控牵引和摆位的多自由度机械臂控制装置及其控制方法 | |
CN104865865A (zh) | 用于移动物体的系统和方法 | |
US11858141B2 (en) | Impedance control method, and controller and robot using the same | |
CN107161360B (zh) | 空间任务可置换的自由基座运动再现跨尺度验证装置 | |
CN111624878B (zh) | 自主式水面机器人轨迹跟踪的积分滑模获取方法及系统 | |
Wang et al. | Research on logistics autonomous mobile robot system | |
CN113636348A (zh) | 一种建筑安装使用的玻璃转运系统 | |
CN110297460A (zh) | 热位移修正系统以及计算机 | |
CN107972036B (zh) | 基于TensorFlow的工业机器人动力学控制系统及方法 | |
CN114055467B (zh) | 基于五自由度机器人的空间位姿在线仿真系统 | |
CN103862458A (zh) | 一种用于机载伺服系统的六自由度并联平台 | |
CN112596389B (zh) | 基于闭环交叉耦合迭代学习的水晶研磨控制方法与系统 | |
CN103176442B (zh) | 天文望远镜与umac控制器通讯的方法 | |
Mayer et al. | Global kinematic calibration of a Stewart platform | |
Khan | ROS-based control of a manipulator arm for balancing a ball on a plate | |
CN113110537B (zh) | 一种航天器相对视线跟踪的协同控制方法 | |
Schmitt et al. | Global referencing systems and their contribution to a versatile production | |
CN110244703B (zh) | 一种具有外部干扰和数据异常的移动机器人预测控制方法 | |
Ma et al. | Plantbot: A new ROS-based robot platform for fast building and developing | |
CN111966116A (zh) | 海洋机器人空间路径跟随精准视线制导方法及系统 | |
CN102799192A (zh) | 用于天文望远镜的非线性干扰模拟与检测控制系统 | |
Feng et al. | Measurement of mobile manipulator chassis pose change caused by suspension deformation and end-effector accuracy improvement based on multi-sensor fusion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150128 Termination date: 20180827 |