The OpenOrbiter project is a campus-wide effort at the University of North Dakota to design and build a low-cost CubeSat-class satellite. The intent is to create a publically-available framework that allows a spacecraft to be built with a parts cost of less than USD $5,000 (excluding mission payload-specific costs). This paper focuses on OpenOrbiter's software system methodology and implementation. Current work seeks to create a generalized framework that other CubeSat developers can use directly or alter to suit their mission needs. It discusses OpenOrbiter's overall design goals with an emphasis on software design. The software architecture is divided into three main components: operating software, ground station software and payload software. Each component is discussed along with the requirement for efficient and effective communication between the components. A communication standard that fulfills these goals is discussed herein. The paper also discusses several challenges encountered and their resolution, including the creation of heuristics to optimally schedule tasks, handling the uncertainty that is inevitable in satellite operations, defining useful standards for all components of the software, communicating between components effectively and testing software to ensure proper operation in an orbital environment. Then, the current state of each software component and its implementation is presented. Finally, the significance of OpenOrbiter is discussed and plans for future work are presented.
展开▼