Submit Search
Upload
ROS2.0時代に備えたc++11/14
•
8 likes
•
4,798 views
Takashi Ogura
Follow
第7回ROS勉強会@ドワンゴ向け資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 31
Download now
Download to read offline
Recommended
KotlinでROSノードを書いてみた
KotlinでROSノードを書いてみた
Naoki Iwata
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Daiki Maekawa
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
Mori Ken
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
Toshihiko Yamakami
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
Mori Ken
Recommended
KotlinでROSノードを書いてみた
KotlinでROSノードを書いてみた
Naoki Iwata
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Daiki Maekawa
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
01 ROS2 実用化に関するサーベイ ROS2勉強合宿 @別府温泉
Mori Ken
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
Hideki Takase
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
Toshihiko Yamakami
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
Mori Ken
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+α
Hideki Takase
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
Yuta Ohashi
Choreonoid+ros
Choreonoid+ros
独立行政法人 産業技術総合研究所
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
Mori Ken
ABS2015 のセッション紹介
ABS2015 のセッション紹介
l_b__
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
Yuuki Takezawa
mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境
Hideki Takase
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング
Hideki Takase
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs
Takayoshi Tanaka
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Recruit Lifestyle Co., Ltd.
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介
Ryodo Tanaka
Frank-afcproxy
Frank-afcproxy
Toshiyuki Terashita
ROS2のコードチェック
ROS2のコードチェック
Kotaro Yoshimoto
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
Takhisa Hirokawa
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
Reo Matsumura
Git 初心者講座 by forkwell
Git 初心者講座 by forkwell
sinsoku listy
PHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングmini
Takhisa Hirokawa
EusLispでロボットプログラミング
EusLispでロボットプログラミング
Hiroaki Yaguchi
生活支援ロボットMini@ROS勉強会
生活支援ロボットMini@ROS勉強会
Kensei Demura
More Related Content
What's hot
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+α
Hideki Takase
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
Yuta Ohashi
Choreonoid+ros
Choreonoid+ros
独立行政法人 産業技術総合研究所
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
Ryuichi Ueda
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
Mori Ken
ABS2015 のセッション紹介
ABS2015 のセッション紹介
l_b__
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
Yuuki Takezawa
mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境
Hideki Takase
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
Hideki Takase
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング
Hideki Takase
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs
Takayoshi Tanaka
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Recruit Lifestyle Co., Ltd.
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介
Ryodo Tanaka
Frank-afcproxy
Frank-afcproxy
Toshiyuki Terashita
ROS2のコードチェック
ROS2のコードチェック
Kotaro Yoshimoto
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
Takhisa Hirokawa
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
Reo Matsumura
Git 初心者講座 by forkwell
Git 初心者講座 by forkwell
sinsoku listy
PHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングmini
Takhisa Hirokawa
What's hot
(20)
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+α
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
Choreonoid+ros
Choreonoid+ros
ROSチュートリアル ROBOMECH2018
ROSチュートリアル ROBOMECH2018
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
03 第3.6節-第3.8節 ROS2の基本機能(2/2)
ABS2015 のセッション紹介
ABS2015 のセッション紹介
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
laravel websocket(use redis pubsub) [Laravel meetup tokyo]
mROS:組込みデバイス向けのROS1ノード軽量実行環境
mROS:組込みデバイス向けのROS1ノード軽量実行環境
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介
Frank-afcproxy
Frank-afcproxy
ROS2のコードチェック
ROS2のコードチェック
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
自社の汎用シリアルサーボドライバ・ライブラリをROSに導入してみた
Git 初心者講座 by forkwell
Git 初心者講座 by forkwell
PHPerのためのpostgresqlチューニングmini
PHPerのためのpostgresqlチューニングmini
Viewers also liked
EusLispでロボットプログラミング
EusLispでロボットプログラミング
Hiroaki Yaguchi
生活支援ロボットMini@ROS勉強会
生活支援ロボットMini@ROS勉強会
Kensei Demura
Dronecodeの概要とROSの対応について
Dronecodeの概要とROSの対応について
博宣 今村
Hacking Robotics(English Version)
Hacking Robotics(English Version)
Kensei Demura
アクターモデルについて
アクターモデルについて
Takamasa Mitsuji
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
Takayoshi Yamashita
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Yoshimura Soichiro
Viewers also liked
(7)
EusLispでロボットプログラミング
EusLispでロボットプログラミング
生活支援ロボットMini@ROS勉強会
生活支援ロボットMini@ROS勉強会
Dronecodeの概要とROSの対応について
Dronecodeの概要とROSの対応について
Hacking Robotics(English Version)
Hacking Robotics(English Version)
アクターモデルについて
アクターモデルについて
MIRU2014 tutorial deeplearning
MIRU2014 tutorial deeplearning
並行処理初心者のためのAkka入門
並行処理初心者のためのAkka入門
Similar to ROS2.0時代に備えたc++11/14
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Hideki Takase
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
ROBOTIS Japan
20120907 osc-lt-docja
20120907 osc-lt-docja
Fuminobu Takeyama
人間たちとsystemd
人間たちとsystemd
Uchio Kondo
小規模個人アプリをRails 7.xにバージョンアップした話
小規模個人アプリをRails 7.xにバージョンアップした話
Kazuhiro Nishiyama
OpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after story
Makoto Takizawa
Rds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみよう
guest468ec6
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
Yohei Sasaki
120517 cf tour_london
120517 cf tour_london
Takayoshi Tanaka
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
decode2016
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
Masataka Kondo
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
nomlab
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
Masahiro Nishimi
2012年4月22日 カーネル/VM探検隊
2012年4月22日 カーネル/VM探検隊
Ryuichi Ueda
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
Atsushi Tadokoro
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版
bash0C7
100311 Dev Fest2010
100311 Dev Fest2010
Kensaku Komatsu
Similar to ROS2.0時代に備えたc++11/14
(20)
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
TurtleBot3でROSを始めよう
TurtleBot3でROSを始めよう
20120907 osc-lt-docja
20120907 osc-lt-docja
人間たちとsystemd
人間たちとsystemd
小規模個人アプリをRails 7.xにバージョンアップした話
小規模個人アプリをRails 7.xにバージョンアップした話
OpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after story
Rds 2008 R2 Express Editionで遊んでみよう
Rds 2008 R2 Express Editionで遊んでみよう
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
CouchDB+OpenSocial - OSC 2009/Fall Tokyo
120517 cf tour_london
120517 cf tour_london
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
DEV-002_.NET Core/ASP.NET Core が実現するクロスプラットフォーム .NET の今と未来
LibreOfficeをビルドしてみよう(Windows)
LibreOfficeをビルドしてみよう(Windows)
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
2012年4月22日 カーネル/VM探検隊
2012年4月22日 カーネル/VM探検隊
Couch DB in 15minutes
Couch DB in 15minutes
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
短絡的に作るRuby DSL 公開版
短絡的に作るRuby DSL 公開版
100311 Dev Fest2010
100311 Dev Fest2010
Recently uploaded
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(10)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
ROS2.0時代に備えたc++11/14
1.
ROS2.0時代に備えるための c++11/14 第7回ROS勉強会@ドワンゴ (2015/10/04) @OTL
2.
自己紹介: OTL (Open
Technology Lab.) 趣味でROSのBlog書いてたら本を書かないかと言われ、書いてみたら本当に出版さ れました! 2009/01 - ROS勉強記録(blog) 2012/02 - ros-japan-usersメーリス立ち上げ 2015/06 - 本出た!
3.
最近のニュース: ROS2.0 Alphaリリース すでにインストールして簡単に試すことができます。 https://github.com/ros2/ros2/wiki/Linux-Install-Binary ROS1.0とは互換性なし! (bridgeは用意されている)
4.
どんなふうに変わったか? https://github.com/ros2/examples c++クライアントとcのクライアントの例がある buildシステムがcatkinからamentに、などいろいろあるが、cppの変化に注目 c++のtalker.cpp (Topic Publisher)を見てみる
5.
https://github. com/ros2/examples/blob/master/rclcpp_exampl
6.
いろいろ変わっている 名前空間: ros ->
rclcpp メッセージファイルの場所: std_msgs/String.h -> std_msgs/msg/string.hpp 拡張子がhppなのはC言語版と区別するため? 命名規則: 関数がcamelCase(単語区切りだけ大文字)からsnake_case(_で区切る)へ node.createPublisher() -> node.create_publisher()
7.
8.
listener (Topic Subscriber)もみてみる
9.
https://github. com/ros2/examples/blob/master/rclcpp_examples/src/topics/listener_best_effort. cpp
10.
https://github. com/ros2/examples/blob/master/rclcpp_examples/src/topics/listener_best_effort. cpp
11.
C++11を使っている
12.
アンケート C++11/14を知っている: 人 C++11/14を知らない: 人 C++を使ったことがある: 人 C++11/14を使ったこと(-std=c++11 or 14
or 0x or 1y)ある: 人 C++11/14を日常的に使っている: 人 C++14を日常的に使っている: 人
13.
C++11の便利な機能 ・ラムダ:無名関数 ・auto:型推論 ・ユーザ定義リテラル ・constexpr:コンパイル時関数 ・rvalue・move:右辺値参照、効率のよいデータ受け渡し ・async/future:Thread実行の言語としてのサポート などなど
14.
C++11 超ベンリ ROS2.0時代を生き抜くには必須の知識
15.
C++11 超ベンリ ROS2.0時代を生き抜くには必須の知識 ROS1.0でも使いたい!
16.
roscpp14 C++03からの卒業
17.
roscpp14作ってみた https://github.com/OTL/roscpp14 ROS1.0でC++11/14が使えちゃう(c++14はUbuntu15.04以降) ROS Jade ではあいかわらずC++03だが、 ●C++11
features are not used, but code should compile when - std=c++11 is used となっている。公式には使えないが、事実上使えちゃうっぽい。c++14はまだ。
18.
roscpp14 https://github.com/OTL/roscpp14 そもそも何がしたかったか? Subscriberのコールバックにラムダを使いたかった。
19.
roscppの場合 一旦callback関数を定義する必要がある。<--- めんどう #include "ros/ros.h" #include
"std_msgs/String.h" void chatterCallback(const std_msgs::String::ConstPtr& msg) { ROS_INFO("I heard: [%s]", msg->data.c_str()); } int main(int argc, char **argv){ ros::init(argc, argv, "listener"); ros::NodeHandle n; ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback); ros::spin(); return 0;
20.
作りたかったもの #include "ros/ros.h" #include "std_msgs/String.h" int
main(int argc, char **argv){ ros::init(argc, argv, "listener"); ros::NodeHandle n; auto sub = n.subscribe("chatter", 1000, [&](const std_msgs::String& msg) { ROS_INFO("I heard: [%s]", msg.data.c_str());}); ros::spin(); return 0; }
21.
やってみたら意外と簡単じゃなかった これはC++11をもってしても簡単には作れない。 subscribeは実はテンプレート関数で、テンプレート引数が推論されている。 本来 subscribe<std_msgs::String>(...)と書くもので、それが引数から推測されてい た。lambdaを使いたければその引数の型は std::function<void
(const T &)>となる が、このfunctionの中の引数からsubscribeのTの推論はできない。
22.
できたもの (C++11) #include <roscpp14/ros.h> #include
<std_msgs/String.h> int main(int argc, char **argv) { ros::init(argc, argv, "listener"); roscpp14::NodeHandle node; auto sub = node.subscribe<std_msgs::String>("chatter", 10, [] (const std_msgs::String &msg) { ROS_INFO("%s", msg.data.c_str());}); ros::spin(); return 0; }
23.
できたもの (C++11) #include <roscpp14/ros.h> #include
<std_msgs/String.h> int main(int argc, char **argv) { ros::init(argc, argv, "listener"); roscpp14::NodeHandle node; auto sub = node.subscribe<std_msgs::String>("chatter", 10, [] (const std_msgs::String &msg) { ROS_INFO("%s", msg.data.c_str());}); ros::spin(); return 0; } ちょっと冗長
24.
なんでroscpp14? c++14を使っているから。c++11に満足できなかったため・・・。
25.
できたもの (C++14) #include <roscpp14/ros.h> #include
<std_msgs/String.h> int main(int argc, char **argv) { ros::init(argc, argv, "listener"); roscpp14::NodeHandle node; auto sub = node.subscribe<std_msgs::String>("chatter", 10, [] (const auto &msg) { ROS_INFO("%s", msg.data.c_str()); }); ros::spin(); return 0; } C++14ならautoにできる
26.
ServiceServerもすっきり (C++14)
27.
まあまあ満足! (黒魔術使えば理想どおりできるのかもだけど・・・。)
28.
How to use 使い方: 1.
cd ~/catkin_ws/src; git clone https://github.com/OTL/roscpp14 2. 依存関係にroscppの代わりにroscpp14を書く 3. ros/ros.hの代わりにroscpp14/ros.hをinclude 4. ros::NodeHandleの代わりにroscpp14::NodeHandleを使う sampleとtestがあるので見ればわかると思います。 以上
29.
おまけ
30.
まとめ C++11/14をマスターしてROS2.0時代を生き抜こう!! ASCII DWANGO様より参考書が出ました!! →
31.
以上です 書籍買っていただいた方々 ありがとうございます!
Download now