主要内容

ROS金宝app交互

当使用仿真软件金宝app®与ROS通信网络或与ROS功能,有几点需要注意关于其与MATLAB交互®和ROS网络。

MATLAB ROS信息

金宝appMATLAB仿真软件使用内置的功能与ROS通信网络在模拟。当试图调试问题模型,您可以使用MATLAB来查看主题或信息可以金宝app在ROS的主人。ROS主题和消息的更多信息,见rosnode,rostopic,或rosmsg

默认情况下,模型使用MA金宝appTLAB ROS功能来解决网络信息如ROS的地址的主人。这个网络信息也可以在模型中指定使用金宝appROS配置网络地址对话框。

金宝app仿真软件ROS节点

每个模型与一个独特的ROS节点相关联。在每个仿真,仿真软件仿真时创建节点和删除它终止。金宝app如果打开多个模型和模拟,每个模型会得到自己的专用节点,但是所有的节点将连接到相同的ROS的主人。这是因为所有的模型使用相同的ROS网络地址设置。

在仿真中,仿真软件的名字是ROS节点金宝app随机# > < modelName > _ <。这需要模型名称和添加一个随机数避免节点名称冲突。

在生成的代码中,节点名< modelName >(套管保存)。档案中使用的模型的名字也用于生成的代码。做重命名tgz文件从代码生成(例如ModelName.tgz)。使用文件名ROS包名和开始构建。

模拟和生成的代码之间的区别

在模拟,模型执行实际运行时间不匹配。的块模型评估在一个循环中,只有模拟时间的进展,和其速度取决于模型的复杂性和计算机的速度。它并不打算跟踪实际的时钟时间。

在生成的代码中,模型执行尝试匹配实际运行时间(固定步大小定义实际的时间步,在几秒钟内,用于模型更新循环)。然而,这并不能保证实时性能,因为它依赖于其他进程上运行Linux系统和模型的复杂性。如果部署模型满足执行频率太慢,任务是下降了。这种下降称为“泛滥”和模型等待下一个计划任务。有关更多信息,请参见任务模式部分的从模型生成一个独立的ROS节点®金宝app的例子。

您还可以修改生成的代码如何部署运行,ROS节点使用rosdevice。的rosdevice对象允许您连接到ROS设备,节点部署运行,在设备上和修改文件。

在仿真软件出版商和用户金宝app

创建的所有出版商和用户使用发布订阅块与ROS将连接节点模型。他们中创建模型的初始化和主题名称同时解决。发布者和订阅者删除仿真时终止。

注意:如果指定一个自定义的主题名称订阅块,这个话题不需要初始化模型时存在。的订阅块将输出空白的消息,直到它收到一个消息在您所指定的主题名称。这允许您设置和测试模型网络的其余部分之前已经设置。

ROS模型参考

金宝app仿真软件金宝app支持模型参考当使用ROS街区有一个限制。多个引用相同的模型会导致错误由于相同的名称创建重复的公交车活性氧ROS消息使用的块。你只能引用一个模型一次父母模型。