Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
つくばチャレンジシンポジウム2016 - ROSの仕組みとつくばチャレンジにおけるその活用
Search
Kazuya N
January 06, 2016
0
250
つくばチャレンジシンポジウム2016 - ROSの仕組みとつくばチャレンジにおけるその活用
Kazuya N
January 06, 2016
Tweet
Share
Featured
See All Featured
Making Projects Easy
brettharned
117
6.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Scaling GitHub
holman
463
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Navigating Team Friction
lara
189
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
GraphQLとの向き合い方2022年版
quramy
49
14k
Transcript
ROSの仕組みと つくばチャレンジにおけるその 活用 千葉工業大学 ロボット設計制御研究室 ◦夏迫 和也, 井上 裕文, 霜村
瞭, 寺戸 翔太朗, 林原靖男
ROSとは • ロボット開発のための分散ソフトウェア フレームワーク – Stanford大AI Labによって2007年に開発 – 2013/2からOSRFが開発 •
各機能はプロセスとして独立 • 機能毎が疎に結合している
ROSとは • 提供される三本柱 – ビルドシステム • catkin, rosdep, rospack –
通信ライブラリ • Topic, Service, Parameter – コミュニティ • ROS Wiki, Github • この上にそれぞれ開発されたパッケージ – Tf, Navigation Stack, and more...
ROSとは • ロボット開発のための分散ソフトウェア フレームワーク – Stanford大AI Labによって2007年に開発 – 2013/2からOSRFが開発 •
各機能はプロセスとして独立 • 機能毎が疎に結合している
事例紹介 • DARPA Robitcs Challenge – 参加23チーム中nチームが使用 – 例) 東京大学
JSK •
ROSの仕組み(通信) Master (roscore) hokuyo_node viewer geometry_msgs/LaserScan型 の”scan”トピックを配信す る geometry_msgs/LaserScan型 の”scan”トピックを購読す
る
ROSの仕組み(通信) Master (roscore) hokuyo_node viewer geometry_msgs/LaserScan型 の”scan”トピックを配信す る geometry_msgs/LaserScan型 の”scan”トピックを購読す
る advertise(“scan”) “scan”という名前のトピックを masterに登録する
ROSの仕組み(通信) Master (roscore) hokuyo_node viewer geometry_msgs/LaserScan型 の”scan”トピックを配信す る geometry_msgs/LaserScan型 の”scan”トピックを購読す
る Topic: “scan”
ROSの仕組み(通信) Master (roscore) hokuyo_node viewer geometry_msgs/LaserScan型 の”scan”トピックを配信す る geometry_msgs/LaserScan型 の”scan”トピックを購読す
る Topic: “scan” subscribe(“scan”) “scan”という名前のトピックを 購読することをmasterに通知す
ROSの仕組み(通信) Master (roscore) hokuyo_node viewer geometry_msgs/LaserScan型 の”scan”トピックを配信す る geometry_msgs/LaserScan型 の”scan”トピックを購読す
る Topic: “scan” scanトピックが TCPで流れる
デバッグと可視化ツール • デバッグや可視化も疎結合の恩恵を受ける – トピックを購読してデバッグ・可視化 • rosbag – 配信されるトピックをすべて記録する –
あとから再生して可視化できる • 可視化ツール – Rviz – なんでも可視化ツール – rqt_plot – トピックを時系列にグラフにプロットする – And more...
Navigation stack • ROSのNavigationスタック – Adaptive Monte Calro Localization(amcl) –
move_base • ダイクストラ法による大域的経路計画 (base_global_planner) • Dynamic Window Approachによる局所的経路計画 (base_local_planner) • グローバル及びローカルな障害物マップ(cosmap_2d) • スタックからの復帰(recovery_behavior) – Rao-Blackwellized Particle FilterによるGlid-based Fast SLAM (gmapping)
ORNEにおけるROS • Navigationスタックを使用 • 本研究室で独自に実装した部分 – YPSpurとros_controlのブリッジ等 (icart_miniパッケージ) – Waypoint,一時停止地点の管理(fulanghua_w
ayponints_nav) • センサ関連 – 2D LIDARからのデータ取得(hokuyo_node) – IMUからのデータ取得(cit_adis_imu)(独自)
ORNEにおけるROS
ROSを使っていてよかったこと • 問題が起こった時にデバッグしやすい (rosbag, 各種可視化ツール) • 事例 – 特定の位置で不自然な経路が生成される •
ぱっと見では原因不明 – rosbagでの記録を走行後にrvizで解析すること で,占有格子地図における走行可能な領域が一 部専有されてしまっていたことが原因と判明
ROSを使っていてよかったこと • 研究のための実装が楽 • 事例 – 人物検出技術の開発 • 3D URGからのデータ取得を決まりきった
フォーマットで取得できた • PCL(点群処理ライブラリ)などの 各種ライブラリ(OpenCVなども利用できる) が整備されている • 点群の処理や学習部分の開発に専念できた
ROSを使うのに気をつけなければ いけないこと • 仕組みを理解するのには時間がかかる • マシンスペックはなかなか必要 – Core i7, RAM
8GB以上必須 – 経路計画が止まるなどの問題が実際に発生した • 自ら実装しなきゃいけない部分が全てなくな るわけではない • 既存の機能ありきで考えるのは推奨されない
ORNEを動かすには https://github.com/open-rdc/orne_navigation/wiki