LoginSignup
0
0

More than 1 year has passed since last update.

Parrot ANAFI をシミュレーターで動かすその1

Last updated at Posted at 2022-10-06

Sphinx をインストールする

 sphinx とは、Parrot が提供しているドローンシミュレーターである。Parrot 製フラッグシップドローンとして Anafi があり、これをシミュレーションできるようになる。ここでは sphinx の構築からドローンをシミュレーターに反映させるまでを記録として記述する。

Parrot からライセンスを取得する

 sphoinx はめんどくさいことに Parrot から ftp サーバー ID とそのパスワードを取得しなければならない。そのため、下のメールアドレスに利用目的などの趣旨を伝えて sphinx のサーバー ID を要求する。内容が明確だった場合 parrot から承認が来る。

  • developer@parrot.com
     1〜2週間ほどまつと、parrot からこのようなメールが来る。

Hello,

Please find below the credentials to access the FTP server:

Login = xxxxxxxxx
Password = XXXXXXXX>

Regards,
The Parrot education team
xxx には ID 情報、XXX にはパスワードが書かれている。これがきたら sphinx の PPA システムに登録を行う。

Parrot Sphionx の PPA 登録をする

以下のコマンドを実行する。このとき [ID]にはメールで書かれている Login を入力し、[PASS]にはメールで書かれている Password を入力すること。

echo "deb ftp://[ID]:<[PASS]@ftp2.parrot.biz/deb/ $(lsb_release -cs)/" | sudo tee /etc/apt/sources.list.d/apt.parrot.biz.list
curl -fsSL ftp://[ID]:[PASS]@ftp2.parrot.biz/gpg | sudo apt-key add -
echo 'Dir::Bin::Methods::ftp "ftp";' | sudo tee /etc/apt/apt.conf.d/99sphinx-ftp
sudo apt update

ここまで何かしらのエラーが出ていない場合は次のセクションに進んでほしい。

Parrot Sphinx のインストール

Sphinx のインストールは apt から行う。

sudo apt -y install parrot-sphinx

コレを行ったあとに、以下のような画面がターミナル上で表示される。
Screenshot from 2022-10-06 19-24-59.png
 コレ最初出たときどうやって操作すればいいのかわからなかったのだが、 Tab キーで項目を移動できるので、Tab キーを押して了解をクリックする。
 その後しばらく待つと、また確認画面が来るので了解をクリックし、さらに以下のような項目が出たら
Screenshot from 2022-10-06 19-26-29.png
 この空欄にユーザー名を登録する。ユーザー名は PC ログイン時のユーザー名のことである。これを間違えると面倒なことになるので注意してほしい。ここで僕はユーザーネームを書き間違えてしまった。

次にシミュレーションを行うにおいて必要なフィールドをインストールする。以下のコマンドでインストール可能なフィールド一覧が確認できる。

apt-cache search parrot-ue4

ここではシンプルなフラット空間である以下のシミュレーションフィールドを採用する。

sudo apt update
sudo apt install parrot-ue4-empty

そしてテストとして公式ドキュメントに書かれているこのコマンドを実行

sphinx "/opt/parrot-sphinx/usr/share/sphinx/drones/anafi_ai.drone"::firmware="https://firmware.parrot.com/Versions/anafi2/pc/%23latest/images/anafi2-pc.ext2.zip"

そしたらこんなエラーが出てしまった。

You should be a member of the firmwared group to run sphinx.
Please run the following command to add it. You will need to
log out / log in for this new group membership to be effective.
sudo usermod -a -G firmwared username

Google 先生に直訳してもらうと

sphinx を実行するには、firmwared グループのメンバーである必要があります。
以下のコマンドを実行して追加してください。 あなたがする必要があります
この新しいグループ メンバーシップを有効にするには、ログアウト/ログインしてください。
sudo usermod -a -G firmwared ユーザー名

つまり sphoinx 設定時のユーザーネームがこのパソコンに存在しないので実行できないということである。

Sphinx の実行

 実行対象は ANAFI とする。AnAFI AI などを実行する方は公式ドキュメントを参考にしてほしい。

ローカルにファームウェアをダウンロードする

 インターネット経由からでもドローンのファームウェアを実行することは可能なのだが、なぜか僕の環境ではうまく行かないので、ここではローカルにファームウェアを持ってきて実行する方法を記述する。まずはこちらから各機体のファームウェアをダウンロードできる。今回僕は実機もある ANAFI をダウンロードする。僕がダウンロードしたリンクのパスは以下のとおりである。

Versions/anafi/pc/1.8.3/images/anafi-pc.ext2.zip

ダウンロードが完了したら、任意でディレクトリを作成、移動してどこにファームウェアパッケージがあるのかを管理できるようにしよう。そしたら以下のコマンドを実行する。(ANAFI の場合)

sudo systemctl start firmwared.service
sphinx "/opt/parrot-sphinx/usr/share/sphinx/drones/anafi_4k.drone"::firmware="/ファームウェアパッケージまでのパス/anafi-pc.ext2.zip

そしたらファームウェア実行のログがめちゃくちゃ表示されて、待機状態に入るので新たにターミナルを立ち上げて、このコマンドを実行する。

parrot-ue4-empty

そしたらシミュレーターが開き、しばらく待つとこのようにドローンが表示される。
Screenshot from 2022-10-06 22-09-14.png
これで sphinx のセットアップは完了である。

ユーザーネームを書き間違えてしまった場合

さて、 sphinx シミュレーターを起動する際に以下のようなエラーが出た場合はユーザーネームを設定時に書き間違えてしまった可能性がある。

You should be a member of the firmwared group to run sphinx.
Please run the following command to add it. You will need to
log out / log in for this new group membership to be effective.
sudo usermod -a -G firmwared username

ここでコレを実行して sphinx の Firmwared に間違ったユーザーネームが登録されていないかを確認しよう。

cat /etc/group|grep firmwared

すると、レスポンスとしてこのように返ってくる。USERNAME にセットアップ時に記述したユーザーネームが表示される。

firmwared:x:135:USERNAME

そしたら、間違えて登録してしまったユーザーネームに管理者権限を与える。

sudo usermod -a -G firmwared USERNAME
sudo usermod -a -G adm,cdrom,sudo,dip,plugdev,lpadmin,USERNAME

そして

sudo reboot now

でPCを再起動
 再起動後、もう一度 sphinx を実行してみる。

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