hardware in the loop simulation for ardupilot mega

hi, am a working in hardware in the loop simulation (HILS) for ardupilot mega.

the purpose of my research is to ensure that ardupilot control system works well,before I do the actual flight test.
the difference between what I do with pre-existing HILS is a model airplane that I use is a model of state space and not a model of an aircraft that already exists on xplane.

The following is an overview of its design scheme:

3690927743?profile=originalI have managed to describe the control block diagram for stabilization control mode from ardupilotmega.pde coding ,and compare the results between simulation control dan ardupilot hardware control. the following picture is the block diagram for stabilization control mode in matlab/simulink :


inside logitudinal block


inside lateral directional block


now, the problem is:

I have difficulty in describing the existing control algorithms ardupilotmega.pde coding  to the form of control block diagram  for auto control mode, because I do not understand the coding of the overall ardupilotmega.pde

so far, for the auto control mode, this is what I have gained:



-i a am still find a solution for make a gps simulation. now my idea is using yaw angle,speed,and inital position to estimate next position (some one help me)

-I am still trying to understand how the working process of waypoint tracking in ardupilotmega.pde coding , so that I can describe the block diagram in matlab / simulink. (some one help me)

new update (1 juni 2012)

this is my video off waypoint tracking simulation 








You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –


  • Hi Edmond,

    Did you ever figure this out? I am trying to do the same thing.



    McGill U

    Edmond Leong said:

    Same question for the UDP data receiving from APM (pilot commands).  Question is how to configure the UDP block in Simulink in order to unpack the UDP data from APM? Thanks !


  • hello sufendi, 

    i can't download your attachment file, can you send to my email?


    best regards.

  • i can't download the attachments.could u help me .my email is 4201100117@csu.edu.cn i have read your paper ,thank you anyway

  • Hi Sufendi,

    I am trying to connect APM planner with Matlab like you did (using"UDP Receive" & "UDP Send" blocks)  but then I dont get any data, I just get this message:

    "Error in 'Conexion/UDP Receive': Received a fractional-length packet for the specified data type"

    Does APM planner send data to simulink by MAVlink protocol?

    I dont even know what datas are input/output in the APM planner.

  • Hi Sufendi,

    I know it's been a long time since you've completed this but I am undertaking a similar project but instead of using APM I will be utilising the Pixhawk. I still intend to model the dynamics of a system using matlab/simulink and will utilise a serial connection and mavlink up and down into matlab.

    It's been difficult to find good reference material on the subject. I am wondering If you have a copy of some of the simulation code that I can look at to get an idea of what you were trying to do. At this stage I am stuck trying to get the IMU off of the pixhawk. I have been able to read data off and display it on matlab using MEX but I can't seem to work out how I can use this to transfer to a s-code for use in simulink. Perhaps your work can shed some light.

    If you can I would really appreciate seeing anything you have that might help me. My email is 11306103@student.uts.edu.au

  • Hello. I study HILS . I have a lot of questions.

     1. How to communicate between the APM Planer(mission planer) and Simulink(matlab)?

     2. How to communicate between the Simulink and X-plane?

    I really wonder this problem, help you.

  • Hi All,

    This post on hardware in loop simulation with APM using Matlab seems exciting. I am also working on a similar problem. I am trying to do a Hardware in loop simulation with APM 2.6 connected to a mission planner. Instead of using flight gear or xplane, I am using Matlab to read in actuator commands from the mission planner through UDP and do simulation in Matlab and send back the sensor data to the mission planner.

    I have read in actuator commands send by the mission planner through UDP and I am currently working on sending the simulated data back to the mission planner. It would be of great help to me if someone could share the details of how this has been done. I am also unable to download the simulation file. Help in this regard would be greatly appreciated.


  • dear sufendi

    access is denied to this website

    may you pleas send it to my emai


    thanks alot

  • Dear sufendi


    first let me to say thank you for the sharing your knowledge so others can use. and second let me apologize for the poor english I am writing in

    I am a beginer with electronic and APM. how ever i want to connect it the matlab in order to send my control commands and so on

    first of all i dont know how to do it ( connection for send and recive order). so I want you to help me in this field if is possible.

    having a model that i can run in my computer would so helpful for me.

    thank you so much


This reply was deleted.


DIY Robocars via Twitter
RT @Jetsonhacks: And I helped with the course! JetBot, JetBot, happy little JetBot! JetBot ... GO! Meet the Jetson Specialists Inspiring a…
19 hours ago
DIY Robocars via Twitter
RT @a1k0n: Designed RPi + camera mounts + new bumper for the new car. Fits great on the car first try, except my longest camera cable doesn…
19 hours ago
gotham liked gotham's profile
DIY Robocars via Twitter
RT @RoboticMasters: Monaco GP Circuit in the Donkey Sim (coming soon). Including buildings, tunnel and all! https://github.com/robotics-masters/sim-donkeycar-f1/tree/f1-tracks @diyr…
DIY Robocars via Twitter
RT @breadcentric: Here are the details of #AWSDeepRacer finals: https://blog.deepracing.io/2020/12/01/aws-deepracer-league-finals-2020-round-1-schedule/ #awsreinvent2020 #AWSreInvent https://t.co/ovqsjp8V…
DIY Robocars via Twitter
RT @breadcentric: #AWSDeepRacer League #awsreinvent2020 Open race is on Dec 1st - Dec 31st in three categories, 15 DeepRacer Evo (with LIDA…
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars It's just something that's easy to track with chroma keying. I ended up using different colors on th…
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @TinkerGen_: "The Tinkergen MARK ($199) is my new favorite starter robocar. It’s got everything — computer vision, deep learning, sensor…
Nov 23
DIY Robocars via Twitter
Nov 23
DIY Robocars via Twitter
RT @roboton_io: Join our FREE Sumo Competition 🤖🏆 👉 https://roboton.io/ranking/vsc2020 #sumo #robot #edtech #competition #games4ed https://t.co/WOx…
Nov 16
DIY Drones via Twitter
First impressions of Tinkergen MARK robocar https://ift.tt/36IeZHc
Nov 16
DIY Robocars via Twitter
Our review of the @TinkerGen_ MARK robocar, which is the best on the market right now https://diyrobocars.com/2020/11/15/first-impressions-of-tinkergen-mark-robocar/ https://t.co/ENIlU5SfZ2
Nov 15
DIY Robocars via Twitter
RT @Ingmar_Stapel: I have now explained the OpenBot project in great detail on my blog with 12 articles step by step. I hope you enjoy read…
Nov 15
DIY Robocars via Twitter
RT @DAVGtech: This is a must attend. Click the link, follow link to read the story, sign up. #chaos2020 #digitalconnection #digitalworld ht…
Nov 15
DIY Robocars via Twitter
RT @a1k0n: Got a new chassis for outdoor races (hobbyking Quantum Vandal) but I totally didn't expect that it might cause problems for my g…
Nov 11