我读过Java广泛用于MER项目(即精神与机遇 - 那些在火星周围乱窜的小机器人)。
我读过一些有矛盾的信息。我读过的一篇文章(离线)说Java用于图像查看。维基百科说了类似的话。 但是this article说Java用于(引用):
控制流浪者的操作系统。
如果有人知道在火星探测器中如何使用Java,我非常想知道。
其次,为什么选择Java作为其角色?我猜想控件的第一个选择是Ada(请不要将其视为对Java的侮辱)。
答案 0 :(得分:1)
一般来说,有一个项目可以评估Java的飞行速度,但它并没有在那些MER流动站上飞行,据我所知,它也没有计划在未来的漫游者中使用。
最终的参考似乎是MER FSW团队的Joseph F. Snyder,Edwin P. Kan的 MER Flight Software Baseline Architecture and Design Document 。但我无法找到可查看的副本。尽管如此,评论文档中有大量关于设计的信息,例如Glenn E. Reeves撰写的 An Overview of the Mars Exploration Rovers Flight Software :
飞行软件主要是编码 在ANSI C中,具有一些目标组件 代码和一些C ++。的大小 系统,源代码行 (SLOC),是[300K],但这个值确实如此 不包括操作系统。
操作系统是Wind River的VxWorks。
答案 1 :(得分:0)
" Flight Software主要用ANSI C编写,带有一些目标汇编代码和一些C ++。源代码行(SLOC)中系统的大小为[300K],但该值不包括操作系统"
所以,没有Java!
参考: 火星探测飞行软件概述 Glenn E. Reeves MER飞行软件架构师 加州理工学院喷气推进实验室
答案 2 :(得分:0)
“我已经读到Java被广泛用于MER项目(即Spirit和Opportunity-那些在火星附近奔波的小机器人)。”
NASA过于保守,无法切换到Java,因为C(和C ++)已经足以胜任20多年的任务,因为Mars Pathfinder于1997年在登陆器软件上使用了VXworks / C。 2020年火星号是最后一个使用同样成功组合的JPL航天器。 Java很少在实时系统中使用,而主要在商业软件中使用。
“如果它没有损坏,请不要修复它。”