学部の3年生(2021年)の時に所属するゼミで2週間で何かしらの成果物を作るという課題が与えられました。同じゼミの子はunityやDlibなどを使用して作っていました。
その際に自分はドローンに興味があったのでドローンを使用した成果物を作ることにしました。作成したのはハンドジェスチャーを使用してドローンを操作するといったものでしたがgit hubに上がっているコードにドローンとパソコンを通信するコードとジェスチャーの場合分けのコードを追記するだけでした。(担当教員には参考にした物は提示しています。)
↓参考にしたコードです
このような経緯があり今回は前回作成した時に思った改善点や別の技術を使用して一から作成していきたいと思います。
前回作成したものはmediapipeを使用しwebカメラで取得した映像からハンドトラッキングし学習モデルを通してジェスチャーを分類します。分類の結果に合わしてパソコンからDJI Tello(無印)にコマンドを送って操作するといったものでした。
この時にあった改善・変更したいと思った点を以下にあげます。
①ドローンにコマンドを送る際にある一定の時間(2秒ほど)を空けないと操作が行われなかった。
→操作するコマンドがドローンで実行される前に次のコマンドが送られてきて上書きされコマンドが実行されないのが原因かも。スマホとドローンを接続して操作する時は急な切り替えしなどもある程度はできていたので性能的にはできなくはないがSDKの限界があるのかもしれません。
②ドローンを操作するコマンドを送る際に「方向」と「距離(cm)」を指定して送るがジェスチャーで方向の指定はできたが距離はどの方向でも定数(20cmだったかな)にしていた。
→距離を可変にするためにデプスカメラなども考えたが値が張るので代わりにArduinoと超音波センサーを使用して距離を設定しようと思う。
③参考にしたコードのモデルはmediapipeで取得した座標を学習させていたがConv2D等を使用し画像から学習するとどうなるか試してみたい。
→GPUの有無も操作感に現れるかもしれないの検証するかも
随時、記事を書いていきますので長い目で見ていただけると助かります。