LoginSignup
1
0

【3日目】OSS連携してみたい!ROS2(C++)でHelloWorld

Last updated at Posted at 2023-12-02

この記事は筆者オンリーのAdvent Calendar 20233日目の記事です。

OSS連携を試みるため、ROS2の簡単なモジュールを数回に渡って作っていきたいと思います。
実は簡単なモジュール作成は前回大会でもやっているため、本大会でもできるかの確認です。

ROS2でモジュール作成

こちらの記事を参考にまずはAutowareでHelloWorld的なことができるようにカスタマイズしてみようと思います。

Autowareのカスタマイズ

パッケージの作成

Autowareをカスタマイズする方法ですが、公式ページにちょっとだけ記載されております。

まずはROSチュートリアルのWriting a simple publisher and subscriberを見ながら、簡単なパブリッシャーとサブスクライバーを作ります。

公式サイトの通り、ROS2のパッケージを作成します。

$ cd ~/aichallenge2023-racing/docker/aichallenge/aichallenge_ws/src/aichallenge_submit/
$ ros2 pkg create --build-type ament_cmake cpp_pubsub

ROSチュートリアルに従って、package.xmlとCMakeLists.txtを変更します。

パッケージのビルド

次に、Dockerを起動してコードをビルドします。

$ cd /aichallenge/
$ bash clean_build.sh 

以下のようにcpp_pubsubのビルドができれば成功です。
Screenshot from 2023-11-30 21-05-15.png

パッケージの実行

参考記事同様、launchファイルから実行します。本大会ではAutoware-Microを使用しており、autoware_micro_awsim.launch.xmlを変更します。

autoware_micro_awsim.launch.xml
<!-- lane_driving -->
〜割愛〜
<group>
  <node pkg="cpp_pubsub" exec="talker"/>
  <node pkg="cpp_pubsub" exec="listener"/>
</group> <!-- Simple Pub Sub -->
</group> <!-- lane_driving -->

実行してみます。

$ bash run_autoware.sh

実行されているのが確認できました。

Screenshot from 2023-11-30 21-24-32.png

#今後の予定
1.Autowareのメッセージをサブスクライブできるようにする。
2.Autowareのメッセージをパブリッシュし、既存のAutowareがサブスクライブするようにする。
3.OSS連携もできるように変更する。
という流れで行きたいと思います。

1
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
1
0