フィッティング機能

ここではVRMLモデルへのBox,Cylinderフィッテイング機能を説明します。
この機能はPCLプラグインに含まれています。

Box,Cylinderフィッテイング手法:[inline:FittingAlgorithm.pdf]

1.使用方法

対象とするオブジェクトをSetObjectします。
PCLバーにある「Fitting」ボタンを押します。
フィッテイングされたBox,Cylinderが表示されます。
※表示されるBox,Cylinderはオブジェクトの位置・姿勢がすべて0の状態を仮定したものです。

2.パラメータ設定

パラメータ変更は(choreonoidのディレクトリ)/extplugin/graspPlugin/PCL/config.iniの
[Fitting]以下を編集します。
以下は各項目の意味です。
 sampling_density : ダウンサンプリングのサンプリング幅
 high_curvature : クラスタリング時にこの値以上のcurvatureを持つ点を除去する。
 show_curvature_result : デバッグ用。high_curvature以上の点を除去した結果を表示。
 cluster_tolerance : クラスタリング時の近傍点範囲[m]
 cluster_eps_angle : クラスタリング時の法線の許容角度[rad]。この値を小さくすると曲率が高い曲面が分割されやすくなります。
 show_cluster_result : デバッグ用。クラスタリング結果を表示します。
 rsd_radius : RSD算出時の近傍点範囲[m]
 cylinder_rsd_tolerance : cylinderフィッティング時の妥当判定の半径誤差の閾値[m]
 cylinder_radius_tolerance : cylinderフィッティング時のinlierに含める範囲[m]
 box_ortho_angle_tolerance : boxフィッティングでの直交判定時の許容誤差角度[rad]
 box_dist_tolerance : boxフィッティング時のinlierに含める範囲[m]
 box_require_point_ratio : boxフィッティング時、boxの表面に必要な点密度(2個目以降のboxフィッティング)。この値が大きければ、2個目以降に密度が低いboxが選ばれなくなります。
 show_fitting_shapes : True時フィッティング結果が表示。
 show_fitting_points : デバッグ用。フィッティング結果(ポイントクラウド)を表示。
 do_box_fitting : True時Boxフィッティングを実行
 do_cylinder_fitting : True時Cylinderフィッティングを実行