53
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ROS2講座00 目次

Last updated at Posted at 2023-06-10
  • 数字は書いた順です。
  • ROS2自体の基礎を知った後に、ROS2をロボットに適用する時に必要な知識を順次開設していきます。
    そのためにROS2自体よりも、それ周辺のツールの解説がメインになります。
  • 室内用を自律で動くAGVの作成を目指して技術要素を説明していきます。

イントロダクション

ROS2-01 ROS1との主な相違
ROS1経験者向けにROS2での主な違いを説明します。

ROS2-02 環境のセットアップ
ROS2環境構築の方法を説明します。

ROS2基礎参考資料

ROS2それ自体の入門や解説は様々な良質な資料があるので紹介します。

開発環境編

ROS2-03 colconでの実行ファイルのビルド
colconでのビルドの記述を解説します。

ROS2-21 colcon testを実行する
コードチェッカーとgtestの実行方法を説明します。

ROS2基本機能編

ROS2-16 ROS2 Parameterを使う1
rclcppでのパラメーター操作の記述をします。

ROS2-17 ROS2 Parameterを使う2
実行時にパラメーターを指定する方法を解説します。

ROS2-18 actionを使う
actionの使い方を解説します。

ROS2-23 記法一覧表
各種記法の一覧表です。

Rvizプラグイン製作編

ROS2-04 Qtの基本機能
QtのGUIを表示するための基本的な記述を説明します。

ROS2-05 Qtをクラスで使う
Qtのクラス実装の記述を行います。

ROS2-06 タッチパネルWidgetを作る
QtのGUIでタッチパッドを作ります。

ROS2-19 RvizPlugin概要
Rviz2のpluginの概要の説明をします。

ROS2-07 Rviz2でタッチのPanelPluginsを作る
Rviz2で自作のpanel pluginを作ります。

ROS-20 Rviz2で文字をOverlayで表示するPluginを作成する
文字をOverlay表示するDisplayPluginの解説をします。

データベース編

ROS2-08 SQLite基礎
ローカルで動くデータベースであるSQLiteの使い方の基本を説明します。

ROS2-09 SQLiteをC++から使う
sqliteのC++APIでの発展的な使い方を説明します。

ROS2-10 更新を検知してsqliteDB情報をROSに送る
他のプロセスがDBを更新したことを検知して、情報を更新する方法を説明します。

ROS2-22 rostopicのログをrosbagに保存する
取得間隔の間引きをしながらrosbagに保存するpythonノードを紹介します。

Ignition Gazebo編

Ignition-01 worldファイルを起動する
Ignitionのインストールから、自作world/modelの使い方を説明します。

Ignition-02 GUIプラグインを作成する
IgnitionのGUIプラグインを作成します。

Ignition-03 SystemプラグインでModelを駆動する
モデルのjointをpluginを使って駆動します。

デバイス製作

ここではROS2で動かすAGVのハードウェアとドライバについて説明していきます。

Rover作成編(ハードウェア)

Ardupilot (on Pixhawk)を使って差動2輪機構での台車を作っていきます。

Rover-01 スペックの設計をする
ロボットのサイズを決めるために必要な事項を検討します。

Rover-02 EspressoFrameの紹介、主要部品の選定、必須パーツリスト
今回製作するAGVである「EspressoFrame」の紹介と、この先で必要な購入品の一覧を乗せます。

Rover-03 MissionPlannerでardupilotと接続・アップデートする
PixhawkにファームウェアであるArdupilotを書き込みます。

Rover-04 ArdupilotにXBeeで接続する
XBeeを使って無線でPC-Pixhawkを接続します。

Rover-05 ArdupilotでIMU、地磁気センサーの初期設定をする
IMU、地磁気センサーの設定をします。

Rover-06 Ardupirotでプロポの初期設定をする
プロポの接続をします。

Rover-07 Ardupirotで距離センサーの設定をする
外付けデバイス系の設定します。

Rover-08 Roboclawの設定をする
モーター周りの配線をして、Roboclawでモーターを駆動します。

Rover-09 Ardupirotで駆動系の設定をする
電装品の実装・電源の接続・モータードライバの設定の後に、MANUALモードでのモーター駆動をします。

Rover-10 ArduRoverでバンパースイッチ、外付けステータスLEDの設定をする
バンパースイッチと外付けステータスLEDの設定をします。

Rover-11 EspressoFrameの筐体(移動部)を組み立てる
筐体を組み立てて走行可能な状態にします。

Rover-12 EspressoFrameの筐体(タワー部)を組み立てる
機体上部のUI部を組み立てます。

Rover-13 Ardupirotで自己位置・速度制御の設定をする
自己位置の設定と、ACROモードで移動できるように設定します。

Rover-14 ロボット用のNUCの事前設定をする
メインコンピューターであるNUCをロボット用に自動起動するように設定します。

Rover作成編(ソフトウェア)

ROS2-11 FeetechServo(STS3215)を動かす
ROSからシリアル方式のサーボモーターを動かします。

ROS2-12 ydlidarX4を使う
YDLIDAR X4をROS2につなげて使用します。

ROS2-13 Ardupilotとmavrosで通信する
mavrosを使ってardupilotとROSを接続します。

ROS2-14 mavrosのpluginsを作成する
mavrosのpluginの記述方法を解説します。

ROS2-15 RealsenseD435を使う
RealsenseをROS2に接続して観測データを可視化します。

53
51
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
53
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?