SlideShare a Scribd company logo
1 of 30
Download to read offline
ROSによるロボットソフトウェア開発の準備
中部大学 工学研究科 ロボット理工学専攻
大西 剛史
自己紹介
• 名前:大西剛史
– 中部大学院 修士1年
– 工学研究科 ロボット理工学専攻
• 所属:Machine Perception and Robotics Group
• 趣味:自作PC組み立て,電気工作,映画鑑賞
• 研究:物体検出,姿勢推定
2
内容
• ロボットを使った研究はやることが多いため楽に進めるためのフレームワークを紹介
• 今日話すこと
– ロボットを使った研究で何が必要か
– Robot Operating System(ROS)とは
– 最低限押さえておくといいROSの機能
– シミュレータ上で動かせるロボット紹介
– 便利なパッケージ紹介
3
• 商品ピッキングをやるうえで必要な知識
ロボットを使った研究で必要なこと
4
• 商品ピッキングをやるうえで必要な知識
– 商品検出:画像処理
– 把持点検出:点群処理
– 動作:逆運動学
– 障害物回避:パスプランニング
– etc…
ロボットを使った研究で必要なこと
5
• 商品ピッキングをやるうえで必要な知識
– 商品検出:画像処理
– 把持点検出:点群処理
– 動作:逆運動学
– 障害物回避:パスプランニング
– etc…
ロボットを使った研究で必要なこと
6
ひとりでやるには大変
そこでROSです
ロボットを使った研究で必要なこと
7
• 商品ピッキングをやるうえで必要な知識
– 商品検出:画像処理
– 把持点検出:点群処理
– 動作:逆運動学
– 障害物回避:パスプランニング
– etc…
ひとりでやるには大変
そこでROSです
Robot Operating System:ROSとは
• ロボット用のソフトウェアプラットフォーム
– 様々なロボットが同じプラットフォームにすることでプログラムがそのまま使える
• ロボット開発に必要なツール,機能を提供
– プロセス間の通信,シミュレータ,可視化ツール,分散機能等
8
ROSの動作環境
• 対応プラットフォーム
– Ubuntu(公式サポート)
– Mac OSX(試験サポート)
• 4年以上試験サポートなので公式サポートは来ない…?
• 多くのロボットに対応しているROSディストリビューション
– Kinetic(Ubuntu 16.04), Indigo(Ubuntu 14.04)
• おすすめはKinetic(Ubuntuのサポート的に…)
• 対応開発言語
– Python, C++, Java, octave, Lisp等
• メインはPythonとC++
9
ROSの素晴らしいツールたち
• MoveIt!:動作計画
– 逆運動学計算,衝突回避を自動でやってくれる
• Rviz:可視化ツール
– ロボットの状況や通信内容の可視化
• Gazebo:ROS対応のシミュレータ
– 実機と同じプログラムがシミュレータで動作
10
ROSはいろいろと出来る
• 奥が深い
– 複数のPC間で通信
– 動作時の通信内容をすべて保存(rosbag)
– パラメータを動的に変更可能(Dynamic Reconfigure)
– Etc…
11
ROSはいろいろと出来る
• 奥が深い
– 複数のPC間で通信
– 動作時の通信内容をすべて保存(rosbag)
– パラメータを動的に変更可能(Dynamic Reconfigure)
– Etc…
12
で…何をやればいいの?
最低限知っておくといいROSの機能1:通信
• トピック
– センサ情報の通信にオススメ
– 常時データを配信
• 多対多の通信が可能
• サービス
– 処理結果の送受信にオススメ
– 関数呼び出しに似た通信
• 1対1の通信
13
ノード ノード
トピック
ノード ノード
レスポンス
リクエスト
ノード
最低限知っておくといいROSの機能2:rostopic コマンド
14
コマンド 説明
list 配信されているトピックを全て列挙
info トピックの詳細を表示
find 型からトピックを検索
echo リアルタイムにトピックを表示
pub トピックの配信
• トピックに関するコマンド
– トピックの確認,購読や配信が可能
• ロボットの通信の型が知れるため一番使うコマンド
• 例:どのトピックに画像が流れているか知りたい
– $ rostopic find /sensor_msgs/Image
最低限知っておくといいROSの機能3:rviz
• 様々なデータを可視化するツール
– RGB画像
– 3次元情報
– 座標,姿勢
– 地図
15https://qiita.com/srs/items/96d1facf8ddfb56d97a4
最低限知っておくといいROSの機能4:gazebo
• ROS対応のシミュレータ
– 実機と同じプログラムが動作可能
– オリジナルロボットの作成も可能
• 製品化されたロボットのモデルが無料で公開
16
Universal Robot 5 (UR5)
• 6自由度ロボットアーム
• 考えられる用途
– 衝突回避
– 強化学習
– 物体把持
17
https://github.com/utecrobotics/ur5
Nextage Open
• 双腕ロボット
• 特徴
– ステレオカメラが標準装備
• 考えられる用途
– 組み立て作業
– 物体把持
– 強化学習
18
https://github.com/tork-a/rtmros_nextage
Turtlebot 2
19
• 自走ロボット
• 考えられる用途
– 経路計画
– SLAM
– 強化学習
https://github.com/turtlebot/turtlebot_simulator
便利なパッケージ紹介
• ROSは2000を超えるパッケージが存在
• Githubに上がってる便利なパッケージを紹介
20
cv_bridge
• 何ができる?
– 画像をROSのメッセージ型とOpenCVで扱える型へ相互変換できる
• 使用用途
– 画像処理をやる人は必須パッケージ
21
CARLA
• 何ができる?
– 自動車運転をシミュレートできる
– ROSにも対応しているためROSの通信が可能
– セグメンテーションやLiDARデータの取得が可能
• 使用用途
– 自動運転,データセットの作成
22https://github.com/carla-simulator/ros-bridge
LSD-SLAM
• 何ができる?
– 1つのカメラでロボットの自己位置の推定と地図の作成ができる
• 使用用途
– 自律移動
– 地図作成
• SLAMのパッケージは他にも…
– ORB_SLAM2, RGBDTAM, etc…
23
https://github.com/tum-vision/lsd_slam
ROSを勉強するためのおすすめサイト
• 中部大学ロボット理工学科 演習
– 入門
• Gazebo Tutorials
– 自作ロボットの作成・物理エンジンの変更まで
• MoveIt! Tutorials
– ロボットの動作計画のサポート
• ROS Japan UG
– 勉強会から情報共有まで
• ROSwiki.jp
– ROSのチュートリアルからツール紹介など
24
中部大学 ロボット理工学科 演習
• ROSの基礎からプログラムまで
– ROSの基礎
– ノード間の通信
– PC間の通信
– 画像処理等のパッケージの使い方
25
http://robot.isc.chubu.ac.jp
Gazebo Tutorials
• Gazeboのチュートリアル
– UIの基礎
– 自作ロボットの作成
– ワールドの設定
– ROSとの接続について
26
http://gazebosim.org/tutorials
Move It! tutorials
• MoveIt!のチュートリアル
– 動作計画
– MoveIt!のGUI操作
– API解説
27
http://docs.ros.org/kinetic/api/moveit_tutorials/html/index.html
ROSwiki.jp
• ROSwikiの日本語ページ
– インストールからセットアップ
– パッケージの紹介
– ROS向けロボットやセンサの紹介
• 英語ページの方が充実している
– http://wiki.ros.org
28
http://wiki.ros.org/ja
ROS Japan UG
• ROSのためのユーザーグループ
– 勉強会やハッカソン
– ROSに関するディスカッション
– パッケージの共有
29
https://rosjp.connpass.com
まとめ
• ロボットを使った研究のためのフレームワークROSを紹介
– ROSで出来ること
– シミュレータで使えるロボットの紹介
– 便利なパッケージの紹介
– 勉強する上でおすすめのサイトを紹介
• ROSは研究以外でも使えるので是非使って広めてください
30

More Related Content

Similar to 名古屋CV_ROSによるロボットソフトウェア開発の準備

オープンキャンパススライド2017
オープンキャンパススライド2017オープンキャンパススライド2017
オープンキャンパススライド2017robo_lab
 
roslaunch test + industrial_ci
roslaunch test + industrial_ciroslaunch test + industrial_ci
roslaunch test + industrial_ciRyodo Tanaka
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦openrtm
 
ROS2のリアルタイム化に挑む WG初参加
ROS2のリアルタイム化に挑む WG初参加ROS2のリアルタイム化に挑む WG初参加
ROS2のリアルタイム化に挑む WG初参加Atsushi Hasegawa
 
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価Hirokazu Onomichi
 
瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~
瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~
瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~Hirokazu Onomichi
 
Pythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作ったPythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作ったRyota Suenaga
 
Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Ryo Kabutan
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方Mori Ken
 
Access internal study-session
Access internal study-sessionAccess internal study-session
Access internal study-sessionShimpeiIwamaru
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Ryosuke Okuta
 
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也Preferred Networks
 
Mackerel Anomaly Detection at PyCon mini Osaka
Mackerel Anomaly Detection at PyCon mini OsakaMackerel Anomaly Detection at PyCon mini Osaka
Mackerel Anomaly Detection at PyCon mini Osakasyou6162
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」NoriakiAndo
 
Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)MasayukiUrakami1
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けてThe Whole Brain Architecture Initiative
 
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会Noriaki Ando
 
TurtleBotで遊んでみた
TurtleBotで遊んでみたTurtleBotで遊んでみた
TurtleBotで遊んでみたnaoyuki_iot
 

Similar to 名古屋CV_ROSによるロボットソフトウェア開発の準備 (20)

オープンキャンパススライド2017
オープンキャンパススライド2017オープンキャンパススライド2017
オープンキャンパススライド2017
 
roslaunch test + industrial_ci
roslaunch test + industrial_ciroslaunch test + industrial_ci
roslaunch test + industrial_ci
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
ROS2のリアルタイム化に挑む WG初参加
ROS2のリアルタイム化に挑む WG初参加ROS2のリアルタイム化に挑む WG初参加
ROS2のリアルタイム化に挑む WG初参加
 
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
ビーズセッターロボットのためのDYNAMIXEL Workbenchの評価
 
瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~
瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~
瀬戸内ROS勉強会の紹介~地方でROSを勉強するコツ~
 
Pythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作ったPythonでジョブキューシステムを作った
Pythonでジョブキューシステムを作った
 
Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021
 
UnityとROSの連携について
UnityとROSの連携についてUnityとROSの連携について
UnityとROSの連携について
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
 
Access internal study-session
Access internal study-sessionAccess internal study-session
Access internal study-session
 
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御
 
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
東大大学院 戦略ソフトウェア特論2021「ロボットで世界を計算可能にする」海野裕也
 
Mackerel Anomaly Detection at PyCon mini Osaka
Mackerel Anomaly Detection at PyCon mini OsakaMackerel Anomaly Detection at PyCon mini Osaka
Mackerel Anomaly Detection at PyCon mini Osaka
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)Rustでソートを高速化した話(Shinjuku.rs)
Rustでソートを高速化した話(Shinjuku.rs)
 
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
第7回WBAシンポジウム:松嶋達也〜自己紹介と論点の提示〜スケーラブルなロボット学習システムに向けて
 
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
 
TurtleBotで遊んでみた
TurtleBotで遊んでみたTurtleBotで遊んでみた
TurtleBotで遊んでみた
 
可視化法学-大和超券ステージ
可視化法学-大和超券ステージ可視化法学-大和超券ステージ
可視化法学-大和超券ステージ
 

Recently uploaded

TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfyukisuga3
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 

Recently uploaded (6)

TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 

名古屋CV_ROSによるロボットソフトウェア開発の準備