私は、顕微鏡 (ビュー ポートに接続されたカメラを使用。ビデオ フィードは開発中のアプリケーションにストリーミングされます) とマニピュレーター アームを含む研究プロジェクトに取り組んでいます。顕微鏡とマニピュレーター アームは両方とも、Luigs & Neumann コントロール ボックスによって制御されます (非常に時代遅れです。コンピューターはシリアル ケーブルでインターフェイスし、応答時間は遅いですwww.)。顕微鏡は 3 次元で移動できます。X、Y、Z の各軸は互いに直角です。ボックスが照会されると、各デバイスの各軸の位置の 10 進値が返されます。各デバイスには、サブマイクロメートルの精度で特定の位置に移動するコマンドを送信できます。
ただし、マニピュレータ アームは 3 次元すべてで調整可能であるため、その軸のいずれかが直角に位置合わせされているという保証はありません。カメラからのビデオ ストリームを見て、マニピュレーター アームの先端を動かしたい画面上のポイントをクリックできるようにする必要があります。したがって、2 つの座標系を調整する必要があります。
現在、顕微鏡/カメラの位置をマニピュレーター アームの先端に移動し、そこを 2 つの座標系の同期点として、マニピュレーター アームを X 方向に +250um 移動し、顕微鏡を次に、これらの値の差を使用して、顕微鏡座標系の単位ごとに、マニピュレーターが移動した距離と方向に対応する 3 次元ベクトルを定義します。これは、マニピュレーター アームの各軸に対して繰り返されます。
このデータが取得されると、マニピュレーター アームを顕微鏡座標系の特定の位置に移動するために、プログラムによって連立方程式を解くことができます。画面の中心点。これまでのところ、これはかなり確実に機能します。
ここで直面している問題は、機器の応答時間が遅いため、キャリブレーション プロセスを完了するのに 5 ~ 10 分かかることがあります。実験中に、キャリブレーション プロセスを繰り返す必要があります。私たちの研究はかなり時間に敏感であり、これがプロセスの大きなボトルネックとなっています。
私の線形代数は少し不安定ですが、顕微鏡座標系で単位ごとにマニピュレーター アームの先端が移動する単位を測定し、これをプログラムにハード コードするだけで (今のところ)、可能かもしれません。マニピュレータの 3 つの軸すべてを特定の量だけ一度に動かし、この情報から各軸のベクトルを導き出します。これを行う方法がよくわかりません(または、これが可能かどうか)。アドバイスをいただければ幸いです。追加情報が必要な場合、または何か説明が必要な場合はお知らせください。