/cage_ros_stack

ROS packages for Virtual Tsukuba Challenge (VTC) and CageClient

Primary LanguageC++OtherNOASSERTION

cage_ros_stack

furo-org/VTC + furo-org/CageClientを使うためのROSパッケージです。

Image from Gyazo

YouTube: https://youtu.be/R8G5LW7Up14

目次

初期設定

Unreal Engineが動くPCとROSが動くPCが必要です。

1. VTCシミュレータのセットアップ

furo-org/VTCをUnreal Engineが動くPCにセットアップします。 パッケージ済みバイナリが公開されていますのでそれを使用すると楽です。
Windows 10 Pro 64bitのバージョン1909とバージョン2004で以下のUnreal Engine版のVTCの動作確認をしました。

ファイアウォールの設定をしてシミュレータの外部との通信を許可しておきます。

2. cage_ros_stackのセットアップ

furo-org/CageClientをROSのインターフェースで使用するためのROSパッケージ、furo-org/cage_ros_stackをセットアップします。以下の環境で動作確認しました。

  • ROS Melodic + Ubuntu 18.04.4
  • ROS Noetic + Ubuntu 20.04

このドキュメントでは以下 Ubuntu 18.04.4 と ROS Melodic の組み合わせを想定して説明します。

2.1. ROSのセットアップ

Ubuntu 18.04をインストールしたPCにROS Melodicをインストールします。
ROSのインストール方法はROS Wikiに書かれています。 ROSのセットアップはTiryoh/ros_setup_scripts_ubuntuを使うと楽です。 Tiryoh/ros_setup_scripts_ubuntuを使ってインストールする場合は以下のコマンドを実行します。

bash -c "$(curl -SsfL u.ty0.jp/ros-melodic-desktop)"

Success installing ROS melodicと表示されればインストール完了です。

その後はROSのワークスペースを設定します。ここではインターネット上でよく見る~/catkin_ws/をワークスペースとします。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin init

2.2. cage_ros_bridgeとvtc_bringupのセットアップ

furo-org/cage_ros_stackをROSのワークスペース以下にダウンロードしてからビルドします。

Gitでバージョン管理されているリポジトリなのでgitコマンドでダウンロードします。
このリポジトリはgit submoduleで外部のライブラリを参照しているのでgit cloneする際に--recursiveオプションが必須です。

cd ~/catkin_ws/src
git clone --recursive https://github.com/furo-org/cage_ros_stack.git

もし、git cloneする際に--recursiveオプションをつけなかった場合は以下のようにsubmoduleを更新します。

cd cage_ros_stack
git submodule update --init --recursive

ダウンロード後、依存パッケージをインストールします。

cd ~/catkin_ws/src
rosdep install -r -y -i --from-paths cage_ros_stack

ROSパッケージをビルドし、ワークスペースの設定を読み込みます。

cd ~/catkin_ws
catkin build
source devel/setup.bash

使い方

bringup.launchで以下の3つのノードと1つのlaunchファイルを呼び出すことができます。

ip:=のオプションではシミュレータを起動しているPCのIPアドレス(今回は192.168.1.110とします)を指定します。

roslaunch vtc_bringup bringup.launch ip:=192.168.1.110

furo-org/VTCのレーザスキャナは、台車にコマンドを送ってきたホストにスキャンデータを送信するようになっています。 そのためbringup.launchの起動時にシミュレータ宛に台車停止コマンドをrostopicで送信しています。 これによりROS上でレーザスキャナのスキャンデータを扱えるようになります。

動作確認

/cmd_vel に走行コマンドを送るとロボットを動かすことができます。例えばteleop_twist_keyboardを使うとひとまずキーボードで操作できます。

sudo apt install ros-melodic-teleop-twist-keyboard   # ROS melodicの場合
#sudo apt install ros-noetic-teleop-twist-keyboard   # ROS noeticの場合
rosrun teleop_twist_keyboard teleop_twist_keyboard.py

ライセンス

MITライセンスに基づき公開しています。詳細はLICENSEを参照してください。

コントリビュータ

fuRo外のコントリビュータ