Operating system for drones

With drones being so much in the news these days, I wondered what OS they tend to use.

From what I have heard a swarm of drones create a mesh network to identify targets and share information among themselves. This sounds fairly sophisticated.

Anyone have any idea how they do this?
 
What sort of processor does it use?

Apparently they are assembled in Ukraine from Chinese components so it probably has some Chinese OS which was most likely based on Linux.
 
ArduPilot on airframes is is well supported with kits for ready to fly birds.
Rover AdruPilot KITS seem scarce. There are not many and especially for cheap.
Alot of Robot kits on Amazon/ebay that just come with motors, wheels and rolling stock. No electronics.

From what I understand ArduPilot likes encoder motors. So your real cheap robot kits may not work. So you have to read. There is ample documentation.
Aircraft are beyond my scope or reading. I have been studying rovers. RC cars 1/5 scale for use as a rover or similar.

servo-motor-connection.jpg


On my wish list:
 
It depends. Some of them, especially ones with many sensors and / or need of onboard image processing might run Linux. The same goes for those with some degree of autonomy.
After all, it's not the operating system that's important, it is the software stack above that.
 
ArduPilot on airframes is is well supported with kits for ready to fly birds.
Rover AdruPilot KITS seem scarce. There are not many and especially for cheap.
Alot of Robot kits on Amazon/ebay that just come with motors, wheels and rolling stock. No electronics.




You can't create a swarm ie a mesh without electronics.
 
It depends. Some of them, especially ones with many sensors and / or need of onboard image processing might run Linux. The same goes for those with some degree of autonomy.
After all, it's not the operating system that's important, it is the software stack above that.
Doesn't a software stack have to be built on top of an OS?
 
Doesn't a software stack have to be built on top of an OS?

As said, you can and many do load a compiled program directly on the hardware, no OS.

But of course there are libraries for things like I/O, you don't do everything from scratch. But there is no context switching for system calls. Those libraries just directly access hardware registers and other handles.

RTOS, including FreeRTOS by Amazon, is a middle ground. You might want to check that out.
 
FreeRTOS is used by ROS2 I believe. There is also iNAV for drones. A simpler AutoPilot.

ArduPilot has three main components for the controller:

Board Level Firmware. What I linked to earlier. There are build files for the boards. Looks similar to u-boot config file.
https://firmware.ardupilot.org/Rover/latest/NucleoH753ZI/features.txt

ChibiOS bundled with the Mission. Flashed separately from the board firmware.

ArduPilot Software with Mission assignment.


Question: Why is the STM32 called a MCU and not a CPU? Is it lack of registers or DMA?

Another Question: Some boards have QSPI 8Mb. So 1 meg SPI flash and 1 meg built into CPU (or more).
What goes where? Board Level Firmware on SPI and Mission on the MCU flash rom?
 
One of the reasons I decided to use a ROVER target is cost.

The chance of messing up a $400 Pixhawk 6 with an aircraft incident would be much greater than a ROVER vehicle.

You have to crawl before you can walk.

To me anything autonomous is a drone. Aircraft, Boat or Vehicular.
 
Back
Top