Great video , I wanted to build autonomous drone using only Raspberry Pi and now , I know it is better to have separate microcontroller for stabilisation.
This is an amazing video that pulls together many complex concepts and organizes them into a singular, high-level overview of how the system works as a whole. I find that taking a step back and looking at the whole picture makes it easier to grasp the smaller concepts. I am putting together an RPAS course and will definitely be using a version of your flight controller and flight computer diagrams to show how all of the data works with one another to achieve stabilization while performing intelligent functions such as APAS. Thank you
Thank you for this awesome video. Now that I understand the complexities I believe it will be even more challenging for me to implement an autonomous flight for a drone that is supposed to fly near an uninhabited coastline. This implies multiple targets and training the drone for each even though I do not have an exact list of all the possible targets the drone can encounter. Will definitely check your other videos. Thumbs up of course.
@@NicholasRehm video is really informative. Can we use lidar sensor for obstacle avoidance in pixhawk flight controller drone and fly it autonomously using mission planner's way points ?
actually a flight computer is an outdated expression used for some onboard analog sensors in the past. In your context, however, a flight controller is the same as a flight computer. Flight controllers have a microcontroller unit, which is basically a computer with both flash and ram memories together with what's known as peripherals. Flight controllers accept signals from a local or remote controller, usually with sticks, buttons and potentiometers.
I can run arudpilot on a Kakute f7 mini v2 thats the size of a pack of matches (seriously, look it up) and the cpu doesnt get bogged down running a few basic peripherals. If anybody is looking to make their RC plane autonomous just start with an Omnibus f4 board and install arduplane. The amount of things you can do with a $30 board and an open source flight platform is truly unreal.
@@NicholasRehm Oh no no I wasnt talking about machine learning or computer vision, I was just talking about how easy it is to get started in the drone world these days.. I guess it wouldnt really be fully autonomous though
@@flighttherapybullisticfpv133 yea I see your point! It all depends on what your goal for the project is--most of the time the pre-implemented stuff that can run on an f4 is more than enough for general purpose use
Hello! I'm about to graduate from computer science. And, I'd love to know where I can find more information about how the flight computer of a drone works and how to program it. In the near future, I'd love to merge that with autonomous decision-making by using some kind of machine learning algorithm. Which sources would be helpful to dive deep into it and know all of its inner workings that will bring me closer to the goal that I have in mind? Thank you!!
Some of my videos on flight controller stuff might give you a decent intro to the basics, but I would suggest you start looking through the documentation on the ROS wiki. ROS can help you integrate anything (sensors/algorithms) you want + more. If you're more interested in GPS-based navigation and just that, the ardupilot wiki is your best bet
Can't you do all of this only using a microcontroller such as an stm32? Or can't you have 2 micro controllers and make one computer do stabilisation stuff while the other receive telemetry and stuff?
Could you possibly do a video on how to communicate with a flight controller using a flight computer? You give the example of ROS for a flight computer, but doesn't that require your flight controller to use ROS in order to receive ROS messages?
One way is to use the the pixhawk eco system of flight controllers. Then you can use the mavlink protocol to communicate from a flight computer e.g raspberry pi to the flight controller e.g. px4. If building everything from scratch you could develop and use a canbus system to communicate between flight computer and flight controller.
Buzz Feed: I was thinking of races that used Co-Ords to get from P1 to P2, then get fed New Co-Ords to get to another point. I now wonder what would be faster if the learning AI Drone was involved?
It’s generally best practice to have separate propulsion and avionics batteries to prevent voltage spikes from the power system getting into the avionics. Avionics battery needs a regulator to bring down the voltage (usually 5v for flight controller + computer)
Hi, I'm interested in building an autonomous drone, but I'm unsure about where to start, which components to choose specially the flight controller. Thanks
Thank you. If I want to start by building a remote controlled drone, I won't need an on-board computer right? just a flight controller (microcontroller)?
Hello Sir, I have a Question? Can I use that Receiver which is used in Brushed motor Drones (Like syma X8pro Receiver) to make a Brushless Motor Drone ? If Yes then How, any way? pleaseeee Explain, Sir......
Depends on your systems... mavlink serial between ardupilot/ros comes to mind. If you're running something like betaflight for stabilization, you might need to spoof a radio receiver protocol like ppm or sbus from your computer
@@NicholasRehm Thank you for your response! After watching your video I've been working on a project, trying to send sensor data connected to the Rpi through the flight controller . I'm having a bit of trouble formatting the sensor data into a mavlink frame and sending it through the flight controller to a GCS using mavproxy. Are there any videos you recommend or resources? I've been scouring ardupilot forums, wiki, and youtube, but haven't had any luck.
I am working with a missionary group. We have a need to modify the location stored in the return to home function to a new location in the flight controller. I was wondering if you know, if this can be done with your drone control card.
A very crude analogy, would be horse - rider... Horse (flight controller) deals with low level commands ( standing- moving etc) while a rider (flight computer) deals with the high level commands... At least that's my understanding of the relationship. Therefore, the smartest horse, vs the smartest horse with a trained rider will be more efficient.
@@NicholasRehm I want to code a stability augmentation system(SAS) for a naturally instable plane, currently I'm using a RPI Zero W with Linux, should I use another chip to do all the SAS, IMU and fusion calculation?
@@sb3nder If that's all you're doing, the Zero on its own will work fine. Just be mindful of how much processor power the operating system is using (typically why I would do inner-loop stabilization on its own dedicated microcontroller)
But how exactly will my computer override the controllers mission, say I am planning a mission on pixhawk fc using QGC and I also want to do precision landing using aruco markers, so how do I make the controller-computer understand that as soon as the drone is above aruco markers, it should switch to precision landing algorithm and land on aruco marker...even if that means aborting the mission path assigned in QGC.
Could someone please explain if their are any mechanical components to the gyroscope or gyroscopes in the DJI mavic 2 pro quad or is it completely a software solution, for want of a better term? Thank you.
Dear sir, can we use python to control any drone such as Dji Mavic, DJI Air2s... Can you show me some drones that I can employ Python to control it ? Thank you so much.
can be autonmous without GPS? I want from A to B but no GPS only data read from sensore and come compas to see where is northpole. I think can work. Specially in cave where no gps signal.
Yes--GPS-denied autonomy is a very interesting field. You will need some way of localizing within your environment, either cameras, lidar, or a combination
SLAM stands for simultaneous localization and mapping. From Wikipedia: (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it. Hopefully this will give you a few search terms to help you find the information you're looking for. Thanks for the interesting video Nicholas Rehm.
so if i got this correctly lets say i want to fly my drone from a computer then i shall only use a raspberry pi or something and not a flight controller?
It really depends on your application, ardupilot/px4 will do basic sensor integration and gps-based autonomy on the flight controller board itself. But the main point is, advanced autonomy is generally done on a companion computer while the onboard flight controller handles the core flight stabilization
Great video , I wanted to build autonomous drone using only Raspberry Pi and now , I know it is better to have separate microcontroller for stabilisation.
Did you do it?
This is an amazing video that pulls together many complex concepts and organizes them into a singular, high-level overview of how the system works as a whole. I find that taking a step back and looking at the whole picture makes it easier to grasp the smaller concepts. I am putting together an RPAS course and will definitely be using a version of your flight controller and flight computer diagrams to show how all of the data works with one another to achieve stabilization while performing intelligent functions such as APAS. Thank you
This video has very important and the very basic information if you are just starting out with autonomous drones,
***Very important***
Thank you for this awesome video. Now that I understand the complexities I believe it will be even more challenging for me to implement an autonomous flight for a drone that is supposed to fly near an uninhabited coastline. This implies multiple targets and training the drone for each even though I do not have an exact list of all the possible targets the drone can encounter. Will definitely check your other videos. Thumbs up of course.
I concur what George said.
Finally find out the answer, why to use flight controller while you can code it and they are expensive. Thank you
The clear and complete explanation I have never seen before. Congratz.
I am very new. Your teaching style is really awesome
this is the best explaination ive heard yet.
Very interesting video about diff between flight computer VS flight controler with clear information.
Thanks for sharing with us !
this opens up a whole new way of thinking for me. WOW!
Thanks Kevin, glad you learned something
@@NicholasRehm video is really informative. Can we use lidar sensor for obstacle avoidance in pixhawk flight controller drone and fly it autonomously using mission planner's way points ?
Awesome Video , Thank you very much for this
Great content 👍
actually a flight computer is an outdated expression used for some onboard analog sensors in the past. In your context, however, a flight controller is the same as a flight computer. Flight controllers have a microcontroller unit, which is basically a computer with both flash and ram memories together with what's known as peripherals. Flight controllers accept signals from a local or remote controller, usually with sticks, buttons and potentiometers.
Thank you for the great video. I've recently been interested in drones and the diy side of building them. I appreciate your hard work 🤘🏼
I can run arudpilot on a Kakute f7 mini v2 thats the size of a pack of matches (seriously, look it up) and the cpu doesnt get bogged down running a few basic peripherals. If anybody is looking to make their RC plane autonomous just start with an Omnibus f4 board and install arduplane. The amount of things you can do with a $30 board and an open source flight platform is truly unreal.
You can’t do machine learning or computer vision or advanced motion planning on and f4 with ardupilot... just gps waypoint missions
@@NicholasRehm Oh no no I wasnt talking about machine learning or computer vision, I was just talking about how easy it is to get started in the drone world these days.. I guess it wouldnt really be fully autonomous though
@@flighttherapybullisticfpv133 yea I see your point! It all depends on what your goal for the project is--most of the time the pre-implemented stuff that can run on an f4 is more than enough for general purpose use
Hello! I'm about to graduate from computer science. And, I'd love to know where I can find more information about how the flight computer of a drone works and how to program it. In the near future, I'd love to merge that with autonomous decision-making by using some kind of machine learning algorithm. Which sources would be helpful to dive deep into it and know all of its inner workings that will bring me closer to the goal that I have in mind? Thank you!!
Some of my videos on flight controller stuff might give you a decent intro to the basics, but I would suggest you start looking through the documentation on the ROS wiki. ROS can help you integrate anything (sensors/algorithms) you want + more. If you're more interested in GPS-based navigation and just that, the ardupilot wiki is your best bet
Step 1: get a drone!
Can't you do all of this only using a microcontroller such as an stm32? Or can't you have 2 micro controllers and make one computer do stabilisation stuff while the other receive telemetry and stuff?
It really depends on what your goals are for the project
Thanks for explaining this.
Could you possibly do a video on how to communicate with a flight controller using a flight computer? You give the example of ROS for a flight computer, but doesn't that require your flight controller to use ROS in order to receive ROS messages?
One way is to use the the pixhawk eco system of flight controllers. Then you can use the mavlink protocol to communicate from a flight computer e.g raspberry pi to the flight controller e.g. px4.
If building everything from scratch you could develop and use a canbus system to communicate between flight computer and flight controller.
ROS can run a simple serial node that can send mavlink messages or sbus, as an example
Well laid out. Thanks.
You've earned a sub
very interesting!!! great work!
Very easy to understand 😊
What is best learning path can I follow to build drone ?
I'm an Ai student and recently I have taken an full embedded systems course .
Very helpful video, Thanks
It was really helpful. Thank you
Very good vdo that for get robust understanding.
I m hoping to see more tutorial on drone setup and programming the drones for autonomous applications.
*Please reply if ww can have a tutorial*
Might do something on autonomous motion planning soon
Buzz Feed: I was thinking of races that used Co-Ords to get from P1 to P2, then get fed New Co-Ords to get to another point.
I now wonder what would be faster if the learning AI Drone was involved?
Thanks, Nicholas - great intro' - TY! :D
I am more concerned about different supply voltages of pi, controller and motor. Can I use same battery to power all 3 or something else?
It’s generally best practice to have separate propulsion and avionics batteries to prevent voltage spikes from the power system getting into the avionics. Avionics battery needs a regulator to bring down the voltage (usually 5v for flight controller + computer)
You can isolate flight controller process on one cpu core of flight computer
question: can we couple a flight computer to the DRehmFlight ???
Sure
Hi, I'm interested in building an autonomous drone, but I'm unsure about where to start, which components to choose specially the flight controller.
Thanks
Thank you. If I want to start by building a remote controlled drone, I won't need an on-board computer right? just a flight controller (microcontroller)?
Hovering RC just requires stabilization from a flight controller
Would a pixhawk be enough to fly an autonomus drone? (Very basic functions)
Hello Sir,
I have a Question?
Can I use that Receiver which is used in Brushed motor Drones (Like syma X8pro Receiver) to make a Brushless Motor Drone ?
If Yes then How, any way?
pleaseeee Explain, Sir......
Thank you.
Great I have a project that might need you
Are there any useful resources for getting the two components to communicate with one another?
Depends on your systems... mavlink serial between ardupilot/ros comes to mind. If you're running something like betaflight for stabilization, you might need to spoof a radio receiver protocol like ppm or sbus from your computer
@@NicholasRehm Thank you for your response! After watching your video I've been working on a project, trying to send sensor data connected to the Rpi through the flight controller . I'm having a bit of trouble formatting the sensor data into a mavlink frame and sending it through the flight controller to a GCS using mavproxy. Are there any videos you recommend or resources? I've been scouring ardupilot forums, wiki, and youtube, but haven't had any luck.
@@mums2109 Hi which controller are you using, i'm intereseted in building one
Where could I find this flight computer code? Thank you in advance.
I am working with a missionary group. We have a need to modify the location stored in the return to home function to a new location in the flight controller. I was wondering if you know, if this can be done with your drone control card.
My drone control card can only return to your home specifically, sorry
A very crude analogy, would be horse - rider... Horse (flight controller) deals with low level commands ( standing- moving etc) while a rider (flight computer) deals with the high level commands... At least that's my understanding of the relationship. Therefore, the smartest horse, vs the smartest horse with a trained rider will be more efficient.
Flight computer are programmable, or I have to design my own for an experimental aircraft?
It depends on what you're trying to do and what board you're using
@@NicholasRehm I want to code a stability augmentation system(SAS) for a naturally instable plane, currently I'm using a RPI Zero W with Linux, should I use another chip to do all the SAS, IMU and fusion calculation?
@@sb3nder If that's all you're doing, the Zero on its own will work fine. Just be mindful of how much processor power the operating system is using (typically why I would do inner-loop stabilization on its own dedicated microcontroller)
But how exactly will my computer override the controllers mission, say I am planning a mission on pixhawk fc using QGC and I also want to do precision landing using aruco markers, so how do I make the controller-computer understand that as soon as the drone is above aruco markers, it should switch to precision landing algorithm and land on aruco marker...even if that means aborting the mission path assigned in QGC.
Could someone please explain if their are any mechanical components to the gyroscope or gyroscopes in the DJI mavic 2 pro quad or is it completely a software solution, for want of a better term? Thank you.
Completely software
Dear sir, can we use python to control any drone such as Dji Mavic, DJI Air2s... Can you show me some drones that I can employ Python to control it ? Thank you so much.
can be autonmous without GPS? I want from A to B but no GPS only data read from sensore and come compas to see where is northpole. I think can work. Specially in cave where no gps signal.
Yes--GPS-denied autonomy is a very interesting field. You will need some way of localizing within your environment, either cameras, lidar, or a combination
SLAM stands for simultaneous localization and mapping. From Wikipedia: (SLAM) is the computational problem of constructing or updating a map of an unknown environment while simultaneously keeping track of an agent's location within it.
Hopefully this will give you a few search terms to help you find the information you're looking for.
Thanks for the interesting video Nicholas Rehm.
so if i got this correctly lets say i want to fly my drone from a computer then i shall only use a raspberry pi or something and not a flight controller?
It really depends on your application, ardupilot/px4 will do basic sensor integration and gps-based autonomy on the flight controller board itself. But the main point is, advanced autonomy is generally done on a companion computer while the onboard flight controller handles the core flight stabilization
@@NicholasRehm ok I understand now thanks for this information I liked your video as well
Xylinx
heh. to me a flight controller is a black box. I just use the flight computer to requests flighter controller actions.
💓
Simple thing.. DJI has better Flight controller and SKYDIO has better flight Computer.
pdf