Aviumtechnologies

ArduPilot SIL Connector for Simulink

Simulink C++ S-function for software-in-the-loop simulation with Ardupilot.

ardupilot-sil-connector GitHub repository

Requirements

  • Windows 10/11
  • MATLAB & Simulink (MATLAB R2022a or later)
  • MSVC C/C++ (recommended) or MinGW-w64 compiler
  • Mission Planner

Note: Tested extensively on Windows with MSVC C/C++ compiler.

Files

ardupilot_sil_connector.cpp
make.m
includes.zip (contains the Asio C++ library)

Build instructions

  • Install MATLAB-supported compiler
    https://mathworks.com/support/requirements/supported-compilers.html.
  • Download the "ardupilot_sil_connector.cpp" and "make.m" files and the "includes.zip" archive.
  • Unzip the "includes.zip" archive.
  • Run "make.m" to compile the "ardupilot_sil_connector.cpp" file. If successfull a "ardupilot_sil_connector.mexw64" file will be created.

Use instructions

  • Download and install MissionPlanner
    https://ardupilot.org/planner/docs/mission-planner-installation.html.
  • Open MissionPlanner, select the "Simulation" tab and click on the "Plane" icon to download the ArduPlane SIL simulator.
  • After downloading the ArduPlance SIL simulator, open a command prompt and navigate to "C:\Users\<username>\Documents\Mission Planner\sitl".
  • Execute the following command in the command prompt:
    ArduPlane.exe --home 42.841448,24.770727,0.5,0 --model json
  • Click the connect icon in Mission Planner. Use the default host and port options.
  • Open and run "ardupilot_sitl_connector_example.slx".

Example use of the ArduPilot SIL connector.

ArduPilot SIL connector example

ArduPilot SIL connector example.