LoginSignup
26
23

[動画付き]ROS2プログラミングのためのc++入門(逐次更新)

Last updated at Posted at 2023-07-17

ROS2プログラミングのためのc++入門(逐次更新)

研究室の学生に効率よく教えるために、c++の基礎とROS2のプログラミングに関する動画を撮りました。最終的にはAutoware(オープンソース自動運転ソフトウェア)をちゃんと読んでイジって評価できるようになろうねという目標のもとすすめていきます。
学生なので細かい決まりなどが欠けている場合がありますのでご注意ください。なにかご指摘があればコメントに書いていただけると幸いです。

環境

第二章以降
ubuntu22
ROS2 humble

第0章 gitの設定・使い方

Youtube
gitを一通り学んでソースコードを管理できるようになりましょう。
(githubでのリポジトリの作成、localでのgit管理、リモートへのpush、branch、PR、merge)

SSH接続もやっておきましょう。
gitのSSH接続初期設定

第一章 CMakeだけでBuildする(ROS2に依存しないパッケージ作成)

ROSから勉強し始めると、ROS1ではcatkin_make, ROS2ではcolcon buildなどでビルドすることが多い。
この記事のタイトルは"ROS2のための"と書いてあるが、まずはROS関係なしにCMakeだけで最小の記述でパッケージをつくれるようにします。(ROSで書かなくてもいいことはできるだけROSで書きたくない人も多いため)

第一回 c++ の基礎 build

Youtube
git
最小限のパッケージ構成を作ります。

第二回 c++ classの基礎 前編

Youtube
クラスの基礎をゲーム感覚で学びます。

第三回 c++ classの基礎 中編

Youtube
もう少しバリエーションを豊かにします。

第四回 c++ classの基礎 後編

coming soon
クラスの継承やnamespaceなどをなんとか無理やり入れて解説します。
git

第二章 ROS2の基礎

私は主に点群処理をメインとしているので、PCL等を使った実装をメインに話していきます。
※すべてオープンなものを利用しています。
見本:ros2bag_to_pcd.git

第五回 ros2パッケージの作り方(ros2bagからpcdファイル保存)

Youtube
git
sample ros2 bag file

第六回 offlineでros2bagを読み込む方法

Youtube
git
sample ros2 bag file

第七回 シミュレーション環境(AWSIM)で取得したLiDAR点群を重ね合わせて、SLAMせずに点群地図を作ってみる

Youtube
git
sample ros2 bag file (地図作成用の真値入り)

TIER IVが公開している、自動運転向けシミュレーター
AWSIM document
AWSIM sample map

第八回 sub pubの基本 ros2 bagのtopic名やframe idを変えて出力する

coming soon

第三章 ツール

ros2bagの中身を編集できるツール

Localization評価のためのツール(python)

rosbagのROS1→ROS2への変換方法

Rviz2で点群を簡単に見る方法

ros1bag_to_pcd

memo

python3でrosbagを読み込む
GPUプログラミング

26
23
1

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
26
23