歯研歯車を使った3Dスキャナ精度比較
歯研歯車を使って3Dスキャナの精度を比較しました。
前置きが長いので比較結果だけ見たい人は目次から「試験結果」に飛んでください
はじめに
リバースエンジニアリングを目的に廉価な3Dスキャナーを購入してはオリジナルのベンチマークをして性能を独自に比較してきた。
例: https://note.com/hexcapbolt/n/n365331aa50f2
最近発売された機種は形状をかなり正確にとらえることができるようになった。なので次はエンジニアリングとして実践的で高精度なベンチマークを行いたい。
ここでいう「精度」とは小さな空間における寸法や形状の正確さのことで、ISO 10360-13/ JIS B 7440-13やVDI/VDE 2634に定められるような性質のものではありません。
ベンチマークで実現したいこと
1.再現可能であること
私自身がすべての3Dスキャナーを買ってベンチマークするわけにもいかないので、いざとなれば第三者が再現可能な試験手順であること望ましい。
2.趣味の範疇で実施可能であること
ベンチマークに必要な物品は、趣味の範疇で、一般に誰でも買える手段で、小遣いの範囲で収まる予算感が望ましい。
具体的には、これらの手段を排除したい。
①県の工業試験場で測定器を借りる(時間単価高い・平日限定)
②会社の設備を借りる(コネ必要・平日限定)
③高精度な治具を特注する(高価・機械系スキル必要)
3.0.01mm単位での比較が可能なこと
肌感として現在の個人向け低価格3Dスキャナーは0.1mm程度の精度であれば十分に実現できているように感じる。なので先の性能向上も見据えて0.01mm単位の比較ができるようにしたい。
ベンチマーク方法
結論から言うと、CloudCompareを使ってスキャンした点群とCADデータの距離から誤差成分を算出する。
本当はGeomagicとかGOMとか専用の商用ソフトが欲しいんだけど、ライセンス料が年間数百万円だからね・・・使用頻度もとても低いし・・・というわけでフリーソフトで代用します。
スキャン対象の用意
CADデータとスキャンデータを比較するにあたって、まずはCADデータと実物の誤差を限りなく小さくしなければならない。製造公差はμm単位であるべきだし、再現性を高めるため誰でも注文できる一般汎用品であるべき。
スキャン対象の選択肢は2つある。
①ブロックゲージ
製造精度はサブミクロンが保証されており文句無いが、、、高価だ。ゲージ本体が小さいとスキャンしづらいので、50mm以上の長さが欲しいがそれほど大きいブロックゲージは1万円を超える。
一部の3Dスキャナーはピン角が膨らむデータを生成する悪癖があるので、ブロックゲージのような扁平な物体をスキャンするのは避けたい。また、扁平な物体はスキャン中の追尾に失敗してスキャン自体が不可能になるリスクもある。
また趣味的な観点で見ると、ブロックゲージは形状が面白くないので3Dスキャンする楽しみが無い。
②歯研歯車
KHKが歯研歯車を一般に販売している。5000円程度でスキャンしやすい手ごろな大きなのものが手に入る。
例えば、モノタロウで販売されている。 https://www.monotaro.com/g/00130835/
歯車の精度は新JISのN7級なので~30μm程度となる。
https://www.khkgears.co.jp/gear_technology/gear_reference/KHK472.html
今回は価格と精度のバランスをとり、歯研歯車を使ってベンチマークを行うことにする。
CADデータの用意
モノタロウのサービスとして歯研歯車のCADデータが用意されているので、今回はそれをベースにした。
CADの改造点は2点。
①インボリュート歯形のモデリングやり直し
モノタロウからダウンロードできるモデルは歯形が微妙に痩せている(転位させている?)ので適当なインボリュート歯車生成アドインを使って歯形部分のモデリングをやり直した。購入したのは標準平歯車なので転位は気にしなくていい。
②現物に合わせて外形、長さ、歯底Rを修正
歯底Rはラジアスゲージで、外径や長さはマイクロメータで計測可能なところはすべて実物にCADを合わせた。
計測手順
備忘録的な面もあるので細かく書いていく。
1.前夜から部屋の空調をつけ、部屋と歯車とスキャナを23℃に調整する。
※別にやらなくても良いがなんとなく気持ち悪いので。
2.スキャナをセッティングする。
※三脚を使ってスキャナの高さ、角度の条件を決める
3.試しにスキャンし、スキャンできなければスキャンスプレーを吹く。
※今回はカラーチェック用の現像液スプレーを吹いた。
4.スキャンが可能であることを確認したら、順次スキャンしていく
5.CloudCompareでCADモデルとスキャンした点群の距離を算出する
CloudCompareはオープンソースのソフトウェアなので無償。
https://www.danielgm.net/cc/
ソフトウェアの使い方は有志のWikiにまとまっているので易しい。
https://www.cloudcompare.org/doc/wiki/index.php/Main_Page
ベンチマークで使うコマンドはツールバー内で完結する。
アウトプットとして、こういうコンター図とヒストグラムが出てくる。
コンター図は点群(3Dスキャンして得られた座標点の集まり)とCADデータの距離をプロットしている。
距離がゼロであればCADデータと3Dスキャン形状に差異が無い≒スキャン誤差ゼロということになる。
試験結果
3Dスキャナ4機種、Revopoint社 MetroXと POP3 と Shining3D社 VEGAと Matter & Form社 THREE を比較しました。
ターンテーブルを使ったスキャンと手持ちスキャン(Handy)も比較しています。(THREEは手持ちスキャン不可の機種なのでN/Aです。)
コンター図とヒストグラムは記事末尾にまとめておきます。
平均距離
点群とCADデータの距離の平均です。
「点の数」列の数が点群に含まれる点の数です。数百万点ある点群の点1つ1つと最寄りのCADデータの面の距離を算出し、平均を出しています。
標準偏差
点群の距離の標準偏差です。
データのバラつきが少ないほど良い計測器です。なのでデータのバラつき≒標準偏差は小さいほど良いです。
繰り返し計測評価はやる気がありません。ただただ面倒なので・・・
点の数
点群に含まれる点の数(頂点数)です。
基本的に点の数は多いほうが良いです。3Dスキャンから出力される3Dデータは基本的にポリゴンなので、頂点の数が多いほうがポリゴンは滑らかになります。
考察
平均距離の数値は「3Dスキャナの誤差はおおよそ±0.1mm以下であろう」という肌感とおおむね合います。
標準偏差とヒストグラムは参考程度だろうと思います。
位置合わせアルゴリズムの都合上、ヒストグラムに山が2つできる傾向にありますね。ヒストグラムのX軸 ゼロ付近に位置合わせがしやすい平面部の点群の作る山が、他の点群の作る山がもう1つ、計2つ出来がちです。(記事末尾 POP3のヒストグラムが顕著)
精度と点の数は必ずしも比例しないということがわかりますね。Shining3D社の3Dスキャナはノイズ処理が厳しめ、ダメデータの足切りが早めな使用感なので点の数が少なく精度が良い試験結果は納得できます。
Revopoint社 MetroXはターンテーブルと手持ちスキャンで精度が大きく異なります。他機種と比べても差が大きいので、MetroXはソフトウェアになにか不具合があると考えられます。
Revopoint社 POP3は比較的廉価な製品であるし、少し古い機種でもあるので精度が劣るのは納得できますし、試験結果と使用感が合致します。
Shining3D社 VEGAは精度が良く安定しており良い結果です。点の数も少ないですが実用上必要十分な解像度なのでPC上の処理が軽く良い感じです。Shining3D社は産業用3Dスキャナである程度の地位がある会社だけあって一般向け製品も完成度が高いですね。
Matter&Form社 THREEは個人的に気に入っているスキャナなのですが成績が振るいませんでした。解像度が高く精度が良く使いやすい総合的に良いスキャナなのですが。
歯先側の領域にスキャンフレームの重ね合わせ誤差があり、それが足を引っ張った形でしょうかね。(記事末のコンター図参照)
コンター図&ヒストグラム
Revopoint社 MetroX
Revopoint社 POP3
Shining3D社 VEGA
Matter&Form社 THREE
おまけ:スキャンスプレーによる寸法誤差
https://mtin.co.jp/394/