主要内容

このページの翻訳は最新ではありません。ここをクリックして,英语の最新版を参照してください。

ROSパッケージからのカスタムメッセージの作成

この例では,MATLAB®でROSカスタムメッセージを作成する手顺を実行します。必要な味精およびSRVファイルが含まれるROSパッケージがなければなりません。正しいファイルの内容とフォルダー构造については,カスタムメッセージの内容で说明しています。このフォルダー构造は,ROSパッケージの标准の规则に従っています。したがって,既存のパッケージがある场合,この构造に一致しなければなりません。

适切なサードパーティソフトウェアがあることを确认するには,ROS系统要求を参照してください。

カスタムメッセージパッケージが正しいことを确认したら,フォルダーパスの场所をメモします。次に,パスを指定してrosgenmsgを呼び出し,コマンドウィンドウに出力された手顺に従います。次の例には,互いに依存关系にある一种B.,およびCという3つのメッセージがあります。また,この例は,复数のメッセージが含まれるフォルダーを使用して,すべてのメッセージを同时に生成できることも示しています。

MATLABでカスタムメッセージを设定するには,次を行います。

  • MATLABを新しいセッションで开きます。

  • カスタムメッセージをある场所に配置し,フォルダーのパスをメモします。すべてのカスタムメッセージ定义を単一のパッケージフォルダーに配置することをお勧めします。

    FOLDERPATH ='C:\ MATLAB \ custom_msgs \包';
  • (オプション)既存の柳絮ワークスペース(catkin_ws)がある场合,代わりにそのSRCフォルダーへのパスを指定することもできます。ただし,このワークスペースには大量のパッケージが含まれている场合があります。メッセージ生成はすべてのパッケージに対して実行されます。

    FOLDERPATH =完整文件('catkin_ws''SRC');
  • カスタムメッセージファイルのフォルダーパスを指定し,关数rosgenmsgを呼び出して,MATLAB用のカスタムメッセージを作成します。

    rosgenmsg(FOLDERPATH)
  • 次に,rosgenmsgの出力から手顺に従います。

  1. コマンドウィンドウで让addpathsavepathを実行して,指定したファイルをMATLABパスに追加します。

    让addpath('C:\ MATLAB \ custom_msgs \包\ matlab_msg_gen_ros1 \ msggen')savepath
  2. すべてのメッセージクラス定义を更新します。これには,以下のとおりワークスペースをクリアする必要があります。

    清晰班
    翻版toolboxcache

  3. その后,ROS工具箱でサポートされている他のROSメッセージと同様に,カスタムメッセージを使用することができます。rosmsg名单を呼び出してメッセージタイプを検索するか,rosmessageを使用して新しいメッセージを作成して,これらの変更を确认します。

    custommsg = rosmessage('B /独立'
    custommsg = ROS独立消息属性:消息类型:“B /独立” IntProperty:0 StringPropert:“”使用showdetails来显示消息的内容

この最终的な検证により,カスタムメッセージ生成プロセスを正しく実行したことが示されます。これで,MATLAB的Sim金宝appulinkと®を使用してこれらのメッセージをROSネットワーク上で送受信できるようになりました。新しいカスタムメッセージは,通常のメッセージタイプと同様に使用できます。これらによってそのメッセージタイプ固有のオブジェクトが作成され,ワークスペースに表示されるはずです。

custommsg = rosmessage( 'B /独立');custommsg2 = rosmessage( 'A / DependsOnB');

カスタムメッセージは,ROS的S金宝appimulinkブロックとともに使用することもできます。

参考

|

关连するトピック