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 init
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ファイルを呼び出すことができます。
- cage_ros_bridge
rviz
rostopic
velodyne_pointcloud
のVLP16_points.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外のコントリビュータ