LoginSignup
0
3

More than 1 year has passed since last update.

ROSを用いてpythonからドローンを制御する方法

Last updated at Posted at 2021-05-25

今回はardroneをROSを使用して、ドローン制御(自律飛行制御)を行う。
まず初めにROSについて、説明する

ROSとは...

ROS(Robot Oparting System)の略であり、ロボットソフトウェアプラットフォームのことを言う。
これにより、ロボットようアプリケーションプログラムの開発においてパッケージ化されたモジュールやライブライが使用でき、開発が楽に行える。

もう少し簡単に言うと、ロボットが人についていく(トラッキング)プログラムを一から作るとなると大変だが、
これらのプログラムはもうすでに世界の誰かが作ってくれていて、私たちはモジュールというトラッキングプログラムが含まれたものを使用するだけで良い。

ROSのインストール

ROSはubunts上で動くものなので、必ずubuntsを用意して動かしてください。
ROSのインストール方法はhttps://qiita.com/srs/items/e0e0a9dc3f94c2d3348eを見ながらやってみてください。

作業フォルダの作成catkin_ws

ROS専用ビルドシステムであるcatkinを使用する。catkinを使用するために、catkin_wsといった作業スペースの中でプログライングスクリプトを記述する必要がある。
以下のコマンドで作成。ちなみに、catkin_makeとはビルドみたいな扱いであり、catkin_ws内のファイルを編集した際にcatkin_makeを行う。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
source ~/.bashrc

ROSショートカット

ROSはコマンドをよく使うので、ショートカットは覚えておくと良い

cw: ~/catkin_wsへ移動
cs: ~/catkin_ws/srcへ移動
cm: ~/catkin_wsへ移動しcatkin_makeでビルド

統合開発環境のインストール(IDE)

GUIを利用するコードを書く場合によく使われているIDEであるVScodeをここではインストールする。
https://code.visualstudio.com/downloadここからんubunt用をダウンロードする

VsCodeの基本設定

左上の拡張機能からC++/pythonをインストール。
VSCodeでビルドする方法は『ファイル』⇨『フォルダーを開く』を選択しデバッグしたいパッケージを選択。
以下詳細はP39を参照

catkin_wsのリセット法方

rm -rf /home/user/catkin_ws/src/
rm -rf /home/user/catkin_ws/build/
rm -rf /home/user/catkin_ws/devel/

drone.pyファイル(Node)の作成方法

CMakeLists.txtの編集

#該当部分をコメントアウト.また,必要なものを追加
#7行目あたり
find_package(catkin REQUIRED COMPONENTS
    roscpp
    rospy
    std_msgs
    message_generation
)

#45行目あたり
## Generate messages in the 'msg' folder
add_message_files(
    FILES
#   Message1.msg
#   Message2.msg
    Adder.msg
 )

#66行目あたり
generate_messages(
     DEPENDENCIES
     std_msgs
)

#104行目あたり
catkin_package(
#   INCLUDE_DIRS include
     LIBRARIES ros_adder
     CATKIN_DEPENDS roscpp rospy std_msgs
     DEPENDS system_lib
)

CMakeLists.txtの編集が終了したら、catkin_makeでビルドしておきましょう。

ノードの作成

ros_adder/scriptsの中にdrone.pyを記述。

cd ~/ros_ws/src/ros_adder/
mkdir scripts; cd scripts
touch para_in.py adder.py

ノード作成後ビルドしておきましょう。
catkin_makeするときはcd ~/home/に戻ってから操作する

cd ~/ros_ws/
catkin_make

ドローンを飛ばす時のコマンド

ターミナル1

roscore

ターミナル2 ardroneとの接続(wifiの接続を忘れないように)

rosrun ardrone_autonomy ardrone_driver

ターミナル3

Pythonファイルの実行権限付与
```
cd ~/catkkin_ws/src/ros_adder/scripts
sudo chmod +x drone.py

source devel/setup.bash
rosrun ros_adder drone.py
```

0
3
0

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
0
3