以前にスマホのカメラで使える3Dスキャナアプリ「Qlone」を使ってみました。
「すげー!」と思ったものの、テクスチャで誤魔化されている部分もあり、VRやARに取り込むには良いのだろうけどやはり精密な3Dモデルとして取り込む機能としてはイマイチだと感じました。
そこで調べてみると、3Dスキャナを手に入れる方法としてなんと「自作」という手段もあることが判明しました。
PCのソフトウェアでこんなのがあります。いいなー、コレ!
現在リンク切れのようです
カメラとラインレーザーだけでモデルを取得出来る優れもの!けど高いっ!
昔(12年前)は無料提供されていたソフトウェアらしいのですが・・・現在無料のものは見つかりませんでした・・・残念っ(今はページ自体無くなってしまったようです・・・)
<無料提供されていた頃の記事>
現在リンク切れのようです
しかし諦めるには早いです。
これとは別物ですがThingiverseサイトで商品としては高価なターンテーブル式のものがガッツリ公開されていました。
スマホ向けもある。
なるほどー!
スマホ向けのは単純なターンテーブル機能だけですが、カメラを使ったものだとラインレーザーとカメラでレーザーを読み込む訳ですね。三角測量で凹凸面を読むと、ふむふむ
レーザー式スキャナの仕組みを纏めてみました↓
けど制御している基盤は見た事無いぞコレなんだろ?って調べてみると3Dプリンタープロジェクトでなじみ深いRepRapから3Dスキャナー「CowTech Ciclop」というオープンソースなプロジェクトだそうで、3Dプリンターと専用Auduinoシールドを利用して約1万円で完成できるというものだそうです。
Ciclop - Building Instructions
時間はかかるがすげぇ精度だなこれ。
Ciclop Desktop Laser 3D Scanner test and review
しかし1万円で3Dスキャナって安いのはわかるけど3Dプリンターありきなのと、Auduino専用シールドをわざわざ購入するとかいろいろ面倒だな・・・出来たら手持ちの部品だけで完結させたい。
・・・[2019.04 追記]3Dプリンタ使わなくても1万程度でキットとして売ってるのを発見!
↓
(これ書いた時点では無かったんです。)
他を当たると、おおー!YouTubeで制御専用基盤の不要なラズパイを使ったものをハッケン!
ラズパイバージョンを調べてみましたらこれもオープンソースの3Dスキャナとの情報が!!しかも2015年て!ラズパイは性能の低い初期モデルでも動くようです。
操作インターフェースはブラウザ操作だということなのでPCだけでなくタブレットやスマホからでも使えそうです。これならWi-Fiで繋げば無線で遠隔操作が可能です。
これは「FreeLSS」というプロジェクトだそうで、ソフトウェア、3Dモデル、回路図はこちらで全て手に入ります。
FreeLSS: The Free 3D Printable Laser Scanning System For the Raspberry Pi
動作の様子はこんな感じ。テクスチャは無しなようですね(ありました)。
3Dモデリングにはテクスチャはむしろ必要無いですから無くてもOKですね。
Pi2とか3だとさらに高速に動くのかな?設定次第?
Piclop (Raspberry Pi 2 + FreeLSS version of BQ Ciclop) 3d laser scanner in action
ラズパイに繋げる基盤に乗る部品はA4988というステッピングモータードライバーとULN2003Aというダートリントランジスタアレイ、あと数種の抵抗と電解コンデンサだけ。
A4988は3Dプリンターブームの影響もあってか爆安で売られています。
・ステッピングモータドライバーへの制御信号は基本的にENAとSTEPとDIRの3本だけ繋げばOK。
ENAはドライバー電流の全体ONかOFFかの制御信号
STEPは1パルスごとに1ステップ回転させるための信号
DIRは正転逆転信号
・電源は制御用とモーター用の2系統必用です。
VMOTはモーターへ送りたい電源電圧(12V)
VDDは制御用5V電源
GNDは共用でも、別々でも可
・モーターへの出力は1相ずつコイルへ出力します。
1A-1Bはステッピングモータの1相目コイルへ
2A-2Bはステッピングモータの2相目コイルへ
トランジスタアレイは、2個のレーザー制御だけなのでアレイをわざわざ買わなくても単純な2SC1815のような安価なトランジスタで置き換えれます。
※ダートリンとはダートリン回路っていうトランジスタを多段にしたものです。小電力で大電力を動かすための構造。
トランジスタアレイは内部でそれを複数搭載して1つの電子部品としてあるだけなので、要するにトランジスタでダートリン回路を2つ用意するだけでOKです。
基盤への接続図を見ると
電源5VとGNDにそれぞれ赤と黒で2本づつ。(誤って断線したときの対策?)
18ピンがモータドライバーのEN
27ピンがモータドライバーのSTEP
22ピンがモータドライバーのDIR
17ピンがレーザー1
23ピンがレーザー2
の制御ですね。単純。
動作部分に使う部品はラインレーザーモジュールとステッピングモーター。
ラインレーザーモジュールは2つ必用です。LEDに比べると高価ですが、
↓こちらの車用の「レーザーバックフォグ」という商品、Amazonでもタイミング次第ですがバカみたいな安値で売ってることがありますので要チェック!「レーザー フォグ」で検索すると良いです。こちらもラインレーザーですので使えるハズ。
ステッピングモーターは4線のバイポーラ式のものを選びましょう。
3Dプリンターと違って一方向のテーブルの回転だけなのでパワーもそんなに必用じゃないのでもしかしたら小型のギアードモーターでもいけるんじゃないかな?とも思いますが・・・どーなんだろ?
追記(出来るっちゃ出来るけど、精度と回転数の不正確さからお勧めはしません)
今回はこのぐらいで、一応回路も構造も判明したしソフトもダウンロード出来るようなので家に余っている部品で時間があったら作成してみたいと思います。
とりあえず余ってるラズパイにFreeLSSをインストールしてブラウザで見てみることにします。
<追記>実際に3Dスキャナー自作しました↓
番外編として、Arduinoでオリジナル3Dスキャナー作ってる人がいますね。
Homemade Arduino based 3D Scanner Demonstration
なるほど、レーザーポインターで距離測定して点群として記録しまくるんですね。すごい根性を感じます!
ちなみに、この室内のスキャンのようにレーザーと受光素子がグルグル回ってスキャニングするモジュールは現在の自動運転カー技術に取り入れられていて「LIDAR」と呼ばれている高価な部品です。言わばレーダーのレーザー版。
LIDARモジュールはamazonでも売っています。
Lidarのレーザーは人体には無害だそうですが、高性能なカメラを壊すこともあるようですので自動運転カーにカメラを向ける時は要注意ですよ!
<参考>
自動運転車のレーザー、デジカメのセンサーを破壊。23万のα7R IIが台無しに | ギズモード・ジャパン
「ステッピングモーターを使うなんてなんだか難しそう」と思われた方は、
こちらにステッピングモーターの原理と制御の基本を纏めていますので一度ご覧ください。↓