Comments (7)
https://index.ros.org/doc/ros2/Contributing/Developer-Guide/
にあるのは,standard libraryにあるものをわざわざboostから持ってこないようにしましょう.ということではないでしょうか.
通信関係はboost::asioを使うことが多く,これらがc++ standard libraryには移植されないであろうことを考えるとboostでもよいかもしれません.
どうしてもboostを避けるべき,ということであれば一応 asioがあり,boost::asioと同じような機能が提供されるようです.
from consai2r2.
ros2ではrmw_fastrtpsを用いて通信が行われているようです.
https://github.com/ros2/rmw_fastrtps/blob/master/rmw_fastrtps_cpp/package.xml#L19
によると,これはどうやら
https://github.com/eProsima/Fast-RTPS
に依存していて,
https://github.com/eProsima/Fast-RTPS/blob/ffd0e27c8c8b16ff557e655c3290a2232ab90231/cmake/modules/FindAsio.cmake
にあるように,少なくともasio(not boost::asio)には依存していそうです.
現在手元でros2を用いた最小構成のconsai2r2を構築中なのですが,依存関係で勝手にboost::asioが入っているように見えるので,そちらが何に依存しているかを調べている最中です.
from consai2r2.
返信ありがとうございます。
そういえば、non boostなasioを使った例を見たことがあります。これもwindowsでも入れられるもののはずです。
https://github.com/clydemcqueen/tello_ros/blob/master/tello_driver/include/tello_driver_node.hpp
from consai2r2.
@future731 調査ありがとうございます。
ROS2のboostに対する解釈を勘違いしてました。
通信系は標準ライブラリに入らないと思うので、boost使っても良いかなと思っています。
from consai2r2.
http://think-async.com/Asio/asio-1.11.0/doc/asio/examples/cpp11_examples.html
melodicで動くasioの例です.
最新のasio(version 1.12.2)のソースコードはio_serviceがio_contextに変わっていたりしてコンパイルが通らないので,少し古い例を載せています
from consai2r2.
https://github.com/eProsima/Fast-RTPS/blob/master/cmake/modules/FindAsio.cmake
もしnon boost asioを使うことになったときの備忘録を書いておくと,これと同じものをcmakeディレクトリに入れておくのが安心そうです.
from consai2r2.
boostを使うのでcloseします。
from consai2r2.
Related Issues (20)
- lintを通すために各ファイルのフォーマットを整える HOT 10
- grSimのRobot Statusを受信したい HOT 3
- consai2_descriptionの移植 HOT 2
- sim_sender.cpp のlint対応 HOT 1
- Package Layoutのルールに従ってヘッダーファイルをinstallする HOT 3
- consai2r2_teleop/include/visibility_control.hは公式のものに置き換えるべき HOT 8
- ラッパーの実装 HOT 3
- 追加設定なしでgrSimと通信できるようにする HOT 5
- receiverでロボットからの情報を受け取る HOT 2
- Cannot import hoge_pb2.py from Python Packages HOT 4
- consai2r2_receiverのreuse_addressが適用されていない
- vision_receiverでロボットの角度情報がセットされていない
- consai2r2_receiverのドキュメント整備
- ROS 2 Eloquent対応
- Multicast Receiverのlifecycle対応 HOT 1
- Pose2DからPose(3D)への移行 HOT 1
- Arrayでのpublish HOT 3
- ROS2 Foxy対応
- 提案:共通パッケージとそれ以外の分離
- CON-SAIの開発をconsai_ros2リポジトリに移行しました
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from consai2r2.