ROS 与 Matlab/Simulink联合仿真测试(1)

Matlab 提供了很多实例, 我们通过以下这个实例来解释以下在线仿真的方式:
open_system(‘robotROSConnectToRobotExample’);
在MATLAB中打开这个实例:
ROS 与 Matlab/Simulink联合仿真测试(1)

打开是这个样子的,为了更好地演示如何来做在线仿真,我们把上面的部分拿出去,放在另一个新的simulink里面。上面的部分就是在模拟发送机器人的控制命令,通过publish模块发出。

下面的部分则是subscribe模块,来接受机器人那边的信息,并plot出来。

从 “Simulink Library Browser” 中的 “Robotics system toolbox” 选项卡中, 将" Publish block" 块拖放到模型中。双击该块。进行如下操作:
ROS 与 Matlab/Simulink联合仿真测试(1)

然后继续将 Blank Message块拖放到模型中。双击该块,如下配置:
ROS 与 Matlab/Simulink联合仿真测试(1)
对于bus assignment , 做如下配置:
ROS 与 Matlab/Simulink联合仿真测试(1)

在 receive 部分,做如下配置:
ROS 与 Matlab/Simulink联合仿真测试(1)
点开bus select, 会有默认的设置如下:
ROS 与 Matlab/Simulink联合仿真测试(1)
最后记得定下步长:
ROS 与 Matlab/Simulink联合仿真测试(1)

运行前打开模拟器:
ExampleHelperSimulinkRobotROS
ROS 与 Matlab/Simulink联合仿真测试(1)
然后点击publish模块运行,再点击subscribe模块影响,模拟器中的小车就会动起来了:
ROS 与 Matlab/Simulink联合仿真测试(1)