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
為了避免初次打開仿真環(huán)境卡死
再鍵入
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