Simulink MultiArray消息生成到ROS

时间:2016-04-27 08:45:02

标签: matlab message simulink ros

如何创建一个发布者,在 Simulink(Matlab R2015A)中发送一系列浮动作为 ROS消息(在Ubuntu 14.04下的ROS Indigo中)?我应该使用带有msg类型的BlankMSG块:std_msgs/Float32MultiArray,一个具有相同msg类型和我自己的主题名称的Publish块。

我不知道如何将向量添加到msg总线上的数据字段。我累了,有一个Bus Assignment块,数据输入是一个常量向量,但是我收到一个错误:

  

总线分配块“SubscriberMotorStates / Bus Assignment”的总线输入端口不支持将总线阵列作为子元素。

enter image description here

更新

我在Matlab中尝试发送一个数组并按照instructions进行工作。

chatpub = rospublisher('/chatter','std_msgs/Float64MultiArray');
msg = rosmessage(chatpub);
msg.Data = [1 2 3];
send(chatpub,msg);

所以,我也可以通过在* .m文件中实现一个函数并使用Interpreted MATLAB function块来使用simulink。

我仍然很好奇如何使用预期的块来进行阵列消息发送,因为它可能会更好地进行优化。 (我将在一个真实的应用程序中使用)

0 个答案:

没有答案