Well, even at that level of abstraction, it’s a bit weird, because goingToCrashIntoEachOther and dont() both need the information from where a collision is going to take place, so you’d expect something to be passed into dont().
Well, and it’s easy to dismiss this stuff as implementation details, but that if-statement needs to run as part of a loop. This loop should probably be on a separate thread, so it doesn’t get blocked by other stuff going on. Which means access to the motors needs to be behind some form of mutex, which it needs to be able to acquire fairly quickly. And then, yeah, those implementation details quickly add up to become the part that’s actually complex.
Couldn’t dont() just be an order to halt and goingToCrashIntoEachOther can be a simple true/false?
So the drones both stop, then start moving and immediately see they will crash into each other so they halt again. Drone version of you go, no no you go
The functions just store all variables in a globally accessible JSON file. Compartmentalization is for programmers that aren’t capable of writing bug-free code.
The only logical way to coordinate multiple drones like this is to store the json on a local nas and have them take turns updating their vectors within
For a sufficiently defined “goingToCrashIntoEachOther” and “don’t”, isn’t that basically how it works?
Well, even at that level of abstraction, it’s a bit weird, because
goingToCrashIntoEachOther
anddont()
both need the information from where a collision is going to take place, so you’d expect something to be passed intodont()
.Well, and it’s easy to dismiss this stuff as implementation details, but that if-statement needs to run as part of a loop. This loop should probably be on a separate thread, so it doesn’t get blocked by other stuff going on. Which means access to the motors needs to be behind some form of mutex, which it needs to be able to acquire fairly quickly. And then, yeah, those implementation details quickly add up to become the part that’s actually complex.
Couldn’t dont() just be an order to halt and goingToCrashIntoEachOther can be a simple true/false?
So the drones both stop, then start moving and immediately see they will crash into each other so they halt again. Drone version of you go, no no you go
The functions just store all variables in a globally accessible JSON file. Compartmentalization is for programmers that aren’t capable of writing bug-free code.
The only logical way to coordinate multiple drones like this is to store the json on a local nas and have them take turns updating their vectors within
It definitely should be, but at some point in time, very intelligent people though that this was a Good Thing: