~家族のためのモノづくり~8歳の娘と、6歳の息子(脳性麻痺)を持った父親エンジニアの備忘録。複数センサー/デバイスを分散処理しやすい、センサー可視化ツールが豊富、オープンソースで利用者が多い等、現在ロボットソフトのデファクトスタンダードになっているソフトウェアです。個人でも、業務でも、ROSを使った開発をする機会も増えてきています。ロボットは関連技術分野が広く、すべてを自分で作るのは本当に大変なので、この様なオープンソースパッケージを活用して簡単に自立移動が実装できるため、個人開発/研究用途に非常便利です。ROS2は、ROSの思想を汲みながら、ROSの課題であるコンポーネント間通信の改善(リアルタイム性、信頼性)を行ったものになるそうです。Japan主催の勉強会に参加してきたので、勉強メモがてらに残したいと思います。ノードの実行順も管理可能3組み込み機器/Ubuntu以外のOSもサポートだそうです。ROSだと、リアルタイム性が保証できていない点や、通信信頼性が低い点もあり、なかなか導入に踏み切れないのが現状なのかなぁ、と。ROSを導入するとしても、結局自前で信頼性を上げる様に時間と人をかけて独自カスタマイズしたり、じっくり検証せざるを得なくなり、開発費がかさみ事業性が悪くなってしまう(=普及を阻害する要因になる)んですよね...せっかくのオープンソースなのに勿体ない...という訳で、ロボットの社会実装を目指す上でROS2の考え方は個人的には良さそうに感じました。更新されている様です。dashingがリリースされる様です。Dasingの方がよいかもなので、現時点でのCrystal版の記載内容がどこまで今後役に立つか分かりませんが(笑)、ROS2のイメージを学ぶにはちょうど良いかと。一部機能のみ上記以外のROSで愛用されてきたNavigationなどの汎用パッケージもどこまで動くかは不明なので、正直なところ、ROS同等の機能を実現するまではあと2,3年かかりそうな印象ですね。いえ、2,3年したらROS2移行の流れになりそうな印象なので、今のうちから少しずつ情報キャッチしていくのが良いかも。crystal手順Ubuntu18.04だとaptから入る様ですが、残念ながらUbuntu16.04だとcrystalはaptで入らない様なので、ソースからビルドする形で立ち上げます。以下のサイトを参考にしました。ROS1関連のファイルをコメントアウトして再起動しておきます。rqt_gui_cpp最後のビルドが時間かかって、だいたい1時間くらいかかりました。7.bashrcへ設定追加ROS1同様にパス設定が必要なので、.bashrcに追加します。/opt/ros/crystal/setup.bash上記をホームディレクトリ内の.bashrcに追加すればOKROS2の動かし方ROS2に関しては、現時点ではまだ参考書・書籍がありません。勉強する場合は以下のサイトを活用すればよさそうです。講習会でも、以下のサイトを使って演習を行いました。gbiggs.github.ioインストール確認サンプルデモソフトがあるので、そちらを使って動作確認します。talkerすると、以下の様に1秒ごとにメッセージがpublish(送信)されます。listenerすると、以下の様に1秒ごとにメッセージがsubscribe(受信)できればOKです。core(Master)設定は不要です。ビルドの仕方インストール時にビルドして作成したので、実は実行済でした。(package.xmlがあるフォルダがパッケージとして扱われる)・パッケージ内に必要なファイル(CMakeLIsts.txt)やディレクトリ構成はROS1とあまり変わらない。ROS1と同じイメージ・ROS2の新機能として、ノードのコンポジションがある。ノードの実行順番を厳密に守ることができる。・考え方はROS1と同じ。1のroslaunchとかなり違うことになるらしい。2の環境を有効にして、ros1_bridgeパッケージ内のdynamic_bridgeノードを起動する。2側に利用中のトピックを探す。トピックがあったら、そのトピックで流れているデータを反対側で送信するらしい。どの程度使えるのかはまだ未知数ですが、ROS1での開発資産が活用できる観点では期待したいところですね。「ROS2とROS1は非互換で全く別ものだ」という噂を聞いていてドキドキしてましたが、いざ勉強してみるとROS1の思想がそのまま継承されているので、ROS1経験者は素直に移行できそうな雰囲気を感じました。開発途上のROS2ですが、日常世界にロボットを展開していく上では必要なアップデートだと思うので、引き続き情報キャッチしていきたいと思います。Switchゲームを物理スイッチで操作できるコントローラを作ってみた【かんたん工作】100均グッツで可愛く光る意思伝達スイッチを作ってみた月別アーカイブはてなブログをはじめよう!motokiinfinity8さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。