エンジニアとしての初現場で産業用ドローン関連のソフトウエア開発に従事しました。
最初に着手したのは座標データを扱うAPI群の開発とAPIサーバの構築です、知識経験0からのスタートでしたが要件を実現する為に必要な技術要素を調査すると同時にRest等の各種設計思想を実践でやりながら学びGithubで公開されているフレームワークやAPIの構成をみて取り入れつつAPIを3つほど構築しました。
サーバー構築はvagrantで仮想サーバーを立てる事で一連の流れと手順や各種Linuxコマンドを習得し、AWSの仕様による違いを吸収しつつ構築しました、2週間ほどでnginxのパフォーマンスチューニングまである程度できるようになりました。
APIに使用した技術
言語: Python3
FW:falcon
サーバー:AWS
DB:MongoDB
プロジェクトの後半からはROSというロボットプログラミング用のミドルウェアとそれに対応しているDJI-OSDK-ROSというDJI製ドローンを制御するためのSDKを使用してドローンの飛行制御関連のオリジナルSDKのリファクタリングを担当しました、パッケージの設計からアルゴリズムの検証、メソッド分割、クラス化といった構造化からロガーの設計実装、ROSの環境構築自動化をShell scriptで実装しました。
DJIのSDKに関しては中国語のリファレンス等でも情報のキャッチ等を行いました(中国語がほぼネイティブレベルなので)。
それから上記の飛行制御SDKを実行する環境としてNVIDIA Jetson Tx-1の組み立てや電源ケーブルとシリアル変換ケーブルの自作などの電子工作やUbuntuOSのインストール等も行いました。
プロジェクトの初期は私1人だった為自力で問題を解決をせざる得ない状況の中にあり、愚直にトライ&エラーを繰り返して行きました、そのおかげで問題解決能力とキャッチアップ力、エラーが発生した時の勘所が凄く磨かれました。