Using ROS with UAVs

ROSとGazeboを使ったUAVのSimulatorを作成する。

DockerコンテナにSimulatorを作成します。
※Dockerのインストール方法はWeb上にたくさんあるのでグッグってみて下さい。

1. Docker hubからubuntu 14.0.4のイメージをpull
$ sudo docker pull ubuntu:trusty
2. Dockerコンテナを起動
$ sudo docker run --privileged -it -h docker --name CrazyFlie_round1 \
  --env DISPLAY=unix:0 --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
  --device=/dev/input:/dev/input ubuntu:trusty /bin/bash 


オプション解説
コンテナからGUIアプリケーションを実行するためのオプション
--env DISPLAY=unix:0 --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw"

ホストOSに接続されてJoyStickをコンテナから使うためのオプション 
--device=/dev/input:/dev/input

3. ROS Indigoのインストール

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > \
/etc/apt/sources.list.d/ros-latest.list'

$ sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net –recv-key 0xB01FA116

$ sudo apt-get update

$ sudo apt-get install ros-indigo-desktop-full

$ sudo rosdep init

$ rosdep update

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

$ source ~/.bashrc

3.1 rosinstallとrosと依存関係があるパッケージをインストール
$ sudo apt-get install python-rosinstall \
ros-indigo-octomap-msgs \
ros-indigo-joy \
ros-indigo-geodesy \
ros-indigo-octomap-ros \
ros-indigo-mavlink \
ros-indigo-control-toolbox \
unzip

4. simulator作成
$ env | grep ROS_MASTER_URI
ROS_MASTER_URI=http://localhost:11311
表示されない場合は下記を実行
$ export ROS_MASTER_URI=http://localhost:11311
$ sudo apt-get update
$ sudo apt-get install ros-indigo-hector-quadrotor-demo

5. simulatorの起動
$ roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch

gazebo

rviz

 

 

 

6. Joystickを使う

新しいターミナルを開いてコンテナに接続する。

$  sudo docker exec -it <<Container Name>> /bin/bash

$ sudo su

# roslaunch hector_quadrotor_teleop xbox_controller.launch

カテゴリー: コラム パーマリンク