Adapter utilパッケージ
Adapter utilパッケージは、Mech-Centerソフトウェアのインストールパスの /src/util
フォルダに格納されています。このパッケージには、さまざまなモジュールが含まれており、一般的な関数を提供しています。これらの関数は、Adapterの開発者がプログラムを効率的に作成するのに役立ちます。プログラミングの過程で、まずutilパッケージに必要な機能が既に実装されているかを確認します。もし実装されている場合は、それを直接使用することができます。もし実装されていない場合で、かつ一般的な機能である場合は、それを小さな関数として抽象化し、utilパッケージに追加することができます。
以下では、各モジュールについて簡単な紹介をします。
databaseモジュール
databaseモジュールは、データベースの操作を提供します。Mech-Centerは実行時にデフォルトでmechmind.dbというデータベースファイルを作成します。このファイルは実行中のログを保存するために使用されます。databaseモジュールには、SQL文の実行やレコードの一部またはすべてをクエリするための関数が提供されています。
json_keysモジュール
json_keysモジュールには、Mech-Centerで使用されるJSONキー/値文字列が保存されています。他のモジュールでは、直接インポートして使用することができます。
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モジュールでは、位置姿勢に関連するいくつかの単位変換関数も提供されています。それには、ミリメートルからメートルへの変換、メートルからミリメートルへの変換、ラジアンから度への変換、度からラジアンへの変換、四元数からオイラー角への変換、オイラー角から四元数への変換が含まれています。