-
Notifications
You must be signed in to change notification settings - Fork 1
Quality Assurance Research Questions
At the moment, we are using a single BBB to do all our computations. Therefore, all the components on the pod have to be connected to the same board. This leads to problems on the hardware side, because the cables need to be longer which leads to more interference. If we could split the work between different BBBs and have them communicate through ethernet or similar, we would solve a few problems.
To assess whether this would be feasible, a lot of research needs to be done.
Ideas:
- distributed system, simulating multi core - difficult from a technical point of view
- different BBBs for different tasks - requires lots of communication with hardware
The current system relies heavily on concurrency. This has several drawbacks:
- BBB is single core, thus no performance gain
- yielding processing time to OS to do scheduling between threads
- fewer runtime guarantees
- more complicated than it needs to be; problem for new members
Ideas:
- single main loop interleaving all modules' main loops - assumes that all subsystems take approximately the same time
- single main loop that runs call from a priority queue - still lots of potential to fuck up by blocking; also potentially complicated from a technical point of view
C++ allows us to do a lot of things and a lot of things we don't need. This is a problem, especially because many of our new members come from different languages, like Java and C. Using a language with a more standardised way of doing things may help streamline the code and avoid bug right away.
Ideas:
- C - too low level, makes coding too difficult
- Java, Python, Haskell, Go, ... - too slow; garbage collected
- Rust - best shot, may be too difficult to pick up
- Home
- How to add and edit pages on the wiki
- Glossary
- Admin
- Projects & Subsystems
- Motor Controllers
- Navigation
- Quality Assurance
- Sensors
- State Machine
- Telemetry
- Technical Guides
- BeagleBone Black (BBB)
- Configuration
- Contributing
- Testing
- Install VM on Mac
- Makefiles
- Reinstall MacOS Mojave
- Travis Troubleshooting
- Knowledge Base