推荐论文: R. C. Montesanti, R. M. Seugling, J. L. Klingmann, et al. Robotic System for Precision Assembly of NIF Ignition Targets. In Proceedings of American Society for Precision Engineering 23rd Annual Meeting , LLNL-PROC-406666, 2008. 推荐者点评: 该文章介绍了一套微装配机器人,实现了惯性约束核聚变点火靶的组件总体装配,并获得 2009 年的 RD 100 Award 。该系统的杰出之处在于可以在几十厘米的范围内以 100 纳米和 100 毫克力的精度同时操作多个厘米级微零件,同时,将力 / 力矩反馈很好的应用在装配对准过程,这些特点在微装配领域是极少见的。 ( 推荐人:中科院自动化所精密感知与控制研究中心 , 张正涛 )
1.gipsy flinnR星历下载可以通过命令brdc2gipsy.py来实现,具体的格式如下: brdc2gipsy.pl -d 2012-04-30 -outdir . brdc2gipsy.py -d yesterday -outdir . 2.igs_orbits_clks_fetch.pl 获取IGS轨道和星历数据 igs2goa.pl 将IGS轨道和星历转化为goa格式 igs2flinn.pl 将IGS轨道和星历转为flinnR格式 例子: 测试下载2006年12月14日的精密星历和钟差数据,然后转换为GIPSY的格式,最后进行处理 GPS周:1405 星期4 UCSD的GPS精密星历、IGS站数据等下载 原始地址:http://garner.ucsd.edu 公众FTP站点地址:ftp://garner.ucsd.edu/pub/ 多数可以匿名登录,用户名:anonymous,密码:Email地址。 要下精密星历进PRODUCTS文件夹,各文件夹的数据介绍: SOPAC/CSRC Public FTP Archive Structure GSAC SOPAC's GPS Seamless Archive combinations SOPAC's weekly GLOBK solutions docs GPS Sitelogs and SOPAC reports gamit GAMIT setup, tables, etc gipsy GIPSY solutions, setup, etc gfiles orbits in the GAMIT g-file format hfiles Global and regional GAMIT h-file solutions highrate High rate GPS data 30 second sample rate met GPS RINEX Meteorological files misc Miscellaneous data and products nav GPS RINEX Navigation files nrtdata Hourly GPS RINEX data files products Variety of IGS products (sp3精密星历, erp, sum, etc) qc Quality Control raw Raw GPS data files (SCIGN) rinex GPS RINEX Observation files software Publicly-available software solutions GPS analysis solutions using GAMIT software timeseries Timeseries files (xyz, neu, filtered) troposphere IGS combinations of tropospheric estimates For more information contact : sopac@ucsd.edu 注意事项: 如果要使用2006-12-14日IGS的星历和钟差,需要下载2006-12-14前一天和后一天的IGS星历和钟差,然后利用igs2flinn 命令将IGS的星历和钟差转为GIPSY软件需要的格式。 IGS products span ~24 hrs (00:00:00 to 23:45:00), while FLINNR products typically span 30 hrs (-1 day 21:00:0 to +1 day 03:00:00). Thus, IGS files must exist for 1 day before and after the specified begin and end dates, unless the -igs_span flag is set. 首先下载2006-12-13的星历和钟差数据 gipsy@ubuntu:~/GPS_DataProc/test/igs$ igs2flinn.pl -b 2006-12-14 -e 2006-12-14 2006-12-13: igsclk file does not exist at /opt/goa-6.1.2/bin/igs2flinn.pl line 121 下载2006-12-13的星历和钟差数据 gipsy@ubuntu:~/GPS_DataProc/test/igs$ igs2flinn.pl -b 2006-12-14 -e 2006-12-14 2006-12-15: igsclk file does not exist at /opt/goa-6.1.2/bin/igs2flinn.pl line 121 下载2006-12-15的星历和钟差数据 所需文件为: -r--r--r-- 1 gipsy gipsy 1004881 Dec 29 2006 igs14053.clk.Z -r--r--r-- 1 gipsy gipsy 94785 Dec 29 2006 igs14053.sp3.Z -r--r--r-- 1 gipsy gipsy 1033153 Dec 29 2006 igs14054.clk.Z -r--r--r-- 1 gipsy gipsy 94801 Dec 29 2006 igs14054.sp3.Z -r--r--r-- 1 gipsy gipsy 978763 Dec 29 2006 igs14055.clk.Z -r--r--r-- 1 gipsy gipsy 95049 Dec 29 2006 igs14055.sp3.Z gipsy@ubuntu:~/GPS_DataProc/test/igs$ igs2flinn.pl -b 2006-12-14 -e 2006-12-14 gipsy@ubuntu:~/GPS_DataProc/test/igs$ 得到的结果是: -rw-r--r-- 1 gipsy gipsy 116 Feb 26 12:38 2006-12-14.ant.gz -rw-r--r-- 1 gipsy gipsy 1346 Feb 26 12:38 2006-12-14.eo.gz -rw-r--r-- 1 gipsy gipsy 43 Feb 26 12:38 2006-12-14.frame.gz -rw-r--r-- 1 gipsy gipsy 98811 Feb 26 12:38 2006-12-14.pos.gz -rw-r--r-- 1 gipsy gipsy 80 Feb 26 12:38 2006-12-14.shad.gz -rw-r--r-- 1 gipsy gipsy 151475 Feb 26 12:38 2006-12-14.tdp.gz Examples: igs2flinn.pl -b 2006-01-02 -e 2006-01-09 Will make FLINNR formatted files, *.pos.gz, *.tdp.gz, *eo.gz, *.shad.gz, *frame.gz, *ant.gz for the time span 2006-01-02 to 2006-01-09 from IGS files in the same directory. This directory could now be used with the `-orb_clk' flag of gd2p.pl. igs2flinn.pl -b 2006-01-02 -e 2006-01-09 -flinn_dir FLINNR Will make FLINNR formatted files, *.pos.gz, *.tdp.gz, *eo.gz, *.shad.gz, *frame.gz, *ant.gz for the time span 2006-01-02 to 2006-01-09 from IGS files in the FLINNR subdirectory. Note the necessary IGS files could have been fetched to the current directory with the command: igs_orbits_clks_fetch.pl -b 2006-01-01 -e 2006-01-10 如果不下载处理当天的前一天和后一天的IGS轨道和星历数据,可采用下面的选项: Instead of generating files that span 30 hrs, as the standard FLINNR product does, generate files spanning 00:00:00 - 23:45:00 for each of the daily IGS files. This is the span of the rapid and final IGS products. For the longer 30 hr time spans, the IGS files are cat'd together appropriately. 4.goa_prod_ftp.pl 从JPL的服务器下载所需的轨道和星历(由于NASA对中国用户的限制,目前无法使用) /opt/goa-6.1.2/bin/goa_prod_ftp.pl -d yyyy-mm-dd DEFAULT flinnR gets orbit clock and associated files suitable for use with gd2p.pl -hr option will fetch high rate clocks for *R* products Examples: /opt/goa-6.1.2/bin/goa_prod_ftp.pl -d 2009-12-03 will fetch flinnR products /opt/goa-6.1.2/bin/goa_prod_ftp.pl -d 2010-10-01 -s ultra will fetch ultra products Ultra is updated every hour with about 1-hour latency 5.sta2antxyz.pl 根据测站的ID制作成ant的相位差异xyz文件 Help on module sta2antxyz: NAME sta2antxyz FILE /opt/goa-6.1.2/bin/sta2antxyz.py PURPOSE: Define phase variation file (xyz file) given a station ID, and using as input a sinex file with antenna information for the specified station, and an antex file with phase variations for the antenna type. DESCRIPTION: Given a station ID, IGS sinex file, and IGS antex file, this program will create a phase variation file (xyz file) for that station. The xyz file is the file used by GIPSY's gd2p.pl program. The antex file provides the phase center with respect to the reference point (typically the ARP), and a map with respect to the specified phase center. As such, for the output xyz file always contains phase variations with respect to the reference point (typically the ARP), computed as the sum total of the specified phase center and map with respect to the phase center. USAGE: sta2antxyz.py -s sss1 sss2 ... -sinex sinexfile1 sinexfile2 ... -antex antexfile -o xyzfile OPTIONS: -s sss1 sss2 ... List of four character station IDs for which antenna phase variation maps are desired. (Case insensitive) -sinex sinexfile1 sinexfile2 ... List of sinex files from which antenna and radome type for station is defined. Sinex files should contain the data block: SITE/ANTENNA This data block is checked for the antenna and radome type at the station, and this information is used to query the antex file to generate the xyz file for that station. igs.snx文件下载地址 : Possible IGS Sinex files include: ftp://igscb.jpl.nasa.gov/igscb/station/general/igs_with_former.snx ftp://igscb.jpl.nasa.gov/igscb/station/general/igs.snx The file igs_with_former.snx includes historical IGS sites. -antex antexfile Antexfile contained phase variation information for antenna/radome combinations. igs.antex文件下载地址: IGS Antex files can be found at: igscb.jpl.nasa.gov/igscb/station/general/ -o xyzfile Name of output xyzfile that will contain antenna phase variation maps for all stations in input list. Note that antenna phase variation maps will be appended to this file if already exists. -d yyyy-mm-dd Date at which phase variation map required (at 12:00:00). Default date is today (at 12:00:00). -h, -H, -help Prints this man page. EXAMPLE: sta2antxyz.py -s jplm algo -sinex igs_with_former.snx -antex igs05_1421.atx -o jplalgo.xyz -d 2006-01-01 sta2antxyz.py -s jplm algo -sinex igs.snx -antex igs05.atx -o jplalgo.xyz -d 2005-01-01 In the above example, antenna calibration maps for stations JPLM and ALGO are appended to the file jplalgo.xyz, by determining antenna information at the 2 sites on 2006-01-01 from the igs_with_former.snx sinex file, and using that antenna information to derive antenna calibrations from the igs05_1421.atx antex file. COPYRIGHT: Copyright 2007, by the California Institute of Technology. ALL RIGHTS RESERVED. United States Government Sponsorship acknowledged. AUTHORS: Jet Propulsion Laboratory California Institute of Technology Pasadena, CA, USA
JPL 行星精密历表的使用 上海航天技术研究院 李云飞 (blitheli@gmail.com) 当计算太阳系某行星相对太阳或者相对其他行星的位置和速度的时候,在精度不太高的情况下,可以用行星的平均根数解析的得出,但是如果需要计算其高精度的位置和速度的时候,通常采用 NASA( 美国航空航天局 ) 的 JPL( 喷气推进实验室 ) 给出的行星精密历表 (DE200,DE403,DE405) 。 在 JPL 的太阳系动力学网页 (http://ssd.jpl.nasa.gov/) 上有太阳系行星历表计算的一般精度和高精度计算方法和子程序。 本文以行星历表的高精度计算 (DE405) 为例,阐述如何从 JPL 的 FTP 上下载相关数据,如何验证子程序的正确性,以及最后如何使用子程序。 本示例中以 DE405 为例,下载的子程序为 FORTRAN 语言,对于其他的历表 ( 如 DE200) 和语言 (C++) ,过程和以下相同,只要将相应的代码对应修改即可。 详细的过程可参考 http://ssd.jpl.nasa.gov/?planet_eph_export ,作者的操作系统为 Windows XP ,对于 UNIX 操作系统,请阅读上行中的链接中的说明。由于下载数据后要对其验证子程序做一些修改,而读者在初次读其验证子程序时难免有些疑惑,因此下面直接给出步骤: 1. 登录 JPL 的 ftp(ftp://ssd.jpl.nasa.gov/), 下载以下数据: 一共 9 个文件: /pub/eph/planets/usrguide(需要仔细阅读) /pub/eph/planets/fortran/testeph.f /pub/eph/planets/fortran/selcon.f /pub/eph/planets/fortran/asc2eph.f /pub/eph/planets/fortran/binmerge.f /pub/eph/planets/fortran/binshort.f /pub/eph/planets/ascii/DExxx/ascpYYYY.XXX (多个文件) /pub/eph/planets/ascii/DExxx/header.XXX /pub/eph/planets/test-data/testpo.XXX 将上述文件放在同一文件夹下,为了方便下面描述,设文件夹名字为 D:\DE405 。 请仔细阅读 usrguide 文件,看不明白也行,只要按照以后步骤做即可。 上述文件中, ascpYYYY.XXX 系列文件就是我们所需要的精密历表的数值文件。其中 XXX 表示星历表编号,本示例中为 405 ; YYYY 表示年份,如果你只需要公元 2000 到公元 2060 年之间的行星位置数据,那么只下载 ascp2000.405 到 ascp2040.405 的文件即可。 2. 打开“开始”菜单,点击“运行”,进入窗口 DOS 命令行界面 , 并进入 DE405 文件夹下。 首先你的系统内要有 fortran 的编译器 ( 如 Compaq visual fortran 6.5 版 ) ;那么在命令行界面输入 : copy header.405+ascp2000.405+ascp2020.405+ascp2040.405 infile.405 此命令会产生一个 infile.405 的文件。继续在命令行界面输入 : DF asc2eph.f ( df 表示对 .f 文件使用 fortran 进行编译,生成 exe 文件。若在 linux 系统下,命令为 gfortran ;在 windows 下,为 ifort 。因为我是第一次用编译器来做,为 win7 下安装 vs2010+studio XE2011 。其对应的编译器的命令串口可以在开始菜单中找到,根据自己计算机的位数, 32 或 64 进行使用,如图 asc2eph infile.405 ( 此命令会产生一个名为 JPLEPH 的文件 ) 3. 打开 ”testeph.f” 文件,修改程序中以下部分: 在子程序 ”FSIZER3” 中,将 ”NRECL” 设为 4, 将 ”NAMFIL” 设为 'JPLEPH' 。将 ”KSIZE” 设为 2036 ,对于其它的历表 ( 如 DE200), ”KSIZE” 的值有所不同,参考程序中旁边的提示。 在子程序 ”STATE” 中,将语句 ”CALL FSIZER3(NRECL,KSIZE,NRFILE,NAMFIL)” 最前端的 ’C’ 去掉。关闭 ”testeph.f” 。 4. 继续在命令行界面中输入: DF testeph.f testeph testpo.405 此时界面中会输出一系列的常用参数,以及和标准数据的比较结果,其中对应 ”difference” 的位置的数据全是 ”0.****E-13”, 则表示 ”testeph.f” 程序修改的正确,否则则会出现 '***** WARNING : next difference = 1.D-13 *****' 的字样,那么表示程序修改错误,需要继续修改。如果出现错误,则尝试将步骤 3 中的 ”NRECL” 设为 1 重新试试。如果仍不行,那么可能由于系统的原因,请读者自己按照其英文的说明文档自己做,或者来信与笔者交流 ( blitheli@gmail.com ) 。 5. 打开 ”testeph.f” 文件,将子程序 ’FSIZER3’( 包括它 ) 以下所有的子程序全部拷贝到到 ’selcon.f’ 文件中。 6. 至此,精密历表的前期工作已经完成,读者所需要的计算行星位置速度的高精度星历表子程序全部在文件 ’selcon.f’ 中,读者在实际应用中可以直接调用 ’selcon.f’ 文件中的相关子程序 ( 相应的 ’JPLEPH’ 数据文件要存在 ) 。如果需要的精密历表的时间与上面的时间范围不同,读者可以自己转换所需要时间段的 ( 如公元 2020-2100 年间的精密历表 ) 星历表数值文件,具体方法同本文的步骤类似。 7. 关于 ’selcon.f’ 文件中的行星历表的子程序名称及其接口,请参考附录 A 。 附录 A 精密历表子程序 在最后的 ’selcon.f’ 文件中,包含着读者所需要的几个有关精密历表的子程序,下面给出各个子程序的简介及其接口参数说明。 : 给定某一儒略日时刻,得到目标行星相对某行星中心的位置和速度 : 获取所有的有关星历表的常数 : 获得读者所需的星历表某一常数 : 同子程序 PLEPH ,但输入的儒略日时刻更加精确 l PLEPH ( ET, NTARG, NCENT, RRD ) Input: ET : 儒略日 NTARG : 目标行星的编号 NCENT : 中心行星的编号 Output: RRD(6) : 目标行星相对中心行星的位置和速度 ; 单位 : for nutations, d(psi), d(eps), d(psi)-dot, d(eps)-dot ; for librations, (Euler angles and rates, w.r.t. the ephemeris reference frame) ---------------------------------------------------------------------------- 关于目标行星和中心行星的编号,它们的含义如下 : 1 = MERCURY 2 = VENUS 3 = EARTH 4 = MARS 5 = JUPITER 6 = SATURN 7 = URANUS 8 = NEPTUNE 9 = PLUTO 10 = MOON 11 = SUN 12 = SOLAR-SYSTEM BARYCENTER 13 = EARTH-MOON BARYCENTER 14 = NUTATIONS (LONGITUDE AND OBLIQ) 15 = LIBRATIONS, IF ON EPH FILE (IF NUTATIONS ARE WANTED, SET NTARG = 14. FOR LIBRATIONS, SET NTARG = 15. SET NCENT=0.) l DPLEPH ( ET2, NTARG, NCENT, RRD ) Input: ET2(2) : 通常此向量有以下三种用法: 1 最简单的用法,将儒略日赋值给 ET2(1), 将 ET2(1) 置 0 ; 2 为了最大的提高计算精度,将 ET2(1) 赋值为离所要计算时刻最近的午夜对应的儒略日,将剩下的儒略日赋值给 ET2(2) ; 3 为了方便,也可将 ET2(1) 赋值为某一固定时刻的儒略日 ( 如开始积分的时刻 ) ,将剩下的儒略日赋值给 ET2(2) ; 其他参数参考 PLEPH ( ET, NTARG, NCENT, RRD ) 。 l CONST(NAM,VAL,SSS,N) Output: NAM(N) : 常数名称向量 VAL(N) : 常数值向量 SSS(3) : sss(1) : 星历表数据对应的起始时刻儒略日 sss(2) : 星历表数据对应的终点时刻儒略日 sss(3) : Chebychev 系数每块数据所包含的天数 N : 常数向量的长度 l selcon(nams,nns,vals) Input: nams : 所要计算常数的名称 nns : 所要计算常数的编号 Output: vals : 所要计算常数的数值 ' -------------------------------------------------------------------------------- 部分常数名称 ( 按编号顺序 ) : DENUM Planetary ephemeris number. LENUM Lunar ephemeris number. TDATEF, TDATEB Dates of the Forward and Backward Integrations CLIGHT Speed of light (km/s). AU Number of kilometers per astronomical unit. EMRAT Earth-Moon mass ratio. GMi GM for ith planet . GMB GM for the Earth-Moon Barycenter . GMS Sun (= k**2) . X1, ..., ZD9 Initial conditions for the numerical integration, given at "JDEPOC", with respect to "CENTER". JDEPOC Epoch (JED) of initial conditions, normally JED 2440400.5. CENTER Reference center for the initial conditions. (Sun: 11, Solar System Barycenter: 12) RADi Radius of ith planet . *** 上面, 表示双精度类型数据 (double precision); 表示整型类型数据 ; 表示字符型数据。 *** 某一格林尼治时刻所对应的儒略日 ( 例如 2008-Jan-20 15:00:00 时刻对应的儒略日为 2454486.125) 的计算方法的子程序见我个人主页中的 ’ UTC 到 Julday 转 换 ’ 文件 ( http://blitheli.googlepages.com/programs ) ;也可用 JPL 网站上现成的程序来进行转换 ( http://ssd.jpl.nasa.gov/tc.cgi#top ) 。 附录 B JPL 精密历表分类 l DE200 : ( 包含章动,但不含岁差 ) 对应的历元起始时刻为: JED 2305424.5 (1599 DEC 09) to JED 2513360.5 (2169 MAR 31) 。 This ephemeris has been the basis of the Astronomical Almanac since 1984. It is based upon the dynamical equator and equinox of J2000 (see Standish, 1982 and Standish, 1990). l DE403 : ( 包含岁差和章动 ) 对应的历元起始时刻为: JED 2433264.5 (1949 DEC 14) to JED 2469808.5 (2050 JAN 02) Tied to the International Celestial Reference Frame through comparison of UTPM estimates from Lunar Laser Ranging and VLBI l DE405 : ( 包含岁差和章动 ) 对应的历元起始时刻为: JED 2305424.50 (1599 DEC 09) to JED 2525008.50 (2201 FEB 20) Tied to the International Celestial Reference Frame through VLBI observations of the Magellan spacecraft in orbit around Venus. DE405 was created in May-June 1997. l DE406 : 长期星历表 ( 不含岁差章动 ) 对应的历元起始时刻为: JED 0624976.50 (-3001 FEB 04) to 2816912.50 (+3000 MAY 06) This is the same ephemeris as DE405, though the accuracy of the interpolating polynomials has been lessened (interpolation on the 64-day mesh points remains exact, however). For DE406/LE406, the interpolating accuracy is no worse than 25 meters for any planet and no worse than 1 meter for the moon. DE406 requires about 10 megabytes for each 300-year block. l DE410 : Specialzed ephemeris used for Mars Exploration Rover navigation (DE409 is identical except for the reference vale uf GM for Mars) Tied to ICRF by VLBI observations of Mars Global Surveyor and Mars Odyssey. Created 24 April 2003 l DE413 : A special ephemeris to update the orbit of Pluto to aid in planning for an accolutation of a relatively bright start by Pluto's satellite Charon on 11 July 2005. Created 4 November 2004 l DE414 : An ephemeris fit to ranging data from MGS and Odyssey through 2003 in addition to many other data types for all planets. Integration covers 1599 to 2201. Some aspects are documented in Alex S Konopliv et al., Icarys vol 182, pp 23-50 (2006). Created May 2005