MATLAB2020a与ROS-Gazebo
因为我安装的ROS是Ubuntu20.04+ROS-Noetic
由于实现Gazebo与matlab的联合仿真只支持Gazebo9、Gazebo10、Gazebo11
我原装的MATLAB2021b只能生成一个支持Gazebo9-10的GazeboPlugin,导致我在Linux系统下不能正常编译
这里演示一下如何让实现MATLAB2022a与自己的Gazebo
在matlab2022a命令行键入
packageGazeboPlugin
在当前文件夹下会生成一个文件夹GazeboPlugin和GazeboPlugin.zip

将该文件拖入到Linux系统下,配置好文件
我使用的是虚拟机并且安装了Vm-tools,直接拖入即可,建议先打开 文件(Linux),要不然拖不过去

将其解压到 /home/user/src/GazeboPlugin
在Ubuntu系统下打开终端编译这个插件
cd /home/user/src/GazeboPlugin
如果当前路径存在 build 文件夹,把它删除
rm -r build
安装插件
mkdir build
cd build
cmake ..
make
这个插件的位置在/home/user/src/GazeboPlugin/export/lib/libGazeboCoSimPlugin.so





至此,安装完毕
最后可以回到matlab中删除源文件,可在命令行
if exist('GazeboPlugin', 'dir')
rmdir('GazeboPlugin', 's');
end
if exist('GazeboPlugin.zip', 'file')
delete('GazeboPlugin.zip');
end
回到Ubuntu系统,打开终端,先键入
gazebo
为了避免初次打开仿真环境卡死
再键入
cd /home/user/src/GazeboPlugin/exportexport
SVGA_VGPU10=0
gazebo ../world/multiSensorPluginTest.world --verbose
可以看到

再回到matlab,终端键入
open_system("performCoSimulationWithGazebo")

可以看到simulink模型

这里只要修改一下网络配置就可以了
回到Linux,在终端键入
ifconfig

这个ip需要用到
回到simulink模型,双击Gazebo/Pace
修改如下

端口选择默认即可,可以测试一下

运行,查看结果

附上参考链接
https://ww2.mathworks.cn/help/robotics/ug/perform-co-simulation-between-simulink-and-gazebo.html