概要
ROS講座では途中でいくらかのサンプルコードを表示しています。これらのサンプルコードをより実行しやすくするためにgitリポジトリを用意しておきました。
環境
このROS講座は以下の環境で行っています。
項目 | 値 |
---|---|
CPU | Core i5-8250U |
Ubuntu | 16.05 |
ROS | Kinetic |
使い方
ROSのインストール
02 インストールで説明しています。
インストールの後工程
02 インストールの中でも説明していますが、重複して説明します。02 インストールの手順を実行している人は飛ばしてください。
catkinワークスペースの設定
02 インストールの手順で行っている場合は必要ありません(インストール手順の中でcatkinワークスペースの設定をしている)。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin init
source
ターミナルを立ち上げなおすたびにこの設定が必要です。
source ~/catkin_ws/devel/setup.bash
git clone
cd ~/catkin_ws/src
git clone https://github.com/project-srs/ros_lecture.git
submoduleのアップデート
git submoduleとして抱えているコードの更新が必要です。
cd ~/catkin_ws/src/ros_lecture
git submodule update --init --recursive
rosdepでの依存パッケージの取得
cd ~/catkin_ws/src/ros_lecture
rosdep install -i -y --from-paths ./
cd ~/catkin_ws
catkin build
実行
例えば04 roslaunchのサンプルプログラムを実行するためには以下のように打ち込みます。
roslaunch basic_lecture pubsub1.launch
ROS講座とのファイルの対応関係
例えば03 Pub & Sub 通信の記事の中に以下のような形式でプログラムが載っています。
basic_lecture/src/basic_simple_talker.cpp
#include "ros/ros.h"
#include "std_msgs/String.h"
////////以下略////////
このプログラムはgitリポジトリのmaster/basic_lecture/src/basic_simple_talker.cppにあります。
移行作業メモ
kinetic -> melodic
- navigator_baseでtfからtf2を使うように変更しているための対応
melodic -> noetic
- cmakeのバージョンが変わったのかビルドがうまくいかないところが多い。今までcatkin_makeでビルドしていたものをcatkin buildでビルドするように変更
- opencv4になったためにヘッダが変更された
- behavior_tree_cpp_v3のaptで入れるビルド済みパッケージに不具合があるようで、リンクが失敗する。ソースを抱えるように変更
目次ページへのリンク
ビルドコマンドについて
色々なwebサイトを見ているとrosのワークスペースのビルドで3種類のこまんどがあります。結論から言うとcatkin buildを使うのがおすすめです。
WSの初期化 | ビルド | pkg間の依存が疎 | 並列ビルド | 特徴 | |
---|---|---|---|---|---|
(1) | catkin_init_workspace | catkin_make | × | 〇 | 初期にあったビルドツール |
(2) | catkin_init_workspace | catkin_make_isolated | 〇 | × | catkin_makeを改良したもの、ただcatkin以外のCMakeプロジェクトがビルドできないなどの欠点も多い |
(3) | catkin init | catkin build | 〇 | 〇 | ROSの標準では入っていないので別途インストール必要 |
- 特別なことが無ければ(3)のツールを使うべきです。またCMakeのマクロが違うのかcatkin buildでないとビルドできないOSSのROSパッケージも一部あります。