記事一覧 > この頁
次の頁

赤道儀のピリオディックモーション測定


室内でなるべく簡単な方法により、追尾精度(モーションやエラー値等)の測定を行いたい。 そこで試行錯誤の上、下記の方法で行うことにした。 内容は都度改変していっているが、基本的な概念は初期の頃から変わっていない。

【概要】
任意の位置からウォームを一回転させる間、所定のターゲットを撮影し、恒星時速度とのズレを測定する。 その際に始点と終点の位置は常に一致するが、位相は測定ごとにバラついてゆく。 下図はその概念を示したものである。

image

image

この方法を考案するきっかけとなったサイトを以下に示しておく。
http://garakutakohbo.web.fc2.com/idea/periodicmotion/measure_periodic.htm
http://katabami.blog.so-net.ne.jp/2014-01-25

【注記】
従来は静止画を所定の回数撮影していたが、リモートコントローラーが破損したのを契機に動画に切り替えた。

動画に切り替えた理由は下記の通り。
 (1)PCソフト(digiCamControl)による制御で生じる不規則なインターバル誤差の回避。
 (2)多数回撮影することによるミラー・シャッターの負担軽減。


【撮影】

ここでは一軸の赤道儀を対象として記載している。 二軸の場合はカメラの取付を工夫して、同様の撮影ができるようにする必要がある。

【測定】

ソフトウエアはImageJ・ImageMagick(FFmpeg)・Excleを使用する。
ImageJは必須。 インストールはダウンロードファイルを任意の場所に解凍するだけ。 最初にImageJ.exeを実行すると、Javaの検出を行い、ImageJ.cfgが生成される。 操作方法については「ImageJ日本語情報」を参照。
ImageMagickに同梱されているFFmpegで、動画から静止画を切り出す。 撮影時にモノクロにするのを忘れていた場合は、ImageMagickで変換する。 あるいはImageJでStackした画像に対して変換をかけても可。 インストールはダウンロードファイルを実行して、所定の手順に従って行う。 「Select Additional Tasks」で、システムパス追加のチェックを忘れないこと。

[ダウンロード先]
ImageJ
https://imagej.nih.gov/ij/download.html
ImageMagick
https://www.imagemagick.org/script/download.php

  1. FFmpeg
    • 以下は約8分録画した動画から、410秒間測定するのに必要なフレームを、インターバル5秒で切り出す例である。
      なお事前に作業フォルダー内に、他の画像ファイルが存在しないようにしておく。
      • ffmpeg -ss 30 -i Filename -t 425 -start_number 09998 -r 0.2 %05d.jpg
        • -ss 30
           始点(秒)
           動画の始点から30秒後に開始
        • -i Filename
           入力ファイル名
        • -t 425
           終点(秒)
           -ssと組み合わせる場合は-ssを始点とした区間
           この例では30秒後から425秒間
        • -start_number 09998
           開始ファイル名(番号指定)
        • -r 0.2
           フレームレート
           1/0.2で5秒ごと
        • %05d.jpg
           出力ファイル名(連番)
    • 測定には83フレーム必要であるが、この場合は合計85フレームを切り出している。 先頭の2フレームを使用すると、正しく測定できないためである。 上記の例では1枚目のファイル名が09998、2枚目は09999となり、測定から除外している。 3枚目の10000(始点)以降の83フレームを測定することになる。
    • バージョンやオプションの設定,構文により、多少の差異が生じることもある。 例えばframestepパラメータを使用した方法では、フレーム数が基準になるため時間のズレが発生してしまう。
  2. ImageMagick
    • 撮影の際モノクロにするのを忘れていた場合は、以下のコマンドで撮影画像を変換することができる。 ファイルは上書きされる。
      • magick mogrify -type GrayScale *.jpg
  3. ImageJ
    1. Edit > Options > Input/Output
      • File extension for tables (.txt, .xls or .csv):を「.txt」に変更。
      • 全てのチェックボックスのチェックを外しておく。
    2. Analyze > Set Measurements
      • CentroidとDisplay Labelにチェック。
      • Decimal places (0-9)を3桁にする。
    3. Import > Image Sequence
      • ファイルを開くダイアログボックスで、処理するフォルダーを選択する。 ここではフォルダーが選択されるだけで、実際に読み込む画像は次のステップで指定されたものになる。
      • 次にオプションウインドウが表示され、ここに入力した条件に従って画像が開かれる。
        • Number of Images
           入力する画像の枚数を指定 (初期値はサブフォルダーも含めた数)
           → 上記のffmpegの例:410/5+1=83
        • Starting Image
           前述の通り3枚目以降を使用するので3と入力
        • Increment
           連番で読み込むので1のまま
        • Sort Names Numerically
           チェックが入った状態のまま
        • Scale Image
           100のまま
      • 読み込み後スタックウィンドウの再生ボタンを押下して、ターゲットが水平走査しているか確認する。
        水平に移動していないようなら撮影し直す必要があるが、セッティング時にきちんと確認していたなら 問題ないはず。
    4. Adjust > Threshold
      • 閾値を調整する。
        適正露出で撮影している場合は、自動で適切に調整されるので触る必要はない。
        • 撮影時の露出が不適切であると、ノイズが多量に出現したりするので調整が必要となるが、 このような状態になると測定精度に支障が生じる。
    5. Analyze > Analyze Particles (Add to Managerにチェック)
      1. Size(pixel^2)を取り敢えず「20-Infinity」にしておく。
      2. Clear results、Add to Manager、Exclude on edgesにチェックが入っていることを確認してOKを押下する。
      3. Process stacks?(Process all ○ images?)でYesをクリック。
      4. ROI Managerの最下段の数値を確認する。 「nnnn-nnnn-xxxx〜」のところのnnnnがファイル数と同数なら次に進む。
        違っている場合は誤認識しているので、結果を破棄してこの項目をやり直す。
        → 範囲やSizeの値を調整して再実行する。
      5. Measureをクリック。
  4. Excle
    • 測定フォームを開き諸元を入力する。
    • ImageJで保存したファイルを開いてデータをコピーし、フォームのJ2セル以下にペーストする。

【参考】

[光軸調整]
image

image

[撮影状態]
image

[ピント位置]
写野中央辺りで調整
image

[スタート位置]
移動距離を見越して、赤経軸を東へ移動
image

[Input/Output]
image

[Analyze > Set Measurements]
image

[Import > Image Sequence]
image

[Stack Window]
再生ボタンを押下して、ターゲットの水平走査を確認
移動動作(クリックでアニメーションgif)
image

[Adjust > Threshold]
image

[Analyze Particles]
image

[Process stacks?]
image

[自動選択された測定範囲]
image

[ROI Manager]
image

[Results]
image

[測定例(x軸:5秒*82回, y軸:秒角)]
image

【補記】

・ImageJの最小表示桁を3桁としているが、桁数を多くしても精度が上がることにはならない。 実際の測定ではターゲットのプリント精度(滲み等)、光学系の諸収差、ピント精度、動画の切り出し精度、設置誤差や外乱等々の 影響を受けることになる。

・機材設置が適切なら誤差は非常に小さいものとなり、像面上をほぼ直線状態で移動する。 θの誤差がゼロになることはないが、例えばウォーム一回転が600秒の場合であれば、おそらく1°前後以内くらいには収まるはずである。 周回時間が短ければ、さらに小さくなる。
これをその度ごとに確認するのは面倒なので、チェック用の項目を設けた。

image

・赤道儀を駆動しないで東側に荷重をかけ、クランプを開閉してしばらく放置した後、誤差の状態(始点と終点の座標差)を観察してみた。 動画では常にX軸に比べてY軸に大きめの誤差が発生していたが、静止画の方は総じて小さいものであった。 これが偶然なのか、たまたま動画は撓み等が収束する前に撮影したのか、あるいはカメラの設定を含めて 撮影方法の違いによるものなのか等々原因は検証不足で不明。
しかし前記のように機材設置が適切であれば、測定に与える影響は非常に小さいものとなるはず。

・加えて常在する微振動が赤道儀の駆動誤差と重畳され、PEとして観察される。 PEが小さいほど影響が大きくなってくる。 測定に先立って確認し、できるだけ振動の少ない場所で実施すべきである。
注意すべきことはグラフに棘状の突起がないこと。 以下の例では1カ所発生してしまっている。 主な原因は車両の通過や家電(エアコンや冷蔵庫等)の動作である。 この例では、異常値を除いたRMSにピクセル当たりの角距離を乗ずると、0.2秒角程度となった。 微振動のRMSが測定TIEの1/3以下なら影響は無視できる。

[測定例(x軸:5秒*82回, y軸:px)]
image

▼方法
  1,測定のセッティング
  2,静止状態で撮影
  3,動画を切り出し
  4,切り出した間隔ごとの振動量(XYの対角)を計算
  5,RMSを計算

・下表(単位は秒角)は同一の測定動画を、10〜0.25秒の間隔で切り出した結果をまとめたものである。 この例では1秒を下回る場合においてPEが大きくなっており、付録のシミュレーション結果とも乖離してくる。 これは高精度な赤道儀の例であるが、測定する機材の精度に準じた誤差が生じてくる。
このように間隔を短くした場合、必ずしも精度が上がるということにはならないので注意が必要。 基本的に分解能は1ピクセル当たりの角距離に依存するので、動画のフレーム数を適切に設定する必要がある。
その設定は、ウォームをサンプリングする角度(360/測定点数)が、5°を少し下回るくらいで切りの良い数字にする。

image

・RMSを測定の代表値としないこと。 何故ならばP-P間の動作を過小に評価してしまうことになるため。

・TIE(rms)の3倍以上の振幅が頻発する場合は、測定に問題があるか、ギヤに何らかの不具合があるかもしれない。

・測定回数については測定する位置(ホイールとの接触点)を90°ずつズラしながら、 「4位置×4回」程度実施すれば大きな差異は出ないはず。 面倒であれば180°ズラせて「2位置×8回」でも可。

・PMの形状は一定ではなく、ノイズ成分や負荷等によって変わってくる。

・PEの測定をする上でPMのグラフ描画は不要である。

【付録】

次の頁

初出:2016-12-30 改訂:2022-08-xx
(C) YamD