furo-org/VTC + furo-org/CageClientを使うためのROSパッケージです。
YouTube: https://youtu.be/R8G5LW7Up14
Unreal Engineが動くPCとROSが動くPCが必要です。
furo-org/VTCをUnreal Engineが動くPCにセットアップします。
パッケージ済みバイナリが公開されていますのでそれを使用すると楽です。
Windows 10 Pro 64bitのバージョン1909とバージョン2004で以下のUnreal Engine版のVTCの動作確認をしました。
- VTC2018
- VTC2019
- VTC 2020/5/28版
- VTC TC2020ブランチ 2020/7/10のコミット
- VTC TC2020ブランチ 2020/9/10のコミット
ファイアウォールの設定をしてシミュレータの外部との通信を許可しておきます。
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 の組み合わせを想定して説明します。
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 initfuro-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_stackROSパッケージをビルドし、ワークスペースの設定を読み込みます。
cd ~/catkin_ws
catkin build
source devel/setup.bashbringup.launchで以下の3つのノードと1つのlaunchファイルを呼び出すことができます。
- cage_ros_bridge
rvizrostopicvelodyne_pointcloudのVLP16_points.launch
ip:=のオプションではシミュレータを起動しているPCのIPアドレス(今回は192.168.1.110とします)を指定します。
roslaunch vtc_bringup bringup.launch ip:=192.168.1.110furo-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.pyMITライセンスに基づき公開しています。詳細はLICENSEを参照してください。
fuRo外のコントリビュータ
