Main Content

Current Time

現在の ROS 時間またはシステム時間の取得

R2019b 以降

  • Current Time block

ライブラリ:
ROS Toolbox / ROS

説明

Current Time ブロックは、現在の ROS 時間またはシステム時間を出力します。ROS 時間は、コンピューターのシステム クロック、または ROS ノードでパブリッシュされる /clock トピックに基づきます。

このブロックを使用して、接続している ROS ノードとシミュレーション時間を同期させます。

ROS パラメーター use_sim_timetrue に設定されている場合、このブロックは /clock トピックでパブリッシュされているシミュレーション時間を返します。それ以外の場合、このブロックはマシンのシステム時間を返します。

Current time block workflow. Step 1. Node start. Step 2. Check whether /use_sim_time ROS parameter is true. Step 3. If true, subscribe to /clock topic and wait to receive time. If false, get system time. Step 4. Output the received time as the current time.

端子

出力

すべて展開する

ROS 時間。バス信号またはスカラーとして返されます。バスは、Sec および NSec 要素をもつ rosgraph_msgs/Clock ROS メッセージを表します。スカラーは ROS 時間を秒単位で表します。/clock トピックで時間を受信しなかった場合、このブロックは 0 を出力します。

データ型: bus | double

パラメーター

すべて展開する

ROS Time の出力形式。bus または double として指定します。

出力の間隔。数値スカラーとして指定します。

詳細については、サンプル時間の指定 (Simulink)を参照してください。

ヒント

  • use_sim_time パラメーターを設定し、/clock トピックから時間を取得するには、以下の手順に従います。

    ROS ネットワークに接続し、その後 Set Parameter ブロックを使用するか、MATLAB® コマンド ウィンドウでパラメーターを設定します。

    ptree = rosparam;
    set(ptree,'/use_sim_time',true)

    通常、/clock トピックでパブリッシュする ROS ノードがパラメーターを設定します。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019b で導入

参考

ブロック

関数

外部の Web サイト