DreamerDreamのブログ

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

3Dスキャンの方式いろいろ

3Dプリンターと同じように3Dスキャナも発展途中の技術ですので「これがカンペキ!」といったものは無く、スキャンにも様々な方法があります。

f:id:DreamerDream:20190115094725p:plain

 

 

 

<ストラクチャードライト>

3Dスキャンの際に一定のパターンの光を照射して距離を計測する3Dスキャン方法です。


Ajile Color 3D Scanning

 

iPhoneXにフロントカメラとして搭載されているTrueDepthカメラもこの方法で奥行きを取得しています。


iPhone X TrueDepth camera video from apple

 

TrueDepthカメラ作動中に赤外線カメラで見るとストラクチャードライトが見えます。なんと3万以上の赤外線ドットを照射しているようですが赤外線なので見えません。


Using An Infrared Camera To Show How Face ID Works

  

<ToF>

Time of Flightと呼ばれる方式で、一定周波数の信号を光(赤外線)に乗せて照射して帰ってくるまでの時間を計測する方法です。

モジュールとしては1点のみ計測できるものと、

ToFカメラとしてモジュール化されたものがあります。

かなり精度の良いスキャンが出来るようで、時期iPhoneに搭載か?と噂されましたが、スマホに搭載するにはまだ技術的に早いようで見送られています。

 

<レーザー>

ラインレーザーによる深度の計測方法で、レーザー以外特別な装置を必用としないため自作の3Dスキャナによく使われる方法です。

dreamerdream.hateblo.jp

 

<複数台のカメラ>

カメラを2つ使って得られた画像から3D化する方法です。


Instant 3D Photography (Extended teaser)

 

複数台のカメラで3D化する方法(設備)です。

 
This Device Can 3D-Scan Your Body In 0.1 Seconds

 

<カメラ1台と背景マップ>

こちらの3Dスキャンアプリはスマホのカメラを利用したもので、スキャンする対象物をスキャン用マップの上に載せるという方法でスキャンします。

dreamerdream.hateblo.jp

 

 

 

一言で3Dスキャンといっても色々な方法がありますね。

実際にAmazonで購入可能な3Dスキャナは↓を参考にどうぞ

dreamerdream.hateblo.jp

 

人気のある3Dプリンター、おすすめランキング

2019年、新年あけましておめでとうございます。

 

2018年にこのブログから商品を辿って購入された3Dプリンターのランキングをご紹介します。 

f:id:DreamerDream:20190111141503p:plain





個人ブログのリンクですから数は多く出ていないのですが、それでも沢山の方から支持されて購入されている3Dプリンターはメンテナンス情報も含め、トラブル時のメーカーサポートや会社の存続にも希望が持てますので購入の参考になると思います。

 

このブログで紹介しているAmazonのリンクをクリックしていただくと24時間内なら最終的にどの商品が購入されたかのレポートが見れる仕組みになっています。(どこの誰が購入したか等は解りません)

そのレポート記録から地道に3Dプリンターの商品URLをエクセルに転写して

f:id:DreamerDream:20190111093132p:plain

頑張って集計しました。

f:id:DreamerDream:20190111093153p:plain

 

結果です。

 

 

栄えある第1位

5台購入されたコチラの商品!

55件のレビューで評価が4.3と非常に評価の良い商品です。

50%を超える☆5評価!

サポート体制が好評のようで「これなら安心だろう」と購入された方が多いように見受けられます。

49,999円と5万を切る価格ながら金属ボディーというのも素晴らしい!剛性が期待できます!

剛性があるということは、スピードのあるプリントが期待できます。(↓過去記事参考)

dreamerdream.hateblo.jp

 

 

2位(実質1位?)

4台購入されているコチラ

価格は執筆時点では在庫切れのため見えませんでした。

90%超えの文句無し☆5評価が付いています。

QIDIの3Dプリンターは最新モデルのこちらだけでなく、複数の改良モデルが出ており、そのどれもが購入されておりますので実質1位としても良いと思われる商品です。

ボックス型の金属製フレームは外気温の影響から造形物を守り本体剛性を兼ね備えているためプリント物の精度に期待が持てます。

こちらもサポート体勢にかなり高評価です!

お金が許されれば僕も欲しい一品

 

 

3位

3位の3台購入されているものは5台あります。

26,099円のこちら組み立て式のアクリル製3Dプリンター!

エントリーモデルとしては文句無しの低価格商品で、サポートも好評です。61件のレビュー数があるように使用者が多いので、組み立て式で情報が多いのは嬉しいですね。

 

 

残念ながらリンクイメージがありませんが、箱形金属筐体であり、3Dプリンターとしても、レーザー彫刻機としても使えるという欲張り仕様で83,900円!

サポート体勢が良く、ユーザーとの距離感が近いことに好評を持てるというレビューもあります。

 

アクリルとアルミを用いた筐体で23,580円と価格を抑えながらも精度も求め、モーターなども地道に改良するといったメーカー側の努力が見て取れます。

売りっぱなしではなく、サポートも好評のようです。

低価格ながら機能も申し分無い商品です。

 

 

2位のQIDIシリーズのデュアルヘッドモデル。

89,900円と9万以下で金属フレームにデュアルヘッド仕様という素晴らしい仕様です。

デュアルヘッドの魅力は2種類のフィラメントを出力できるので水溶性サポート材を使った精度の高い出力が出来ることです。

QIDIのモデルをリピートで複数購入されている方からのレビューもあるように精度は申し分無い製品のようです。

 

 

アルミ合金のフレーム型22,999円のこちらの組み立て式モデル。

いろいろ自分で弄りたい人には良い商品でしょう。

マニュアルが解り辛いというレビューもあります。

 

 

4位

4位の2台購入商品は4台あります

 

オシャレなオフィスに似合いそうな可愛いモデルの静音設計

レビュー数は37件と多めですが、サポートは音信不通という不安要素もあります。

 

アクリル製の組み立て式

良くも悪くも、まあお値段相当というレビュー評価です。

僕は同じ組み立てモデルであれば3位でご紹介している商品の方に好感が持てます。

 

デルタ式の低価格モデル。

基盤やらリールが上に載った型なのでバランスに不安があります。

レビューでは☆1も多く、サポートもあまり良く無い印象。

 

金属フレームに強化ガラスベッドの低価格組み立て式モデル。

当たり外れが大きいようですが、自作好きやカスタム好きの人には好評です。

 

その他

1台だけ購入された商品

                

 

 

読者の皆様が良い商品に出逢えますよう、また来年も2019年の統計を取って発表してみたいので是非こちらのブログ内の商品リンクを一度クリックして商品を購入してください。

ご協力よろしくお願い致します。

 

 

dreamerdream.hateblo.jp

 

あなたはCMに騙されない自信がありますか? CMによるイメージ戦略とは

イメージ戦略は「消費者に勝手に商品が良いように思わせる戦略」です。

CMにより、我々が勝手に思い込まされて買っているであろう商品をいくつかピックアップしてみます。

f:id:DreamerDream:20181228152706p:plain

 

このページを見終えた後には少しTVのCMの見方が変わりますよ。

 

 

 

サイクロン式掃除機


2006年CM ダイソン 吸引力の変わらない、ただひとつの掃除機

 以前、ダイソンの掃除機について書きました。

dreamerdream.hateblo.jp

ダイソン掃除機のCMは「吸引力が変わらない」「他のどの掃除機よりも確実にゴミを吸い取ります」という文句をCM注意入れています。

「吸引力が変わらない」の秘密は上のブログの通りです。

「他のどの掃除機よりも確実に」の根拠となる比較メーカーのデータは公開されていませんし「他のどの<<対象条件>>掃除機」という大事な一文を含んでいないので「嘘」とも言えません。

これらのイメージCMで消費者は「じゃあ吸引力が強いんだ!」と勝手にイメージさせられています。

 

 

サプリメントのCM

サプリメントはイメージ戦略のとても強い商品です。

「医薬品」ではなくあくまで栄養補助「食品」として売らなければいけませんのであの手この手用いられています。多くは「体験談」として場合によってはタレントを起用して「あくまで個人的な意見ですよ」というのが上等手段です。

その他にも以下のような手法があります。

例1)ブルーベリーアイ


【わかさ生活】ブルブルくん&アイアイちゃんのブルーベリーアイCM全集【全22種】

こちら、ブルーベリーのキャラクターが可愛いCMです。

さてこのCMの中でブルーベリーの効能は出て来るでしょうか?

答えは「いいえ」です。「うそ?」と思うかもしれませんが、もしCMに体験談ではなく効能が出て来ていたらそれは薬事法違反です。

目の大きなブルーベリーのキャラクターによって目力を強調したものですが、CMの中では一言も「目に良い」とか「目が良くなる」とは言っていません薬事法に引っかかるので言ってはイケナイのです。

サプリの中のアントシアニンの含有量は出て来ますがそれだけです。アントシアニンは目の細胞の中でも「明暗」に反応するロドプシンという物質に関わるものですから夜目が効きやすくなるのは確かですが、だからといって決して日常で見るための目が良くなるということはありません。 

我々が常識的に知っている目が良くなる=ブルーベリーというイメージを巧みに使ったCMです。

 

例2)グルコサミン


世田谷自然食品『グルコサミン+コンドロイチン』 CM 【舞の海】 2013/03

舞の海さんもぐるぐる体操」

はい、体操しているだけです。

これも「グルコサミン=膝に良い」という消費者の勝手なイメージを利用しただけのCMです。

グルコサミンは膝の軟骨を形成する元となる物質だけど体内ではブドウ糖から合成されるものですので、経口摂取すると一旦ブドウ糖まで分解され再び軟骨合成されないと使えないのです。実際どの程度膝の軟骨になるかと問われると答えられる人は居ないでしょう。「世田谷生まれの・・・」グルコサミンがどこで生まれようが関係無いです。

 

 

 ③低反発寝具


スリープテクノロジー™ 体圧分散

これも一時期流行りましたね。

不思議な低反発素材を使ったもので、なんとあのNASAが開発した素材です!

NASAが開発した」と聞くと消費者は「なんかすごそう!効果がありそう!」という勝手なイメージを抱きますよね。

低反発素材はNASA宇宙飛行士を宇宙船の衝撃から守るために開発した素材であって寝具用ではありません。

 

④栄養ドリンク


'79-89 栄養ドリンクCM集 リポビタンD

リポビタンDといえば「タウリン1000mg配合」ですよね。

よく考えてみてください。この1000mgって多いですか?少ないですか?

タウリンは人体で合成され、体重60Kgの人の場合約60g体内に存在するとされています。

1000mgって、単位を変えれば1gです。

タウリン1g配合」と書かれていたら凄そうに聞こえませんよね?これは凄そうに聞こえる数字のマジックです。

 

CMは嘘?

ここまでご覧になられた方は

「CMで嘘なんか出したらアウトなんじゃないの?」

という疑問が出て来ると思います。

極端に言えば「イメージです」や「個人の感想です」という一文をどこかに入れれば良いことになっています。

コーヒーに入れるフレッシュもCMでは木工ボンドが使われていましたし、ホイップリクームはシェービングジェル、グラスに食器用洗剤を入れてビールの泡立ちを良く見せる。パンケーキには防水スプレーでシロップが染み込まないようにする。

「フードコーディネーター」によるこういった手法はありとあらゆるCMに取り入れられています。

ですので、結論として「CMに嘘はあたりまえ」と覚えておきましょう。

 

小学生でもわかる!3Dスキャナーのしくみ

「3Dスキャナー」どうして物体の形状が3Dで取得できるのか不思議ですよね?

構造や理論が何やら難しそうと受け取られる方もあるでしょうけれど、回転テーブルとラインレーザーを使った3Dスキャナーの構造を数字や難しい用語を使わずに、出来るだけ易しく頭でイメージしていただけるように纏めてみました。

このような形式の3Dスキャナーが対象です↓

dreamerdream.hateblo.jp

 

3Dスキャナーに対する子供からの質問に困ったときにご活用ください。

 

図はレーザーポインターの光の通過点を赤色とし、回転テーブルが黒色で表しています。

何も無い状態を真上から見た図と、下段にはカメラを通して見た回転テーブルの図を書いています。

f:id:DreamerDream:20181221132324p:plain

 

 

まず、この回転テーブルにスキャン対象物を置くと、レーザーが対象物に遮られ、対象物のレーザーが当たった点が反射して距離が解るのです。

下段の図では対象物は除外して、レーザーを認識した点のみをデータとして記録しています。

f:id:DreamerDream:20181221132338p:plain

何故距離が解るのかといいますと、何も無い状態であれば青色十字を超えてレーザーが走っていたのに対し、対象物がある場合は十字の手前でレーザーが遮られています。

遮られた点はレーザーの「反射」という型でカメラで認識できるので、ポイントとして記録することが出来ます。テーブルにポイントとして記録しています。

 

 

レーザーポインターは同じ位置のまま、テーブルと、先ほど記録したポイントを半時計回りに少し回転させて同じように点を記録します。

f:id:DreamerDream:20181221132347p:plain

すると、先ほどの点とズレた新しいポイントを記録することが出来ます。

4回、回転させて計5点記録するとこんな感じです。

f:id:DreamerDream:20181221132356p:plain

ポイントがどんどんズレてズラーっと並んでいますね。

 

ドンドン回転させて記録点を残して、半分回転させたぐらいのところで止めてみます。

f:id:DreamerDream:20181221132406p:plain

この記録データの軌跡を見ると「角」のある対象物であることが解りますね。

 

 

このように、レーザーポインターがあれば1点ずつポイントを記録することができ、回転テーブルで回転させることで物体の形状をある程度把握することが出来るということが解りました。

 

 

さて、今まで記録していたのは「平面」です。

これを「立体」にするにはどうすれば良いでしょうか?考えてみましょう。

 

答えは簡単!

レーザーポインターの数を上下に増やせば良いのです!

 

いくつかのレーザーポインター、もしくは1つのレーザーポインターを上下に移動させて平面と同じように一層ずつ記録して、各層を重ねるとこのように記録されます。

どうです?積み重ねられると立体に見えますよね?

f:id:DreamerDream:20181221132416p:plain

実際に、1つの測定ポイントを上下移動させ、平面として記録して3Dスキャナーを作成した人のムービーがあります。


Arduino 3D-Scanner

↑この作品はカメラではなく恐らくToFセンサーを使ったものでしょう。

 

 

レーザーポインターを無数に増やしたのが「ラインレーザー」です。

ラインレーザーは1つのレーザーをレンズにより1つのラインとして照射しているためある意味では無数の上下に積まれたレーザーポインターを照射しているのと同じです。

記録できる層の数はカメラの性能に依存します。大きな画像で取り込めればそれだけ層が細かく記録されます。

f:id:DreamerDream:20181221132426p:plain

回転テーブルとレーザーを使った3Dスキャナーではこのようにラインレーザーを対象物で反射させ、カメラで各反射ポイントをデータとして記録して3Dモデルを作り上げているのです。


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

 

ですのでカメラとラインレーザーポインターの精度、対象物の反射率や透過率が重要な要素になるのです。

dreamerdream.hateblo.jp

 

3Dスキャナーを自作する ⑤取得データの編集

自作3Dスキャナで取得したデータは、さほど精度がよくありませんでした。 

dreamerdream.hateblo.jp

 

 

しかし、同じレーザー方式の3Dスキャナであれば結局どの機種でも同様にレーザーの反射しない箇所には穴が開きます。

 

例えば、こちらの2013年17万強で出ているスキャナー↓

を実際に使ってみたという記事ですが、

https://weekly.ascii.jp/elem/000/000/187/187238/

https://weekly.ascii.jp/elem/000/000/187/187230/131126_wamp_mbd_img13_cs1e1_480x.png

やはりレーザーの届かない場所の抜け、黒色部分の不検出になります。

しかし表面はかなり滑らかにスキャン出来ているように見えます。「さすが10万超のマシン!」と思うことでしょう。

しかしレーザーでスキャンしたままのデータを元にソフト側で表面を滑らかに加工しているようにも見えます。

 

ということで、今回作った自作3Dスキャナーでもソフトで同程度の滑らかさが出せるのか?表面加工をしてみたいと思います。 

 

編集ソフトはフリーでオープンソースな「MeshLab」を利用します。

↓HP

MeshLab

MeshLabは1から3Dモデルを作り上げる事はできませんが、3Dメッシュデータの編集やファイルタイプの変換などが出来る便利なツールです。

 

モデルは体操ブーブー。

f:id:DreamerDream:20181218085430p:plain

amazonで普通に売られています。

 

スキャニング中....

f:id:DreamerDream:20181218085444p:plain

 

スキャン完了!表面キレーですねー。レーザーの検出出来なかった頭には穴が・・

f:id:DreamerDream:20181218085500p:plain

 

これをMeshLabで開くと

f:id:DreamerDream:20181218090348p:plain

あれ?あれ?表面がボコボコです。

 

 

なぜ、そういうふうに見えるかというと

実は3Dオブジェクトにはテクスチャという画像データが貼られています。

テクスチャが貼られていると、一見綺麗に見えるだけなのです。

VRとかだとそのまま使えるようなデータですが3Dプリントするのには難があります。

Blenderのテクスチャモードで開く)

f:id:DreamerDream:20181218134612p:plain

テクスチャを外してソリッドモデルで表すとこうなります↓

f:id:DreamerDream:20181218134626p:plain

ワイヤーフレームで表すと、各点が見えないぐらいぎっちりと詰まっています。↓逆にこの精度でスキャン出来ている事に驚きます。

f:id:DreamerDream:20181218134636p:plain

 

 

このデータを簡単にMeshLabで滑らかにしてみます。

方法は参考ページに載っている通りスムーズ化するだけです。

<参考>MeshLab(Smoothing) - PointCloud

 

結果

f:id:DreamerDream:20181218085524p:plain

かなーり表面が綺麗になりました。

 

先ほどのBlenderのソリッドモデルで見てもツルツルしています↓

f:id:DreamerDream:20181218135525p:plain

 

では?穴はどうやって塞ぎましょう?

MeshLabにはRemeshingという点群からソリッドを構築し直してくれる便利な機能があります。

<参考>MeshLabによる、3次元測定データの穴埋め - みたにっき@はてな

f:id:DreamerDream:20181218141816p:plain

 こんな感じ。灰色の部分が再構築されたソリッドです。凸凹も埋められています。

f:id:DreamerDream:20181218141906p:plain

すばらしい!これなら少し要らないところを削るだけで3Dプリンタでも出力できそうです。先ほどのスムーズ化と組み合わせると表面ツルツルになります。

 

実際には何回スキャンするかとか、スキャンの方向、スキャン時の環境、ソフトでどう平均値を取るかとかメーカー物にはノウハウが詰まっているので一丸に同程度とは言えませんがお手製のマシンでも工夫次第で近い結果を出す事が可能になるのです。

あとは精度を出す為にいろんな方向からスキャンして合成するという方法もあります。

高価なスキャナーはスキャナー自体の能力だけでなく、こういったソフトウェア側での穴埋め作業などを自動化してあったりと素人でも使いやすくしてあるようです。 

dreamerdream.hateblo.jp

僕の3Dスキャナの用途としては工作パーツの位置決めやカバーの作成など、おおよその位置関係とカーブ程度が解ればそれを参考にblenderでデータを作り直すので今回の自作3Dスキャナーでも充分な性能だと満足しています。

しかし、フィギュアの完全コピー等を目的とするなら到底満足出来ない結果だと思います。 

 

どんな方法にしろ3Dスキャナーで取得したデータを無加工で3Dプリンターで出力できるようなスキャニングは現実的にはほぼ不可能と思われますので3Dプリンター出力を目指すのであれば3Dモデリングツールを触れるようにしましょう。 

dreamerdream.hateblo.jp

 

全5回に渡り3Dスキャナーの自作、実践をしてみました。お付き合いありがとうございました。

精度はともかく、作るだけなら結構簡単な材料で出来ますので是非一度試してみてください。

3Dスキャナーを自作する ④調整する

前回、とりあえず出来たので動作させましたが結果があまり思わしくありませんでした。

dreamerdream.hateblo.jp

 

まあ何でも一発で完成なんてこたぁ無いですよね^^;

気を取り直して調整出来るとこを調整します。

 

まずはFreeLSSのSettingsメニューからレーザー、カメラの距離をきちんと調整します。

 (記事下の方に設定方法の解りにくかった箇所を記します。)

カメラやレーザーの位置がおかしいと当然出来る図もおかしくなります。

ちなみに、FreeLSSのXYZ軸方向は3Dプリンターのそれとは異なる事に注意です。

3DプリンターのXY軸方向は真上から見下ろした状態で、高さがZ軸ですが、FreeLSSのXY方向はカメラを通して左右がX軸、上下がY軸、奥行きがZ軸です。

原点は回転台の中心と考えます。

f:id:DreamerDream:20181214133443p:plain

 

Settingメニューでこの辺がごっちゃになると軽くパニックですので図示しておきます。

 

その他調整中にいろいろと気付くことがありました。

・取得するファイルを.stlから.plyへ変更しました。

3Dプリンター出力に適した.stlファイルですが色情報が無いので何を取得しているのか解り辛いのです。.ply形式は色情報が反映されるので変なデータであってもどこが壁だとか物体だとかが解ります。

・背景と回転台を黒色である必用があります。

必ず必用という訳ではなさそうですが、その方がレーザー光と外光との判別がうまくいくようです。

 

 

スキャンは左右どちらか一個のレーザー、あるいは両方のレーザーを使った3パターンの検出が可能だそうです。

両方使った方が精度が良いだろう!と踏んで設定していたのですが実験的にレーザーを分けてみたところ、それが仇になってうまくスキャン出来ていなかったことに気が付きました。


FreeLSS実験2

左のレーザーでスキャンした場合

f:id:DreamerDream:20181212161404p:plain

うおっ!それっぽいの出来てるじゃんっ!!(なんか歪んでる気がするけど)

 

右のレーザーでスキャンした場合

f:id:DreamerDream:20181212161417p:plain

新種のキノコかな?

 

左のレーザーのほうが表面が綺麗に検出できています。

が、少し押しつぶされたようにも見えます。

右のレーザーでは凹み部分が上手く認識できていないようです。

全体の型は右の方が合っているように思います。

両方を合わせて比べると

f:id:DreamerDream:20181212161434p:plain

全然違います。んー、これではうまくいかないはずです。

 

ちなみに、両方のレーザーを使ったモードでスキャンしたものがこちら

f:id:DreamerDream:20181212161447p:plain

なんだこれ??

ちなみに、上の輪っかはどうやら壁をスキャンした結果のようです。

 

とりあえず結果の良かった左のレーザーで他のものもスキャン実験することにします。

コーヒーカップのスキャン

FreeLSS実験3

 

そうそう、取手が取れた方が収納は楽だよねー!っておいっ!!

f:id:DreamerDream:20181212161609p:plain

取手が勝手に取れました!

 

いろいろスキャンして調整してみて解った事が1つあります

どうやらカメラの水平がとれていない!

ということです。

 

カメラのマウントを適当なアルミ板にしていたので細かな修正が効きません。

f:id:DreamerDream:20181214101606p:plain

仕方ないので3Dプリンターで微調整の出来る部品を作って改良することにしました。

f:id:DreamerDream:20181214133819p:plain

 

 

各軸の設定の方法です

※注意 (以下、設定項目で日本語表示されているところはGoogleブラウザの自動翻訳によるもので、実際は英語です。)

例えばカメラのY軸(回転台からカメラまでの高さ)を90mmに設定した場合

f:id:DreamerDream:20181213120338p:plain

カメラのガイドを通してみるとこのように見えます。

赤い十字を参考に垂直、水平が調整できます。

しかし、これでは回転台の中心位置が解りません。

f:id:DreamerDream:20181213120315p:plain

 

カメラの高さを75mmに設定してみますと

f:id:DreamerDream:20181213120405p:plain

見えますか?

f:id:DreamerDream:20181213120417p:plain

垂直の赤ラインの下の方にちょこっと水平の赤ラインが出ています。 

ここが回転台の中心になるようにカメラを合わせるようです。

 

f:id:DreamerDream:20181214120147p:plain

綺麗に調整できました。

 

レーザーとカメラ位置の設定はX軸とZ軸で行なうようです。

レーザーとカメラのZ軸は固定、つまり同じ位置に設定する必用があります。どこに合わすのかといいますと↓

https://lh3.googleusercontent.com/-AQEzip0HUfg/VOS27ldH5ZI/AAAAAAAAAAk/MBF1XBgq9xo/w770-h491-no/Locations.png

要はレーザー角度の問題なので実際にはカメラ手前でも奥でも問題無いようです。

カメラの中心軸から見てレーザーの延長線上の点をレーザーの距離Xとして設定します。

注意点として、右レーザーは「160mm」等と設定しますが、左レーザーは「-160mm」と、マイナス値になるということです。(僕はここの設定ミスしてきちんと像が作れずに悩みました。)

 

 

レーザー光はレーザーモジュールの適切な位置を指定した後、キャリブレーション設定することで適切なラインを読むことができるようです。

f:id:DreamerDream:20181213120501p:plain

方法ですが、公開されているデータの中のキャリブレーション用柄を印刷して垂直に立てます。

回転台の中心軸に置き、キャリブレーションボタンを押すだけです。

f:id:DreamerDream:20181213120519p:plain

成功です。

f:id:DreamerDream:20181213120448p:plain

 

とりあえず調整後のスキャン実行をしてみます。

左レーザーでスキャンした結果

f:id:DreamerDream:20181213125601p:plain

前のものと比べてみるとカメラの水平が取れたからでしょうか?しっかりと垂直になっています。

f:id:DreamerDream:20181213125633p:plain

右レーザーも、前よりは良い感じです。

f:id:DreamerDream:20181213125657p:plain

 さて、この切れ目は?

ひょっとしたら回転がうまくいっていないのかも?

 

立方体スキャンで実験してみます。

f:id:DreamerDream:20181214085914p:plain

 

ありゃりゃ。

f:id:DreamerDream:20181214085818p:plain

これは、物理的に360°回転していないにも係らず360°スキャンした結果ですね。

確認してみます。0°時点

f:id:DreamerDream:20181214085914p:plain

360°回転後

f:id:DreamerDream:20181214085926p:plain

ソフトウェア的な問題なのか物理的な問題なのかの切り分けが必用そうです。

 

モーター軸を確認してみますと

f:id:DreamerDream:20181214101527p:plain

オイルが染みてきています。

もしかしたらこれがプーリーを滑らしてしまったのかもしれません。

実験的にプーリーに傷を入れてみます。

f:id:DreamerDream:20181214101539p:plain

0°時点

f:id:DreamerDream:20181214101323p:plain

360°回転後

f:id:DreamerDream:20181214101332p:plain

ありゃ、今度は行き過ぎてしまってる?

とりあえずこのままスキャン

f:id:DreamerDream:20181214104854p:plain

あんれー?マシにはなってるけど完全じゃありません。360°回転し切れていません。

もしかしたら他にも原因があるかも、、360°回転で問題が無く、スキャン中に問題が出るということから、物理的な要因としてはプーリーにダイレクトに回転が伝わっていない可能性が考えられます。伝達が輪ゴムですから各ステップごとにイチイチ伸縮しているのかも?

ソフト的な要因としてはラズパイからモータードライバへ適切な信号が送られていないのかもしれません。

とりあえず物理的な方から攻めてみます。
輪ゴムプーリー式のものを

f:id:DreamerDream:20181215095932p:plain

ギア式に変えて

f:id:DreamerDream:20181215095943p:plain

ギアに換えると回転方向が逆になるのでモーターも逆回転が必用です。ステッピングモーターのDIR信号のLi/Loを切り替えると出来るのですが、そのような設定項目が無かったので物理的に切り替えます。

ステッピングモーターの場合、どちらかの層の一方の配線を入れ替えるだけです。

f:id:DreamerDream:20181215095955p:plain

写真の方向が違いますが、このようにすれば逆回転ができます。

f:id:DreamerDream:20181215100006p:plain

ステップモードも1/4モードから1/8モードへ変更

ステップ反応速度も脱調しないよう変更。

f:id:DreamerDream:20181215100240p:plain

テストで360°回転も無事に成功!

ギア式にして振動が大きくなったので検出物にも両面テープを貼付けました!

これで物理的要因は排除した!カンペキ!

いざ!スキャンしてみた結果

 

!!?

f:id:DreamerDream:20181215100359p:plain

見事な三角!!!
なんでやねんっ!!

 


そういえば、スキャン中に時々ステップの振動が飛んでる気がしました。
もしかしたらソフト側の問題でしょうか?

以下のようにいろいろと実験してみました。

 

実験1:とりあえず、ステッピングモーターのフルステップモード できちんと360°回転(120stepモーターをギア駆動、ギア比1:5なので600step)できるか試しました。

結果:問題無し!

 

実験2:フルステップのままスキャン実行しました。

結果:動かない!(うんともすんとも)

 

実験3:フルステップモードのまま倍の1200step指定で360°か回転するか試しました。

結果:当然2回転しました。

 

実験4:2回転すると予想しながら1200step指定のままスキャン実行しました。

結果:360°回転でキチンとスキャンできました!(???)

 

実験5:モータードライバ1/2ステップモードにして2400step指定でスキャンしました。

結果:4面体が6面体になりました。

 

実験6:実験5の結果を踏まえて1800step指定でスキャンしました。

結果:きちんと四角になりました!

f:id:DreamerDream:20181217143459p:plain

よくわかりませんが、原因はソフトウェア側の問題というか、勝手なモーターに変えたこちらのせいですがよく解らないなりに解決しました。

フルステップモードで1200step/360°か、1/2ステップモード1800step/360°指定でとりあえずスキャンできるようにはなりました。

最初のに比べると精度もすごくよくなっています。

f:id:DreamerDream:20181217145038p:plain

初っぱなでグチャグチャデータだった置き時計のスキャン

f:id:DreamerDream:20181217161142p:plain

ぐちゃぐちゃですが時計?らしきものは取得できているようです。

反射する材質+透明ガラス+黒色材質というスキャンには悪条件の揃ったテストには辛いオブジェでした。

 

まだまだ改善の余地はありますが今回は大まかな形状が取得できたので今回はこれでOKとします。

 

ちなみに、スキャン中にプビューすると黒い回転台にモデルが形成されていくのが見えます。これは地味に楽しいです。

f:id:DreamerDream:20181217143440p:plain

 

両方のレーザースキャンモードで左右のレーザーの位置の設定がおかしいと、このようにズレてスキャンされます。

f:id:DreamerDream:20181219153920p:plain

スキャンをプレビューで確認しながら微調整しましょう。

f:id:DreamerDream:20181219153931p:plain


 

実験の途中、ギア歯をヘリカルギアにアップデートしました。15mm+75mm

f:id:DreamerDream:20181217143807p:plain

こういうのをサクッと作れるのが3Dプリンターの良いところですよね。

dreamerdream.hateblo.jp

 

面倒なギアの作成はこちらのサイト↓を利用させていただきました。

Gear Model For 3D Printer

 

レーザーはレンズの精度が悪いのか、広がる傾向にあったため複数段のレンズをテープで塞ぎ1つに絞りました。レーザーは細い方が良さそうです。

安物のレーザーだからなのか、どうも最初から左右のレーザーの広がりが違うようで綺麗にスキャン出来る方だけ使うことにしました。

f:id:DreamerDream:20181217151457p:plain

 

 

 

 

今回は長くなりましたが、とりあえず無事に動いたので今のところ調子の良い設定値を備忘録として残します。

f:id:DreamerDream:20181219162431p:plain

f:id:DreamerDream:20181219162443p:plain

f:id:DreamerDream:20181219162453p:plain





 

動作の様子


FreeLSS実験4

 

マシン全体は電源含めこのような感じでまとまりました。

f:id:DreamerDream:20181219161945p:plain

<今後の課題>もっと精度を良くするために

・レーザーをもっと質の良い物(広がりの少ないもの)に変える。

・フルステップモードのままギアを足してステップ数を増やしてみる。 

・光沢のあるオブジェの検出が難しいので乱反射を防ぐ為に偏光板を利用してフィルターをかける。

・外光の影響も関係しそうなので暗室にしてLED照明を付ける。

・レーザー以外の赤色光線を除外する(カメラとラズパイの動作赤LED隠蔽、照明を青緑光のみにする)。

 

長くなりましたが・・・

<まとめ>今回の設定や実験で解ったこと。

・カメラレビューモードの360°回転が成功したからといって実スキャンで360°回転できるとは限らない!

・フルステップモードが一番精度良い。

・左レーザーのX軸設定は「−(マイナス)」値の指定をしましょう。

・レーザーは精度が良ければ1つで作れる。

・レーザーは精度の良い細いラインのものが望ましい。

・レーザー2つのモードだと互いのレーザー距離設定がシビア。

・レーザーは不検出エリアが増えるのでカメラからあまり離しすぎない方が良い。

・ギアードモーターは煩い。

・回転は一方向(半時計回りのみ)なのでギアードモーターでもバックラッシュの問題は起こらない。

・ラズパイ2でも3でもスキャンスピード自体はそんなに変わらない。

・レーザーのキャリブレーションはSettingsで指定したスキャンに使う側のレーザーのみに対して行なわれる。

・スキャン対象物は白色マット調の物が望ましい。

・黒色、反射する白色や金属、透明のものはスキャン困難。

・僕みたいにテキトーな材料で作ると後で調整が大変(あたりまえ)。

 

とりあえず今回取得したようなそのままでは使えないようなデータでも、例えば機械のパーツやスマホのケースを作る時には位置決めの参考になります。

3Dデータ取得後にソフトを使って表面処理をするともっと綺麗な3Dデータになります。

次回は、取得したデータの表面処理について触れます。

dreamerdream.hateblo.jp

 

3Dスキャナーを自作する ③筐体を作る

前回↓ 

dreamerdream.hateblo.jp

 

今回はスキャナの本体を作ります。

とはいっても通常の公開されているデータ通りに3Dプリンターで出力するだけでは面白くありませんから(おい)適当な廃材をフルに活用して作ります。

 

モーターにはギアードモーターを採用したので精度にかなり難があります。

ということでよりスムーズな回転と繊細なステップ角を目指してプーリーで回転比率を変えることにしました。

減速機構ですが、プーリーの比率は正直よく解らないし3Dプリンターでは精度に限界があるのでいろいろ作ってみることにします。トライ&エラーですね。

 

しかし、やってみると陶芸のロクロのようなスムーズな回転機構というのは工作で作るには非常に難しく、一度ベアリングを使って3Dプリンター部品試してみましたが調整が難しくあまりうまくいきませんでした。どうしても端っこが上下にフラフラしちゃう・・・。

ということで、今回は分解したHDDのモーター軸を利用することにしました。どのみち用途の無いモーターで一応取っておいたものでしたから再利用出来てよかったです。

f:id:DreamerDream:20181210154905p:plain

しっかり台座に固定するとこんな感じ。

あ、台座は前回の古いCD-RWドライブの筐体を利用します。天板が丁度フラットな形状なので使いやすそうです。

f:id:DreamerDream:20181210154915p:plain

CD-RWドライブの中にステッピングモーター用回路も問題無く収まりそうです。

固定は面倒なので、ショートだけしないようにマスキングテープ(雑!)

カメラとレーザーのマウントは、これまた古いプリンターの部品でラズパイはエナメル線で宙づりにしました(雑!v2)

f:id:DreamerDream:20181210154930p:plain

ちゃんとレーザーの固定位置は距離を測ってますので大丈夫(なはず)!

配線ぐちゃぐちゃですが本体が閉まれば見えないのでスッキリします(笑)

 

あと、このままじゃブラウザかSSH経由でしか電源が切れないので、接続が切れた時でも本体から電源を切れるようにラズパイのシャットダウンスイッチとプログラムを仕込みました。結構便利です。

<参考>過去記事

dreamerdream.hateblo.jp

カメラのマウントはこれまた適当なアルミ板で固定。

一応大まかな完成の図です。回転台はCDを採用することにしました。なんとCDの穴がHDD軸にピッタリなんです。こりゃいいや。

f:id:DreamerDream:20181212155523p:plain

この状態でワクワクの初スキャン実験です!


FreeLSS実験

 

STLファイルでデータを取得しましたら

f:id:DreamerDream:20181212155747p:plain

 

@□@!!!なっ!??

なんじゃこりゃー!!!???

 

やはり、一筋縄ではいかなさそうです。
次回、調整です。

dreamerdream.hateblo.jp