Submit Search
Upload
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
•
36 likes
•
36,120 views
A
akio19937
Follow
第1回ROS勉強会で発表した時のスライドです。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
オープンソース SLAM の分類
オープンソース SLAM の分類
Yoshitaka HARA
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Kitsukawa Yuki
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Takuya Azumi
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
Yoshitaka HARA
Recommended
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
オープンソース SLAM の分類
オープンソース SLAM の分類
Yoshitaka HARA
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
NDTスキャンマッチング 第1回3D勉強会@PFN 2018年5月27日
Kitsukawa Yuki
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Takuya Azumi
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
Yoshitaka HARA
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
Yoshitaka HARA
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
Yoshitaka HARA
UnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
WindowsではじめるROSプログラミング
WindowsではじめるROSプログラミング
Takayuki Goto
Visual slam
Visual slam
Takuya Minagawa
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
Takuya Minagawa
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
tf,tf2完全理解
tf,tf2完全理解
Koji Terada
ORB-SLAMの手法解説
ORB-SLAMの手法解説
Masaya Kaneko
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例
Yoshitaka HARA
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
Takuya Minagawa
ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携
UnityTechnologiesJapan002
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
Takahiro Kubo
G2o
G2o
Fujimoto Keisuke
ディープラーニングのフレームワークと特許戦争
ディープラーニングのフレームワークと特許戦争
Yosuke Shinya
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
ROBOTIS Japan
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
UnityTechnologiesJapan002
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
More Related Content
What's hot
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
Yoshitaka HARA
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
Yoshitaka HARA
UnityとROSの連携について
UnityとROSの連携について
UnityTechnologiesJapan002
WindowsではじめるROSプログラミング
WindowsではじめるROSプログラミング
Takayuki Goto
Visual slam
Visual slam
Takuya Minagawa
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
Takuya Minagawa
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
tf,tf2完全理解
tf,tf2完全理解
Koji Terada
ORB-SLAMの手法解説
ORB-SLAMの手法解説
Masaya Kaneko
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例
Yoshitaka HARA
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
Takuya Minagawa
ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携
UnityTechnologiesJapan002
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
Takahiro Kubo
G2o
G2o
Fujimoto Keisuke
ディープラーニングのフレームワークと特許戦争
ディープラーニングのフレームワークと特許戦争
Yosuke Shinya
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
Norishige Fukushima
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
ROBOTIS Japan
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
UnityTechnologiesJapan002
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Yoshifumi Kawai
What's hot
(20)
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
UnityとROSの連携について
UnityとROSの連携について
WindowsではじめるROSプログラミング
WindowsではじめるROSプログラミング
Visual slam
Visual slam
ORB-SLAMを動かしてみた
ORB-SLAMを動かしてみた
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
tf,tf2完全理解
tf,tf2完全理解
ORB-SLAMの手法解説
ORB-SLAMの手法解説
ロボティクスにおける SLAM 手法と実用化例
ロボティクスにおける SLAM 手法と実用化例
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
2018/12/28 LiDARで取得した道路上点群に対するsemantic segmentation
ARとUnity-Robotics-Hubの連携
ARとUnity-Robotics-Hubの連携
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
G2o
G2o
ディープラーニングのフレームワークと特許戦争
ディープラーニングのフレームワークと特許戦争
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
3次元SLAMは誰でもできるよ。そう、TX2とTurtleBot3ならね。
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
Recently uploaded
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(9)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
1.
テキスト ROS+Gazeboではじめるロボットシミュレーション akio
2.
DISCLAIMER この発表の内容は全て公開されている情報および発 表者(akio)の個人的な意見に基づくものです。発表者 の雇用者に一切の関係はありません。 発表内容には細心の注意を払っていますが、記載情 報のご利用により万一損害が生じても、発表者は一 切の責任を負いません。
3.
自己紹介 akio @akio(GitHub) ロボットのソフトウェアを開発する仕事をしてます 学生時代から物理シミュレータで遊ぶのが好きです
4.
内容 Gazeboについて ROSとの連携 すぐ試せるパッケージ 自分のモデルをつくってみよう まとめ
5.
Gazeboについて
6.
Gazeboとは ! 公式サイトはhttp://gazebosim.org オープンソース(Apacheライセンス)の3Dロボットシミュレータ リアルタイム性を重視 OGREを利用した高品質なグラフィック 複数の物理エンジンを切り替えられる(ODE, Bullet, Simbody,
DART) カメラ、レーザーレンジファインダなどのセンサーシミュレーション 独自のAPIを持つが、ROSとの連携も充実
7.
独断と偏見によるGazeboの歴史 Player時代 ROS時代 Standalone時代 👈今ここ
8.
Player時代 2DロボットシミュレータPlayer/Stageの用途を補完す る目的で始動 設定ファイルはXMLベースで記述 ライセンスはGPL 発表者もあまりよく知らない
9.
ROS時代(2009 - 2011) Willow
Garageが開発支援 ROSとの連携を容易にする努力がなされる PR2のシミュレータとして利用される C++サポートの強化 コードベースはPlayer時代と同じ(GPL) ROS Wikiにはまだこの時代の記述が残っており、混乱しやすい
10.
Standalone時代(2012 - 現在) WillowGarageからスピンアウトしたOSRF(Open
Source Robotics Foundation) が主に開発 全面的な書き直しが行われ、バージョンもリセット ライセンスもApache Software License 2.0に 設定ファイルもSDF(Simulation Description Format)へ Protobufを利用した独自のメッセージ通信機構を持つ DARPA Robotics Challengeの予選の一つVRC(Virtual Robotics Challenge)用シ ミュレータに採用される
11.
Gazeboのアーキテクチャ SDF gzserver gzclient (GUI) プラグイン モデル Load モデル プラグイン プラグイン Simulation World メッセージ通信 制御処理など
12.
向き不向き 元々の開発経緯から、センサー+シンプルな機構のロボットとは比較的相性 が良いです しかし、物理シミュレーションエンジンのアルゴリズムの影響もあり多関節 ロボットや歩行ロボットなどでは苦しい場面が… リアルタイム性重視なので、厳密な精度を期待しないで使うのが良い v1.9を使っていても動作が不安定な時がある。締め切りに追われている時に は向かないかもしれない 今後(v2.2∼)、物理シミュレーションエンジンの選択肢が広がるので、改善 の希望はあります
13.
まとめ 今後はStandalone版が主流です 向き不向きがあるので、用途と性能を考慮して使う のが吉です 今後の改善次第で対応用途は広がるかも?
14.
ROSとの連携
15.
GazeboとROSとの連携機構の再整備 Standalone版では長らく公式なROSとの連携機構が なかった Standalone版1.3∼から対応し始め1.9でほぼ安定 ROSはHydroからこちらの仕組みに準拠 Groovyではあちこち不整合が出ます
16.
SDF gzserver gzclient (GUI) プラグイン モデル Load プラグイン Simulation World メッセージ通信 制御処理など 連携システムのアーキテクチャ URDF 変換 ROS controller manager roscpp ROSノード ROSノード Controller プラグイン モデル Controller プラグイン roscpp
roscpp ROS メッセージ等
17.
モデルを制御したい場合 gazebo_pluginsにある既成プラグインを使う Gazeboプラグインとして開発する モデルに紐づいて、Gazebo APIを利用 roscppを使って他のROSノードと通信 ros-controlsのControllerManagerに対応したControllerプラグインとして開発する ros-controlsはPR2のリアルタイム制御レイヤーの一般化版 実機用制御プログラムと、Controllerを共有できる
18.
gazebo_pluginsのプラグイン Camera Multicamera Depth Camera Openni Kinect GPU
Laser Laser Block Laser F3D (Force Feedback Ground Truth) Force IMU Joint Pose Trajectory P3D (3D Position Interface for Ground Truth) Projector Prosilica Camera Bumper Differential Drive Skid Steering Drive Video Plugin Planar Move Plugin
19.
まとめ しばらくはGazebo1.9 + ROS
Hydroの組み合わせが安定だと思 われます 異なるバージョンを組み合わせると、追跡が難しいエラーが出 たりします モデルを制御するなら将来的にはros-controls経由か? ros-controls自体はまだ成熟しきっていない 今は使い分けが必要
20.
すぐ試せるパッケージ
21.
ROS Hydroでリリースされている GazeboシミュレーションPKG 発表者調べなので、抜け/漏れなど多数あると思われます Turtlebot2/Kobuki Husky Grizzly youBot Segbot UR5/10 Hector Quadcoptor
22.
テキスト Turtlebot2/Kobukiインストール $ apt-get install
ros-hydro-turtlebot-simulator 実行 $ roslaunch turtlebot_gazebo turtlebot_empty_world.launch !
23.
テキスト Husky インストール $ apt-get install
ros-hydro-husky-simulator 実行 $ roslaunch husky_gazebo husky_empty_world.launch
24.
テキスト Grizzly インストール $ apt-get install
ros-hydro-grizzly-simulator 実行 $ roslaunch grizzly_gazebo grizzly_empty_world.launch
25.
テキスト youBot インストール $ apt-get install
ros-hydro-youbot-simulation 実行 $ roslaunch youbot_gazebo_robot youbot_dual_arm.launch
26.
テキスト Segbotインストール $ apt-get install
ros-hydro-segbot-simulator 実行 $ roslaunch segbot_gazebo segbot_test_world.launch (別の端末)$ roslaunch segbot_gazebo segbot_mobile_base.launch
27.
テキスト UR5/10(Universal Robots) インストール $ apt-get
install ros-hydro-ur-gazebo 実行 (UR5)$ roslaunch ur_gazebo ur5.launch (UR10)$ roslaunch ur_gazebo ur10.launch アームだけなので、好きな台車にくっつけよう
28.
テキスト Hector Quadrotor インストール $ apt-get
install ros-hydro-hector-quadrotor-gazebo 実行 $ roslaunch hector_quadrotor_gazebo quadrotor_empty_world.launch
29.
まとめ ROS Hydroならすぐ試せるシミュレータモデル多数 基本的に標準的なインターフェースに準拠しているの で、他のROSフレームワーク(MoveIt!など)とも比較 的容易のはず
30.
自分のモデルを作ってみよう (サンプルコードで学ぶ編)
31.
参考になる資料 公式のROS連携チュートリアル http://gazebosim.org/wiki/Tutorials#ROS_Integration 上記チュートリアルのサンプルコード https://github.com/ros-simulation/gazebo_ros_demos
32.
今回の例題 公式チュートリアル例 題を参考により簡略化 1軸回転関節を持つ アーム先端にはカメラ Xacro無しで書く
33.
必要なパッケージ ros-hydro-gazebo-ros-pkgs ros-hydro-gazebo-ros-control ros-hydro-ros-controllers 確認用 ros-hydro-image-view2
34.
サンプルコード sudo apt-get install
git Catkinのワークスペースを作って、srcディレクトリに clone してください。 git clone https://github.com/akio/myrobot_demo.git
35.
ファイルの説明 myrobot_demo myrobot_gazebo package.xml 👈 普通 CMakeLists.txt 👈 普通 myrobot.launch 👈 全部入りLaunch myrobot.urdf 👈 モデルの定義
36.
解説付きコードで説明
37.
モデルを書く時の注意点 URDFからSDFへの変換プログラムや、Gazeboサーバーのエ ラーや警告が発展途上。 結果、エラーが起きても原因不明ということがよくあります 場合によっては意図しない結果が出ていてもエラーにならな いこともあります そんなときは変換ステップを一つ一つ分解して確認すると良 いです(体験談)
38.
まとめ 基本はURDFなので、Jointとリンクの繰り返しでロボットを組 み立てる 必要な部分に、Gazebo用の設定を追加するイメージ Gazeboプラグイン、ROS Controllersプラグインともに豊富に準 備されているので、自分の使いたい機能をよく探しましょう 複雑なロボットはとても記述が長くなるので、Xacroを使って 記述を減らしたり、ファイル分割するテクニックが必要
39.
全体のまとめ
40.
全体のまとめ 同じGazeboでも色々あるので、要注意 しばらくはGazebo1.9 + Hydroが安定 すぐに使えるロボットモデルの配布が始まっている 要領がわかれば、自分でロボットモデルや新しいプ ラグインを開発できる
Download now