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: 702

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

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service