如何创建一个发布者,在 Simulink(Matlab R2015A)中发送一系列浮动作为 ROS消息(在Ubuntu 14.04下的ROS Indigo中)?我应该使用带有msg类型的BlankMSG
块:std_msgs/Float32MultiArray
,一个具有相同msg类型和我自己的主题名称的Publish
块。
我不知道如何将向量添加到msg总线上的数据字段。我累了,有一个Bus Assignment
块,数据输入是一个常量向量,但是我收到一个错误:
总线分配块“SubscriberMotorStates / Bus Assignment”的总线输入端口不支持将总线阵列作为子元素。
更新
我在Matlab中尝试发送一个数组并按照instructions进行工作。
chatpub = rospublisher('/chatter','std_msgs/Float64MultiArray');
msg = rosmessage(chatpub);
msg.Data = [1 2 3];
send(chatpub,msg);
所以,我也可以通过在* .m文件中实现一个函数并使用Interpreted MATLAB function
块来使用simulink。
我仍然很好奇如何使用预期的块来进行阵列消息发送,因为它可能会更好地进行优化。 (我将在一个真实的应用程序中使用)