AVP Gen.1 (Reusable Rocket)
Brief
AVP is short for Algorism Verify Platform
Period: 25, Jun 2021 to 23, July 2022
This individual work was inspired by Falcon 9, it is used to verify the control algorithm, sensors, and integrated overall. The ultimate goal is to design and build a liquid engine recoverable rocket and complete the recovery.
This rocket is 2.1m high, takeoff mass of 12 kg, construct with 300+ parts, and the main control program is coded by 5 programming langue with 30000+ lines of code.
The proudest innovation is a new flight control system that can iterate and test at high speed was created based on the x86 platform.
This project was reported by the Chinese mainstream media including Xinhua News Agency(新华社) and Peoples Network(人民网) and got more than 120 million streams.
See detail
Detail
This project is a very important project for me, so hereby explain it in a large space.
This individual project was inspired by Falcon 9, I was impressed by the launch and recovery of Falcon 9 and the starship. Explore space is the future and I want to be one of those involved. So I decided to build a prototype to be the first step and keep developing this project as a long-term project.
This project is the perfect culmination of my previous projects and studies. This is a large system, this system contains
- 300 kinds of parts, and more than 90 kinds of customized components.
- More than 40 sensor parameters
- 5 programming languages
- 12 threads run together (6+2+2+2)
- More than 4500 lines of delivered code from 30000+ lines of code, and verified that it can run without bugs for at least 12 hours
- Requires to keep upgrade and iteration
Require the skill in subjects of
Programming
- Embedded system
- x86 system
- Network
- Multi-task
- Python/C/C++/Matlab/Simulink
Manufacture
- Manufacturing process
- Technical drawing
- Standard parts
- Soldering and other simple manual techniques
Other
- Fund Statistics
- Studio, test site rental
- Video Filming/Editing
Design
- 3D Modeling
- PCB design
- Simulation(Structure, Control)
- Control system
- Digital/Analog circuit design
- Sensor and actuator
Management
- Git(Version control)
- Mindmap
- Scheme determination
- Task allocation
- Risk assessment
Making this component works together correctly is not an easy problem. To let them work correctly requires considering the fault tolerance of each system and component. All systems (component, program, circuit) require running the unit test to ensure its stability. Besides, a fault tolerance architecture design is also very important. Consider redundancy sensor and unit when necessary.
The second problem is project management, the human brain cannot memorize the scale of these kinds of systems and consider the interaction between each subsystem. The organization become the key to handling large-scale project. Assess, demonstrate and establish the practical development route line at the beginning; write documentation and architecture diagram to organize work and system interaction and the dependency relations to allocate work and make sure to focus on one thing at one time; Use version control for code, document and design model to make sure the errors can be recalled.
The last, also my proudest innovation in this project: Iteration. For this rocket, the goal is to design a control system and its peripherals, but the reference materials for this kind of VTVL aircraft are very limited, and the aircraft in this dimension is not like the drone, any excessive movement can lead to disintegration. Therefore the trial and error method which is usually used for developing the control system will cost a lot(Time to fix, money, and resources).
Essentially iteration is the process to get the information used to optimize the project. Therefore minimising the iteration cost and accelerating the iteration period will dramatically increase the development speed.
Based on these problems and requirements, I didn’t use the common flight control system such as Px4 but built a new control platform based on the x86 system and created a new workflow to integrate remote deployment, remote real-time parameter debugging, high maintenance, high computing power, and high scalability in one system. The core code is portable, which means you can verify sensors, control program, and system integration until fit the requirement and port the control algorithm and subsystem(sensor, actuators) into the new computing system whatever microprocessor or IPC in a different platform(RTOS, Windows, Linux) to achieve different requirements such as stability and cost. That is also the reason it is called AVP(Algorism Verify Platform)
The result is I only take 13 months from the idea to get the first successful prototype. (I am even working on another project at the same time and have been quarantined caused of covid-19 for serval months) before this, I don’t have any experience in developing flight control systems.
Improvement
This system can also improve, my next plan is to combine the code with the simulation system to achieve SIL(Software In Loop) and HIL(Hardware In Loop) to keep accelerating the iteration and development speed. Also using flow simulation to estimate high-speed working conditions.
On the other sides,
Try to get group work.
Establish a systematic documentation system.
Learn more project management skills to allocate work more efficiently and scientifically.
Another idea in progress “RCOS”(Rocket Control Operating System), which provide a cross-platform system to let normal industrial grade even commercial grade processor achieve high fault tolerance computing without changing much original program to against the bit-flip error caused by cosmic radiation in the universe or improve program stability without using the expensive custom chip to save the money.