Custom SITL Simulator

Hi, I am new to the forum and working with APM. I am looking to build my very own simulation and integrate it in to the current system. There is a function called “Update” in the SIM_Multicopter.cpp file under libraries/SITL that I am going to look to replace with my own version. I am going to wrap up my simulation in a dll(which I already have done) and I would like to drop it into the system. From some things I have read online I should be able to use a .dll with cygwin (yes, I am on windows). I am having a hard time figuring out the makefile setup and where I need to add linkage to my dll. Can anyone help point me in the right direction for this problem??

Thanks,
-K

The arducopter sitl is a very simple built in simulation environment. I was looking to tackle the same problem you are having a few weeks ago so I have created my own sim which I then struggled to figure out how to connect to ardupilot sitl. It was a week worth of work but I have finally gotten it working.

Screenshot: https://github.com/mkschreder/quadsim/blob/master/screenshots/01-aug-2016-2.jpg

My sim is using a 3d engine and bullet physics engine for copter body simulation. I had to modify the sitl code to get it out of the way. My sim backend is here: https://github.com/mkschreder/ardupilot/blob/master/libraries/SITL/SIM_QuadSim.cpp

One problem I had was that update delay when using udp socket was seriously messing up my simulation but i have solved it by using shared memory (on linux).

Source code for the sim is here: https://github.com/mkschreder/quadsim

This will give you all the information you need to get it working on your end.

1 Like

Does anyone know where to find out what equations of motion were used in the standard SITL? Before building my own environment I would like to better understand how the team developed theirs.