ドローンのコントロールプログラムのUI

プログラミング
image_print

ここ数ヶ月、ドローンのフライトオペレーションソフトを書いています。

ユーザーインターフェース

ソフトウェアを書いている時に、いつも思うことがあります。
プログラムを書いたことがない人、書いていても画面まで作ったことがない人は、ソフトウェアを機能よりも画面で判断してしまいます。
最初からベータ版だ、試作だといっておいても画面のデータのレイアウトや記載項目が違っているだけで「このソフトはダメだ」とダメ出しします

ところがプログラムを書いている方からすると、画面って一番ど~でもいい「コスメティクス(お化粧、見栄え)の問題」なんです。

なぜならば、必要なデータはすでにPCに来ている。それをどう見せるかはユーザーインターフェースの問題に過ぎず、すぐに変更できるから。
ところがシステム開発の現場でエンドユーザーを巻き込むと画面の話がほとんどになりがちです。
私がTPM(テクニカルプロジェクトマネージャ)をやっていてエンドユーザーを黙らせる方法は「マイクロソフトオフィス」にできるだけ近づける方法でした。
結局、一般的なユーザーがオフィスで目にするユーザーインターフェースってブラウザーかMSオフィスしかなく、それを見て育ってますから、無責任に個人的な好みで言いたい放題言わせないためにはオフィスソフトに準拠すれば文句も減りますし、操作もしやすい。(もちろんMSオフィスはよく考えられています!)

あなたが、普通のビジネスマンでコンピューターの内部までは知らないのであれば、「データが重要。表現は簡単に変えられる」ことは知っておいたほうが、なにかと仕事で得をするはずです。

というわけで、私は自分が書いているシステムでも画面まで完成しない限り、他人に見せることはありません。

飛行機のユーザーインターフェース

ドローンの記事でも書きましたが、ドローンは法律の分類上、「無人飛行機」に分類されました。
これはとても面倒なことで、有人飛行機なみの規制を受け、役所が管理するということです。
私はもっぱら無人をやっているので、今のところ被害は被っていませんが、書いているソフトでは空を飛ぶドローンもサポートして、世界中の人に使ってもらいたいものです。

実際のところ、みなさんが知っているとおり飛行機はいろんな原因で墜落します。
その経験から飛行機はいろんな安全策が講じられています。
そのひとつが計器盤です。


重要な情報はTの字に配置されるのだそうです。

対気速度 姿勢 高度
旋回釣合 方位 上昇率下降率

(用語は一般名称にしてます)

姿勢とは背筋が伸びているかどうかではなく、機体の「前後の傾き」と「左右の傾き」を示します。

これに対してドローンのオペレーションソフトの代表ミッション・プランナーの画面はこのとおり。

盛っている情報がめちゃくちゃ多い上に、

../_images/mp_hud_full.jpg

画面のほんの一部。

私がオペレーションソフトを書き始めた動機のひとつが「これ、全部、表示しなきゃいけないの?」です。
もちろんドローンの調整にはすべて必要なんです。でも機体調整ってエンジニアのしごとです。
ドローンをずーっとこの画面見ながらオペレーションする人ってあまりいないと思う。

なぜならば、このソフトを使って右に曲がろうとするならばジョイスティックはないので “rc 2 1300″とかドローンの出力制御数値を叩き込まないといけない。
普通はプロポのジョイスティックを右に倒して曲がります。
しかも、普通はテイクオフさせたら、画面右の地図で飛行計画を立てて、ドローンをAUTOモードにして飛ばす。ミッションが終了したらLAND(着陸)

マルチコプターの離陸と着陸は自動で行えるんです。よく飛行機にある侵入角がどうとかの概念はないです。

飛行機より複雑な画面をオペレーションで使うことはあまりない。

有識者に聞くと、このミッションプランナーの画面は戦闘機のスクリーンによく似ているそうです。

基本的な航空機のデジタル計器盤もこうなってます。(wikipedia 航空計器盤より)

ドローンの場合は、対地速度がGPSから計算されて出るので、対地速度、姿勢、方位、高度を示せるものを作りたいと思います。
友人のパイロット免許持ち(彼は大型船の免許も盛っていて、こういう時、便りになるー)に聞いて詳しくなれました。
というわけで、

Javascript キャンバス

Javascript Canvasは図形を描画できる機能です。

(続く)

タイトルとURLをコピーしました