LoginSignup
18
12

More than 1 year has passed since last update.

ROS講座11 gitリポジトリ

Last updated at Posted at 2018-05-19

概要

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で入れるビルド済みパッケージに不具合があるようで、リンクが失敗する。ソースを抱えるように変更

目次ページへのリンク

ROS講座の目次へのリンク

ビルドコマンドについて

色々な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パッケージも一部あります。
18
12
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
18
12