Проблема калибровки манипулятора / камеры (ориентирована на линейную алгебру)

Я работаю над исследовательским проектом с участием микроскопа (с камерой, подключенной к порту просмотра; видеопоток передается в приложение, которое мы разрабатываем) и манипулятором. Микроскоп и манипулятор управляются блоком управления Luigs & Neumann (очень устарел - компьютер взаимодействует с ним через последовательный кабель, и его время отклика медленное www.w). Микроскоп можно перемещать в 3-х измерениях; X, Y и Z, оси которых расположены под прямым углом друг к другу. Когда окно запрашивается, оно возвращает десятичные значения для положения каждой оси каждого устройства. Каждому устройству может быть отправлена ​​команда для перемещения в определенную позицию с точностью до субмикрометра.

Однако рычаг манипулятора можно регулировать во всех трех измерениях, и, таким образом, нет гарантии, что любая из его осей выровнена под прямым углом. Нам нужно иметь возможность смотреть видеопоток с камеры, а затем нажимать на точку на экране, куда мы хотим, чтобы кончик манипулятора двигался в направлении. Таким образом, две системы координат должны быть откалиброваны.

Прямо сейчас мы достигли калибровки, переместив положение микроскопа / камеры на кончик рычага манипулятора, установив его в качестве точки синхронизации между двумя системами координат, и переместив манипулятор манипулятора +250um в направлении X, переместив микроскоп в кончик рычага манипулятора в этом новом положении, а затем с помощью разностей между этими значениями определить трехмерный вектор, который соответствует расстоянию и направлению, перемещаемому манипулятором, на единицу в системе координат микроскопа. Это повторяется для каждой оси манипулятора.

Как только эти данные получены, чтобы переместить манипулятор в определенное место в системе координат микроскопа, система уравнений может решить систему уравнений, которая определяет, сколько нужно переместить манипулятор по каждой оси, чтобы переместить его в центральная точка экрана. Это работает довольно надежно до сих пор.

Проблема, с которой мы здесь сталкиваемся, заключается в том, что из-за медленного времени отклика оборудования для завершения процесса калибровки может потребоваться 5-10 минут, что осложняется тем фактом, что иногда необходимо менять наконечник манипулятора. во время эксперимента, требующего повторения процесса калибровки. Наше исследование довольно чувствительно ко времени, и это создает серьезное узкое место в этом процессе.

Моя линейная алгебра немного неоднородна, но, похоже, если мы измерим единицы измерения, пройденные кончиком манипулятора на единицу в системе координат микроскопа, и просто запрограммируем это в программу (на данный момент), это может оказаться возможным чтобы переместить все 3 оси манипулятора на определенную величину одновременно, а затем вывести векторы для каждой оси из этой информации. Я не совсем уверен, как это сделать (или если это вообще возможно), и любой совет будет принят с благодарностью. Если вам нужна какая-либо дополнительная информация или вам нужно что-то разъяснить, пожалуйста, дайте мне знать.

1 ответ

Вам действительно нужно четыре точки данных для характеристики трех независимых осей движения.

Можете ли вы добавить некоторые другие ограничения, т. Е. Являются ли оси манипулятора ортогональными друг к другу, даже если они не зафиксированы относительно осей сцены? Вы знаете выравнивание манипулятора грубо, даже если не совсем?

Что занимает больше всего времени - перемещение сцены в центр? Вы можете перемещать манипулятор и сцену одновременно? Насколько широко поле зрения микроскопа? Сколько искажений по расстоянию есть около краев вида - нужно ли его заново центрировать каждый раз, чтобы быть точным? Может быть, мы могли бы вместо этого придумать отображение искажения обратного экрана?

Другие вопросы по тегам