More Related Content
More from Hirokazu Onomichi (11)
ROS2講習会の報告 (瀬戸内ROS勉強会#02にて)
- 7. 2019/06/23 第2回瀬戸内ROS勉強会
ROSのこと(メモ)
• 世界で3番目にROSが使われているのが日本
• 南極でも使われている
• 宇宙ステーションでも使われている
概念
ロボットは分散システムじゃないといけない
• AI/クラウド/モーター制御 etc…
• すべて繋いでいくと動くロボットになる
ROSで実現していること
• ROSに対応すれば移動が抽象化される → navigation stack
• 人に理解できないもの(センサ情報)を 可視化 → Rviz
• 自動運転で4つのLidarのセンサ情報(30回/sec)のログは、人には理解できない
• デバッグに便利な各種ツール
ROS2の紹介
- 13. 2019/06/23 第2回瀬戸内ROS勉強会
コンパイルについて(colcon)
catkin_make ➡ colcon build
colconコマンドのサブコマンドのbuild
colconはパッケージのインストールも含む
なので・・・
(重要※忘れがち) build後は、実行(ros2 run)前に
$ source install/local_setup.bash
を必ず実行すること
colcon –h でサブコマンド確認
colcon build --packages-select hoge で、単一パッケージビルド
ハンズオンでのROS1とROS2の違い
- 17. 2019/06/23 第2回瀬戸内ROS勉強会
(ROS) Talker & Listner おさらい
(1つ目のターミナル) $ roscore
(3つ目のターミナル) $ rosrun roscpp_tutorials listener
(2つ目のターミナル) $ rosrun roscpp_tutorials talker
まずは・・・
ROS2講習会の検証
- 18. 2019/06/23 第2回瀬戸内ROS勉強会
(ROS) Talker & Listner おさらい
(1つ目のターミナル) $ roscore
export ROS_MASTER_URI=http://(roscoreが動いているIP):11311/
export ROS_IP= (自分自身のIP)
export ROS_HOSTNAME= (自分自身のホスト名)
ROS_MASTER_URIは、デフォルトがhttp://localhost:11311/
また、 ROS_IPとROS_HOSTNAMEは明示的に宣言しないと、設定されない = (setup.bashには含まれない)
ROS_IPとROS_HOSTNAME両方違うものを設定した場合、ROS_HOSTNAMEが優先
(実験)ターミナルごとに、 ROS_MASTER_URIをかえてみる
(3つ目のターミナル) $ rosrun roscpp_tutorials listener
(2つ目のターミナル) $ rosrun roscpp_tutorials talker
IPアドレスを超えてのROSの通信機能の確認
まずは・・・
ROS2講習会の検証
- 21. 2019/06/23 第2回瀬戸内ROS勉強会
(ROS2) Talker & Listner
(1つ目のターミナル) $ ros2 run demo_nodes_cpp talker
export ROS_DOMAIN_ID=(数字)
また、 ROS_DOMAIN_IP明示的に宣言しないと設定されていない
(setup.bashには含まれない)
※環境変数がないと適当な数字が割り当てられる
(実験)ターミナルごとに、ROS_DOMAIN_IDを変えてみる
(2つ目のターミナル) $ ros2 run demo_nodes_cpp listener
IPアドレスを超えてのROSの通信機能の確認 ➡ 混信の原因はこれでした。
ROS2講習会の検証