Drone Programming Primer for Software Development
- 3.5 hours on-demand video
- 3 articles
- 27 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Students will gain knowledge of the open source software tools that make up the drone’s software stack
- Know how to develop high level drone applications in python
- Be able to test code they write on a simulated vehicle running on their computer
- Use this foundational introductory knowledge to investigate more advanced drone software subjects
- Basic linux knowledge of command line commands (cd, mkdir, vi etc)
- Basic python knowledge for the dronekit section. (Understanding of any other programming language should suffice)
- Only equipment that is needed is a computer with an internet connection
- NO DRONE IS REQUIRED. We use a simulated vehicle in this course
Welcome to the Drone Programming Primer for Software Development, where you will learn of the core open source software projects that are fueling the progression of today’s drones!
The collection of open source software projects empowering drones (which we will call the flight stack) is transcending its hobbyist roots and is branching out into business applications at a high rate. This is going to translate to demand for drone engineers/developers who understand the open source flight stack.
This course will serve to introduce and familiarize you with the flight stack, which includes the following:
· Firmware (To run the drones hardware)
· Middleware (Communication glue between projects)
· API to Firmware (High level commanding of drone with Ground Control Stations and Python scripts)
Think of this course as a gateway to becoming a drone engineer/developer. We will cover all of the layers of the flight stack, with slightly more focus on the API to Firmware layer. We will use a simulated drone as our test vehicle, so you can start drone coding right from your computer!
There are 5 main sections that contain over 3 hours of total video content.
Each topic contains:
· A high-level introduction to the subject
· A low-level dive into the details and application of the subject
Here are some of the topics that you will learn about in this course
· Understanding of the importance for each component that makes up the flight stack
· The open source autopilot software project of ArduPilot
· How to fly a simulated drone from your computer running the ArduPilot codebase
· MAVLink middleware and how it is used as a communication glue in the flight stack
· Ground Control Stations and how they use MAVLink to interact with drones
· Python scripts that use DroneKit and model your drone as an OOP object in a python script, allowing you to command a real drone from python
This course is not appropriate non-motivated non-technical people
This course assumes that you have some prerequisite knowledge of very basic Linux command line commands (like cd, mkdir, ls etc). There are plenty of online sources for getting up to speed if you are interested in drones but lack this knowledge. Basic python knowledge will also be useful once we get into the last section of the course (dronekit). You must know about the basic tabbing rules and syntax in python, and knowledge of how to make functions will be a plus as well. However, all python scripts in this course will be shown in the videos, allowing you to follow along without python knowledge should you be so brave. If you have basic programming knowledge, picking up the python syntax should only take about 30 minutes for a basic understanding.
What about required tools to follow along in this course?
All you need is a computer! The software tools we will be using and learning about are absolutely free, and we will be testing our code on a simulated drone.
Should you join right now?
Check out the free lectures first and see if you think this course is right for you. We offer a 30 day money back guarantee on this course, so you can always return it if you decide later the course wasn’t for you.
Who is the target audience?
Anyone falling into the below three sections who want to obtain knowledge on the open source drone software projects that will make them valuable assets to the drone industry.
1. Experienced Engineers/Developers looking to pivot their skillsets into tomorrow’s high growth job market of drones
2. Hobbyist or Coders with cool drone DIY projects in mind
3. Motivated non technical people who can independently learn the basic Linux and python knowledge to best follow along with this course
- Engineers or Developers looking to retool their skills for drone software development
- Hobbyists or Hackers with cool DIY drone projects in mind who want to learn more about open source drone software
- Anyone who is motivated and wants to learn how to start coding with drones
Check to see that Virtualization is enabled on your computer. If it is, proceed to the next lecture. If it is not, you will need to enable virtualization of your CPUs from the BIOS. Check the link for detailed description and walkthrough:
Once enabled, proceed to the next video!
An introduction of the various flight modes that are available to us in
the ardupilot software
What is a flight mode?
A flight mode is a particular way in which the rone can be controlled.
Stabilize flight mode: Uses exclusively RC Input from the pilot
to control the drone
Loiter flihgt mode: Uses GPS/Barometer and a myriad of other sensor
inputs to automatically hold the drone at a desired place in 3D space
without requiring input from the pilot.
Where can I learn more about flight modes in ardupilot?
Primary flight modes that will be used with a SITL droen, or a real drone
that you want to script flights for: GUIDED,AUTO,RTL,LAND