Join us for a two days workshop to see how the open source approach can be applied to CubeSat (and Small Sat) missions with a focus on space science for the benefit of all!
Open source software and hardware is raising in popularity and acceptance on all areas of life, so why not apply it to space exploration as well? The Open Source Cubesat Workshop was created exactly for that: to promote the open source philosophy for CubeSat missions and further. The second edition of the workshop takes place at ESA’s European Space Astronomy Center (ESAC).
CubeSats have proven to be an ideal tool for exploring news ways of doing space missions: therefore let’s remove the barrier of confidentiality and secrecy, and start to freely share knowledge and information about how to build and operate CubeSats. This workshop provides a forum for CubeSat developers and CubeSat mission operators to meet and join forces on open source projects to benefit from transparency, inclusivity, adaptability, collaboration and community.
The focus of this year’s workshop is on space science open data: how to obtain, process, distribute, and benefit from openly shared space science data and what positive impact this can have for science community, business and society. The target audience of this workshop is academia, research institutes, companies, and individuals.
CubeSat has become a satellite concept with increasing interest for space research and exploration. Key elements of its success have been standardization, easy design and low cost. However, the constraints of space, weight and power represents practical limitations for the scientific instrumentation that can be accommodated limiting the scientific scope that the CubeSat concept can have. Nevertheless, it is expected to be a very competitive solution for those scientific applications that can be adapted to those constraints.
Recent missions such as CanX-4 & 5 have shown that CubeSats already have the necessary technology to carry out formation flight. Formation flying multiplies the possibilities of performing science of small satellites. This concept is the one used in the future ESA PROBA-3 mission, in which one of the satellites of the formation flight acts as a parasol, hiding the solar disk so that the other can study the solar corona. Although PROBA-3 is not made up of small spacecrafts, other missions with similar concept, like NASA's CANYVAL-X, are based on CubeSat technology to demonstrate how two small satellites in formation can be used as a single large telescope. Finally it is possible to use small satellites in conjunction with a large scientific instrument. The CubeSat would travel as a piggyback next to the main ship and could be deployed once in orbit. A small satellite deployed in this way could be used, for example, as a calibrator for the instruments of the main ship, thus obtaining more precise measurements. Furthermore, the small weight and cost of the CubeSats would allow them to be added to the main mission without having a great impact, and they can be conceived as science enhancements of the main mission without jeopardizing it.
In this talk, we present the possibilities of CubeSat formation flying for scientific research in the context of the Cosmic Microwave Background (CMB) science. We will show how the CubeSat concept can be of interest to accommodate a calibration system in the microwave range that can be used to calibrate CMB instrumentation, based either on the ground and using a LEO for the calibration satellite, or on a space mission operating at L2 and requiring formation flying for the calibration satellite. The possibility of having a calibration satellite for CMB science will provide an unprecedented control of systematic effects that are the limiting factor of the future very sensitive CMB experiments.
Investigating the polarisation of the cosmic microwave background (CMB) provides us with the opportunity to study the formation of the early universe, in particular it reveals the effect of gravitational waves caused by inflation after the Big Bang. Experiments studying the CMB polarisation use ground and balloon-based polarimeters operating in the millimetre wave range, and these require both precise and absolute measurement of the polarisation orientation. Ideally, the orientation will be measured to within 0.01 degrees, which will allow systematic errors of the detector and false polarisation signals to be filtered out. The required precision can be achieved with the use of a known-source acting as a calibrator, for which a CubeSat is proposed. The satellite contains several linearly polarised sources in the sub-100GHz frequency range, with the exact polarisation orientation determined through pre-launch testing, as well as an accurate attitude determination and control system (ADCS). It could serve as a calibrator for current CMB polarimeters, such as QUIJOTE in the Canary Islands and ACTPOL in Chile, as well as for future European polarisation studies.
Work on this CubeSat project focused on selecting the signal frequencies required by the detectors and specifying the components needed to achieve optimal signal-to-noise ratio at the polarimeters. This led to the design of a calibration CubeSat, which includes the layout, orbit, power budget and testing requirements, with prototypes manufactured for layout definition and to test the concept using a drone. Future work will focus on an integrated CubeSat design with a precise and agile ADCS, as well as more refined predictions of the satellite’s operation and possible further testing on a high altitude balloon.
The idea of simplifying space missions by using CubeSats and CanSats appeared around 20 years ago with the main purpose of making space technologies accessible to a broad audience. Both platforms proved to be a game changer in the space sector up to the point nowadays that anyone can start developing space related missions from home.
The CanSat platform has been used as the perfect cultivation pot to promote STEM fields among the young generations and inspire the soon to become engineers and scientists. It is the perfect introduction to space science and technologies while usually being the first experience into a simulation of a real space mission.
An Open Source development platform at those first stages has proven to be of high impact and interest not only for Secondary and High Schools students but also at University level. Open Cosmos developed qbcan, a CanSat development kit composed of affordable COTS with the idea of simplifying the process of getting people involved into software and electronics using space as a context. A set of educational wiki pages were created with libraries and sample codes so that even non-technical and non-experienced users could easily assemble a CanSat and conduct a primary mission. A forum was also created and maintained to provide support to the increasing CanSat community with all the designs and list of components available following the Open Source philosophy.
The presentation will review the rationale behind the qbcan open source platform, highlighting the CanSat concept and its contribution in making space more accessible. A short demonstration and hands-on workshop could be also considered for the audience to understand much better the platform and components used.
It is not new that satellite design, component procuration, integration, testing, launch and operation are cost and time demanding. However, during the last decade, the small-satellite concept re-emerged not only as an enabler of smaller and lightweight platforms, but also as a new aerospace paradigm based in a) the adoption of up-to-date consumer technologies, b) rapid development cycles and c) small agile teams operating closer to IT industry management models rather than those found in traditional military/aerospace organizations.
In this context, we further push the paradigm to propose Open and Remote-Access Sensing (ORAS) as a mean to share the utilization of in-orbit resources of a small cubesat among several users with autonomous and potentially isolated ground stations. The ORAS concept and the specifics of a mission currently under design to implement it are product of a joint effort of professor and students of master on Satellite Instrumentation course held at the Gullich institute, within the Argentinian Space Agency (CONAE) in Córdoba, Argentina.
The main driver behind the ORAS project is the fact that state-of-the-art technology for modern small platforms tend to provide large storage and processing capabilities, but limited downlink data-rate, typically constrained by available in-orbit power and limited antenna gains. Indeed, both the placement and accurate pointing of a high-gain antenna as well as energy harvesting via solar panels within the size of a cubesat are difficult endeavours. As a result, the downlink communication channel quickly becomes a bottleneck hindering the efficient use of the platform.
To balance and improve the utilization of valuable in-orbit resources we propose ORAS: an open-access strategy where satellite’s instruments are accessible to as many users as possible. This allow any ground station equipped with a standard communication hardware publicly available in the market to access, command, manage and download instrument acquisitions. In particular, an acquisition might be executed and previewed via thumbnails by users but not necessarily downloaded. As a consequence, the downlink channel utilization is better utilized and extended for as many users interested in the observations thus widening the resource bottleneck and maximizing the scientific return of the orbiting object.
Nonetheless, challenges to successfully achieve ORAS are not minor. Allowing anyone anywhere to access the satellite requires of non-trivial but highly developed protocols that a) provides secure access to authorized and authenticated users to command specific and carefully chosen functions of the platform and b) ensure a correct utilization of observation resources by keeping and administering an in-orbit schedule and avoiding battery-power exhaustion. Since the mission control cannot be continuously in contact with the cubesat, all these functionalities need to be performed autonomously in the cubesat.
Besides describing in details how these unprecedented challenges can be tackled, this presentation discusses how a specific cubesat mission can implement the ORAS concept by making use of Components Off The Shelf (COTS) in redundancy and leveraging fault-tolerant architectures to increase the reliability of the system to meet the expected lifetime of the mission. We analyze the case of an instrument devoted to observe termic-sensitive events on the surface, a thermal camera which allows to monitor thermal anomalies and warn of possible emergency situations. In particular, we discuss the monitoring of volcanic activity on the Andes mountain as a motivational example.
Libre Space Foundation is designing an open-source hardware and software family of
PocketQube format satellite modules. We are focusing on the main module including typical
OBC and COMMS functionality delivered using modern and high capable MCUs (STM32) and
reconfigurable COMMS ICs (AX5043). Data logging and power management functions are also
present. We are following the mechanical specifications of the proposed PQ9 standard while
adapting the electrical and application layers to meet modularity and compatibility needs.
Several design aspects will be addressed including subsystem and software design for
reusability and alternative inter-subsystem communication methods to the proposed RS485
communication of the PQ9 standard.
The LibreCube Initiative has the objective to promote and develop open source projects that form modular and space-ready elements, which then can be used for earth and space exploration missions, mainly CubeSat missions. To achieve this, LibreCube is based on three pillars: open source, standardization, and a reference architecture.
While the open source aspect of LibreCube is a very important ingredient (and applies likewise to the outputs but also to all the tools used for producing the outputs), the other two aspects are of equal importance to enable true collaboration and sharing among the community.
Standards (in particular interface standards) are essential to ensure that LibreCube elements are compatible to each other. It is not that the engineering world is short of standards. However, usually standards are hard to read and it is not easy to decide which standard to apply. LibreCube has defined a clear policy on what standards to choose. They must be openly available (downloadable from internet), free of costs, and preferably based on space heritage. The two major organizations that publish such standards are the European Cooperation for Space Standardization (ECSS) and the Consultative Committee for Space Data Systems (CCSDS).
While standardization and open source path the way for collaboration, it is the definition of a common space system architecture that allows contributors to work on different parts of the system in parallel - ensuring that eventually it will fit into a large system. The generic reference architecture provides the big picture for this and ties all the efforts together.
This presentation will thus give an overview picture on the standardized interfaces and data exchange protocols for space and ground elements, as defined by LibreCube. It will then outline the development cycle of prototypes and elements, to show how projects materialize from idea to operational product. For the potential users of LibreCube elements it will be presented on how to reproduce (assemble) and operate them. Finally, for potential developers it will be explained how to contribute to new or ongoing prototypes and elements.
An overview of the SatNOGS project, a network of satellite ground stations around the world, optimized for modularity, built from readily available and affordable tools and resources.
The trend of Low Earth Orbit (LEO) satellite launches continues and new countries and players join the space journey. SatNOGS provides a scalable and modular platform to track, receive telemetry, monitor and command & control these satellites. SatNOGS technology stack including hardware ground station designs (antennas, rotators, electronics), software for SDR-based communications, scheduling and observations, are developed as open source projects with hunderds on contributors from around the world.
Current operations support VHF and UHF bands, while also experimenting with higher bands like L, S and X. Furthermore SatNOGS provide an easy way to store, access and view increasingly received satellites data. (db.satnogs.org, more than 17 million packets so far)
SatNOGS continues to grow, develop and improve as an infrastructure allowing observers to take advantage of this networked ground segment and remotely operating SatNOGS ground stations around the world.
TU Darmstadt Space Technology e. V. is a group of students at the Technical University of Darmstadt. Its purpose is to get students in contact with space technology. To give students the opportunity to get first hands on experience in practical projects, there are currently a CubeSat and experimental rockets in development. Because also others should benefit from this work, all the CubeSat Hardware and Software are published as open source. The licenses used are CERN OHL v1.2 for Hardware and GPLv3 for Software.
The mission of the CubeSat is to test a transparent reflectarray, a combination of a solar cell and a reflectarray antenna. The mission is being developed in cooperation with the Institute of Microwave Engineering and Photonics at the Technical University of Darmstadt.
The focus, when developing a communications system for CubeSats, should always be on the reliability of the overall system, to be always in control of the satellite. To ensure this, the Consultative Committee for Space Data Systems (CCSDS) and the European Cooperation for Space Standardization (ECSS) developed standards for reliable communication systems. Using these standards, it is possible to realize all kind of mission concepts and control multiple satellites with one or more groundstations. The ECSS standards for communication are derived from the CCSDS standards, with a focus on user friendliness and they are in most parts compatible with each other.
To get fast results in the development process, software defined radios (SDR) are used with GNUradio and Python scripts for data processing. The printed circuit boards (PCB) are developed using the open source PCB design software KiCAD and build with commercial of the shelf parts, to keep the development and production costs low.
In a first step of the development the low layer data transmission is being implemented in GNUradio. A demonstration was presented at the Open Source CubeSat Workshop 2017, with packet detection inside of GNUradio. The overhead and the complexity of the project made it hard to continue with the development, so the processing inside of GNUradio is now just done until the step where the raw bit stream is created. After this is done the bits are passed via zero message queue protocol (ZeroMQ) to Python scripts that implement the standards for Synchronization and Channel Coding (CCSDS 131.0-B-3, 231.0-B-3), Communications Operation Procedure-1 (CCSDS 232.1-B-2) and the still not finally reviewed Unified Space Data Link protocol (CCSDS 732.1-R-3).
For the operation of the CubeSat the possibilities offered by the Message Abstraction Layer (CCSDS 521.0-B-2) and the Mission Operations Services concept (CCSDS 520.0-G-3) are currently being reviewed.
The Universidad Politécnica de Madrid (UPM) started in the academic year 2009/10 educational innovation activities in space engineering. The implementation of several topics in the Conceive - Design - Implement – Operate (CDIO) syllabus was pursued, mainly focused on the next topics: Hardware and software integration, Test, Verification, Validation and Certification.
With this objective the use of demonstrator satellites was included in the practical lessons. The development of a self-designed demonstrator satellite was started leading to the ESAT’s birth.
ESAT has been created and developed by Theia Space, an initiative born at the Spanish User Support and Operations Center (E-USOC) which belongs to the UPM and is one of ESA’s delegated centers for the operation of scientific payloads onboard the International Space Station.
ESAT is an educational satellite designed for hands-on learning for all education levels: STEM education, university studies and professional training. It is a 10x10x10 cm nanosatellite based on the successful CubeSat standard and weighing less than 1 kg.
ESAT has the typical spacecraft subsystems: Electrical Power, Command and Data Handling, Attitude Determination and Control and Structure.
The user can choose to focus and work on each subsystem independently or to practice with the fully integrated satellite. ESAT features a Wi-Fi communication system allowing the connection with a PC, where the ESAT GUI based on COSMOS SW allows an easy operation of the satellite.
ESAT is perfectly fitted to train on design, manufacture, integration, validation and operation of satellites.
It has been developed with the open source philosophy and the users are able to expand its functionalities. ESAT allows to integrate and test new user developments, both SW and HW. For the HW developments the user has access to all the lines in the satellite, including power and communication lines and analog and GPIO lines.
In situ space weather measurements are currently sparse; this represents an obstacle to further improving our understanding of the Sun-Earth interaction. Constellation missions are ideal as they enable a comprehensive and broader set of magnetic field data at many points simultaneously. A novel approach is to exploit CubeSat platforms, however, on them, mass and power resources are limited.
MAGIC (MAGnetometer from Imperial College) is a miniaturised magnetometer, which optimises noise performance while minimising power consumption by utilising a hybrid anisotropic magnetoresistive (AMR) sensor triad. This solution is suitable for CubeSats: it has flown on three of them to date (TRIO-CINEMA) and an improved design was developed for the Sunjammer microsatellite. On CINEMA, the instrument was able to detect magnetic field fluctuations associated with field aligned currents over the northern auroral oval.
An evolved version of MAGIC instrument will fly on board RadCube as part of the RadMag payload. RadCube is a 3U CubeSat funded by ESA under the IOD (In-Orbit Demonstrator) GSTP, scheduled for launch in 2020. The aim of the mission is to demonstrate miniaturised instrument technologies in LEO for space weather monitoring purposes.
The primary scientific goal of MAGIC is to improve the understanding of field aligned currents and ring current during geomagnetically disturbed conditions for space weather monitoring.
Consequently, the opportunity to openly share MAGIC data with the scientific community, could improve our capabilities to predict space weather phenomena such as geomagnetic storm, but also understanding of substorms (in terms of occurrence, severity, duration).
MAGIC on RadCube will include 2 AMR three axes DC sensors: one in-board, and one out-board, housed in a mechanical chassis, deployed by means of tape spring motorized boom.
Although the main sensor and control loop is at TRL 9, the proposed magnetometer design on RadCube includes some technical development. For example, a major addition from the CINEMA design is the inclusion of intelligence via the addition of an Atmel microcontroller. This enables use of standard communications protocol to the bus. Furthermore the instrument will be implemented on a PCB compliant with CubeSat form factor, with components optimised for a longer lifetime mission than CINEMA. The target sensitivity is less than 2 nT.
Achieving this improved design will enable an optimised and more resilient magnetometer instrument, implementable as a “plug and play” sensor on CubeSat platforms, to be used either in a constellation configuration or as single hosted payload, for space weather monitoring in the context of ESA Space Situational Awareness’s D3S monitoring concept.
The “BUHOSAT”, which adopts its name from the university mascot, is a unique 1U CubSat with an astronomical mission to detect synchrotron radiation. The team composed of scientists and engineers designed a 1U CubeSat capable of carrying this novel mission. The BUHOSAT is the perfect example of the use of current enabling technologies for nano-satellites, commercial of the shelf (COTS) plus indigenous patented technology. It carries two payloads, one that will be used to study the universe and the other one for Earth observation; has quick mobility over one axis to maintain desired attitude during its orbit; provides enough power to carry out its rigorous mission; has 3 independent processing units, and uses active and passive thermal controls; all in one small package of 1U and under 100,000 USD. Most of the design, in this project, can be considered finished. Minimal changes will be done after simulation and testing is completed.
Design, implement and put into orbit a nano-satellite that allows us to obtain the basic scientific and technological experience to continue with more complex experiments and projects within the Ecuadorian Satellite System. Whose potential applications, depending on the need, will be: the radio link of automatic stations for measurement meteorological parameters, photographs of the surface of the earth, in the visible and in infrared parts of the electromagnetic spectrum, to monitoring: temperature changes in volcanic zones, country borders and natural resources.
Copenhagen Suborbitals is a crowd-funded, non-profit, amateur space programme with the goal of sending one of us into space, on a sub-orbital spaceflight, using our home built space capsule and rocket. Since the beginning of 2008, we have flown five rockets, two mock-up space capsules, and reached significant milestones like building bi-liquid rocket engines, active guidance and establishing a framework for regular sea-launches.
An important part of successful crowdfunding is continuous outreach and contact with our supporters. To that end, we are providing live webcasts from all major test and launch campaigns. Beginning with our Nexø-class rockets, the webcasts also include live, high definition video transmitted from the rocket.
In this presentation, I will describe some of the DIY concepts we are applying throughout the project, with focus on building a scalable video downlink and live streaming solution using COTS hardware and open source software.
Team Anant is a research oriented project by an undergraduate team of BITS, Pilani to create India's first hyperspectral imaging nanosatellite. Started in 2013, the project is currently in the Proposal Design Review (PDR) stage being conducted by the Indian Space Research Organization (ISRO).
This paper will discuss the essential role of open source in the development of this satellite and how it lets us modify code & understand fundamentals, all within limited resource situations.
The first section of the paper will be an introduction to the concept of the entire project followed by a brief on how open source supports our research-first ideology. The use of open source certainly comes with its own challenges too, and lessons learnt from those will be discussed as well.
The second section will delve into specific details of open source works used by the team, like PetaLinux as our Operating System, Git for version control, certain free IPs for a compression algorithm on an FPGA & Arduino for hardware testing, and how they specifically serve many needs of the satellite architecture.
The third section will talk about lessons learned on, and the need for proper licensing in this field, so that credit where due is given while maintaining the spirit of openness. Advantages and disadvantages of different licenses shall be discussed.
Finally, the paper will conclude with a brief on the impact of open source on the profiles of the team members, having provided them with many sought-after skills in both academia and industry. This shall be followed by proposals to increase open source use in student nanosatellites, and how we expect to use more of it in our project.
I can share my experience about starting hands-on based space education in engineering education. I have been promoting space education in Nepal, where there was not any project on space. I founded my company called ORION Space to promote space education, and initiate space related project in Nepal. I started with CanSat Project, which is Project Based Learning method to teach about space and satellite technology. CanSat is a model used to teach about satellite. Now, we have a real satellite project on going in-house (in Nepal). The satellite is 5cm x 5cm x 5cm size, and its called PocketQube. We have completed OBC, and Communication board. Therefore, I can share my experience how to start space project at minimum budget. Many developing countries can learn from our experiance. We have presented our work at OSCW-ESA (Open Souce CubeSat Workshop) 2017, The 1st IAA North East Asia Symposium on Small Satellites- Serving the Needs for the Benefits of the Region in Mongolia, and conference ISTS 2017 in Japan.
In 2014, a software development team from NASA’s Ames Research Center (ARC), working in collaboration with NASA’s Advanced Multimission Operations System (AMMOS), set out to build a new software system for data visualization for missions. Our functional goal was to build a modular multi-mission software system that empowered users to build and compose their own visualizations of data across mission domains, with no programming required from the users to assemble these displays. Our broader goal was to build an open software system that enables participation across government and private space programs, as well as outside the space community. The software, Open Mission Control Technologies (Open MCT) is in use on operational CubeSat missions, including the Mars Cube One (MarCO) missions and the Arcsecond Space Telescope Enabling Research in Astrophysics (ASTERIA).
Open source enables flexible use, and reduces or eliminates the proprietary nature of software that can impede collaboration. While still in the early stages, we have built a community of users and contributors, with participation inside and outside of the space community. The model for collaboration is to empower missions by enabling them to adopt the software as their own, make modifications and contributions, and see those contributions used in a larger space community. All missions benefit from the larger user base enabled by open source, as each critical eye on the software results in improvements. The Open MCT user base ranges from missions, to industry outside the space industry, to research and student projects.
The participation of the open source community has resulted in improvements to code, usability, documentation and feature suggestions. Open MCT is available on GitHub at https://github.com/nasa/openmct. An informational web site with tutorials, documentation and an online demo is available at https://nasa.github.io/openmct/.
The practical results presented in this talk were gained with a range of Open Source Software (OSS) solutions. The most important employed OSS is "bowerick" [1], which is a Message-oriented Middleware (MoM) wrapper around Apache ActiveMQ [2] and various supporting libraries such as Eclipse Jetty [3] and Spring Messaging/Websocket [4] for WebSocket-based [5] transport or Eclipse Paho [6] for MQTT-based [7] transport. bowerick and its dependencies are available under commercially friendly OSS licenses such as the Eclipse Public License, the Apache License, or the MIT License.
Space system standards such as PUS [8] or CCSDS-MO Services [9] aim on enabling interoperability between different systems or components. Yet, there are still situations that require the integration of components that do not support these space system standards. Furthermore, these standards are sometimes comparably heavy-weight with respect to the implementation effort such that, when no pre-existing libraries can be used, their adoption would require significant budget.
Small projects such as studies, prototypes, or small satellite operations may suffer from strongly constraint budgets. Hence, it may not be possible to implement heavy-weight standards when no pre-existing libraries are available. Our focus is explicitly on implementation effort and interoperability and not on resources like CPU, memory, or network throughput because, usually, the largest cost factors for small projects are the actual development and integration effort and not computing infrastructure related hardware resources.
In this talk, we report our experiences with other more light-weight implementation OSS alternatives for easing and reducing the cost for the live integration of non-standard components. The presented results are partly based on experiences gained during two studies regarding the integration of ESA software systems with Virtual Reality (VR) [10] and Augmented Reality (AR) devices.
For enabling live integration at run-time, we consider the aspects serialization format and communication infrastructure protocol. Popular serialization formats are, e.g., XML, Google Protocol Buffers, JSON, and to some degree CORBA. Popular communication infrastructure protocols are, e.g., TCP/IP Sockets, CORBA, or MoM-based solutions based on protocols such as STOMP, OpenWire, MQTT, or Web-sockets.
In the talk, we will first contrast key aspects of these formats and protocols. Based on a conceptual assessment and practical results, we selected the combination of JSON UTF-8 String byte arrays for serialization and the MoM protocols OpenWire [11], STOMP [12], MQTT [7], and STOMP over WebSockets [6] as communication infrastructure.
In our scenario, all protocols can be used equivalently as they are all supported by the ActiveMQ broker and the broker forwards between them. However, while the broker supports automatic exchange of messages between these protocols it showed that even simple combinations suffered from conversion problems.
As simple example we consider the exchange of String messages between OpenWire and STOMP. The broker falsely converted STOMP StringMessages to OpenWire ByteMessages because of misinterpreting a header field, while the opposite direction worked. More complex conversions pose even more potential pitfalls.
By using byte-array-based messages only, all so far encountered conversion problems could be avoided and messages can be transparently exchanged between the supported protocols. Thus, the selection of the MoM protocol only depends on the availability of libraries and implementation effort.
In addition, JSON-based serialization is well supported in many programming languages. Moreover, even if no JSON de-/serializer implementation is available it can typically be easily implemented.
In the VR- and AR-related studies, it showed that these capabilities, having a well-supported light-weight implementation serialization format and transparent support and exchange between MoM protocols, significantly eased development and integration. E.g., the development of a key component was done in Python with STOMP as protocol because of the availability of well-featured libraries. The VR application was based on the Unity 3D/VR framework and thus was implemented in C#. Because of the availability of a well-featured C# library, OpenWire was used as protocol for the VR application. Furthermore, we performed experiments with web-based VR, which used STOMP over WebSockets for connecting to our integration infrastructure.
On the transition from VR to AR, the OpenWire library had to be replaced with an MQTT library due to implications of the employed computing platforms, a standard gaming computer for the VR application and the Microsoft HoloLens for the AR application. This transition was easily possible simply by replacing the OpenWire library with an MQTT library, adjusting the MoM-related code in the AR application to use the new MQTT library, and enabling MQTT in the bowerick broker by adjusting a simple command line option. All other parts and components, such as exchanged messages, data format, de-/serialization, etc. could remain the same.
Furthermore, our development was eased by the functionality of bowerick to act as interactive Command Line Interface (CLI) client. The interactive CLI allows, e.g., to send and receive messages with all supported protocols, which helped in run-time testing and debugging of the system.
From our experience gained during the AR and VR studies, we consider the discussed approach very helpful. The development was not hindered by unnecessary limitations, conversions, or adapters. Instead, we could select the best tools, such as programming languages or libraries, for the particular use case, reduce boiler plate code, and focus on the actual functionality.
While we focused on development and integration effort, performance may still be an important factor. However, performance aspects should be considered on a case-by-case basis. For assessing performance aspects, bowerick offers benchmark functionality such as customizable message generators or a configurable benchmark consumer.
In future, we consider that MoM-based infrastructures will be increasingly used, e.g., EGS-CC uses Apache ServiceMix [13], which includes Apache ActiveMQ, as part of its infrastructure [14]. New developments at the German Space Operations Center (GSOC) consider the selection of the MQTT MoM protocol for integration [15]. CNES ISIS employs ZeroMQ, another MoM [16].
[1] Gad, R., "GitHub - ruedigergad/bowerick: Easing simple Message-oriented Middleware (MoM) Tasks with Clojure (and Java)," Online: https://github.com/ruedigergad/bowerick, last accessed 2018-06-13.
[2] The Apache Software Foundation, "Apache ActiveMQ -- Index," Online: http://activemq.apache.org/, last accessed 2018-06-13.
[3] The Eclipse Foundation, "Jetty - Servlet Engine and Http Server," Online: https://www.eclipse.org/jetty/, last accessed 2018-06-13.
[4] Pivotal Software, "Getting Started · Using WebSocket to build an interactive web application," Online: https://spring.io/guides/gs/messaging-stomp-websocket/, last accessed 2018-06-13.
[5] Lombardi, A., "WebSocket, Chapter 4. STOMP over WebSocket," O'Reilly Media, Inc., Sept. 2015, Online: https://www.safaribooksonline.com/library/view/websocket/9781449369262/ch04.html, last accessed 2018-06-13.
[6] The Eclipse Foundation, "Eclipse Paho - MQTT and MQTT-SN software," Online: https://www.eclipse.org/paho/, last accessed 2018-06-13.
[7] MQTT Version 3.1.1. Edited by Andrew Banks and Rahul Gupta. 29 October 2014. OASIS Standard. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html. Latest version: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html.
[8] European Cooperation for Space Standardization, "Ground systems and operations - Telemetry and telecommand packet utilization," Online: http://www.ecss.nl/wp-content/uploads/standards/ecss-e/ECSS-E-70-41A30Jan2003.pdf, last accessed 2018-06-13.
[9] The Consultative Committee for Space Data Systems (CCSDS) "MISSION OPERATIONS SERVICES CONCEPT," Online: https://public.ccsds.org/Pubs/520x0g3.pdf, last accessed 2018-06-13.
[10] Gad, R., Valadas, M., Graf, H., Olbrich, M., Keil, J., Sarkarati, M., Bamfaste, S., Nicolini, F., Cowley, A., "Assessing the Potential of Virtual Reality for Improving ESA’s Space Operations," SpaceOps 2018, May 2018.
[11] The Apache Software Foundation, "Apache ActiveMQ -- OpenWire," Online: http://activemq.apache.org/openwire.html, last accessed: 2018-06-13.
[12] STOMP Spec Group, "STOMP - The Simple Text Oriented Messaging Protocol," Online: https://stomp.github.io/, last accessed: 2018-06-13.
[13] The Apache Software Foundation, "Welcome to Apache ServiceMix!," Online: http://servicemix.apache.org/, last accessed 2018-06-13.
[14] Schiller, T. M., "EKSE: A Command Line Interface for EGS-CC based Systems," SpaceOps 2018, May 2018.
[15] Gaertner, S. A., et al., "Rethinking Ground Systems: Supporting New Mission Types through Modularity and Standardization," SpaceOps 2018, May 2018.
[16] Gélie, P., Pasquier, H., Labrune, Y., "CNES Mission Operations Systems roadmap: towards rationalisation and efficiency with ISIS," SpaceOps 2018, May 2018.
Phase 4 Ground is a project devoted to bringing an open source implementation of DVB-S2 and DVB-S2X to amateur radio terrestrial and space deployments. Any payload that complies with the air interface of 4-ary MSK FDMA up and DVB-S2/X+GSE TDM down will be able to take full advantage of a modern efficient open-source communications system. Phase 4 Ground is under active development and welcomes participation. Phase 4 Ground complies with ITAR 120.11 and publishes all work as open source.
Cubesat missions are often driven by small teams focusing on a
single goal. There is generally only one instrument on-board,
performing one specific measurement, in contrast with large
Earth Observation platforms that hosts half a dozen instruments
provided by several laboratories in an internationally coordinated
project.
The small team main interest is gathering the data. Its members are often
by themselves the end users of their own system, just as in open-source
the developers of a program are users "scratching their own itch", as
the saying goes. Flight dynamics is a necessary chore for the success
of the mission, but not a goal by itself. There are generally no resources
available for this topic, neither in terms of skills nor in terms of
tools. As a result, many cubesat projects end up using the public TLE
provided by SpaceTrack and some on-line path predictors to schedule their
connection to spacecraft for telemetry retrieval. TLE are notoriously low
accuracy (it is a simplified analytical model, and measurements for a given
object are not refreshed as often as the owner would like). This is sufficient
(and widely used) for simple access prediction, but clearly not enough
for more ambitious missions.
As cubesat missions address more and more needs, they reach a state where
spacecraft location should be known with better accurary, for example to
improve the geo-location of the measurements performed by the instrument,
and therefore improving the scientific model resulting from the mission.
Orekit is a free software space flight dynamics library that has been
available under the terms of the Apache License V2 since 10 years. It
is widely used by many major space actors, including agencies, industry,
research and academics. It is used for operational systems, mission analysis,
studies and training. As an open-source library, it can be used to build any
kind of system, from simple ones performing only prediction using TLE to
highly accurate ones managing constellations with station keeping maneuvers
and precise orbit determination. As cubesat now can have on-board GNSS
receivers, it is possible for a cubesat project to perform its own orbit
determination by downloading the data (either high level position-velocity
or low level pseudo-range or carrier-phase) and processing it on ground
with a small Orekit-based program. Orekit as a large community of space flight
dynamics experts that can help smaller teams to set up their own systems.
This talk will present a selection of the features in Orekit that can be
used for cubesat missions with limited resources.
Designing a nanosatellite requires close interrelation between different fields,
with respectively strong level of expertise, all the more so as development progresses. During cubesats preliminary design many budgets are essential (mass, power, link, data, dissipation). Their local inputs, outputs and models are often intertwined. For instance, power budget rely on payload requirement, platform operational up-keeping, eclipses frequencies/duration, and batteries specifications. It will impact mass budget (e.g. number of required batteries, solar panels and wires, etc.), and reciprocally. But dissipation budget will also be concerned (batteries will only work between temperature extrema), heaters and radiators used will also impact mass budget and so on. All this process is, to our current knowledge, far to be unified with an ideal set of tools. Functionalities are often redundant between the different soft used, or even re-developed each time required rather than re-used. Fortunately some software bricks already exist, such as space mechanics libraries. Efforts on standardization are also undertaken (CSSDS) mainly concerning telecommunication protocols, and to a lesser extent, ephemeris formatting or equipment description. Even if they are paving the way for consistently interconnected suite of tools, proceeding end to end mission analysis lack of unified, consistent standards and open source tools.
Here come the idea for one tool to bind them all (and let's hope so not in the darkness bring them) or more precisely, a well defined suite of tools to help to get a strong consistency for a mission analysis preliminary design, which can follow the project to all it's live cycle thanks to a strong interconnection with experts tools. Optimally, each expert should be able to take (up to date) needed inputs on its own tools and provide to the team expected outputs, in a transparent way. Thanks to our previous and on-going nanosatellite projects, we have now a more practical vision on specific nanosatellite project needs, and redundant software usage and developments we are used to be facing.
That also in the scope of SUDOE Nanostar project proposition which aims at supporting training and development of student nanosatellites in Europe, where we are strongly involved (http://nanostarproject.eu/).
Nowadays, even though software has a fundamental role in scientific research, the wide majority of scientists is primarily self-taught and received no formal training in software engineering, with often leads to quality and reproducibility problems[1]. The space industry is in a similar situation, with many incident reports describing “various aspects of complacency and a discounting or misunderstanding of the risks associated with software”[2][3].
One of the most useful engineering techniques, software testing, is also the one that presents the biggest gap between its perceived importance and the skill level of scientists in it[4]. Testing, as well as other good practices such as version control and code reviews, not only make code more reusable but also increase the productivity of the developer[5]. However, the special nature of scientific or algorithmic software makes it difficult to apply commonplace testing practices, since the challenges lie in “separating software bugs from model errors and approximation error”[4].
In this talk we will discuss some testing approaches (or lack thereof) present in scientific software that fall short in helping the developers find errors or increase their productivity, and propose some other strategies based on our experience with poliastro, an open source Python library for Astrodynamics[6]. These strategies make use of automated testing frameworks, help covering test cases in an exhaustive way, take advantage of analytical solutions of the problems at hand or public data when available, and guarantee self consistency when there is nothing to compare against. Finally, we will analyze the limitations of these approaches and discuss possible solutions.
[1]: Wilson, Greg, Dhavide A. Aruliah, C. Titus Brown, Neil P. Chue Hong, Matt Davis, Richard T. Guy, Steven HD Haddock et al. "Best practices for scientific computing." PLoS biology 12, no. 1 (2014): e1001745.
[2]: Leveson, Nancy G. "Role of software in spacecraft accidents." Journal of spacecraft and Rockets 41, no. 4 (2004): 564-575.
[3]: Lutz, Robyn R. "Analyzing software requirements errors in safety-critical, embedded systems." In Requirements Engineering, 1993., Proceedings of IEEE International Symposium on, pp. 126-133. IEEE, 1993.
[4]: Hannay, Jo Erskine, Carolyn MacLeod, Janice Singer, Hans Petter Langtangen, Dietmar Pfahl, and Greg Wilson. "How do scientists develop and use scientific software?." In Software Engineering for Computational Science and Engineering, 2009. SECSE'09. ICSE Workshop on, pp. 1-8. Ieee, 2009.
[5]: Wilson, Greg, Dhavide A. Aruliah, C. Titus Brown, Neil P. Chue Hong, Matt Davis, Richard T. Guy, Steven HD Haddock et al. "Best practices for scientific computing." PLoS biology 12, no. 1 (2014): e1001745.
[6]: Juan Luis Cano Rodríguez, Antonio Hidalgo, Shreyas Bapat, Nikita Astrakhantsev, Alberto Lorenzo Márquez, Pablo Rodríguez Robles, Ritiek Malhotra, et al. 2018. “Poliastro/poliastro: Poliastro 0.9.1 (pickle Edition)”. Zenodo. doi:10.5281/zenodo.1245650.
SPICE is an information system the purpose of which is to provide scientists and engineers the observation geometry needed to plan scientific observations and to analyse the data returned from those observations. SPICE is comprised of a suite of data files, usually called kernels, and software -mostly subroutines-. A customer incorporates a few of the subroutines into his/her own program that is built to read SPICE data and compute needed geometry parameters for whatever task is at hand. Examples of the geometry parameters typically computed are range or altitude, latitude and longitude, phase, incidence and emission angles, instrument pointing calculations, and reference frame and coordinate system conversions. SPICE is also very adept at time conversions.
This contribution will outline how can SPICE be used for CubeSats to build up a cheap, efficient and robust system to obtain ancillary data.
General Objectives
Encourage the regional development of space applications for social-economic purposes based
on CubeSat technology.
Specific Objectives
To foster the approach between the academic field and the aerospace environment, particularly
to undergraduate students. To conceptualize, design, produce, test and start a set of CubeSats
with academic purposes making use of the FDM 3D printing technology and Commercial Off-
The-Shelf (COTS) components, maximizing the use of the state of the art of the involved
technologies, focusing the efforts in the development of interfaces, software, systems integration
and above all in the development of an application-proposal to fill a not only locally but
regionally vacancy area.
Articulation and short-term implementation and use
Encourage the professional and academic articulation of the project. Call local and regional
institutions interested in CubeSat standard-based Smallsat technology, for a hands-on train-
ing with an academic approach, by means of the developed 3D Printing & COTS CubeSat
engineering model replicas. A general block diagram showing the complete architecture of a
mission based on CubeSat can be seen on Fig.2. Creating these type of satellites aims to train
and attract undergraduate students towards science and technology in aerospace matters, fo-
cussing efforts on satellital standards growing worldwide. Therefore the CubeSat replicas will be built with 3D printing fused deposition modeling and COTS electronics, based mainly on
Open-source hardware (e.g. Arduino).
Strengths
- The group currently working on this project, has been developing activities linked to the
robotics field with educational purposes in High Schools and Colleges.
- Availability of 3D printers.
- Self-funding network for minor developments.
- Technical coaching in aerospace matter and access to GomSpace and ISIS CubeSat specs
(from CONAE Academic Laboratories).
Technology involved
The Arduino platform was chosen for the development due to its low cost, local availability
and work philosophy. The 3D Printing & COTS CubeSat project include:
- On board Computer ( Arduino Mega 2560).
- One camera module (C439).
- Digital Accelerometer (ADXL345).
- Light sensor (TSL2561).
- NetWork Communication module (NodeMCU,NRF2104).
- Up/Down Link RF module.
- Solar Panels (18V/40mA).
- Expansion boards FFPC104.
- Battery module (ICR18650 pack).
FDM 3D printing technology is employed for the structure development, achieving a Cube-
Sat replica for academic practice. The structure can be seen in Fig.3 wherein the modules
involved are exposed.
Space Segment
The space segment is composed of 6 general subsystems:
- Energy subsystem (EPS): its implemented with a rechargeable cell array ICR 18650
(3.7v/4800mAh) they supply 7.2V/9600 mAh to the system. A solar panel array collect
the energy to charge the batteries by a TP4056 module.
- Communication subsystem: The Cubesat Network use a NodeMCU (master hub)
and RF24L01 Wifi receptors, to the communication between each space segments. One
configured as Master Hub and the others as Slaves.
- Telemetry, telecommand and (TT&C) control: The data download and remote
control from the ground station use RF transmission modules working at 433MHz. Also
it has a radio beacon which transmit the EPS status at 144Mhz to isolate it from the
principal frequency.
- Position Subsystem: To know the orientation of the cubesat and maintain the direc-
tion of the antennas always to the Earth and the solar panels to the sun, use a 3 axis
one accelerometer and one light sensor.
- Payload: A 1.3 Mp camera module, it’s the principal payload.
- OBC: Use a Mega 2560 Arduino Board to check, manage and store the data from all
subsystems.
Ground segment
This segment simulate a real Ground station. Consist in:
- RF(433 Mhz) reception module with antenna.
- Nano Arduino Board integrated to the receive data from the space segment (downlink)
and remote control (uplink) to make manoeuvre.
Mechanical Model
The Space Segments have 2U standard cubesat unit. Each are build using plastic by FDM 3D
printing technology and L shape aluminium profile all attached with M3 threaded rod, bolts
and nuts (Fig.4). That material mixture provides greater mechanical rigidity than use only
plastic like previous versions. In this way an educational engineering model similar to one for
commercial purposes is achieved.
Firmware
Currently running with V1 version that integrates all the involucrated modules in the subsys-
tems mentioned previously.
This version provides a minimum necessary code to obtain through ground segment, ori-
entation, energy status and the cubesat beacon. The V2 version is being developed, it will
be incorporate the telecomands, general system optimization and camera manipulation for
images acquisition (payload).
HyperSat MINI (HSN) project was set up with an intention to develop a new satellite platform which would facilitate space mission preparation and implementation in shortest time possible. Satellites will be offered in a modular format – the smallest module size being 35x35x10 cm and having a mass of up to 10 kg. The structure will be scaled up to the limit size of 35x35x60 cm and the mass of 60 kg. All necessary satellite subsystems such as power system, on-board computer or RF communications system (using S-band and X-band up to 50 Mbps) will be designed and built with new standardization in mind. All subsystems will be connected by HyperSat Data Network (HDN) which is compatible with Space VPX and SpaceWire standards. The main advantage of the platform lies in its modularity and repeatability so that the customer can freely configure the satellite according to their needs by using ready-made, off-the shelf modules. The philosophy behind the development of HyperSat is in analogy to a cubesat project, although HyperSat is designed for satellites of larger sizes and mass. An upcoming platform is to be backward compatible with cubesat modules. It is proposed that all satellite development comprising its structure, electronic systems and software is to be made available for free under an open source license (Open Hardware License, Open Software). The HyperSat project is funded by the Polish National Centre for Research and Development and led by a private company Creotech Instruments S.A. New partners are welcome to join the development of a new bus standard or modules compatible with it. Current status of the project is as follows: Phase A (Platform Definition) has been completed and work concentrates on Phase B (Platform Design).
At the beginning of Phase B1 first prototypes (laboratory models) and simulations of satellite subsystems ware created. This paper presents the results of initial test.