ここまでの課題をまとめます。
1.GUI上で簡単に内部が見える「calibrationdata.tar.gz」が端末上では解凍操作が必要。
2./tmp/ 内の「calibrationdata.tar.gz」は、再起動等で消えてしまう。
3.消える前に必要な「ost.yaml」をコピーして置く必要がある。
4.複数のロボットカメラの校正データは名前を変えて保存するとして、どの様に指定するのか方法が不明。
解る範囲で解決していきます。
<Try1>
1.「SAVE」ボタンを何回押しても出来るフォルダー「calibrationdata.tar.gz」は1個
2.「CALIBRATE」ボタンを何回押しても同様
3.「COMMIT」ボタンでアプリが終了
4.すべての端末を終了させても、/tmp/ 内の「calibrationdata.tar.gz」は消えない。
5.PCの再立ち上げ、再起動で、/tmp/ 内の「calibrationdata.tar.gz」は消える。
<Try2>
1.GUI上で「calibrationdata.tar.gz」を、/tmp/ 内からデスクトップ上へコピーして解凍した。
2.解凍ファイル内の PIG データを削除後、ost.yaml をリネーム( camerav2_320x240_30fps.yaml )
3.再度、各フォルダを /tmp/ 内に戻しPC電源の再起動させてみた。( すべて消えてしまう。)
どこに保存させれば良いのか?現在不明
調べて解った。Linux系の /tmp/ & /var/tmp/ 内のファイルは一定時間後削除される。( /var/tmp/ の方が保存時間が長いが永久ではない)
自動削除を行っているのは、「 /etc/cron.daily/tmpwatch 」のようだ!!。




<Try3:URL概要説明>
これは、このURLを参考にしています。
内容は、PCにUSBカメラを取り付けた内容なので、今回の物とは異なりますが参考になります。
rosではカメラのノードは画像のトピック(/image_raw[sensor_msgs/Image])と
カメラのプロファイルのトピック(/camera_info[sensor_msgs/CameraInfo])をpublishしています。
正しいcamera_infoをpublishするための設定ファイルを得ることが目的です。歪みの補正用と画像の補正用のパッケージをインストールします。
( kinetic -> merodic )
$sudo apt-get install -y ros-kinetic-camera-calibration 今回は使用しない。( e-Manual内容で実行
)
$sudo apt-get install -y ros-kinetic-image-proc
1.設定ファイルの取り出し( /tmp/calibrationdata.tar.gz )
$tar -xvzf /tmp/calibrationdata.tar.gz
$mv ost.yaml camera.yaml
2.camera.yamlを開いて以下のように修正します。
$camera_name: narrow_stereo #この行を
$camera_name: camera #このように修正
3.camera.yamlを適当な場所(今回はcam_lecture/config/)に移してここは終わりです。

4.カメラ画像の補正
カメラ画像の補正にはimage_procというノードを使います。
このノードは/camera_infoと歪んでいる画像/image_rawをsubscribeして補正した画像/image_procをpublishします。
launch ファイル

3行目の<param name="camera_info_url" value="file://$(find
cam_lecture)/config/camera.yaml"/>で先ほどの設定ファイルをロードして
います。このように初めにfile://を付ける必要があります。
実行は、
$roslaunch cam_lecture cam_proc.launch

これにより歪補正前と補正後の変化比較が出来ます。
<Try3:実行結果>
1.カメラキャリブレーションは、e-Manual のソフトで実行し /tmp/ 内に ost.yaml を作成。
2.<Try2>では、GUIで解凍、場所移動を行ったが、勉強の為CUIで実行してみます。
< 設定ファイルの取り出し:( /tmp/calibrationdata.tar.gz )から、ost.yaml を取出しリネーム >
$tar -xvzf /tmp/calibrationdata.tar.gz
$mv ost.yaml camera.yaml


/tmp/ フォルダ内は、変化なし。( 圧縮ファイルが1個そのまま残っている )

解凍後のファイルは、/home/ 上に散らかっている。
ファイルネームを「ost.yaml」から「camera.yaml」リネームしたファイルも /home/ に保存されている。
これで /tmp/ 内の「calibrationdata.tar.gz」は消去されても良い、 /home/ 上の不要ファイルは整理した。

camera.yamlを開いて以下のように修正します。
$camera_name: narrow_stereo #この行を
$camera_name: camera #このように修正
修正前「camera.yaml」

修正後「camera.yaml」

画像補正用パッケージのインストール
$sudo apt-get install -y ros-melodic-image-proc

すでに最新バージョンがインストールされている。
最後に、「camera.yaml」を適当な場所(今回は cam_lecture/config/ )に移します。
$mkdir /cam_lecture/config
$mv camera.yaml ~/cam_lecture/config/camera.yaml
ここまでは問題なく事が進んだが、最終下記のコマンドでカメラRAWデータと校正後の画像比較コマンドでエラーが出る。
原因は、cam_lecture.launch 内の記述にUVC_camera(USBカメラ)を前提に書かれているためと思われるが、解決方法が不明です。
エラー内容は、お決まりの cam_lecture は起動ファイルでも起動ファイル名でもないといメッセージが出る。
$roslaunch cam_lecture cam_proc.launch

一応取組の限界なので、2台目のROSロボットで同様のキャリブレーションを行いどの様に変化するかを確認します。
Turtlebot3/2号機のキャリブレーションページへ移行します。