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
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
つくばチャレンジシンポジウム2016 - ROSの仕組みとつくばチャレンジにおけるその活用
Kazuya N
January 06, 2016
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
250
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
RailsConf 2023
tenderlove
30
1.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Marketing to machines
jonoalderson
1
5.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Believing is Seeing
oripsolob
1
200
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