Given the tremendous uptake of single board computers (SBC) over the last few years, started in particular by the Raspberry Pi movement, there has been a ever increasing pressure to adopt this type of hardware into autonomous vehicles.
Conceptually there is a question on how best to integrate these new opportunities, into the existing hardware and software infrastructure built into autonomous vehicles. The strengths of SBC's come from there high processing capability, interconnectivity and compatibility as well as there low hardware cost.
To leverage these strengths to the fullest I'd like to propose a infrastructure method that uses SBC hardware, also known as companion computers (CC), as nodes in a mesh network.
Node is defined as:
"a point in a network or diagram at which lines or pathways intersect or branch".
Typical Star Network Topology of nodes
Mesh Network Topology of nodes
The benefits of this type of structure, as can be seen the structure of the diagram above, is that this can be designed in a de-centralised fashion or "hub less" where each device can also be a relay for the next, and devices can communicate with each other via other nodes or directly between each other. This is typically referred to as a mesh topology.
The advantages are:
- De-centralization - Mesh networks do not require static central infrastructure hubs for organisation - so the mesh is democratized and does not require central management
- Diversification - Alternative systems and hardware can be used (like different SBCs, APs or RF gear) resulting in a resilience against a system wide failure typical of star topographies
- Distribution - Mesh networks can share and augment each others bandwidth requirements - for processing and communication - systems are more resilient to failure of nodes and can find alternative resources to maintain operational capability - new nodes can be easily incorporated into the existing structure without the structure suffering negative side effects (the more nodes the more resulting possible paths - within reason of the systems used)
- Cost reduction - each node is standardized and the infrastructure cost is shared between users
For example each node could not only be designed to accommodate communication between other nodes, but could also share processing, sensor and actuation resources throughout the group, in real-time, creating a swarm type mesh network of information collection, distribution and actions.
For example in a UAV application each hardware component could potentially act as a node. From a wifi enabled RC controller, a GCS unit, a antenna tracker, to a Autopilot, companion computer, camera or even ESC or servo.
I don't claim to be the inventor of this type of resource management strategy (nature came up with it long ago - we've just been copying it), but I do think that there is an opportunity to use this structure to greatly benefit all users of autonomous vehicles and their dependent systems. Further any technology based system, even non-robotized systems, can benefit from the structure, like mobile phones, telecommunication, media distribution, or energy management etc.
Obviously, a critical component of the system is its ability to communicate to other nodes in a mesh network. Over the last few years mesh networking has been in development resulting in the introduction of the Wlan 802.11s standard and other open source initiatives like Batman on OpenWRT etc. along with third world telephone service providers like Mesh Potato. Ultimately SDR type radio equipment would be used as the hardware of choice, which would significantly increase the compatibility with other systems and afford it the capability of avoiding RF congestion and waveform/protocol incompatibilities.
Given the opportunity to develop the required systems for this structure using SBC/companion computers in UAVs and the like, I would welcome any ideas and discussion on how to make such a system a reality in the short term.