2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

がじぇるねGRAdvent Calendar 2021

Day 24

GR-ROSEでROS2 2021年12月末版

Last updated at Posted at 2021-12-26

はじめに

残念ながら、GR-ROSEの開発環境であるIDE for GRの最新版は2020年9月のVersion 1.13であり、1年ほど更新されていない状態です。

そのため、GR-ROSEのROS2ライブラリはDashing対応で止まっている状態です。

一方、ROS2のバージョンリリースについてはREP 2000で決められており、2021年12月時点での現行バージョンはFoxyとなっています。

image.png

マイクロコントローラ向けのROS2環境は、現在はmicro-ROSが主流となりつつあります。

ルネサスさんもmicro-ROSへの対応をすすめているようですが、ターゲットのマイクロコントローラがGR-ROSEに搭載されているRX65Nではなく、ARM系のRA6M5になっています。

RA6M5ベースのがじぇるねボードが出てくること期待しています。

それまでは、このGR-ROSEをROS2で使っていきたいと思いますので、今回は現在(2021年12月末)もGR-ROSEのROS2環境を構築可能かを確認してみます。

ROS2およびAgent環境の構築

GR-ROSEのROS2バージョンはDashingであるため、GR-ROSEのROS2ライブラリとやりとりをするAgentおよびROS2ノードが動作するOS(Ubuntuを想定)のバージョンは、18.04LTSになるかと思います。

幸い、Ubuntu 18.04LTSのEOLは2023年4月であり、今回使用するシングルボードコンピュータのJetson NanoのJetpack SDKですが、最新版であるJetPack 4.6はUbuntu 18.04ベースなので問題ありませんでした。

JetPack 4.6を導入後、公式にあるDashingのインストール手順でROS2をインストールします。

次に、Agent側の準備ですが、GitHubのReadmeにリンクがかかれているInstallation manualに従って導入します。

ただし、GR-ROSEが対応しているバージョンは1.1.6のため

~/Micro-XRCE-DDS-Agent/$ git checkout 1.1.6

をした後にmake&ビルド、インストールします。

動作確認

動作確認は、IDE for GR 1.13のudp_talker_besteffortを使用しました。

サンプルプログラム udp_talker_besteffortのネットワークの設定のみを環境にあわせて設定し、ビルド&書き込みします。

その後、Jetson Nano側でAgentを起動します。

~/Micro-XRCE-DDS-Agent/build$ ./MicroXRCEAgent udp --port 2020 -d

ポートは空いていればなんでもよいです。最後の、-dは重要で、Discovery serverを有効化します。GR-ROSEのROS2ライブラリは、Discovery(Agentの自動発見)が前提のためこの指定が必要です。

シリアルモニタを開いてログをみると、うまく動作している場合は以下のような出力になるかと思います。

Discovery Agent...
Found agent => ip: xxx.xxx.xxx.xxx, port: 2020
Chosen agent => ip: xxx.xxx.xxx.xxx, port: 2020
Sent topic: Hello DDS world!: 0
Sent topic: Hello DDS world!: 1
Sent topic: Hello DDS world!: 2
・・・

Jetson NanoにAgentを動作させているのと別のコンソールを開いて、

~$ ros2 topic echo chatter

とすれば、GR-ROSEからメッセージが送られてきているのが確認できます。

注意:別のコンソールを開いた際は、以下のROS2環境の有効化を忘れずに:)

$ source /opt/ros/dashing/setup.bash

最後に

既にGR-ROSEのROS2ライブラリが対応するバージョンの開発は終了しましたが、まだ使用することは可能です。

今後は、micro-ROSに開発環境は移っていくかと思いますが、現状、micro-ROSを利用するにはLinuxの環境が必要になると思います。手軽にROS2を試すという点で、GR-ROSEのROS2ライブラリを使うのはありかもしれません。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?