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 Pattacini, 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 Pattacini, Mark Booth
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ at this time, are you able to program a drone in C by using libraries? $\endgroup$ – jsotola Mar 23 at 17:55
  • $\begingroup$ Welcome to Robotics Асмир Абдимажитов, but I'm afraid that Life Questions are off-topic. Choosing how to spend your time (books to read, classes to take, projects to construct, career to pursue etc.) may be difficult, but it's specific to you, so unlikely to help future visitors. Questions like this are welcome in Robotics Chat when you have the privilege. We prefer practical, answerable questions based on actual problems that you face, see How to Ask & tour. $\endgroup$ – Mark Booth Mar 25 at 17:55

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.


Not the answer you're looking for? Browse other questions tagged or ask your own question.