SlideShare a Scribd company logo
1 of 32
Download to read offline
ROS2次世代ロボットプログラミング
3.1-3.5まとめ
九州工業大学 大学院 生命体工学研究科
人間知能システム工学専攻
田向研究室
三井 悠也
目次
1
1. 自己紹介
2. ROS1とROS2の違い
3. ROS1との
アーキテクチャ比較
4. Data Distribution Service
5. ROS2のフロントエンドツール
6. ROS1/2パッケージ
ビルドツール“colcon”
ROS1とROS2の違い
2
3
ロボットの同時利用数
ROS
Master
ROS
ノード
ROS
ノード
ロボットAかPC1
ROS
ノード
ROS
ノード
ROS
ノード
ロボットBかPC2 ロボットCかPC3
Subscriber
Publisher
msg
Subscriber
msg
ROS1
msg
Pub Sub
4
ロボットの同時利用数
ROS
ノード
ROS
ノード
ロボットAかPC1
ROS
ノード
ROS
ノード
ROS
ノード
ロボットBかPC2 ロボットCかPC3
Subscriber
Publisher
msg
Subscriber
msg
ROS2
msg
Pub Sub
別ノードからの制御
→障害復帰の容易化
ロボットBかPC2ロボットAかPC1
5
計算資源
ROS1○構成要素の核がC++
ROS
ノード
ROS
ノード
message
XML-RPCが必要
C言語環境の
マイコンでは
動作が困難
ロボットBかPC2ロボットAかPC1
6
計算資源
ROS2○構成要素の核がC言語
ROS
ノード
ROS
ノード
message
7
リアルタイム制御
ロボットBかPC2ロボットAかPC1
ROS1○リアルタイム性は考慮なし
→ros_controlを使う必要あり
ROS
ノード
ROS
ノード
Message(TCP通信)
→通信終了
タイミングが不明
なぜか?
8
リアルタイム制御
ロボットBかPC2ロボットAかPC1
ROS2
○リアルタイム性は考慮
ROS
ノード
ROS
ノード
Message(UDP通信)
通信の再送は無い
→通信信頼性は低下
※ROS1でもUDPROS使えばUDP通信可能
9
ネットワーク品質
ROS
ノード
ROS
ノード
Message(UDP通信)
ROS
ノード
ROS
ノード
○UDP通信のためマルチキャストに対応
→1対多通信に親和性あり
Publisher
Subscriber
Subscriber
SubscriberPub,Sub通信との
高い親和性
Wifiなどの不具合
→QoS*で対応
*Quality of Service
UDP通信+QoSで頑健なネットワーク
→構築が困難なためDDS**で対応
*Data Distribution Service
10
プログラミング形式
ROS2ROS1
プログラミング形式は自由
○mainループの廃止
→ROS2クライアントライブラリ
の提供手順に沿って開発
○ノード現在状況の把握機能
「ライフサイクル」が容易
11
アプリケーション
ROS2ROS1
○研究目的など
プロトタイプ作成を想定
ロボット開発の
デファクトスタンダード化
→比較検討や他人の
アルゴリズムの利用が容易化
○独自開発のTCPROSを使用
○プロトタイプの成果を
製品化することも想定
→多数の企業を巻き込んで検討
○DDS/RTPS*を使用
→信頼性の向上
*Real-Time Publish-Subscribe
ROS1とのアーキテクチャ比較
12
ROS
マスタ
ユーザ
ノード
ユーザ
ノード
ユーザ
ノード
…C++
クライアント
ライブラリ
roscpp
Python
クライアント
ライブラリ
rospy
EusLisp
クライアント
ライブラリ
roseus
TCPROS
ハードウェア
13
ROS1の内部アーキテクチャ
roscoreの一部
×TCPROSは厳格な仕様が決定していない独自通信プロトコル
×スクラッチによる実装
ユーザ
ノード
ユーザ
ノード
ユーザ
ノード
…C++
クライアント
ライブラリ
rclcpp
Python
クライアント
ライブラリ
rclpy
Java
クライアント
ライブラリ
rcljava
クライアントライブラリ API
rcl
通信ミドルウェア API
rmv
DOS ベンダ A
実装
DOS ベンダ B
実装
DOS ベンダ C
実装
…
ハードウェア
14
ROS2の内部アーキテクチャ
再利用性の高い
C言語で構成
15
rcl:クライアントライブラリAPI
○ROS2の基盤ソフトを実装する上で
各言語用クライアントライブラリに
共通する機能を提供するAPI
○rmwより上位に存在するため通信を意識しなくてよい
○名前空間のロギング,時刻管理などが実装される
○C言語で実装されている
→呼び出しやすく,改変も楽
16
rmw:通信ミドルウェアAPI
○ROS2の基盤ソフトと通信機能を分けるためのAPI
○DDSに基づいてQoSを考慮したPub/Sub通信,
リクエスト・レスポンス通信を基本とする
○プラグインのようにコンパイル時ではなく実行時に変更
→オープンソース利用で初期費用低下
→出荷時にサポート充実な商業ソフト化
○計算資源の限られる環境で動作可能な通信ミドルウェア実装
Data Distribution Service
17
18
何故DDSになったのか
DDSの特徴
○エンドーツーエンドの通信ミドルウェア
利点
○ROS2のメンテコード削減
○厳格な仕様の明確化
○システムレベルも明確
・サードパーティのレビュー
・監査可能
・高い互換性で実装
欠点
○ROS2の設計がつられる
○ROSのユースケースに
合わない場合は再設計
→エンドツーエンドの
通信ミドルウェアは
その設計思想に
合わせる必要あり
19
DDSとは
○DDSはROS1における
Pub/Subとよく似たデータ転送
○送信元と受信先の発見メカニズムは
分散化されている
→単一障害点の除去
以下のような場所でDDSは利用される
・戦艦
・金融システム
・宇宙,航空システム
20
DDSとは
○DDS-RTPS*は組み込み機器の
リアルタイムアプリにも統合可能
○UDPを使うことで信頼のある転送や
通信ハードウェアを必要としない
○DDSはTCPも使うことができる
*Real-Time Publish-Subscribe
21
DDSのインターフェース記述言語
○ROS1のmsgやサービス同様のIDL*が存在
→DDSのIDLを対応させてROS1のIFを維持
○DDSのIDLはCORBA*と同じ仕様
・CORBA:サーバ・クライアント通信方式
・Pub/Sub通信方式
流れるデータ定義は共通
*Interface Description Language
22
DDSの通信インターフェースRTPS
DDS:Pub/Sub通信の
仕様の名称
RTPS:配信プロトコル
OSI参照モデルで表すと…
アプリケーション層
(HTTP,IMAPなど)
トランスポート層
(TCP,UDPなど)
RTPSの特徴
○リアルタイムアプリ用の最適効率化と高信頼Pub/Sub通信
○フォールトトレランス性を有する
○後方互換性と相互接続性を失わずに通信プロトコルを拡張可能
○プラグアンドプレイの接続性にて新しいアプリを自動発見,参加,辞退可能
○構成変更が柔軟で高信頼データ通信や正確な時系列データの通信要件を有す
○通信プロトコルにモジュール性があり,RTPSのサブセットを実装した機器もネット参加可能
○数千のSubを持つようなシステムにも適用できるスケーラビリティを有す
○IDLを使った安全設計によりプログラミングエラーを防ぐ
ROS2のフロントエンドツール
23
24
ros2の使い方
ROS2のコマンドラインインターフェースの
エントリポイントは「ros2」
ROS1 ROS2
roslaunch ros2 launch
rosrun ros2 run
Rostopic ros2 ropic
● ros2 action
アクション関連のサブコマンド
● ros2 component
コンポーネント関連のサブコマンド
● ros2 daemon
ノード発見デーモン関連のサブコマンド
● ros2 launch
Launch システム関連のサブコマンド
● ros2 lifecycle
ライフサイクル関連のサブコマンド
● ros2 msg
msg ファイル関連のサブコマンド
● ros2 multicast
UDP マルチキャスト関連のサブコマンド
● ros2 node
ノード関連のサブコマンド
● ros2 param
パラメータ関連のサブコマンド
● ros2 run
ノード実行関連のサブコマンド
● ros2 security
セキュリティ設定関連のサブコマンド
● ros2 service
サービス関連のサブコマンド
● ros2 srv
srv ファイル関連のサブコマンド
● ros2 topic
トピック関連のサブコマンド
25
ros2サブコマンドの実行例
典型的なtalker/listener の例をコマンドラインインターフェースだけを使って再現できる
メッセージ通信の送信:ros2 topic pub
メッセージの受信と標準出力:ros2 topic echo
➡ROS1のrostopic pub,rostopic echoを使ったことがある方にはなじみやすい!
$ ros2 topic pub /chatter std_msgs/String “{data: Hello world!}”
publisher: beginning loop
publishing std_msgs.msg.String(data=‘Hello world!’)
publishing std_msgs.msg.String(data=‘Hello world!’)
$ ros2 topic echo /chatter
data: Hello world!
Data: Hello world!
ターミナル1
ターミナル2
簡単なメッセージのテストがコマンドラインインターフェースだけで
完結するのはデバッグの面で非常に便利!
26
ノード発見デーモン
ROS2は互いのノードを分散処理で発見する
→ROSマスタのような中央集権的な気候を廃止するため
⇒デメリットとして発見に要する時間がかかる
クエリにより早く応答するため「デーモン」を用いる
デーモンがOFF→分散発見
デーモンがON→デーモンを参照して
高速検索
● ros2 daemon start
デーモンの起動
● ros2 daemon status
デーモンの現在状態の標準出力
● ros2 daemon stop
起動済みのデーモンの停止
ROS1/2パッケージ
ビルドツール“colcon”
27
28
ビルドツールの変遷
● rosbuild
ROS1 Fuerte まで現役だったビルドツールです.
独自の Python スクリプトを 組み合わせて
ROS1 パッケージをビルドすることができました.
● catkin_make
上記の Python スクリプトでは OS 依存性が高く,
Ubuntu 以外の Linux プラットフォームや macOS
などに対応することが難しかったため,純粋な
CMake 拡張である catkin_make が登場します.
Windows/macOS/Linuxに対応している
CMake を基にすることで,マルチプラットフォーム
対応が行いやすくなりました.非公式ではありますが,
このころから macOS でも徐々に ROS1 が動くように
なっていきます. その後, catkin_make_isolated
という改善版ツールがリリースされました.
catkin_make では純粋な CMake プログラムや
CMake 以外のビルドツールを使ったプログラムを
ビルドすることができませんでしたが,
catkin_make_ isolated はそれらを含めて
ビルドできます.さらに,パッケージごとに
ビルド処理が隔離された場所で行われるため,
パッケージ間の依存関係を疎に保ちながら
ビルドできるようになりました.
● catkin
catkin_make_isolated は残念ながら並列ビルドができません.
そのため,ビルド時間が著しく遅くなります.
そこで,並列ビルドに対応した catkin 25 が生まれました.
catkin は catkin build のようにサブコマンドの形で実行でき,
オプション引数なども豊富に用意され、コマンドラインツール
としての使いやすさが大幅に向上しました.
● ament
モノリシックを2に設計された catkin をプラグイン構造に再設計し,
ROS2 パッケージをビルドできるようにしたものが ament です.
ament プラグインを追加することで,CMakeLists.txt プロジェクトの
C/C++ プログラムや setup.py しかない Python スクリプトを
そのまま ROS2 パッケージとしてビルドできるようになりました.
プラグインを新しく追加すれば,その他のプログラミング言語の
プログラムのビルドにも対応できます.
● colcon
上記の ament は ROS2 パッケージのビルドのみを扱っており,
ROS1 パッケージを扱うことができません.そこで登場したのが
colcon です. colcon では,ROS1 パッケージには catkin を,
ROS2 パッケージには ament を 呼び出すことで,両バージョンが
混在したワークスペースを作成できます. ROS1/2だけではなく,
Gazebo Ignition ライブラリ (Gazebo用のソフトウェ アライブラリ)
も colcon でビルドできます. colcon 自体は Python で実装されており,
rosbuild の二の舞にならないか心配ですが,これまでのところ,
マルチプラットフォーム展開はうまくいっている ようです。
29
colconの使い方
colcon の使い方はまだ情報が少ないですが,以下の文書にまとめられています.
https://colcon.readthedocs.io/en/latest/
https://github.com/ros2/ros2/wiki/Colcon-Tutorial
http://design.ros2.org/articles/build_tool.html
一番網羅的なのは readthedocs の文書です.
https://colcon.readthedocs.io/en/latest/user/quick-start.html
基本的な使い方は以下のとおりです.
$ mkdir -p /tmp/workspace/src # /tmp/workspaceをワークスペースにします。
$ cd /tmp/workspace #ワークスペースに移動します。
$ cd src; git clone ***; cd .. # srcディレクトリ以下にROSパッケージをご設置します。
$ colcon list –g # 全パッケージをリストアップします。
$ colcon build # 全パッケージをビルドします。
$ colcon test # 全パッケージのテストを実行します。
$ colcon test-result --all # テストの実行結果をbuildディレクトリ以下に列挙します。
$ . install/local_setup.bash #パッケージのセットアップスクリプトを実行します。
$ ros2 run *** を実行します。 #ROS2フロントエンドツールを使ってノードを実行します。
30
colconの使い方
catkin や ament を使ったことがある方なら,ほとんど同じように使えるはずです.
ちなみにこれまでのほかのビルドツールと同様に,ソースコードのクローンや
依存ライブラリのインストール,インストールパッケージ化といった処理は
ビルドツールは担当しません.それぞれ別のコマンドが用意されています.
● vcstool
ソースコードレポジトリの管理ツール
● rosdep
パッケージの依存解決ツール(ROS1同様)
● bloom
パッケージのリリースツール(ROS1 同様)
http://www.brain.kyutech.ac.jp/~tamukoh/

More Related Content

What's hot

第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーションakio19937
 
WindowsではじめるROSプログラミング
WindowsではじめるROSプログラミングWindowsではじめるROSプログラミング
WindowsではじめるROSプログラミングTakayuki Goto
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発Yoshitaka HARA
 
四脚ロボットによる つくばチャレンジへの取り組み
四脚ロボットによるつくばチャレンジへの取り組み四脚ロボットによるつくばチャレンジへの取り組み
四脚ロボットによる つくばチャレンジへの取り組みkiyoshiiriemon
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMYoshitaka HARA
 
ros_whillとROS2対応(ROS勉強会第28回LT大会)
ros_whillとROS2対応(ROS勉強会第28回LT大会)ros_whillとROS2対応(ROS勉強会第28回LT大会)
ros_whillとROS2対応(ROS勉強会第28回LT大会)Seiya Shimizu
 
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてJetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてFixstars Corporation
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活Ryo Kabutan
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Hiroaki Kaneda
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜Hideki Takase
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすtomohiro kuwano
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成MobileRoboticsResear
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築Yoshitaka HARA
 
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームAutoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームTakuya Azumi
 
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~Hirokazu Onomichi
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介miyanegi
 

What's hot (20)

第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
 
WindowsではじめるROSプログラミング
WindowsではじめるROSプログラミングWindowsではじめるROSプログラミング
WindowsではじめるROSプログラミング
 
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
ROS の活用による屋外の歩行者空間に適応した自律移動ロボットの開発
 
四脚ロボットによる つくばチャレンジへの取り組み
四脚ロボットによるつくばチャレンジへの取り組み四脚ロボットによるつくばチャレンジへの取り組み
四脚ロボットによる つくばチャレンジへの取り組み
 
Cartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAMCartographer を用いた 3D SLAM
Cartographer を用いた 3D SLAM
 
ros_whillとROS2対応(ROS勉強会第28回LT大会)
ros_whillとROS2対応(ROS勉強会第28回LT大会)ros_whillとROS2対応(ROS勉強会第28回LT大会)
ros_whillとROS2対応(ROS勉強会第28回LT大会)
 
Jetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けてJetson活用セミナー ROS2自律走行実現に向けて
Jetson活用セミナー ROS2自律走行実現に向けて
 
SLAM勉強会(PTAM)
SLAM勉強会(PTAM)SLAM勉強会(PTAM)
SLAM勉強会(PTAM)
 
ROSでつながるVRChat
ROSでつながるVRChatROSでつながるVRChat
ROSでつながるVRChat
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活
 
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
SSII2022 [TS2] 自律移動ロボットのためのロボットビジョン〜 オープンソースの自動運転ソフトAutowareを解説 〜
 
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
Turtlebot3とrealsenseで作るお手軽移動ロボットros japan ug #23 関西勉強会
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
 
リンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かすリンク機構を有するロボットをGazeboで動かす
リンク機構を有するロボットをGazeboで動かす
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
大域マッチングコスト最小化とLiDAR-IMUタイトカップリングに基づく三次元地図生成
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
 
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォームAutoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
Autoware: ROSを用いた一般道自動運転向けソフトウェアプラットフォーム
 
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
VRChatとシリアル通信、現実と仮想を結ぶ ~UdonとPythonによる仮想COMポートのつくり方~
 
SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介SLAM開発における課題と対策の一例の紹介
SLAM開発における課題と対策の一例の紹介
 

Similar to 02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉

TurtleBot3でROSを始めよう
TurtleBot3でROSを始めようTurtleBot3でROSを始めよう
TurtleBot3でROSを始めようROBOTIS Japan
 
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)Toshihiko Yamakami
 
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会Noriaki Ando
 
納品用ROS機の手癖
納品用ROS機の手癖納品用ROS機の手癖
納品用ROS機の手癖Kenta Yonekura
 
ROScon 2017 参加報告
ROScon 2017 参加報告ROScon 2017 参加報告
ROScon 2017 参加報告Yutaro ISHIDA
 
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Tatsuya Fukuta
 
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介Ryodo Tanaka
 
ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1openrtm
 
ros2_cmd_api : ROS2コマンド機能のAPIを提供するROS2パッケージ.pdf
ros2_cmd_api :  ROS2コマンド機能のAPIを提供するROS2パッケージ.pdfros2_cmd_api :  ROS2コマンド機能のAPIを提供するROS2パッケージ.pdf
ros2_cmd_api : ROS2コマンド機能のAPIを提供するROS2パッケージ.pdfTakayuki Goto
 
2015 summercamp 08
2015 summercamp 082015 summercamp 08
2015 summercamp 08openrtm
 
190605 01
190605 01190605 01
190605 01openrtm
 
TurtleBotで遊んでみた
TurtleBotで遊んでみたTurtleBotで遊んでみた
TurtleBotで遊んでみたnaoyuki_iot
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NoriakiAndo
 
Ros#を使ったROSとxRデバイスの通信
Ros#を使ったROSとxRデバイスの通信Ros#を使ったROSとxRデバイスの通信
Ros#を使ったROSとxRデバイスの通信mozyanari
 
Rds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみようRds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみようguest468ec6
 
Rosのリアルタイムツールの紹介
Rosのリアルタイムツールの紹介Rosのリアルタイムツールの紹介
Rosのリアルタイムツールの紹介gakky1667
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2Hideki Takase
 
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみたReo Matsumura
 
ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14Takashi Ogura
 

Similar to 02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉 (20)

TurtleBot3でROSを始めよう
TurtleBot3でROSを始めようTurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
 
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
 
Pepper meets ROS
Pepper meets ROSPepper meets ROS
Pepper meets ROS
 
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
 
納品用ROS機の手癖
納品用ROS機の手癖納品用ROS機の手癖
納品用ROS機の手癖
 
ROScon 2017 参加報告
ROScon 2017 参加報告ROScon 2017 参加報告
ROScon 2017 参加報告
 
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
Rosserial無線化への招待 〜Invitation to wirelessization by rosserial〜
 
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介
 
ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1
 
ros2_cmd_api : ROS2コマンド機能のAPIを提供するROS2パッケージ.pdf
ros2_cmd_api :  ROS2コマンド機能のAPIを提供するROS2パッケージ.pdfros2_cmd_api :  ROS2コマンド機能のAPIを提供するROS2パッケージ.pdf
ros2_cmd_api : ROS2コマンド機能のAPIを提供するROS2パッケージ.pdf
 
2015 summercamp 08
2015 summercamp 082015 summercamp 08
2015 summercamp 08
 
190605 01
190605 01190605 01
190605 01
 
TurtleBotで遊んでみた
TurtleBotで遊んでみたTurtleBotで遊んでみた
TurtleBotで遊んでみた
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
 
Ros#を使ったROSとxRデバイスの通信
Ros#を使ったROSとxRデバイスの通信Ros#を使ったROSとxRデバイスの通信
Ros#を使ったROSとxRデバイスの通信
 
Rds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみようRds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみよう
 
Rosのリアルタイムツールの紹介
Rosのリアルタイムツールの紹介Rosのリアルタイムツールの紹介
Rosのリアルタイムツールの紹介
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
 
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
 
ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14ROS2.0時代に備えたc++11/14
ROS2.0時代に備えたc++11/14
 

More from Mori Ken

20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみたMori Ken
 
bloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリースbloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリースMori Ken
 
ROS Kyushu User Group の発足
ROS Kyushu User Group の発足ROS Kyushu User Group の発足
ROS Kyushu User Group の発足Mori Ken
 
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)Mori Ken
 
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)Mori Ken
 
05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)Mori Ken
 

More from Mori Ken (6)

20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
20210225_ロボティクス勉強会_パーティクルフィルタのMAP推定の高速手法「FAST-MAP」を作ってみた
 
bloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリースbloom ではじめる自作 ROS パッケージのリリース
bloom ではじめる自作 ROS パッケージのリリース
 
ROS Kyushu User Group の発足
ROS Kyushu User Group の発足ROS Kyushu User Group の発足
ROS Kyushu User Group の発足
 
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
08 第6.6節-第6.9節 Roomba用ROS1ドライバのROS2移行(2/2)
 
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
07 第6.1節-第6.5節 Roomba用ROS1ドライバのROS2移行(1/2)
 
05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)05 第4.4節-第4.8節 ROS2の応用機能(2/2)
05 第4.4節-第4.8節 ROS2の応用機能(2/2)
 

02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉