Hi,

I am interested in doing hardware-in-the-loop simulation with my ArduPilot Mega 2.5.  We are developing a new controller architecture and I have implemented it in some firmware changes I've made.

When I look for information about HIL simulation, I mostly see people download a version of the firmware meant to do the simulation.  My question is, is creating an HIL version as simple as changing these parameters:

#define HIL_MODE                          HIL_MODE_DISABLED    (to HIL_MODE_SENSORS)
#define HIL_PORT 0 (to 3 for USB, or still 0?)
#define HIL_PROTOCOL HIL_PROTOCOL_MAVLINK


Could I just modify my custom firmware to include these changes, and load it as a hex the way I've been loading any custom firmware?

Also, do I have to use FlightGear (not Xplane) if I want the plane to know the raw sensor values? Or is that just a protocol issue?

Cheers!
Jon
University of Kentucky

Views: 624

Reply to This

Replies to This Discussion

Hi,

Have you already found a solution to do HIL with custom firmware because I want to do it to :)

Menno

Are you using ArduCopter or ArduPlane? For ArduPlane it should work, check: https://www.youtube.com/watch?v=tKr2C_Lrq_4.

Menno

Hi Jon,

       Did you get solution for this? I am looking for a solution to similar problem. I need to use my modified code to work with HIL. Please help if you have a solution.

Hi Menno,

           This video describes HIL with built in code. I am looking for solution with my modified code. Please help if you have solution.

For ArduPlane is assume? ->

Uncomment or add these lines to APM_Config.h file:

#define HIL_MODE              HIL_MODE_SENSORS
#define HIL_PROTOCOL      HIL_PROTOCOL_MAVLINK
#define HIL_PORT                0

Then just upload this custom code with ArduPilot Arduino IDE to your ArduPilot and it should work..

Sorry to drop the thread.

I did manage to get HIL simulation working with my customized version of the 2.74b firmware and Flightgear.  In my APM_Config.h file I put

#define HIL_MODE HIL_MODE_SENSORS
#define HIL_PORT 0
#define GPS_PROTOCOL GPS_PROTOCOL_HIL

It worked very well with the exception of the airspeed.  Although the airspeed appeared in Mission Planner, the hardware did not appear to be receiving it. I managed to simulate AUTO mode by forcing the plane to use constant throttle (change min and max to same value).

hello, i want to ask to you, now i activate hil mode from source code and build that, but in parameter is still 0 for hil mode

Menno Hochstenbach said:

For ArduPlane is assume? ->

Uncomment or add these lines to APM_Config.h file:

#define HIL_MODE              HIL_MODE_SENSORS
#define HIL_PROTOCOL      HIL_PROTOCOL_MAVLINK
#define HIL_PORT                0

Then just upload this custom code with ArduPilot Arduino IDE to your ArduPilot and it should work..

Reply to Discussion

RSS

Groups

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service