Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第42回ロボティクス勉強会:実環境を手軽にシミュレータ環境に持ってくるpointcloud2g...

atinfinity
November 27, 2023

 第42回ロボティクス勉強会:実環境を手軽にシミュレータ環境に持ってくるpointcloud2gazebo

atinfinity

November 27, 2023
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 • @dandelion1124
 ◦ 専門はコンピュータビジョン、ロボティクス、ソフトウェア高速化 
 
 ◦ OpenCVコントリビューター 


    ▪ OpenCV書籍執筆 https://gihyo.jp/book/2022/978-4-297-12775-6 
 
 ◦ 2023年10月よりサイバーエージェント AI Labで人物行動理解に関する研究に従事 

  2. • システム構成図
 今回作ったもの RTABMAP
 pointcloud2gaz ebo
 ply(点群)、
 データベース
 Gazebo
 World


    Gazebo
 RTABMAP:https://apps.apple.com/jp/app/rtab-map-3d-lidar-scanner/id1564774365 
 今回作ったもの

  3. 従来手法 • CADファイルでモデリングする 
 ◦ 実際のスケールを反映させるためには見取り図 or 実測が必要 
 ◦

    見取り図がない場合、人手でモデルを作成し、配置する必要がある 
 ◦ 見取り図があっても家具などの情報は含まれていないことがあり、実世界と一致しないことが ある
 ▪ 環境にオブジェクトがたくさんあるとモデリングが大変 

  4. 従来手法 • MeshLabを使う
 ◦ https://www.meshlab.net/ 
 ◦ 点群地図を補正(ノイズ除去、間引き、メッシュ作成)し、モデルデータに変換 
 ◦

    高度なアルゴリズムが実装されているが、人手による前処理、パラメータ調整などの試行錯 誤が必要

  5. 従来手法 • map2gazeboを使う
 ◦ https://github.com/shilohc/map2gazebo 
 ◦ 2D 占有格子地図からSTL or

    DAEを出力 
 ▪ 占有格子地図に対してOpenCVのfindContoursで輪郭抽出し、モデル生成 
 ◦ 2D 占有格子地図が入力のため、以下の課題がある 
 ▪ ノイズ除去が難しい
 ▪ 高さ情報が失われているため、実際の場所との紐づけが難しい 
 点群地図
 占有格子地図
 Worldファイル

  6. pointcloud2gazebo • 処理構成
 
 
 
 
 
 • 特徴


    ◦ 依存ライブラリが少ない(Open3D、NumPyのみ)ため、環境構築が容易 
 オフセット
 処理
 ノイズ除去
 World生成
 点群地図
 Worldファイル

  7. pointcloud2gazebo • ノイズ除去
 ◦ 床面除去
 ▪ 高さ方向のクロッピング 
 
 ◦

    計測ノイズ除去
 ▪ Voxel Grid Filter
 ▪ Radius outlier remova l
 
 
 ◦ 参考
 ▪ http://www.open3d.org/docs/release/tutorial/geometry/pointcloud_outlier_removal.html 
 ▪ https://tech-deliberate-jiro.com/radius-based-outlier-filter/ 
 赤い点がノイズとして判定された点群

  8. pointcloud2gazebo • World生成
 ◦ 点群からメッシュ作成 
 ▪ create_from_point_cloud_alpha_shapeでメッシュ作成 
 ▪

    参考:http://www.open3d.org/docs/latest/tutorial/Advanced/surface_reconstruction.html 
 Alpha shapes
 Ball pivoting

  9. World描画高速化 • Tips #1:陰影処理無効化 
 ◦ 陰影処理を無効化することで描画処理を軽量化 
 ▪ 参考:https://www.blackcoffeerobotics.com/blog/5-ways-to-speedup-gazebo-simulations

    
 
 ◦ Worldファイルに下記の内容を追記するだけ 
 
 
 
 ◦ 変更前後のシミュレーション速度は以下の通り 
 ▪ 変更前:7fps、変更後:22fps 
 <scene>
 <shadows>0</shadows> 
 </scene>

  10. World描画高速化 • Tips #2:NVIDIA GPUを使う ◦ 利用例:NVIDIA GPUが使えるブラウザベース ROS 2デスクトップ環境(自作)

    ▪ https://github.com/atinfinity/nvidia-egl-desktop-ros2 ▪ ホスト環境:Ubuntu 22.04、Windows 11+WSL2上で動作すること確認 ◦ 今回作成したWorldファイルでも60fps出る
  11. 会社紹介 • サイバーエージェントはインターネット広告やメディア・ゲームだけでなく、小売や行政などの現実世 界を対象としたサービスも進めている 
 ◦ 商品自らが動いて話す「自己推薦ロボット」のような取り組みも行っている 
 ▪ プレスリリース:https://www.cyberagent.co.jp/news/detail/id=29494

    
 
 • よりよいサービス提供のため、実世界における人々の活動の 適切なセンシング技術 、適切な情報 提示技術が不可欠であり、AI Labではロボティクス・コンピュータビジョン研究を中心に扱うチームを 新設

  12. 会社紹介 • ロボットを社会実装する上で以下の強みがある 
 ◦ 必要な要素技術(音声処理、自然言語処理、HCIなど)に関するリサーチャー、エンジニアが 多数在籍
 ▪ https://cyberagent.ai/ailab/people/ 


    ◦ 自社でLLMを開発していることから技術連携、フィードバックしやすい 
 ▪ https://www.cyberagent.co.jp/news/detail/id=29479 
 
 • 東京、大阪、京都でリサーチサイエンティスト、リサーチエンジニア、インターンを募集中。興味ある 方はご連絡ください。