You are here:Home-Tutorials

Tutorials & Guides

PX4 Research Log [10] – Adding a new flight mode (Preparation)

If you have programmed Ardupilot and now you switch to PX4, you would really appreciate how easy it is to implement a new flight mode in Ardupilot... PX4 is really good if you just want to write an App to do something, but implementing a new flight mode actually requires a lot of digging around

By |2017-05-22T05:52:57+00:00November 7th, 2016|Categories: PX4, Software, Tutorials|Tags: , , |6 Comments

PX4 Research Log [9] – Analyzing flight on Ubuntu

There are two ways to analyze your PX4 flight as I know, the ".px4log" file generated by PX4, and the ".mavlink" file generated by QGroundControl. 1. ".px4log" with FlightPlot The ".px4log" format is the log file format stored onto the SD card by PX4. The application that performs this logging is "sdlog2". The log files

By |2017-05-22T05:52:57+00:00August 31st, 2016|Categories: Flight Control, PX4|2 Comments

PX4 Research Log [8] – Hardware In the Loop (HITL) Simulation using jMAVsim on Ubuntu 14.04

In most cases, Software In the Loop (SITL) is sufficient for testing your flight controller code. But in other cases, you may want to use Hardware In the Loop (HITL) simulation to validate that your code can actually run on a controller board. The HITL differs from SITL in a few ways: All sensor raw

By |2017-05-22T05:52:57+00:00August 31st, 2016|Categories: Flight Control, PX4|21 Comments

PX4 Research Log [7] – A closer look at mc_att_control

"mc_att_control" is responsible for PX4 multicopter attitude control, this application can be found in "Firmware/src/modules/mc_att_control". Here is what I understand about this application. Start Similar to "mc_pos_control", this application is started by script "rc.mc_apps" on line 32: rc.mc_apps Call Hierarchy The source code for the application exists in "mc_att_control_main.cpp", it follows a very

By |2017-05-22T05:52:57+00:00August 15th, 2016|Categories: Flight Control, PX4|15 Comments

PX4 Research Log [6] – A closer look at mc_pos_control

The application responsible for multicopter position control exists in "Firmware/src/modules/mc_pos_control". I will describe what I understand about this application as much as I can in this blog. Start The application is started by the script "rc.mc_apps" in "Firmware/ROMFS/px4fmu_common/init.d". The script itself is called by the main starting script "rcS" at line 761. Since "rc.mc_apps" is

By |2017-05-22T05:52:57+00:00August 8th, 2016|Categories: Flight Control, PX4|0 Comments

PX4 Research Log [5] – Multicopter software in the loop simulation on Ubuntu

Testing development code on a flying platform is always risky, one small bug in the code could cause your beloved airframe go straight into the bin. To avoid that, always check your code stability in simulation. And the PX4 Software In the Loop (SIL) simulation is the perfect solution. SIL uses your computer hardware to

By |2017-05-22T05:52:57+00:00August 4th, 2016|Categories: Flight Control, PX4|4 Comments

PX4 Research Log [4] – A first look at PX4 architecture, example code, uORB and NSH script

If you have done Ardupilot or Arduino source code development, the first thing you do when you clone source code from Github is probably looking for the main function. This is exactly what I did. I spent about 2 weeks looking for a main function, hoping to stumble across something that initializes everything, execute commands

By |2017-05-22T05:52:57+00:00August 2nd, 2016|Categories: Flight Control, PX4|9 Comments

PX4 Research Log [3] – Connect to Pixhawk via Serial in Ubuntu

Being able to connect to PX4 via Serial is essential for development. It allows you to run individual apps in PX4 and it provides a straight forward interface for debugging. I have successfully connected to a HK Pilot 32 using a FTDI breakout adapter in Ubuntu, and here is how I did it. A quick

By |2017-05-22T05:52:57+00:00July 29th, 2016|Categories: Flight Control, PX4|11 Comments

PX4 Research Log [2] – Set up PX4 development environment on Ubuntu

The best development environment for PX4 is using Eclipse as IDE in Ubuntu. There are also many other ways to do it. I have included in this log what is working for me and how to do it. A quick summary: Install PX4 toolchain Install ninja build system (optional) Clone PX4 source code from Github

By |2017-05-22T05:52:57+00:00July 28th, 2016|Categories: Flight Control, PX4|2 Comments