質問: simulink robotics system toolboxの「publish」ブロックのエラー 下のurlで公開されているlawicel製canusbデバイスをrosで使用するコードを利用して,simulink上で作成したcan通信モデルを別に用意したubuntu 16.02+ros上にコードを展開したいのですが,以下の手順でsubscribeブロックのtopicとして「/canrx」を選択し,再度subscribeブロックを選択すると画像のようなエラーが発生してしまいます. https://github.com/spiralray/canusb 1.rosのsubscribeブロックを配置 2.それをダブルクリック 3.「select from ros network」を選択 4.topic:の右サイドにある「select」から別pcのrosネットワーク上にあるトピック「/canrx」を選択 5.message typeは自動で「canusb/can」となり,適用,okを押す もちろん「configure ros network addresses」で別pcのrosネットワークには問題なく接続ができ,コンフィグレーション パラメータの「ハードウェア実行」,「target hardware resources」,「build option」の[edit]の「test」ではエラーは発生せず,rosネットワークとの接続は良好です.
回答: robotics system toolbox (現ros toolbox)に内蔵されているメッセージに下記のcanusb/canが存在しないためにエラーが出ています。 https://github.com/spiralray/canusb/blob/master/msg/can.msg 下記の手順でカスタムメッセージとして取り込みをお試しください。 https://jp.mathworks.com/help/releases/r2019a/robotics/ug/ros-custom-message-support.html