手軽にフォトグラメトリができると勘違いしてOpenScan Mini V1を製作した。
筐体は3Dプリントモデルを印刷して作るのだが、プリント条件が異なるのかPLAで印刷した黒いリング部分が同じくPLAの白いガイドに全く入らず、60番の紙やすりでかなり削ることでスムーズにリングを動くように加工した。
OpenScanの電気系はラズパイにモータ基板のシールドを乗せて動かすが、シールドはキットを使用せず蛇目基板で製作し、TMC2208ドライバ2個とLEDライトを制御するFET2個と12Vから5Vを生成するコンバータを載せている。
使用したラズパイは4の2GBモデルだが、3で十分だと思われる。4にしたのは、ラズパイ上でフォトグラメトリできると勘違いしていたため。本機はモデル撮影の手間を省ける装置である。
カメラはV3を使用し、接続する50cmのフレキケーブルはAmazonで売ってた。
OpenScanファームのカメラはV2までしか対応していないが、ファームを1から手動で構築したらV3でも動かせた。
基本はsetup.md通りのため差異だけ記載
- OSはBullseye 64bit Lite
- 右記は一部スキップ(Libcamera - to run Arducam IMX519 (and other non-Raspberry-Pi camera moduls))
- libcamera_dev、libcamera_appsは入れておく
- 右記はスキップ(Custom config.txt file, which is needed to use different camera moduls (especially IMX519):)
- 右記はスキップ(Arducam's camera focus script for the IMX519 sensor:)
- /boot/config.txtにdtoverlay=imx708の記述を確認
- 電源投入後noderedの起動が早すぎてinactive(dead)になるので、/lib/systemd/system/nodered.serviceの[Unit]内After=flask.serviceからAfter=Basic.targetに書き換え
■スキャン画面
スキャンスプレーを模して小麦粉まみれのアヒルを撮影したが、ザラザラの表面であればフォトグラメトリに問題なさそう。
V3カメラはオートフォーカスのため、初めボケた画像だったが、libcamera-helloコマンドで調整した。
■ファイル画面
設定した回数の撮影が終了するとzipファイルが生成され、smbで他に移すことができる。
OpenScanCloudのトークンがあればアップロードしてフォトグラメトリできるが、同クラウドは死んでいるのかアカウント申請しても反応はなかった。
[追記]5日経ってトークンが届いた。
■フォトグラメトリ
色々同サービスを行うクラウドやソフトがあるが、Meshroomを使用した。
OpenScanで全自動で撮影したデータだと、螺旋状に撮影する感じなのにターンテーブルが適当に回るためエラーで生成できなかったが、設定のアドバンスよりターンテーブルモードに変更して、リング角度0度と20度で1周20枚で撮影したデータを投入したとろこ、エラーなく生成できた。
GPUがQuadroP600のため、40枚での生成に1時間は掛かった。
■Meshmixerでソリッド化
頭が欠けているので、リング角度40度あたりでもう1周撮るとキレイにできそうだ。
■Curaに取り込んでみる
en.openscan.eu
■筐体のSTL
OpenScan-Design/OS-Mini/V1 at main · OpenScan-org/OpenScan-Design · GitHub
■手順書
OpenScan-Doc/docs/hardware/OpenScanMini.md at main · OpenScan-org/OpenScan-Doc · GitHub