![]() | 1 | initial version |
For simple scenarios, you may find useful Gazebo and ROS blocks in Simulink. With use of Gazebo Pacer block, you can perform a cosimulation. For data exchange, you may use Gazebo messages or ROS.
However, the solution is rather slow at small Gazebo world step (50ms and smaller) especially in combination with ROS. I ended up writing a custom world plugin, which pauses and runs again Gazebo Simulation and communicates with a custom s-function Simulink block (I used ZMQ). This proved to be faster and allows more control, but takes a lot of time.