The ADCS is replicated twice. Aside from the common SKITH interface implementing the control algorithms, there are additional components e.g., two micro electro mechanical systems (MEMS) gyroscopes, two magnetometer and front-ends for torquer control. Complementary, an interface to the sun-sensors and the reaction wheels is integrated. Both ADCS modules are assembled on a single board, which is mounted in a self‑contained unit, holding the torquer and wheels. Further details are given in the corresponding subsection of the ADCS system.
The up-/down link transceivers for communication with the ground station are replicated to avoid a single point of failure. Additionally, a satellite modem is implemented, building a backup communication channel. The modular concept is not limited to the avionics system, complementing a modular structure, which is explained in the following chapter.
3.1. Modular Structure
InnoCube is a 3U+ CubeSat (354 × 113 × 113 mm3) with a mass not exceeding 4 kg. One of the benefits of a wireless bus system is the lack of the data harness and the ability to test hardware in the laboratory as well as integrated in the satellite. To utilize those benefits, the structure is designed to allow quick access and exchange of subsystem modules, allowing for variable circuit board size, enabling COTS and custom designs, which provide a certain radiation protection for the wireless bus modules.
The structure concept is to install the subsystem circuit boards individually from the front with little assembly effort. For this purpose, boards can be inserted from the front on evenly spaced rails in the sidewalls with clamping mechanisms, wedgelocks, retaining each board in its inserted rail slot as shown in
Figure 9. Wedgelocks are pin-shaped components that expand when tightened, building a resistance against the side of the rail and board. This way, the circuit boards are secured in place providing resistance to shock and vibration, as well as enabling a thermal transfer to the main structure. The power supply to the modules is realized with a backplane.
3.4. Attitude Determination and Control System—ADCS
Given a 600 km sun-synchronous LEO, InnoCube is expected to be subject to external disturbance forces lower than 10
−7 Nm, not considering the satellites residual magnetic moment. It is hard to estimate the residual magnetic moment, but literature analysis expects it to be less than 0.1 Am
2 for a typical CubeSat [
20,
21]. Considering 0.2 Am
2 torquer rods allows for an active magnetic actuation with a maximum torque of 1 × 10
−5 Nm depending on the orbital position. System requirements imposed on the ADCS derive mainly from the EPISODE payload. The communication subsystem does not require specific attitude control because of the antenna’s omnidirectional characteristics. The EPISODE payload requires two main scientific attitude control modes: GNSS Antenna Pointing and Laser Ranging Ground Station Tracking. GNSS Antenna Pointing resembles an anti-nadir tracking, which ensures an unobstructed field-of-view into medium Earth orbit (MEO) of the GNSS antenna. Assuming a ±50 deg antenna beam width leads to a ± 130 deg anti-nadir attitude requirement. Assuming a 600 km circular orbit leads to maximum attitude of 3.75 deg/min for anti-nadir tracking. Laser ranging ground station tracking orientates the LRR in the direction of the laser ranging ground station and tracks this specific attitude.
Figure 10 associates different contact elevation angles with required torque for optimum tracking performance. The LRR tolerates ±17 deg deviation from the optimum tracking orientation which is 20 deg off-axis pointing of optimum line-of-sight. With final simulation still pending, 2.3 mNm has been chosen to be the minimum torque requirement for the attitude actuation. In order to accommodate these requirements, a typical 3-axis ADCS will be implemented [
18,
19]:
Figure 11 gives a basic system overview: attitude determination will be carried out using redundant magnetic and gyroscope sensors combined with six custom two axis sun-sensors, developed at the University of Wuerzburg. An extended Kalman filter will be used for sensor-data fusion and final attitude estimation. This allows an absolute attitude reference necessary for the attitude controlling as well as the estimation of the gyroscope biases. A yet to be determined quaternion feedback controller will serve for the nadir and tracking control laws. A basic B-dot bang bang detumbling controller can be used for the initial damping of the rotational rates as well as for possible desaturation of the wheels.
The low dynamic GNSS antenna pointing mode can be accommodated by the use of three magnet-torquer actuators only. The magnet-torquers will be based on a self-developed ferrite core torque rod. Because of the aforementioned minimum torque requirements, laser ranging ground station tracking requires the use of a three-axis reaction wheel actuation system. The magnet-torquers are utilized to desaturate the wheels if necessary. The ADCS software includes the telecommand and telemetry management as well as fault detection and isolation (FDIR) procedures.
The ADCS hardware (except for the external sun-sensors) will be combined in a dedicated mechanical structure, which will subsequently be mounted inside the satellite. This structure also includes the ADCS mainboard along with the microcontroller running the ADCS software. The advantage of this closed-box design is the improved stand-alone testing capabilities without the need for a completely assembled satellite structure.
Figure 12 shows the CAD-model (computer-aided design model) of the ADCS box which can be integrated into the satellite using the mounting wedgelocks on the upper and lower sides. The only electrical interface is the backplane-connector mounted on the mainboard.
3.5. Command and Data Management System
The data management system and all avionics consist of a network of redundant SKITH modules. The OBC is the central element, responsible for commanding, telemetry, surveillance, housekeeping, payload interfaces and power control. There are four instances of the OBC on the satellite. The software will be based on Rodos, as it offers the optimal support for distributed and redundant computing.
3.5.1. Onboard Computer (OBC) Hardware
The OBC hardware is based on the SKITH interface, using the EFR32FG12 for both data processing and communication with other modules. Since the EFR32FG12 microcontroller is powerful enough for most applications, it will not only deliver the communication interface, but will also serve as a controller, handling sensors, actuators and memories. It implies a 40 MHz Cortex-M4 CPU with 1 MB flash memory and 256 kB RAM. A property that makes the EFR32FG12 perfectly suitable for a small satellite application is its low power consumption with a maximum power of just 36.3 mW while sending and 27.7 mW when receiving data over the 2.4 GHz interface. Additionally, the OBC is equipped with an external SPI 128MByte Flash and 1MByte MRAM, which have already been subjected to total-dose radiation tests.
Figure 13 depicts a PCB, carrying two OBC modules. The layout is identical for both modules, but mirrored due to thermal reasons. Since the PCB dimension is given by the mechanical structure, this layout offers an area for additional components.
3.5.2. Software
The SKITH hardware is designed in a modular way, having different modules for different tasks. For the software, the same modularity principle is used. Each SKITH module runs software with common tasks (e.g., housekeeping) and module-specific tasks. To address modularity in software, we follow an app-centric approach for the software design.
3.5.3. Onboard Software
The onboard software is based on two frameworks: Rodos and Corfu. Rodos is an open source operating system with flight heritage mainly developed at the University of Wuerzburg and the German Aerospace Center. It is able to run on different processors and platforms in bare-metal execution, but it also runs as a guest on other operating systems, such as Linux. For bare metal execution, Rodos comes with a real-time preemptive scheduling to adhere to timing requirements. A hardware abstraction layer allows to develop on a desktop computer and directly deploy the code to the target platform.
Besides the low-level part, Rodos comes with a sophisticated communication middleware. The middleware applies the publish/subscribe principle. Users instantiate topics, which publishers use to publish new data, and subscribers register for notification on data delivery. Beyond the local communication, the middleware comes with gateways that enable publishing and subscribing topics across several computing nodes (i.e., Rodos instances). Rodos middleware is used for exchanging messages via radio between the SKITH modules.
While Rodos provides the basic infrastructure for executing software on hardware and providing a communication middleware, the Corfu framework provides a common structure for onboard software. Developers define topics, apps, and nodes formally in configuration (specification) files. A node represents the instance of a software that runs on a SKITH module a selection of apps.
Apps are a collection of threads and subscribers that accomplish a specific task, for example housekeeping, attitude control, or time management. Each app defines a communication interface towards other applications and towards the ground segment. Developers describe the communication interface between the apps by defining which topics the apps publish to and which they subscribe to. The wiring of the topic publication and subscription is accomplished by the node.
The app interface towards the ground segment comprises a list of telecommands to which the app reacts and a list of telemetry that the app transmits. A special case is the standard (real-time) telemetry. While apps transmit normal (extended) telemetry only on request, the standard telemetry is transmitted periodically. The standard telemetry gives a quick overview of the node’s vital status. Therefore, every app should contribute some variables with the most important vital parameters.
Based on the information of the configuration files, Corfu generates code with abstract methods that the developers have to implement with their intended behaviour. Corfu already covers the communication handling—either in its library or in the generated code. Methods just have to be implemented that pass the parameters in a plain structure or invoke methods to send data.
To provide rapid prototyping of onboard software, Corfu also comes with a generic ground software. It uses the same information of the configuration files to show a graphical user interface for sending telecommands and printing telemetry data.
3.5.4. InnoCube Apps
As outlined in the former subsection, all apps are developed in Corfu and each app can be configured to fit different nodes, before being compiled into a specific Rodos image. A set of vital apps are present on all nodes enabling basic overview and operations, e.g., the AnomalyReporter, Housekeeper, Surveillancer, and Watchdog, which are continuously monitoring and reporting on the state of each node. Furthermore, there are the apps needed to upload operating system images, write them to flash memory and boot the node, namely the FirmwareUploader, FlashManager and BootManager. Finally, there is always a TimeManager client present for CubeSat-wide time synchronisation. There are six different configurations of SKITH nodes that come with the following apps in addition to the vital apps mentioned above: The OBC node software features the Commander, which receives the telecommands sent from ground segment, verifies their signatures and publishes them to the Telecommand topic. The more complex TimedCommander stores and distributes lists of time-tagged commands, which can also be edited via telecommand before activation. Reacting on specific telecommand lists for certain satellite modes, the Navigation and PowerManagement apps issue high level commands to the SKITH nodes which are controlling the respective subsystems. The PCDU node image includes the BatteryVoltageManager, the PowerManagementExecutor implementing the commands issued by the PowerManagement as well as the RedundancyManager ensuring that only one of each hot redundant SKITH nodes is taking lead. In addition, this image comprises a MasterWatchdog and the SKITHRadioMaster, which issues communication frames to each node.
The up/downlink node is given the Uplink and Downlink apps needed to interact with the transceiver, as well as the DownlinkManager, which manages different queues of telemetry to be sent down and the TelemetryHistory app, holding older telemetry to be sent down when the link is otherwise unused. The attitude control node comes with the AttitudeDetermination and AttitudeControl apps, including the FDIR apps, which are explained in the ADCS section.
The payload computers for EPISODE and Wall#E will have dedicated apps to interact with each payload and forward the respective telecommands and telemetry.
3.5.5. Reporting and Command Flow
All SKITH nodes within InnoCube communicate over radio using the Rodos middleware on top of the radio protocol. The middleware topics and publish/subscribe mechanism provide a structured means of onboard communication.
Figure 14 depicts the flow of information between the apps on InnoCube’s SKITH nodes as facilitated by the Rodos middleware: telecommands, depicted in orange, are sent from ground and received by the
Uplink app, which publishes them to a topic only the
Commander app on the OBC subscribes to.
After verifying the signature of the telecommand, the Commander publishes any telecommand to be executed immediately to the Telecommand topic. In case the Commander receives a timed telecommand to be executed later, it publishes it to the TimedTelecommand topic, from where the TimedCommander app retrieves and stores it. When the telecommand is due for execution, the TimedCommander publishes it to the Telecommand topic. All apps subscribe to the Telecommand topic and try to execute every command received via this middleware topic that was addressed to them and is formed correctly. Malformed or unknown telecommands are dropped by the app and a non-critical anomaly (black arrow) is published to the anomaly topic. If a severe error occurs, apps can also publish critical anomalies. The ModeManager on the OBC listens for anomalies and switches to safe mode depending on their severity. In save mode the TimedCommander publishes a set of telecommands from its save mode list to the Telecommand topic. There are two kinds of telemetry, both depicted in green: the standard telemetry of a node comprises of a set of telemetry of all of its apps that published periodically by the Housekeeper app to the StandardTelemetry topic. Extended telemetry can be enabled and published by telecommand for each app. Both the DownlinkManager and the TelemetryHistory app subscribe to the telemetry channels. The DownlinkManager schedules the telemetry to be sent down and forwards it via a node local topic to the Downlink app, which uses the transmitter to send it to ground. The TelemetryHistory stores older telemetry, which the DownlinkManager will try to schedule, at a lower priority, when the link is unused.
3.6. Communication
The main focus of the communication system is reliability and simplicity, as the technological demonstration of the satellite shall not be endangered by a failure of the communication link. The scientific data generated by the satellite consists of telemetry data and positional data, therefore high data rates are not necessary.
As first step of the design process, the frequencies for uplink and downlink are defined. The mission consists of education and technology demonstration. Consequently, amateur frequencies, which offer a number of advantages of a financial and organizational nature, are being used.
For simplicity and budget reasons, only one antenna can be included. As a result, only one band will be used as well: UHF frequencies in the range of 435–438 MHz.
The communication is performed by commercially available transceivers. A tradeoff lead to the selection of the RadioBro, MiniSatCom UHF transceiver. Although lacking extensive flight heritage, its size, power consumption, and configurability and comparably low cost lead to its use in the mission. With this product, two identical flight units can be integrated into the satellite.
A redundant configuration is implemented, with two identical transceiver units on separate boards. As both radios share a single antenna, a radiofrequency (RF) switch is used to change between the units. Multiple layers of internal identification are integrated to determine whether a transceiver is operable or not. Each of the transceiver boards additionally consist of two SKITH nodes, eliminating any single-point-of-failure.
The satellite design utilises only a single frequency antenna to avoid two antennas interfering with each other. As a result, the channel is capable of half duplex communication. Different configurations of antennas have been analysed, with regard to commercially available products and the UHF antenna module of EnduroSat has been selected. It represents a trade-off between cost, radiation pattern and deployment mechanism. The maximum gain is about 0 dBi, although the omnidirectional pattern is more important than its peak gain.