主要内容

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

金宝app仿真软件でのROSメッセージの配列サイズの管理

ROSメッセージはバス信号として表されます。バス信号の詳細については,バーチャルバス(金宝app模型)を参照してください。

金宝app®で可変長信号を処理している場合,メッセージに使用される非バーチャルバスにはプロパティとして可変長配列を含めることはできません。非バーチャルバスでは,可変長配列はすべて固定長配列に変換されます。そのため,これらの固定サイズの配列の最大サイズを管理しなければなりません。配列のサイズを管理するには,[シミュレーション]タブで(ROS工具箱)(可変サイズのメッセージ]を選択します。可変長配列のROSメッセージがモデルで使用されている場合,次のダイアログボックスが開きます。それ以外の場合,金宝app仿真软件はメッセージを表示します。

メッセージのプロパティは可変長となっているため,配列に対して設定された最大サイズを超過すると打ち切られる可能性があります。[警告して打ち切る]または[警告なしで打ち切る]のオプションがあります。いずれの場合でもシミュレーションは実行されますが,[警告して打ち切る]の場合は,メッセージのプロパティが打ち切られたことを通知する警告が診断ビューアーに表示されます。生成コードを使用している場合,ROSのログステートメントを使用して警告が出力されます。警告のログステートメントはROS_WARN_NAMEDであり、名称はモデル名となります。

[モデル内のメッセージタイプ]セクションには,金宝app仿真软件モデルの发布、订阅,空白信息の各ブロックで現在使用されているすべてのROSメッセージタイプが表示されます。チェックボックスをクリックすることで,このメッセージタイプの既定の範囲を使用できます。あるいは,各メッセージタイプを個別に選択し,必要に応じて(配列プロパティ][最大長 (項目数)]を設定します。最大長は当該モデル内で,当該メッセージタイプをもつすべてのインスタンスに適用されます。また,最大長はモデルに保存されます。そのため,同じメッセージタイプにアクセスする2つのモデルでそれぞれ異なる最大長の範囲を設定できます。

可変長配列のサイズ管理を通してパフォーマンスを向上できます。関連するデータのみが含まれるように配列のサイズを制限することで,データを効果的に処理できます。ただし,これらのモデルを実行する場合は,打ち切りに関連して発生し得る問題や,一部のデータが無視されることでシステムに与える影響を考慮してください。

メモ:各種のメッセージタイプの適切な最大長を把握するには,モデルをシミュレートして警告のサイズ出力を確認します。ROSメッセージの使用と可変長配列の処理の例については,在Simulink®中开始使用ROS金宝appを参照してください。

参考

|

関連するトピック