I want to learn how to program the drone in C without using the available libraries and platforms. I want to be able to understand how everything is set at a fundamental level(SRAM). Also, I want to learn to implement complex algorithms, such as computer vision, in combination with drones. How should I learn that?
closed as off-topic by sempaiscuba, Ugo, Mark Booth♦ Mar 25 at 17:55
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Life Questions are off-topic. Questions about choosing how to spend your time (what book to read, which class to take, what robotics project to construct, what career to pursue, etc.) may be about difficult decisions, and they are often important, but they are too specific to your own situation and are unlikely to help future visitors to the site. They would be better off asked in Robotics Chat." – sempaiscuba, Ugo, Mark Booth
Programming a drone consists of two levels. The first one is to create a remote control software. This task is done with microcontrollers and embedded system programming. The idea is, that the operator has a joystick, moves the joystick forward and the drone will react to the action. The first level is easy to master, and there are lot of tutorials available which can explain the details. In most cases, the microcontroller runs a realtime operating system and the drone controller sits on top, very similar to a firmware like the LeJOS operating system.
The second level in drone programming is way more complicated. Here is the idea not only to provide a remote control system but an artificial intelligence system. This kind of programming task has nothing to do with classical embedded system programming nor C programming at all. Instead, the task of creating an AI system is located in the domain of Academia / Matlab and deeplearning projects. It has to do with reading papers about pathplanning, implementing algorithms in software and thinking about reinforcement learning. Mastering the second level of drone programming is much harder and not real tutorials are available in the Internet.