Hello all!
One common problem I see in many robotics applications is deploying new firmware to multiple linux hosts within one physical product. For example, a delivery robot might have 2-3 linux computers running inside doing various different jobs, displays, autonomy control, etc.
Is there a best practice or way that is recommended to use balena with a system like this?
One way would be to create separate Balena fleets for each type of host in the robot, but then ensuring the fleets update synchronously becomes very difficult, meaning that you always need to ensure backwards compatibility in the communications between the hosts.
It’s almost like I’m imagining a concept of a system that lives between a particular host and the fleet. A fleet release would then contain several host releases that would be defined for a particular system.
Not sure if this is a concept has come up before for anyone else using Balena?
3 Likes
Another somewhat crazy idea would be to deploy an instance of openbalena onto the product itself that manages the updates for only itself haha, but this also sounds like a nightmare to configure.
I guess I could create fleet of balena hosts that run openbalena and then push updates to that to manage my robot fleet haha. Is that crazy?
1 Like
This is an interesting thought-experiment @keenanjohnson … I am not aware of anyone doing this, but, the use-case is certainly legitimate!
The most common scenario that comes to mind in in-vehicle computing, I know Autoware and others are looking at orchestration across systems inside autonomous vehicles, but I’m not sure to what extent they do it…
Keep us posted if you perform any tests / hacks / experiments!
1 Like
Sounds good, I haven’t built anything or come across any perfect solutions yet.
I just came across this project called Overnode which is titled: Predictable container deployment and management on top of automated multi-host docker-compose.
Something like that would be similar to the ideal usecase I think.
Interesting, have never heard of that one…I’ll check that out!