DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

どうやら3Dスキャナーって自作できるらしい

以前にスマホのカメラで使える3Dスキャナアプリを使ってみました。 

dreamerdream.hateblo.jp

 

「すげー!」と思ったものの、テクスチャで誤魔化されている部分もあり、VRやARに取り込むには良いのだろうけどやはり精密な3Dモデルとして取り込む機能としてはイマイチだと感じました。

そこで、3Dスキャナを手に入れる方法を模索していると「自作」という手段もあることに気が付きました。

 

PCのソフトウェアでこんなのがあります。いいなー、コレ!

www.david-laserscanner.jp

高っ!!こちら、なんとカメラとラインレーザーだけでモデルを取得出来る優れもの!

昔(12年前)は無料提供されていたソフトウェアらしいのですが・・・現在無料のものは見つかりませんでした・・・残念っ

www.popxpop.com

 

しかし実はThingiverseサイトで商品としては高価なターンテーブル式のものがガッツリ公開されているのでした。

www.thingiverse.com

スマホ向けもある。

www.thingiverse.com

なるほどー!

スマホ向けのは単純なターンテーブル機能だけですが、カメラを使ったものだとラインレーザーとカメラでレーザーを読み込む訳ですね。三角測量で凹凸面を読むと、ふむふむ

けど制御している基盤は見た事無いぞコレなんだろ?って調べてみると3Dプリンタープロジェクトでなじみ深いRepRapから3Dスキャナー「CowTech Ciclop」というオープンソースなプロジェクトだそうで、専用Auduinoシールドを利用して約1万円で完成できるというものだそうです。


Ciclop - Building Instructions

時間はかかるがすげぇ精度だなこれ。


Ciclop Desktop Laser 3D Scanner test and review

 

しかし安いのはわかるけどAuduino専用シールドの購入ってのが面倒だな・・・出来たら手持ちの部品だけで簡潔させたい。つーことで他を当たると、おおー!YouTubeでラズパイを使ったものをハッケン!


FreeLSS Skull Scan

 

ていうことでラズパイバージョンを調べてみましたらこれもオープンソースの3Dスキャナとの情報が!!しかも2015年て!ラズパイは初期モデルで動くようです。

操作インターフェースはブラウザ操作だということなのでPCだけでなくタブレットスマホからでも使えそうです。

fabcross.jp

これは「FreeLSS」というプロジェクトだそうで、ソフトウェア、3Dモデル、回路図はこちらで全て手に入ります。

FreeLSS: The Free 3D Printable Laser Scanning System For the Raspberry Pi


ATLAS 3D Assembly Video

 

 動作の様子はこんな感じ。テクスチャは無しなようですね。モデリングにはむしろ必要無いよね。


FREELSS 3D Scanner

Pi2だとさらに高速に動くのかな?設定次第?


Piclop (Raspberry Pi 2 + FreeLSS version of BQ Ciclop) 3d laser scanner in action

 

 

ラズパイに繋げる基盤部品はA4988というステッピングモータードライバーとULN2003Aというダートリントランジスタアレイ、あと数種の抵抗と電解コンデンサだけ。

A4988は3Dプリンターブームの影響もあってか爆安で売られています。

・制御信号は基本的にENAとSTEPとDIRだけでOK。

ENAはドライバー電流の全体ONかOFFかの制御信号

STEPは1パルスごとに1ステップ回転させるための信号

DIRは正転逆転信号

・電源は制御用とモーター用の2系統必用です。

VMOTはモーターへ送りたい電源電圧(12V)

VDDは制御用5V電源

GNDは共用でも、別々でも可

・モーターへの出力は1相ずつコイルへ出力します。

1A-1Bはステッピングモータの1相目コイルへ

2A-2Bはステッピングモータの2相目コイルへ

f:id:DreamerDream:20180719112257p:plain

 

 

トランジスタアレイは、2個のレーザー制御だけなのでアレイをわざわざ買わなくても単純な2SC1815のようなトランジスタで置き換えれると思うんですけどね。 

ダートリンとはダートリン回路っていうトランジスタを多段にしたものです。小電力で大電力を動かすための構造。

ダーリントントランジスタ

それを複数搭載したアレイとしてあるだけ。

f:id:DreamerDream:20180719112240p:plain

 

基盤への接続図を見ると

f:id:DreamerDream:20180719120025p:plain

電源5VとGNDにそれぞれ赤と黒で2本づつ。(誤って断線したときの対策?)

18ピンがモータドライバーのEN

27ピンがモータドライバーのSTEP

22ピンがモータドライバーのDIR

17ピンがレーザー1

23ピンがレーザー2

 の制御ですね。単純。

 

 

動作部品はラインレーザーモジュールとステッピングモーター

ラインレーザーモジュールは2つ必用です。LEDに比べると高価ですが、

↓こちらの車用の「レーザーバックフォグ」という商品、タイミング次第ですがメルカリで500円台とかバカみたいな安値で売ってることがありますので要チェック!「レーザー フォグ」で検索すると良いです。こちらもラインレーザーですので使えるハズ。

 

ステッピングモーターは4線のバイポーラ式のものを選びましょう。

3Dプリンターと違って一方向のテーブルの回転だけなのでパワーもそんなに必用じゃないのでもしかしたら小型のギアードモーターでもいけるんじゃないかな?とも思いますが・・・どーなんだろ?

 

 

今回はこのぐらいで、一応回路も構造も判明したしソフトもダウンロード出来るようなので家に余っている部品で時間があったら作成してみたいと思います。

とりあえず余ってるラズパイにFreeLSSをインストールしてブラウザで見てみることにします。

 

 

 

番外編として、Arduinoでオリジナル3Dスキャナー作ってる人がいますね。


Homemade Arduino based 3D Scanner Demonstration


Arduino 3D-Scanner


Home made 3D laser scanner

なるほど、レーザーポインターで距離測定して点群として記録しまくるんですね。すごい根性を感じます!

ちなみに、この室内のスキャンのようにレーザーと受光素子がグルグル回ってスキャニングするモジュールは現在の自動運転カー技術に取り入れられていて「LIDAR」と呼ばれている高価な部品です。言わばレーダーのレーザー版。


Visualization of LIDAR data

LIDARモジュールはamazonでも売っています。