Artefacts ツールキットのチャートヘルパー
Artefacts ツールキットのチャートヘルパーは、テスト実行中にトピックから受信したデータを可視化するのに役立つように設計されています。 インポート方法:
from artefacts_toolkit.chart import make_chart
関数
関数リファレンス
make_chart
2つの提供されたトピックからのデータに基づいてインタラクティブなHTMLチャートを作成します。
make_chart(
filepath,
topic_x,
topic_y,
field_unit=None,
output_dir="output",
chart_name="chart",
file_type="rosbag",
output_format="html"
)
Parameters
パラメータ | 型 | 説明 | デフォルト |
---|---|---|---|
filepath |
str |
データファイル(rosbag)へのパス | 必須 |
topic_x |
str |
x軸のトピック名。時間に対してプロットする場合は “Time” を使用 | 必須 |
topic_y |
str |
y軸のトピック名。時間に対してプロットする場合は “Time” を使用 | 必須 |
field_unit |
str |
フィールドデータの測定単位(例:「m/s」、「rad」) | None |
output_dir |
str |
チャートが保存されるディレクトリ | "output" |
chart_name |
str |
生成されるチャートファイルの名前 | "chart" |
file_type |
str |
データファイルのタイプ。現在は “rosbag” をサポート | "rosbag" |
output_format |
str |
出力ファイルタイプ。“html” または “csv” から選択してください | "html" |
戻り値
None
:
output_format="html"
の場合 :output_dir
に plotly html チャート<chart_name>.html
を作成しますが、値は返しません。output_format="csv"
の場合 :output_dir
に csv ファイル<chart_name>.csv
を作成しますが、値は返しません。ダッシュボードはアップロード時に csv ファイルを自動的にチャートに変換しようとします。ファイルサイズを小さく保ちたい場合に便利です。
Note
- 現在、rosbag からのチャート作成のみをサポートしています。
- “Time” をトピックの1つとして使用する場合、関数は可能であれば他のトピックをそのトピックのタイムスタンプに対してプロットします。トピックのメッセージ構造にタイムスタンプがない場合は、rosbag の時間が使用されます。
例
以下の例では、テストが完了し rosbag が保存された後、すなわちシャットダウン後に make_chart
関数を追加しています。
# my_test_file.launch.py
# test code
...
@launch_testing.post_shutdown_test()
class TestProcOutputAfterShutdown(unittest.TestCase):
def test_exit_code(self, rosbag_filepath):
make_chart(
rosbag_filepath,
"/odom.pose.pose.position.x",
"/odom.pose.pose.position.y",
field_unit="m",
chart_name="odometry_position",
)
以下のようなチャートが生成されます: