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
6. Joystickを使う
新しいターミナルを開いてコンテナに接続する。
$ sudo docker exec -it <<Container Name>> /bin/bash
$ sudo su
# roslaunch hector_quadrotor_teleop xbox_controller.launch