![]() Are you targeting a specific micro-controller? then you need to learn that micro-controller's specific language (which is an assembly language or maybe a C like language). Step 4Ĭhoosing a language depends on the platform you want to target. The concepts are same from an Arduino Uno to a bad-ass gaming PC. How does a computer stores information, how does a CPU or micro-controller processes those information, how would you send those information to another system through the wire or air, etc. Step 2Įlectronics is a huge field and learning the robotics related stuff would be enough. ![]() Learn the mathematics and physics laws behind the airplanes, helicopters, multi-rotors, etc. Steps one should take to eventually write a flight controller software: Step 1 For the second case, you might want to look into embedded systems development.In particular see if it's possible to make your own adjustments to the flight controller code. For the first case, look at the related documentation/datasheets of the flight controller at interest.Are you looking to take the existing flight controllers and replace the program installed in its entirety or are you looking to design and build your own flight controller platform and then create your own flight controller code. Based on the data this will determine how the quadcopter should behave/maneuver.Īs for wanting to implement your own flight controller it depends on what you are seeking. that you need and need to be physically present in order to obtain the required data and make sense of it. This means having the knowledge of the sort of hardware/sensors/etc. Ignoring the details for now, the sole purpose of a flight controller is really to monitor and control the whole system and possibly relay any information to others perhaps a ground station of something. Another thing is what sort of communication protocols that might be in play if the flight controller were to communicate with others. Also what sort of initialization is it doing. Look for where the program starts when the flight controller is first turned on or is commanded to start executing whatever it needs to execute. Once you have that down, one of the efficient ways when trying to decipher what the code is doing is to start from the beginning. Otherwise be prepared to follow through the logic of the code. For example, the functions and variables are named appropriately so that their purpose is clearly understood. It helps if the code base is well documented and that the code is developed in a concise manner. The tricky part is actually determining what the code is doing. The first thing is familiarizing yourself with the syntax and semantics of the language(s) used in the implementation of the flight controllers that you're interested in adjusting. Seeking proficiency in C++ or in OOP in general would either have to be a result of obtaining the necessary knowledge in order to browse through the code-base of the flight controllers that you mentioned, or with the eventual goal that this is what you would use when implementing your own flight controller. I'm thinking that i would have to learn C++ & OOP first, but how familiar/proficient would i have to be with C++ before i can reasonably attempt to edit the code base?Also, what else would i need to learn apart from C++ & OOP?I am looking at setting a 6 month timeframe/deadline for me to do this, would it be possible? ![]() ![]() How would i go about learning how to code a flight controller? I've had a look at the code base, but am still unable to get a grasp of what the code is actually doing.yet. I currently have a quadcopter that i built/assembled myself that is running on a f450 frame, using a APM 2.6 flight controller,so i have a reasonable grasp of how a quad works, and i would like to take it a step further and make my own adjustments to the code base, with the eventual aim of coding my own flight controller. I've got a little experience in programming (i.e i know about if/else/else if conditionals), and have done a little programming with PHP, though it was procedural code. ![]() I'm interested in quadcopters/multi-rotors and want to eventually code my own flight controller ala an APM and/or Pixhawk. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |