Adapter utilパッケージ
Adapter utilパッケージは、Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Communication Component/src/util
フォルダに格納されています。このパッケージには、さまざまなモジュールが含まれており、一般的な関数を提供しています。これらの関数は、Adapterの開発者がプログラムを効率的に作成するのに役立ちます。プログラミングの過程で、まずutilパッケージに必要な機能が既に実装されているかを確認します。もし実装されている場合は、それを直接使用することができます。もし実装されていない場合で、かつ一般的な機能である場合は、それを小さな関数として抽象化し、utilパッケージに追加することができます。
以下では、各モジュールについて簡単な紹介をします。
databaseモジュール
databaseモジュールは、データベースの操作を提供します。ビジョンシステムの実行時にデフォルトでmechmind.dbというデータベースファイルを作成します。このファイルは実行中のログを保存するために使用されます。databaseモジュールは、SQL文の実行、一件またはすべてのレコードのクエリを行うための関数を提供します。
message_boxモジュール
message_boxモジュールは、ポップアップ プロンプトの機能を提供します。ポップアッププロンプトのタイプにはinformation(一般情報)、warning(ワーニング)およびcritical(重大エラー)が含まれます。
transformsモジュール
transformsモジュールは、オイラー角から四元数に変換する、四元数からオイラー角に変換する、位置姿勢乗算、対象物の位置姿勢からTCPに変換する、TCPから対象物の位置姿勢に変換する、対象物回転計算などの関数を提供します。サードパーティのライブラリtransforms3dもオイラー角から四元数に変換する、四元数からオイラー角に変換する機能を提供していますが、実際の使用では、transforms3dによって変換された値が間違っている場合があります。実際の計算では、最初にtransforms3dライブラリを使用できますが、結果が正しくない場合は、transformsモジュールが提供するカスタマイズの変換関数を使用できます。
timerモジュール
timerモジュールは、便利なTimerクラスを提供します。タイミング関数が必要な場合は、Timerオブジェクトを生成し、コールバック関数を渡し、start()を呼び出すことができます。使用後、Timerオブジェクトを破棄する必要はありません。プログラムの終了時に自動的に破棄されます。
poseモジュール
pose モジュールは、Mech-Vizの位置姿勢を同じ形式で表すためのクラスを提供しており、並進(メートル単位)と回転(四元数形式)を含んでいます。このクラスでは、逆行列を取得したり、行列同士の乗算を行ったりすることができます。また、listからの変換やlistへの変換も可能です。 さらに、poseモジュールでは、位置姿勢に関連するいくつかの単位変換関数も提供されています。それには、ミリメートルからメートルへの変換、メートルからミリメートルへの変換、ラジアンから度への変換、度からラジアンへの変換、四元数からオイラー角への変換、オイラー角から四元数への変換が含まれています。