/log_plotter

log plotter using pyqtgraph

Primary LanguagePython

log_plotter

使用方法

1. コマンドラインで

python datalogger_plotter_with_pyqtgraph.py -f file-name --plot plot.yaml --layout layout.yaml

2. nautilusから右クリックで

buildすると、以下のディレクトリにplot.shへのシンボルリンクが貼られる。

  • ubuntu12.04以前
    ~/.gnome2/nautilus-scripts/
  • ubuntu14.04以降
    ~/.local/share/nautilus/

hrpsysのファイルを

右クリック→スクリプト→plot.sh

と選択し、plot.yaml, layout.yamlの順に選択をする。

設定ファイルの記述方法

layout.yaml

右足の関節角度の時間変化を表すグラフを描画する例。
以下のように記述すると、joint_angle(rleg)というタイトルのグラフが横一列に7つ並ぶ。
描画の詳細はplot.yamlsrc/log_plotter/plot_methodで定義されている。 extend:で別のyamlファイルをincludeできる。

extend:
  ../../st_layout.yaml

main:
  joint_angle(rleg):
    legends:
      - { key: sh_qOut, id: [0-6] }
      - { key: abc_q, id: [0-6] }
      - { key: st_q, id: [0-6] }
      - { key: RobotHardware0_q, id: [0-6] }

id: [0-6]は、id: [0,1,2,3,4,5,6]と記述するのと同等で、関節idの0~6に対応している。

この例では一つのグラフに、4つの凡例(sh_qOut, abc_q, st_q, RobotHardware0_q)が描画される。

- { key: sh_qOut, id: [0-6] }

は、plot.yamlの中で定義されているsh_qOutの0~6番を描画することを意味する。

  watt:
    legends:
      - { key: watt, id: [0-5] }

``` watt: legends: - { key: watt, id: [0,2,4] } ```

plot.yaml

plot.yamlは凡例ごとの描画方法を記述している。
通常は、plot.yamlで定義された凡例をlayout.yamlの中で組み合わせて使用することを想定している。
各関節の消費電力であるwattの場合、以下のように記述されている。
dataの中では、消費電力に必要なログファイルについて記述する。
消費電力をプロットするのに必要なログは、各関節の関節速度RobotHardware0_dqと各関節のトルクRobotHardware0_tauなので、そのファイル名が、log:に続いて指定されている。 columnでは、ログファイルの何列目の値が使用されるかを指定している。
消費電力の計算では、関節速度と関節トルクの掛け算を行う。その計算を行う関数の名前が、func: plot_wattで指定されており、 plot_method.pyの中に、plot_wattが定義されている。 extend:で別のyamlファイルをincludeできる。

extend:
  ../../common_plot.yaml

watt:
  func: plot_watt
  data:
    - { log: RobotHardware0_dq, column: [0-33]  }
    - { log: RobotHardware0_tau, column: [0-33] }

nautilus scriptのパス

Ubuntu earlier than 14.04

save the following commands as ~/.gnome2/nautilus-scripts/plot.sh and chmod +x ~/.gnome2/nautilus-scripts/plot.sh and then nautilus -q

ubuntu14.04 or above

save the following commands as ~/.local/share/nautilus/scripts/plot.sh and chmod +x ~/.local/share/nautilus/scripts/plot.sh and then nautilus -q