ArduPilot 入門 (6):開発環境を準備しよう (Ubuntu + Eclipse)

オープンソースを学ぶ利点として、ソースコードを読んだり、変更したりと試行錯誤しながら学べることが挙げられます。ソースコード エディターは Developer Wiki に色々と紹介されていますが、本ブログでは Eclipse の環境構築手順を記載します。

本手順は Ubuntu 14.04 / 16.04 の 64bit 版で確認しています。

SITL 環境を構築済みの方は最初の「ArduPilot のソースコードを取得」の手順は飛ばしてください。

ArduPilot のソースコードを取得

Ubuntu のターミナルを起動し、下記のコマンドを順番に入力します。

sudo apt-get install git
cd ~/
git clone --recursive git://github.com/ArduPilot/ardupilot.git

ArduPilot のソースコードは、日々更新されています。最新版のソースコードを取得したい場合には、下記のコマンドを実行します。(最新版を取得することで新たな問題が発生することもあることもご留意ください)

cd ~/ardupilot
git pull
git submodule update --init --recursive

 

ターミナルからのビルド

install-prereqs-ubuntu.sh を実行することで、必要なパッケージのインストール、環境変数の設定などを行います。

cd ~/ardupilot
Tools/scripts/install-prereqs-ubuntu.sh -y

※ 上記のコマンド実行時に下記のエラーが出た場合には「sudo pip install future lxml」を事前に実行し再度上記のコマンドを実施してください。
Command "python setup.py egg_info" failed with error code 1

実行が完了すれば、設定を再読み込みします。

source ~/.profile

 

Copter のビルド

make コマンドによるビルド方法です。
cd ~/ardupilot/ArduCopter
make px4-v2

「PX4 ArduCopter Firmware is in ArduCopter-v2.px4」と表示されればビルド完了です。
make

ビルド実行時にエラーが発生した場合の対処方法については第7回ブログをご参考ください。

他の機体についても下記の手順でビルド可能です。

Plane のビルド

cd ~/ardupilot/ArduPlane
make px4-v2

Rover のビルド

cd ~/ardupilot/APMrover2
make px4-v2

Antenna Tracker のビルド

cd ~/ardupilot/AntennaTracker
make px4-v2

Eclipse からのビルド

事前準備

JDK をインストールします。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

上記のコマンドを実行中に、重要事項やライセンスに関する確認が求められますので、内容を読み、指示に従ってください。

次に、.profile に Java 用の環境変数を設定します。「vi ~/.profile」コマンドなどにより、次の3行を .profile の最終行に追加します。
export JAVA_HOME=/usr/lib/jvm/default-java
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

書き込みが終わった後は、.profile を再読み込みします。
source ~/.profile

下記2つのファイルをそれぞれ次のように名前変更します。
「eclipse.project」 => 「.project」
「eclipse.cproject」 => 「.cproject」
cd ~/ardupilot/
mv eclipse.project .project
mv eclipse.cproject .cproject

 

インストールからビルドまでの手順

Eclipse をダウンロードします。
http://www.eclipse.org/downloads/

上記サイトから Download を選択して「eclipse-inst-linux64.tar.gz」を「Downloads」フォルダ配下に保存します。(バージョンの違いなどによりファイル名、フォルダ名が異なる場合には、以降のコマンドも読み替えてください)
本手順では、現時点の最新版である Neon.1a Release (4.6.1) を使用します。

次のコマンドでファイルを解凍します。
cd /opt
sudo tar xavf ~/Downloads/eclipse-inst-linux64.tar.gz

(日本語環境だと ~/ダウンロード/eclipse)

インストーラーを起動します。
cd eclipse-installer/
./eclipse-inst

「Eclipse IDE for C/C++ Developers」を選択します。

eclipse-1

インストール フォルダを選択し、「INSTALL」ボタンをクリックします。
本手順では、デフォルトで設定される「/home/<ユーザー名>/eclipse/cpp-neon」にインストールするものとして手順を記載します。
eclipse-2

ライセンスに関する記載を読み、同意する場合には「Remember accepted licenses」にチェックを入れ、「Accept」を選択します。
eclipse-3

インストールが完了したら、「LAUNCH」ボタンをクリックして、Eclipse を起動します。
eclipse-4

作業用ディレクトリの設定画面が表示されるので、既定のまま「OK」ボタンをクリックします。
eclipse-5

Eclipse が起動しました。Welcome スクリーンが表示されるため「-」で最小化します。
eclipse-5-top

[File] – [Import…]を選択します。
eclipse-6-import

[General] – [Existing Projects into Workspace] を選択し、「Next」ボタンをクリックします。
eclipse-7-import

「Select root directory:」の項目に ardupilot のフォルダを指定します。
選択後、「Projects:」の項目に ardupilot が表示されることを確認します。
プロジェクトが表示されない方は、事前準備の項目に記載した「.project」と「.cproject」ファイルの名前変更を実施したか再度確認してください。
eclipse-8-import

ここまででプロジェクトの読み込みが完了しました。次に Eclipse からビルドを実施します。
下記では、ArduCopter をビルドします。
右側のペインから「1. Build タブを選択」、「2. ビルド対象を選択」、「3. ビルドを実施」します。
eclipse-9-import

コンソールに「PX4 ArduCopter Firmware is in ArduCopter-v2.px4」と表示されればビルド完了です。
eclipse-10-build

ビルド実行時にエラーが発生した場合の対処方法については第7回ブログをご参考ください。

次回以降、Eclipse を起動したい場合には、下記のコマンドで起動します。
~/eclipse/cpp-neon/eclipse/eclipse

上記だと起動が少し面倒なので、起動を楽にしたい方は「eclipse Dash 起動 16.04」などのキーワードで検索してみてください。

 

参考情報

Building ArduPilot for Pixhawk/PX4 on Linux with Make
http://ardupilot.org/dev/docs/building-px4-for-linux-with-make.html#building-px4-for-linux-with-make

Windows によるコンソールでのビルド、Eclipse でのビルド方法は下記をご参考ください。
Building ArduPilot for Pixhawk/PX4 on Windows with Make
http://ardupilot.org/dev/docs/building-px4-with-make.html

Building for Pixhawk/PX4 using Eclipse on Windows
http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html

Eclipse を日本語化したい方は下記をご参考ください。
Pleiades – Eclipse プラグイン日本語化プラグイン
http://mergedoc.osdn.jp/

 

 

著者紹介

yamaguchi_picture山口達也
ドローンソフトウェアエンジニア養成塾 第1期卒業生。

記事の誤りを見つけた方は下記のメールアドレスまでご連絡ください。
techblog@drone-j.com
(週末にメールを確認していますので、対応が遅くなること、休みの日にメールを返信させていただくこと、ご了承ください。)