软件定义卫星
——商业航天发展的助推器
2017-11-02软件定义卫星项目组
+ 软件定义卫星项目组
软件定义卫星
——商业航天发展的助推器
+ 软件定义卫星项目组
在发展商业航天的大环境具备之后,成本过高自然就成了制约商业航天发展的突出问题。按照传统方式设计和制造一颗卫星,动辄需要建立一支成百上千人的队伍,花费三到五年时间、投入几千万到几亿甚至几十亿元的经费。投资大、风险高、周期长,一般企业或投资者根本无法承受。降低卫星的研发成本和缩短卫星的研制周期,已经迫在眉睫。
卫星研制成本高、周期长,除了航天产品固有的复杂性高、质量/可靠性要求高等因素之外,另一个重要的原因是当前卫星的设计和生产大多是面向特定任务的。
不同的卫星之间很难做到完全兼容。即便是同一颗卫星,它所包含的遥测遥控分系统、星务分系统、载荷分系统、数传分系统等等多个部组件都具备单独计算单元,这些计算单元由不同单位或者部门开发,仅服务于本分系统,无法实现计算资源共享或者功能替代。
航天工程中可直接继承和复用的产品很少,一般都需要做一些定制化工作,然后再进行大量的调试、测试、联试。此外,目前的卫星研制大都以硬件为主,经费也大量向硬件倾斜。造成这一个现象的历史原因是星上计算能力太差(以CPU为例,宇航级主流处理器的处理能力为几百MIPS,性能不到商用处理器的百分之一)。因此大部分功能必须借助定制化的硬件来完成。
为了有效降低卫星的研制成本,缩短其研制周期,靠划延长线方式的技术进步是解决不了问题的,至少在短期内无法有效解决问题。必须另辟蹊径——大力发展软件定义卫星就是突破口之一。发展软件定义卫星,不但要充分借鉴计算机、互联网、智能手机等产业的发展模式和经验,而且要充分利用好这些产业多年来所累积的超强设计能力、制造能力。发展软件定义卫星的思路如下:
首先,以软件为主进行卫星的设计和研发。
软件定义(Software Defined)是近年来的热议话题之一,那么软件究竟能定义些什么呢?从软件定义无线电,到软件定义网络,目前已经发展到软件定义数据中心、软件定义信息系统,甚至有人发出了“软件定义一切”的感慨。 软件定义的好处是显而易见的。首先,软件易于复用且不增加生产成本;其次,软件比硬件灵活,通过升级就可以更好地满足新的应用场景和需求。
那么,软件定义卫星行不行得通?能不能像智能手机产业那样,研发出类似android系统的开源的软件解决方案,并开设一个航天应用商店?卫星制造商能不能像智能手机厂商设计生产android手机一样来生产和制造卫星?卫星用户能不能像手机用户那样从航天应用商店选择和上注新的APP,进而让在轨运行的卫星去承担新的任务?传统卫星会不会逐步演变为智能卫星?
中国科学院软件研究所发起的“软件定义卫星技术联盟”在这一方面进行了有益的尝试,并计划于2018年6月发射其第一颗在轨试验卫星“天智一号”。
“天智一号”卫星效果图
这是一颗以软件为主的卫星,与其他卫星不同的是,这颗卫星真的设有“航天应用商店”,人们还可以通过手机访问这颗卫星:给它下任务,并在手机上查看执行结果。同时,这也是一颗智能卫星,可以通过上注应用软件或是在地面训练好的神经网络模型,在轨实时执行一些智能任务,例如智能目标检测识别、智能云判读、基于强化学习的智能姿态控制等等。
“天智一号”参照的体系架构如下:
如图所示,借助基于软件容错技术的分布式并行计算环境,实现了软件和硬件的解耦,为航天应用软件创造了一个与卫星平台无关的执行环境,同时兼容Linux和Android系统,做到了与地面主流编程环境最大程度的兼容。也就是说,只要能为Linux或Android开发软件的程序员,都可以从容地开始自己的航天软件生涯。
“Anyone can fl y their app in the space”也是软件定义卫星的主要目标之一;借助商用器件阵列技术,大幅提高了星上计算性能,同时也保证了航天工程所要求的可靠性;借助基于FPGA阵列的可重构接入环境,不但可以最大程度地兼容传统的卫星载荷,同时也为发展软件定义相机、软件定义雷达、软件定义通信等新型载荷创造了条件,为发展软件定义卫星网络铺平了道路。
为了将这颗卫星的能力发挥到极致,中国科学院软件研究所发起举办了“软件定义卫星应用软件创新设计大赛”,面对科研院所、高校、公众开展参赛设计征集,目前大赛已完成创意阶段评选,来自多家高校及科研单位的十余组参赛团队荣获优胜奖。下一步大赛将进入决赛阶段,大赛组委会将组织入围作品进行软件开发。
其次,建立起必要的标准和规范。
没有规矩,不成方圆。任何一个行业,只有建立了必要的标准和规范,才能形成产业合力和有效竞争。
软件定义卫星也不例外。有必要建立三个方面的标准和规范,即软件层面、互联层面和系统层面。
在软件层面,编程环境、执行环境、数据格式等标准和规范要最大程度与计算机、互联网、智能手机产业兼容,这样才能够有效利用起这三大产业中数以千万计的人力资源和数以百亿行计的代码资源,而不至于什么都要从头做起。
在互联层面,应该向互联网、移动通信靠拢。星内互联应最大程度地借助以太网、TCP/IP协议,把卫星打造成一个在盒子中的微型互联网,即“Internet in Box”;星间局域互联可借助移动通信技术,将基站搬上天,并以此为基础建立卫星星群;星间广域互联可以借助现有的星间通信技术。互联层面的核心协议要与互联网兼容,这样才便于将卫星接入互联网,或者将互联网向太空自然延伸。当然,在互联层面,还要充分考虑航天的特点,以便最大程度地兼容相对成熟的现有航天产品或部组件。
最后,在系统层面,要充分继承航天工程领域已经形成的标准和规范,以最大程度地保证航天工程所要求的质量和可靠性。
建立标准和规范不是哪一家单位自己的事情,需要广大航天企事业单位的充分参与,而软件定义卫星开放创新技术联盟作为一个开放性合作平台,将致力于推动“软件定义卫星”的进程。
第三,建立开放、开源的软件定义卫星生态环境。
在互联网+时代,“平台+个人”将成为一种重要的产业生态模式。而开放、开源和活跃的生态环境正是软件定义卫星这一构想取得成功的重要条件。为推动相关生态体系的建构,软件定义卫星技术联盟制定了相应的规划步骤:
1、计划定期举办软件定义卫星高峰技术论坛,持续推动该项技术的发展。
2、将建立软件定义卫星开放创新平台,择机开放全部源码,并基于互联网构建一个支持大规模异地协同开发的云环境。开发软件定义卫星模拟器,搭建并维护“航天应用商店”,为广大开发者提供有效的支撑(如下图所示)。
3、将搭建一个软件定义卫星测控运维试验平台,为商业卫星接入互联网,为通过PC、平板和智能手机灵活访问在轨运行的卫星资源奠定技术基础。
软件定义卫星技术联盟是非盈利性组织,其宗旨是推动相关技术的发展,在卫星制造商、卫星用户和广大开发者之间搭建起一座桥梁,为商业航天的发展提供助力。可以预见在不远的将来,软件定义卫星将改变传统卫星的研发模式和产业格局,传统卫星也将逐渐演变为智能卫星。在智能卫星时代,商业航天必将迎来更大的市场机遇和更广阔的应用前景,而更多的机构甚至普通民众,都将有机会参与其中,分享太空经济成果、体验商业航天带来的生活方式的改变。
软件定义卫星技术联盟秉持开放的态度,欢迎任何单位和个人积极加入。共同携手,以开放、创新、合作、共赢为理念,快速推进软件定义卫星乃至智能卫星时代的到来。