2018年7月15日日曜日

QGroundControlの過去バージョンを使う

夏季インターンシップに落ちました。私です。

今回はQGroundControl(QGC)の過去バージョンをインストールする方法を紹介します。
QGCのリリースはGithubにて公開しています。ただし、これをUbuntuで使おうとするとエラーが吐き出されてしまいます。
実施した環境はUbuntu16.04です。
ではGithubから任意のバージョンをダウンロードしましょう。
私はQGroundControl.tar.bz2をダウンロードしました。

ダウンロードしたファイルまで移動します。ダウンロードしたものは/Downloadsにあるものとしています。

$ cd Downloads

解凍します。

$ tar -jxvf qgroundcontrol.tar.bz2

これでqgroundcontrolというフォルダが出来上がりましたね。この中のqgroundcontrol-start.shを実行すればいいはず・・・ですが私は

error while loading shared libraries: libQt5Location.so.5: cannot open shared object file: No such file or directory

と言われてしまいました。調べてみると、Qtというソフトが必要なようです。ところがこのQtにもいろいろバージョンがあります。今回、Qt 5.9.3とQt 5.5.1を試してみました。結論から言うと、Qt 5.5.1でQGCの実行までいけました。なのでQt 5.5.1のダウンロード先をおいておきます。
OSによって種類がありますが、今回の環境はUbuntu16.04 ですので、“qt-opensource-linux-x64-5.5.1.run”をダウンロードしました。x86かx64かは

$ uname -a

などのコマンドで確認しましょう。
パーミッションを定義して、インストーラを実行しましょう。

$ chmod +x qt-opensource-linux-x64-5.5.1.run

$ sudo ./qt-opensource-linux-x64-5.5.1.run

インストーラは全部デフォルトのままでインストールしました。
しかし、私の環境ではライブラリに不備があるようでした。なのでこれをインストールしました。

$ sudo apt-get install libgstreamer-plugins-base0.10-0

これで準備は終わり。後は再び、qgroundcontrol-start.shを起動しましょう。

$ ./qgroundcontrol-start.sh

以上


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ググっているとqgroundcontrol-start.shをエディタで編集して参照するディレクトリを変更する方法もあるようですが、私は変更なしでできました。
一応、記しておくと、

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Qt/5.5/gcc_64/lib
export QML_IMPORT_PATH=$HOME/Qt/5.5/gcc_64/qml/
export QML2_IMPORT_PATH=$HOME/Qt/5.5/gcc_64/qml/
export QT_QPA_PLATFORM_PLUGIN_PATH=$HOME/Qt/5.5/gcc_64/plugins/platforms/
./qgroundcontrol "$@"

どこかのタイミングでhomeディレクトリに/Qtが出来上がってました。Qtを起動したときかな?


今回、過去のQGCを使うに至った経緯ですが、px4flowのレンズ調整です。しかし、いざPCとUSB接続するとどうもArdupilotのWiki通りにカメラ画像が画面に表示されませんでした。そこで、できている・・・らしいQGCのバージョンを使って見よう!というわけです。最新バージョンで使えるようにしてよ!って話ですね。

0 件のコメント:

コメントを投稿

人気の投稿