LoginSignup
33
30

More than 5 years have passed since last update.

A.R. Drone 2.0をシミュレータで動かす(ubuntu)

Last updated at Posted at 2015-08-14

環境

Ubuntu LTS 14.04

ROSを入れる/設定する(ROSを設定してある人は飛ばしてください)

terminalを開く
$sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
$wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
$sudo apt-get update
$sudo apt-get install python python-pip git ruby-full g++ cmake qtcreator make automake autoconf doxygen libboost-dev libopencv-dev subversion mercurial openjdk-7-jdk freeglut3-dev
$sudo apt-get install ros-indigo-desktop-full
$rosdep init
$rosdep update
$echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc && source ~/bashrc
$sudo apt-get install python-rosinstall
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src && catkin_init_workspace
$cd ~/catkin_ws/ && catkin_make
$souce ~/.bashrc

DRONEシミュレータを入れる

drone-sim.png

terminalを開く
$cd ~/catkin_ws/src && git clone git clone https://github.com/AutonomyLab/ardrone_autonomy.git
$rosdep install ardrone_autonomy
↑でエラー出ても無視
$ cd ardrone_autonomy
$sudo ./build_sdk.sh
$cd ../
$rosmake ardrone_autonomy
$cd ~/catkin_ws && catkin_make
$source ~/.bashrc
$rospack profile && rosstack profile
$cd ~/catkin_ws/src && svn checkout https://svncvpr.informatik.tu-muenchen.de/cvpr-ros-pkg/trunk/ardrone_helpers
$cd ardrone_helpers
$rosdep install joy

rosdepはエラー出ても無視
$rosdep install ardrone_joystick
rosdepはエラー出ても無視
$rosmake joy
$rosmake ardrone_joystick
$cd ~/catkin_ws/
$catkin_make
$source ~/.bashrc
$rospack profile && rosstack profile
$cd ~/catkin_ws/src && git clone https://github.com/kendemu/tum_simulator_ros_ingido/

シミュレータがROS Indigo Distributionでは動かなかったので動くようにリポジトリ作りました
$cd tum_simulator_ros_indigo
$rosdep install cvg_sim_gazebo_plugins

rosdepはエラー出ても無視
$rosmake cvg_sim_gazebo_plugins
$rospack profile && rosstack profile
$rosdep install cvg_sim_gazebo

rosdepはエラー出ても無視
$rosmake cvg_sim_gazebo
$rosdep instal cvg_sim_msgs

rosdepはエラー出ても無視
$rosmake cvg_sim_msgs
$rosdep install tum_simulator

rosdepはエラー出ても無視
$cd ~/catkin_ws && catkin_make
$source ~/.bashrc
$rospack profile && rosstack profile

シミュレータを動かす

movement.png

$roslaunch cvg_sim_gazebo ardrone_testworld.launch
Gazeboというアプリケーションに注目
別のターミナルを開く
$rostopic pub -1 /ardrone/takeoff std_msgs/Empty
Droneが離陸します!

DRONEでSLAMを行うには

drone-slam.png

SLAMは地図生成と自己位置推定を行うアルゴリズムのことを言います。
SLAMができるとDroneの自律操縦も可能になります。
http://wiki.ros.org/tum_ardrone
DRONEナビゲーションパッケージのインストール
$cd ~/catkin_ws/src
$git clone git://github.com/tum-vision/tum_ardrone.git tum_ardrone
$rosdep install tum_ardrone
$rosmake tum_ardrone
$cd ~/catkin_ws
$catkin_make
$rosstack profile && rospack profile

実行
$roslaunch cvg_sim_gazebo ardrone_testworld.launch
$roslaunch tum_ardrone tum_ardrone.launch
$rosrun tum_ardrone drone_autopilot
$rosrun tum_ardrone drone_gui

ps3(sixaxis)でのDRONEの動かし方(simulator)

sixaxis.jpeg

ターミナルを開く
$sudo apt-add-repository ppa:falk-t-j/qtsixa
$sudo apt-get update
$sudo apt-get install sixad

ps3コントローラをUSB経由で繋いでください
$ sudo sixpair
ps3コントローラをUSBから抜いて
$ sixad --start
無線の状態でPSのボタンを押してください。
設定完了です!

別のターミナルを開く
$roslaunch cvg_sim_gazebo ardrone_testworld.launch
別のターミナルを開く
$ roslaunch ardrone_joystick teleop.launch
L1を押す(teleop.launchのエラーメッセージは無視)
動きます!

画像追跡

camshift_node.png
https://www.youtube.com/watch?feature=player_embedded&v=UaZtiBNVVpM
Turtlebot http://wiki.ros.org/Robots/TurtleBot 
で色情報(CamShiftアルゴリズム)を元に画像追跡を行うプログラムを書きました。追跡画像の角度をpublishします。ソースに書かれてあるカメラのFOVを随時換え、geometry_msgs/Twistのlinear.y/linear.zへの値を変更してください。
https://github.com/kendemu/followme
facerec.jpg

さらにロバストに画像追跡を行いたい場合はHaarCascadeやR-CNNがあります。顔の角度をpublishするros nodeを作りましたのでご活用ください。こちらは4つのhaarcascade識別器の推論結果をクラスタリングして要素数でフィルタリングすることによってさらにロバストに顔追跡が可能です。
https://github.com/demulab/face_detector

33
30
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
30