Home        Store        Learn        Blog

SITL with unreal engine simulator

I am working on a AUV and looking for a simulator. I know the Ardusub SITL works but I need a simulator like gazebo. But I am planning on using computer vision and machine learning to automate the ROV. So, I decided to use unreal engine to simulate the rover. You mind helping me figuring out how to make a simulated rover in unreal to the sitl, ie. what messages messages are sent by the sitl and what sort of messages I need to send from unreal to get it working.


Probably the best approach is running gazebo with ardusub sitl, take a look in this simple tutorial, about the computer vision, gazebo have camera sensors that provide image inside with especification.

Probably the best options if you want to make unreal integration, is this project.

Thanks for the reply. you mind giving me a brief overview of how the whole thing works (just a high level overview if possible something similar to the software layer digram in bluerov ros playground). I am familiar with mavros and ros in general but not sure about the sitl. So, I am not able to follow and understand your work.

You can check the ardupilot sitl documentation to see how it works and this block diagram to see the software layer communication, the two blue blocks will be gazebo or unreal in your approach.

Let me know if you have any further question.

I got the sitl working and I am able to connect to the sitl with mavros. I thinking of using the rc_io topic from mavros to move my rover in my simulator by translating the raw pwm values to accelerations and I believe if I can send IMU values from my sim to the sitl instead of having it use its internal values the sim will work properly. Then I can just use rc_io to override the control signals control the rover. Am I on the right track and if so how can I override the imu values the sitl uses with my imu values from the sim?

What simulator are you going to use ?

Mavlink will not work to create a sitl, you need to use something like the gazebo integration that ardupilot have.

I am using gazebo.I understood most of your bluerov_ros_playground work and I saw that you were using mavros for the parts I was able to understand. So, I figured thats the way. And ArduSub doesn’t support any sim such as gazebo as far as I know.

ArduSub SITL can run with Gazebo, do you saw the simple tutorial ?

Yes, but I have a 8 thruster rover. I need to modify the control vectors in the sitl. I want to understand what you did before I can try tweaking it.

You will need to add more two thrusters, like this one and more two channels like here.

Perfect thanks.