СИСТЕМЫ И СПОСОБЫ ОТСЛЕЖИВАНИЯ МЕСТОПОЛОЖЕНИЯ ПОДВИЖНОГО ЦЕЛЕВОГО ОБЪЕКТА
SYSTEMS AND METHODS FOR TRACKING LOCATION OF MOBILE TARGET OBJECTS

ОБЛАСТЬ ТЕХНИКИ И УРОВЕНЬ ТЕХНИКИ
[0001] Настоящее изобретение в целом относится к системам и способам отслеживания местоположений подвижного целевого объекта (например, транспортного средства типа "краулер" (crawler) или иной электромеханической машины, которая управляется с помощью компьютерной программы) по мере его перемещения относительно обрабатываемой детали или части.
[0002] При решении задач с участием производственных процессов, в которых используются транспортные средства типа "краулер" или иные электромеханические машины с компьютерным управлением, часто применяется отслеживание местоположения в системе опорных координат. Существующие решения отслеживания местоположения делятся на две категории: отслеживание абсолютного движения и отслеживание инкрементного движения. Отслеживание абсолютного движения относится к отслеживанию положения и/или ориентации, заданных в системе опорных координат, такой как система координат самолета. Известные способы отслеживания абсолютного движения включают в себя оптический захват движения, лазерное отслеживание, камеры глубины, магнитное отслеживание и отслеживание на основе звука.
[0003] Отслеживание инкрементного движения заключается в измерении смещений относительно предварительного измерения координат. В одном известном способе отслеживания инкрементного движения применяют датчики угла поворота, которые выдают импульсы в ответ на инкрементные перемещения. При решении задач, в которых используется измерение инкрементного движения, со временем могут накапливаться ошибки. Такое накопление ошибок является нежелательным в случаях использования, требующих ограничения ошибок в отношении системы абсолютных координат. Существует необходимость в реализации процесса, который обеспечивает точное абсолютное измерение при меньшей частоте обновлений, которое может быть интегрировано в систему измерения инкрементного движения, работающую при более высоких частотах обновлений.
[0004] Хотя существуют другие системы абсолютных измерений для измерения положения и ориентации с использованием оптических способов или способов, основанных на изображении, они обычно требуют размещения множества камер вокруг целевого объекта. Одна известная система абсолютных измерений, которая использует одну камеру "глубины", имеет ограниченную дальность и ограниченную способность различать конкретные признаки. Было бы предпочтительным иметь возможность отслеживать положение и ориентацию с использованием одной стандартной видеокамеры.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0005] Автоматизированные процессы измерения, описанные в данном документе, обеспечивают проведение абсолютных измерений в системах, вырабатывающих данные относительного (инкрементного) отслеживания. Это применение дополнительно решает проблему автоматизированных отслеживания движения и управления для транспортных средств, таких как транспортные средства типа "краулер", совершающих перемещение вдоль поверхностей, с использованием портативного недорогого оборудования, которое легко настроить, поскольку оно использует конфигурацию с одной камерой. При использовании с одометрией (или других измерениях относительных координат) эта система отслеживания может обеспечивать реализацию способа коррекции в абсолютных координатах способа для транспортных средств управляемого движения. При использовании без управления движением она также может обеспечивать автоматизированное отслеживание местоположений одного или более объектов в большом объеме.
[0006] В автоматизированном процессе используется система местного позиционирования (LPS) для получения данных местоположения (т.е. положения и ориентации) для одного или более подвижных целевых объектов в то время, когда эти целевые объекты являются по меньшей мере неподвижными в этот момент (т.е. достаточно долго для обеспечения возможности завершения измерительной части процесса). В тех случаях, когда целевые объекты имеют возможность перемещаться под управлением компьютера, этот автоматизированный процесс может использовать данные измеренного местоположения для коррекции положения и ориентации таких целевых объектов. Система обеспечивает получение преимуществ из измерения и возможности захвата изображений для системы местного позиционирования и сочетает в себе управляемые маркерные сигнальные лампы, обработку изображений и вычисление преобразования координат для обеспечения информации об отслеживании для управления местом расположения транспортных средств. Полученная система обеспечивает возможность отслеживания положения и ориентации объектов в системе опорных координат, например, отслеживания транспортного средства типа "краулер" на поверхности крыла самолета. Система обеспечивает малозатратную альтернативу другим типам небортовых систем для отслеживания; она портативна, проста в установке и может эксплуатироваться одним пользователем.
[0007] Один аспект объекта, подробно раскрытого ниже, представляет собой способ определения текущего местоположения целевого объекта в трехмерной системе опорных координат, когда целевой объект оснащен по меньшей мере тремя активными целевыми маркерами, расположенными в известной конфигурации. Способ содержит следующие этапы, согласно которым:
(a) задают местоположение камеры в отношении системы опорных координат;
(b) осуществляют захват изображения в то время, когда камера отцентрована на целевой объект и ни один из активных целевых маркеров не включен;
(c) осуществляют захват одного или более изображений в то время, когда камера отцентрована на целевой объект и один или более активных целевых маркеров включены;
(d) обрабатывают эти изображения для вычисления разностного изображения, выражающего разность между изображением, захваченным в то время, когда ни один из активных целевых маркеров не был включен, и каждым изображением, захваченным в то время, когда один или более активных целевых маркеров были включены;
(e) вычисляют соответствующие средние координаты пикселей для разностных областей в разностном изображении, сопоставленном с соответствующими активными целевыми маркерами;
(f) для соответствующих активных целевых маркеров, наводят лазерный дальномер и осуществляют передачу лазерного луча в направлении, заданном соответствующими углами панорамирования и наклона, которые имеют функциональную зависимость по меньшей мере от углов панорамирования и наклона, под которыми целевой объект был отцентрован в поле обзора изображения камеры, и разностей между соответствующими средними координатами пикселей и координатами пикселей центра изображений;
(g) для соответствующих активных целевых маркеров, получают данные соответствующих дальности, панорамирования и наклона после передачи соответствующего лазерного луча;
(h) вычисляют координаты соответствующих точек, сопоставленных с активными целевыми маркерами в системе опорных координат на основании данных измеренных дальности, панорамирования и наклона; и
(i) сравнивают соответствующие положения указанных соответствующих точек, координаты которых были вычислены исходя из данных измеренных дальности, панорамирования и наклона с соответствующими положениями соответствующих точек, расположенных в известной конфигурации, для определения текущего положения и ориентации целевого объекта, заданных в показателях системы опорных координат.
[0008] В соответствии с некоторыми вариантами реализации изобретения этап (с) содержит захват одного изображения в то время, когда по меньшей мере три активных целевых маркеров включены. В соответствии с другими вариантами реализации изобретения этап (с) содержит захват соответствующих изображений в то время, когда первый, второй и третий активные целевые маркеры включают последовательно.
[0009] В соответствии с некоторыми вариантами реализации изобретения этап (d) содержит этапы, согласно которым: сегментируют разностное изображение для включения в них отдельных областей, сопоставленных с активными целевыми маркерами на основании разностей; и вычисляют соответствующие средние координаты пикселей в разностном изображении для соответствующего центроида каждой отдельной области, сопоставленной с активными целевыми маркерами.
[00010] В соответствии с другим аспектом способ, описанный выше, может дополнительно содержать этапы, согласно которым: измеряют конфигурацию точек на основании относительных расстояний между точками и вычисляют первую матрицу преобразований, выражающую местоположение целевого объекта в системе опорных координат на основании разностей между конфигурацией измеренных точек и конфигурацией известных точек. В некоторых вариантах реализации изобретения конфигурация известных точек является асимметричной.
[00011] В соответствии еще с одним аспектом способ, описанный выше, может дополнительно содержать этапы, согласно которым: размещают целевой объект в первоначальном местоположении; вычисляют вторую матрицу преобразований, выражающую первоначальное местоположение целевого объекта относительно системы опорных координат; перемещают целевой объект из первоначального местоположения в текущее местоположение; вычисляют матрицу, обратную второй матрице преобразований; и вычисляют произведение первой матрицы преобразований и матрицы, обратной второй матрице преобразований, причем произведение является третьей матрицей преобразований, выражающей текущее местоположение целевого объекта относительно первоначального местоположения целевого объекта. В соответствии с некоторыми вариантами реализации изобретения способ дополнительно содержит этапы, согласно которым вырабатывают импульсы датчика угла поворота в ответ на инкрементное движение целевого объекта во время перемещения из первоначального местоположения в текущее местоположение.
[00012] Еще один аспект объекта, подробно раскрытого ниже, представляет собой систему отслеживания местоположения, содержащую: механизм панорамирования и наклона; камеру и лазерный дальномер, установленный на механизме панорамирования и наклона; целевой объект, оснащенный по меньшей мере тремя активными целевыми маркерами; и компьютерную систему, запрограммированную с помощью первого программного обеспечения для управления камерой, лазерным дальномером и механизмом панорамирования и наклона, второго программного обеспечения для обработки изображений, полученных камерой, и третьего программного обеспечения для управления движением целевого объекта и состояниями указанных по меньшей мере трех активных целевых маркеров.
[00013] В соответствии с одним вариантом реализации системы отслеживания местоположения, описанной в предыдущем абзаце, первое программное обеспечение содержит стандартные программы для выдачи механизму панорамирования и наклона команд для наведения камеры на целевой объект и выдачи камере команд для осуществления захвата изображений целевого объекта; второе программное обеспечение содержит стандартные программы для обработки захваченных изображений для вычисления разностного изображения, выражающего разности между изображением, захваченным в то время, когда активные целевые маркеры не были включены, и каждым изображением, захваченным в то время, когда один или более активных целевых маркеров были включены; и третье программное обеспечение содержит стандартные программы для управления состоянием каждого из активных целевых маркеров. Целевой объект может, например, содержать транспортное средство типа "краулер" или основание роботизированной руки. В вариантах реализации изобретения, в которых транспортное средство типа "краулер" является транспортным средством голономного движения типа "краулер", система может дополнительно содержать средства для отслеживания инкрементного движения транспортного средства типа "краулер".
[00014] Еще один аспект представляет собой систему отслеживания местоположения, содержащую: механизм панорамирования и наклона; камеру и лазерный дальномер, установленный на механизме панорамирования и наклона; целевой объект, оснащенный по меньшей мере тремя активными целевыми маркерами, расположенными в известной конфигурации; и компьютерную систему, запрограммированную для выполнения следующих операций, согласно которым: (а) регулируют углы панорамирования и наклона механизма панорамирования и наклона для центрирования камеры на целевой объект с активными целевыми маркерами в пределах поля обзора изображения камеры; (b) выдают камере команды для осуществления захвата изображения в то время, когда камера отцентрована на целевой объект и ни один из активных целевых маркеров не включен; (с) выдают камере команды для осуществления захвата одного или более изображений в то время, когда камера отцентрована на целевой объект и один или более активных целевых маркеров включены; (d) обрабатывают эти изображения для вычисления разностного изображения, выражающего разности между изображением, захваченным в то время, когда активные целевые маркеры не были включены, и соответствующими изображениями, захваченными в то время, когда один или более активных целевых маркеров были включены; (е) вычисляют соответствующие средние координаты пикселей для разностных областей в разностном изображении, сопоставленном с соответствующими активными целевыми маркерами; (f) для соответствующих активных целевых маркеров, выдают лазерному дальномеру команды для осуществления передачи лазерного луча в направлении, заданном соответствующими углами панорамирования и наклона, которые имеют функциональную зависимость по меньшей мере от углов панорамирования и наклона, под которыми целевой объект был отцентрован в поле обзора изображения, и разностей между соответствующими средними координатами пикселей и координатами пикселей центра индикаторного изображения; (g) для соответствующих активных целевых маркеров, выдают механизму панорамирования и наклона команды для получения соответствующих данных панорамирования и наклона и выдают лазерному дальномеру команды для получения соответствующих данных дальности после передачи соответствующего лазерного луча; (h) вычисляют координаты соответствующих точек, сопоставленных с активными целевыми маркерами в системе опорных координат на основании данных измеренных дальности, панорамирования и наклона; и (i) сравнивают соответствующие положения указанных соответствующих точек, координаты которых были вычислены исходя из данных измеренных дальности, панорамирования и наклона с соответствующими положениями соответствующих точек, расположенных в известной конфигурации, для определения текущего положения и ориентации целевого объекта в показателях системы опорных координат.
[00015] Другие аспекты систем и способов отслеживания местоположения подвижного целевого объекта представлены ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[00016] ФИГ. 1 представляет собой схематический вид сверху некоторых компонентов известного подвижного устройства, которое оснащено датчиками угла поворота и инкрементные перемещения которого могут быть отслежены с использованием процесса счисления пути, основанного на одометрии.
[00017] ФИГ. 2 представляет собой схематический вид в изометрии известной системы местного позиционирования, наведенной на целевой объект.
[00018] ФИГ. 3 представляет собой схематический вид в изометрии системы для отслеживания и управления движением транспортного средства типа "краулер" с использованием системы местного позиционирования в соответствии с одной конфигурацией.
[00019] ФИГ. 4 представляет собой схематический вид в перспективе транспортного средства типа "краулер", которое на одной стороне имеет соответствующие группы из трех активных целевых маркеров (видна только одна группа). В соответствии с изображенным вариантом реализации изобретения активные целевые маркеры являются светодиодными сигнальными лампами.
[00020] ФИГ. 5 показывает взаимное отношение ФИГ. 5A и 5B, которые включают в себя соответствующие участки функциональной схемы, показывающей этапы автоматизированного процесса местных измерений в соответствии с указанным одним вариантом реализации изобретения.
[00021] ФИГ. 6 является схематическим представлением результата промежуточной обработки изображений, полученного с использованием транспортного средства типа "краулер", показанного на ФИГ. 4, в соответствии с процессом, изображенным на ФИГ. 5.
[00022] ФИГ. 7 представляет собой блок-схему, показывающую конфигурацию системы, в которой один компьютер запускает множество процессов. (В альтернативном варианте реализации изобретения каждый процесс может быть запущен на отдельных компьютерах или процессорах.)
[00023] ФИГ. 8 представляет собой схематический вид в изометрии системы, выполненной с возможностью выполнения процесса определения местонахождения робота и детали относительно друг друга (robot-to-part) в соответствии еще с одной конфигурацией.
[00024] ФИГ. 9 представляет собой функциональную схему, показывающую этапы процесса определения местонахождения робота и детали относительно друг друга, в котором используется система местного позиционирования типа, изображенная на ФИГ. 8.
A
B
[00025] ФИГ. 10 является схематическим изображением, относящимся к Приложению и показывающим вектор P положения, проходящий от начала отсчета инструментальной системы {A} координат, по существу вдоль оси точки наведения инструментального средства, к точке P интереса и показывающим вектор P положения, проходящий от начала отсчета координатной системы {B} целевого объекта к точке P интереса.
[00026] ФИГ. 11-13 являются схематическими изображениями, относящимися к Приложению, для которого описан иллюстративный способ расчета калибровочной матрицы для системы преобразования координат.
[00027] ФИГ. 14A-C являются схематическими изображениями, показывающими автоматизированные процессы поиска и получения кадра для установки соответствующего поля обзора камеры (значения изменения масштаба) для обеспечения того, что все из активных целевых маркеров находятся внутри кадра изображения камеры системы LPS местного позиционирования.
[00028] Далее приведены ссылки на чертежи, на которых аналогичные элементы на разных чертежах обозначены одинаковыми ссылочными позициями.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[00029] В соответствии с положениями настоящего документа может быть обеспечена система отслеживания местоположения, которая выполнена с возможностью измерения местоположения подвижного целевого объекта в абсолютных координатах следом за завершением движения, которое было отслежено с приращениями, например, с использованием датчиков угла положения. Если система измерений абсолютных координат определяет, что текущее местоположение целевого объекта, являющегося в этот момент неподвижным, отклоняется от необходимого местоположения дальше, чем установлено допуском, выполненным с возможностью перенастройки, целевой объект может получить команды для перемещения по направлению к правильному местоположению. Соответственно, процесс измерений в абсолютных координатах, раскрытый в настоящем документе, может быть использован для исправления ошибок измерения в относительных координатах.
[00030] Одним из примеров системы измерения инкрементного движения является основанная на одометрии система счисления пути. Любое решение для счисления пути будет иметь погрешности измерения вследствие мелких ошибок, которые накапливаются с течением времени. Они могут быт вызваны систематическими ошибками в указанном устройстве или сбоями, вызванными неожиданными изменениями в окружающей среде. ФИГ. 1 представляет собой схематический вид сверху некоторых компонентов подвижного устройства, которое оснащено датчиками угла поворота, инкрементные перемещения которых могут быть отслежены с использованием основанного на одометрии процесса счисления пути, как раскрыто в патентной заявке США No. 13/796,584. Это устройство имеет роликонесущее колесо (omni wheel) из четырех элементов, имеющее перпендикулярную конфигурацию с двойным дифференциалом. Это устройство для отслеживания может быть соединено или установлено на транспортном средстве типа "краулер", оснащенном рабочим органом (не показано на ФИГ. 1). Устройство, показанное на ФИГ. 1, содержит прямоугольную раму 4 и четыре двухрядных роликонесущих колеса 4a-4d, установленных с возможностью вращения на раме 4 посредством соответствующих осей 6a-6d и подшипников полуоси (не показано). Соответствующие датчики 8a-8d угла поворота измеряют поворот роликонесущих колес 4a-4d. Когда роликонесущие колеса катятся по поверхности, датчики 8a-8d угла поворота посылают импульсы датчика угла поворота, выражающие подсчеты, осуществляемые соответствующим датчиком угла поворота, в центр управления операциями через кабель датчика угла поворота (не показано на ФИГ. 1) после каждого инкрементного поворота каждого роликонесущего колеса. Каждый датчик угла поворота будет выдавать подсчет, осуществляемый соответствующим датчиком угла поворота и пропорциональный углу поворота соответствующего роликонесущего колеса. Эти импульсы от датчиков угла поворота будут получены компьютерной системой (не показано на ФИГ. 1, но видно из ФИГ. 7), которая вычисляет координаты X и Y указанного устройства.
[00031] Система управления останавливает устройство, когда счет импульсов от датчика угла поворота указывает на то, что устройство прибыло в необходимое местоположение. Затем, текущее местоположение остановленного устройства может быть проверено для определения того, в какой степени оно может отклоняться от необходимого местоположения. В соответствии с изложенным в настоящем документе, могут быть выполнены корректировки измерений относительного движения посредством получения точных абсолютных измерений с меньшей частотой обновлений. Этот процесс абсолютных измерений (выполненных в то время, когда целевой объект остановлен) может быть интегрирован в систему измерений относительного движения, работающую с большей частотой обновлений, которая получает измерения относительного движения в то время, когда целевой объект совершает перемещение. В соответствии с раскрытым далее вариантом реализации изобретения, процесс, основанный на системе LPS местного позиционирования и меньшей частоте обновлений, обеспечивает корректировки для одометрической системы, работающей с большей частотой обновлений.
[00032] Способ отслеживания, раскрытый в настоящем документе, является автоматизированным процессом, в котором используются активные сигнальные лампы на целевом объекте и обработка изображений для вычисления положения и ориентации целевого объекта. В нем используется система местного позиционирования (LPS) типа, изображенного на ФИГ. 2, которая имеет одну камеру и лазерный дальномер на управляемом блоке панорамирования и наклона. Работа и процесс калибровки на основе системы LPS местного позиционирования раскрыт в патенте США No. 7,859,655.
[00033] В частности, система местного позиционирования, изображенная на ФИГ. 2, содержит видеокамеру 40, которая может быть выполнена с возможностью автоматизированного (с дистанционным управлением) изменения масштаба. Видеокамера 40 может дополнительно включать в себя встроенный генератор перекрестья, чтобы облегчить точное определение местоположения точки внутри оптического поля изображения дисплея видеокамеры. Видеокамера 40 поддерживается на механизме 42 панорамирования и наклона. Видеокамера 40 и механизм 42 панорамирования и наклона может управляться компьютером 48. Компьютер 48 имеет сигнальное сообщение с видеокамерой 40 и механизмом 42 панорамирования и наклона через видео кабель или кабель 46 управления 46. В альтернативном варианте реализации изобретения компьютер 48 может иметь сигнальное сообщение с видеокамерой 40 и механизмом 42 панорамирования и наклона через беспроводной маршрут связи (не показано). Углом панорамирования и наклона механизма 42 панорамирования и наклона и, следовательно, ориентацией видеокамеры 40 можно управлять с использованием клавиатуры компьютера 48 или другого устройства ввода. Оптическое поле изображения, с наложением перекрестья, как видно на видеокамере 40, может быть отображено на мониторе компьютера 48.
[00034] Механизмом 42 панорамирования и наклона управляют так, чтобы позиционно подстраивать видеокамеру 40 на выбранные углы вокруг вертикальной оси вращения по азимуту (панорамирования) и горизонтальной оси угла места (наклона). Вектор 12 направления, который описывает ориентацию камеры относительно неподвижной системы координат штатива 44 (или другой платформы, на которой закреплен блок панорамирования и наклона), определяют исходя из углов панорамирования и наклона, а также положения центра маркера перекрестья в оптическом поле, когда камера наведена на точку интереса. Этот вектор 12 направления может быть изображен в виде линий, проходящих от объектива камеры 40 и пересекающих место на целевом объекте 30.
[00035] Лазерный дальномер может быть встроен внутрь корпуса камеры 40 или установлен на внешней стороне камеры 40 таким образом, что она передает лазерный луч по направлению вектора 12 направления. Лазерный дальномер выполнен с возможностью измерения расстояний до целевого объекта 30. Лазерный дальномер может иметь лазер и блок, выполненный с возможностью вычисления расстояний на основании лазерного света, обнаруженного в ответ на лазерный луч, отраженный целевым объектом 30.
[00036] Система местного позиционирования, показанная на ФИГ. 2, дополнительно содержит программное обеспечение для трехмерного определения местонахождения, которое загружено в компьютер 48. Например, программное обеспечение для трехмерного определения местонахождения может быть такого типа, который использует различные калибровочные точки 14 на целевом объекте 30, чтобы задать местоположение (положение и ориентацию) видеокамеры 40 относительно целевого объекта 30. Калибровочные точки 14 могут представлять собой видимые признаки известного положения в местной системе координат целевого объекта 30, как определено исходя из трехмерной базы данных признаков положений (например, модели для автоматизированного проектирования) или иного способа измерения. Во время процесса калибровки на основе системы LPS местного позиционирования, данные X, Y, Z по меньшей мере трех неколлинеарных точек извлекаются из модели для автоматизированного проектирования. Обычно выбирают калибровочные точки, которые соответствуют признакам, которые могут быть легко найдены на целевом объекте. Программное обеспечение для трехмерного определения местонахождения использует данные X, Y, Z калибровочных точек 14 и данные панорамирования и наклона от механизма 42 панорамирования и наклона для задания относительных положения и ориентации видеокамеры 40 по отношению к местной системе координат целевого объекта 30. Измеренные расстояния до калибровочных точек 14 могут быть использованы вместе с углами панорамирования и наклона от механизма 42 панорамирования и наклона, чтобы решить уравнения положения и ориентации камеры относительно целевого объекта 30. Способ выработки инструментального средства для калибровочной целевой матрицы преобразований (иногда упоминаемого как постановка камеры) раскрыт в патенте США No. 7,859,655. С использованием известных и измеренных данных, во время процесса калибровки (изложено более подробно в Приложении) вычисляют матрицу 4×4 однородных преобразований, которая задает положение и ориентацию камеры относительно целевого объекта.
[00037] После определения положения и ориентации видеокамеры 40 в отношении целевого объекта 30 и выработки матрицы преобразований положения камеры, данные панорамирования (угол поворота видеокамеры 40 вокруг оси вращения по азимуту) и данные наклона для камеры (угол поворота видеокамеры 40 вокруг оси угла места) могут быть использованы в сочетании с расчетными положением и ориентацией видеокамеры 40, чтобы определить координаты X, Y и Z любой точки интереса на целевом объекте 30 в системе координат целевого объекта.
[00038] Упомянутые выше процессы определения местонахождения и отслеживания движения могут быть расширены и применены аналогичным образом для определения координат X, Y и Z любой точки интереса на целевом объекте в системе абсолютных (опорных) координат. Например, система местного позиционирования может быть использована для отслеживания движения транспортного средства 10 типа "краулер", которое совершает перемещение по крылу 50 самолета, в системе опорных координат самолета, как изображено на ФИГ. 3. В частности, система местного позиционирования может отслеживать местоположение начала отсчета транспортного средства типа "краулер" для системы координат в системе опорных координат самолета. Значения X, Y и Z в упомянутой выше матрице преобразований вычисляют на основании разности положения начала отсчета транспортного средства типа "краулер" для системы координат исходя из первоначального положения в текущее положение. Начало отсчета может быть задано в любом месте на транспортном средстве типа "краулер" (или другом целевом объекте). На ФИГ. 3 начало отсчета транспортного средства типа "краулер" системы координат показано находящимся в точке P1.
[00039] В дополнение к программному обеспечению для управления на основе системы LPS местного позиционирования, компьютер 48 запрограммирован с помощью программного обеспечения для обработки изображений, выполненного с возможностью определения разностей между группами изображений, полученных видеокамерой 40. В тех случаях, когда управление движением сочетается с отслеживанием движения, компьютер 48, дополнительно запрограммированный с помощью программного обеспечения для управления движением "краулера", которое выполнено сообщающимся с процессорами на борту транспортного средства 10 типа "краулер" посредством электрического кабеля 38. В альтернативном варианте реализации изобретения программное обеспечение для управления на основе системы LPS местного позиционирования, программное обеспечение для обработки изображений и программное обеспечение для управления движением "краулера" может работать на отдельных компьютерах или процессорах, которые имеют сигнальное сообщение через сеть или шину.
[00040] Автоматизированный процесс абсолютных измерений работает посредством захвата последовательности изображений с активными сигнальными лампами (далее называемыми "активными целевыми маркерами"), например, светоизлучающими диодами (LED), работающими под управлением компьютера и прикрепленными к поверхности целевого объекта, который является в этот момент неподвижным. В примере, показанном на ФИГ. 3, положения трех активных целевых маркеров обозначены точками P1, P2 и P3.
[00041] ФИГ. 4 представляет собой схематический вид в перспективе транспортного средства 52 голономного движения типа "краулер", которое имеет четыре колеса 54 Илона (Mecanum wheel) (видны только два), четыре роликонесущих колеса 55 (на ФИГ. 4 виден только один), две зоны всасывания под транспортным средством (не показано) и соответствующие группы из трех светодиодных сигнальных ламп 56а-с на каждой стороне (на ФИГ. 4 видна только одна группа). Подробная информация, касающаяся конструкции и работы транспортного средства голономного движения типа "краулер" типа, изображенного на ФИГ. 4, раскрыта в патентной заявке США No. 13/210,899. В соответствии с вариантом реализации изобретения, изображенным на ФИГ. 4, светодиодные сигнальные лампы 56а-с расположены в асимметричной конфигурации на крышке транспортного средства типа "краулер". Каждая светодиодная сигнальная лампа имеет в целом полусферическую оболочку, которая выступает над крышкой 58 транспортного средства 52 типа "краулер".
[00042] Процесс абсолютных измерений выполняют посредством получения изображения с выключенными светодиодными сигнальными лампами 56а-с и последующего включения сигнальных ламп с получением другого изображения (или наоборот). Было разработано два варианта процесса: в одном все сигнальные лампы включают одновременно, а в другом сигнальные лампы включают в определенной последовательности. Первый способ немного быстрее. В нем используется конфигурация сигнальных ламп на поверхности целевого объекта, которая является асимметричной. Второй способ является более надежным с нахождением различий между сигнальными лампами и не требует использования асимметричной конфигурации сигнальных ламп.
[00043] Система абсолютных измерений вырабатывает данные положения и ориентации в конечные интервалы времени. Временной интервал между последовательными измерениями зависит от расстояния, на которое двигатели панорамирования и наклона должны совершить перемещение между целевым точками, частоты обновлений лазерного дальномера и скорости обработки изображений. Продолжительность цикла измерения может быть улучшена с помощью более быстрой обработки изображений и более быстрого лазерного дальномера. Система может быть использована для отслеживания местоположений различных целевых объектов, однако, чем больше целевых объектов отслеживается, тем больше времени проходит между обновлениями для каждого целевого объекта.
[00044] Перед началом процесса абсолютных измерений камера может быть проверена для определения соответствующей корректировки на искажения, чтобы компенсировать деформации в изображении вследствие того, что оптика отличается от идеальной "камеры-обскуры". Также система местного позиционирования должна быть откалибрована на необходимую систему опорных координат (таких как координаты самолета). Это обеспечивает постановку камеры относительно целевого объекта и представлено в виде матрицы 4×4 однородных преобразований.
[00045] Основные элементы автоматизированного процесса абсолютных измерений в соответствии с одним вариантом реализации изобретения показаны на ФИГ. 5А и 5B. Со ссылкой на ФИГ. 5А, калибруют первую систему местного позиционирования с получением необходимой системы опорных координат (например, системы координат самолета) (этап 100) с использованием описанного ранее способа. Затем перемещают целевой объект (например, транспортное средство типа "краулер") по направлению к необходимому местоположению и останавливают, когда система измерения инкрементного движения указывает, что текущее местоположение достаточно близко к необходимому местоположению (этап 102). Для этого текущего местоположения система местного позиционирования определит положение и ориентацию транспортного средства типа "краулер" в системе опорных координат. На этапе 104 изменяют вектор направления системы местного позиционирования (с использованием осей панорамирования и наклона), чтобы обеспечить нахождение всех целей в пределах поля обзора. В частности, регулируют углы панорамирования и наклона основе системы LPS местного позиционирования для центрирования камеры на целевой объект, так что три указанных активных целевых маркера (установленных в определенной конфигурации на целевом объекте) находятся в пределах поля обзора изображения. В целях иллюстрации, последующее описание процесса измерения выполнено исходя из того, что активные целевые маркеры являются сигнальными лампами (например, светодиодами).
[00046] Когда все активные целевые маркеры находятся в поле обзора изображения, инициируют процесс получения данных изображения. Этот процесс включает в себя активирование сигнальных ламп и захват изображений. На этапе 106 осуществляют захват опорного изображения в то время, когда сигнальные лампы выключены и текущие углы панорамирования и наклона сохранены. На этапе 108 включают сигнальные лампы и осуществляют захват одного или более индикаторных изображений (с использованием тех же углов панорамирования и наклона, которые были использованы на этапе 106). В альтернативном варианте реализации изобретения опорное изображение может быть захвачено в то время, когда сигнальные лампы включены, а индикаторное изображение может быть захвачено в то время, когда сигнальные лампы выключены. Индикаторное изображение (или изображения) может быть захвачено с использованием любого из двух способов. В соответствии с одним подходом, сигнальные лампы работают циклично в одно время, и осуществляется захват отдельных изображений целевого объекта для каждого состояния (т.е., если используют три сигнальные лампы, будет три отдельных состояния целевого объекта и три отдельных изображения). В соответствии еще с одним подходом, целевой объект оснащают группой сигнальных ламп, которые размещены в асимметричной конфигурации и осуществляют захват одного изображения в то время, когда включены все сигнальные лампы в группе.
[00047] Со ссылкой на ФИГ. 5А, координаты пикселей каждой сигнальной лампы относительно индикаторного изображения вычисляют (этап 110) посредством обработки полученных данных изображения. Во-первых, применяют коррекцию функции искажения к каждому изображению (с использованием информации об оптике). Во-вторых, вычисляют разностное изображение, выражающее разность между опорным изображением и индикаторным изображением или изображениями. В-третьих, сегментируют разностное изображение на отдельные участки, что может включать в себя фильтрацию с использованием размера, цвета, формы или других параметров. Сегментирование изображения означает задание группы пикселей с определенной характеристикой. В соответствии с одним вариантом реализации обнаруживают пиксели определенного цвета и интенсивности, которые находятся рядом друг с другом (т.е. смежные области). Разностное изображение будет иметь небольшие артефакты (такие как контуры с тонким краем), которые будут отфильтрованы Это может быть выполнено с использованием фильтра размытия и фильтра пороговой интенсивности. Результаты сегментирования показаны в сегментированном изображении 94, схематически изображенном на ФИГ. 6. Три окружности в этом изображении представляют сегментированные области 98а-с, которые соответствуют светодиодным сигнальным лампам 56а-с на транспортном средстве 52 типа "краулер", изображенном на ФИГ. 4. (Для простоты сегментированные области на ФИГ. 6 показаны в виде окружностей, но на практике все или некоторые из сегментированных областей в изображении не будут совершенными окружностями, поскольку вектор направления камеры редко будет идеально выровнен с осью симметрии сигнальных ламп.) После сегментирования изображения компьютер вычисляет центроид для каждой сегментированной области 98а-с. Центроид является средней координатой X пикселя и средней координатой Y пикселя для этой области. Пары этих координат X-Y используют для вычисления разностей исходя из пары координат X-Y для центра изображения.
[00048] Также со ссылкой на ФИГ. 5А, после расчета средних координат пикселей для каждой сегментированной области, вычисляют соответствующие углы панорамирования и наклона для каждого места сегментного центроида, расположенного в изображении (этап 112). Они являются углами панорамирования и наклона механизма панорамирования и наклона, которые будут использованы для ориентации (т.е. направления) лазерного дальномера системы местного позиционирования на каждый активный целевой маркер на целевом объекте. Углы панорамирования и наклона системы LPS местного позиционирования для центра изображения уже известны вместе с расстоянием до целевого объекта (из этапа 104). Способ направления системы местного позиционирования для наведения на каждый из активных целевых маркеров (т.е. светодиодов) использует смещения пикселей для каждого из центроидов от центра изображения, текущий угол поля обзора камеры и расстояние до цели в центре изображения для вычисления углов панорамирования при смещении и наклона при смещении, которые подаются в систему местного позиционирования с помощью компьютера. Компьютер выдает инструкции в систему местного позиционирования для выполнения автоматизированного измерения местоположений на основе системы LPS местного позиционирования, сопоставленных с центроидами сегментированных областей с использованием углов панорамирования при смещении и наклона при смещении. Это означает, что лазерный дальномер наведен на каждый активный целевой маркер по очереди, и данные дальности, панорамирования и наклона для каждого активного целевого маркера измерены (этап 114).
[00049] Со ссылкой на ФИГ. 5B, на основании данных измеренных дальности, панорамирования и наклона, вычисляют декартовы координаты активных целевых маркеров (в опорных координатах кадра) (этап 116). Затем вычисляют относительные расстояния между координатами центров активных целевых маркеров и сравнивают их соотношения с соответствующими соотношениями известной конфигурации для определения соответствующего порядкового номера для каждой точки (этап 118). Если отдельные изображения были получены в то время, когда сигнальные лампы были включены последовательно, сегменты изображения нумеруют с использованием порядка изображений. В альтернативном варианте реализации изобретения, если одно изображение было получено в то время, когда все сигнальные лампы были одновременно включены, векторы расстояния между измеренными точками вычисляют с использованием декартовых координат для каждой измеренной точки и сравнивают с точками в известной конфигурации положений сигнальных ламп на целевом объекте.
[00050] Перед этапом индексирования система местного позиционирования измеряет указанные три известные точки на целевом объекте и преобразует их в декартовы координаты (X, Y, Z), заданные в системе опорных координат. Чтобы использовать эти точки для сравнения с их опорными положениями, каждая из измеренных точек должна быть связана с соответствующей опорной точкой для получения конфигурации. Но порядок, в котором точки были измерены, может быть отличаться каждый раз в зависимости от ориентации "краулера" относительно камеры системы LPS местного позиционирования. Для устранения этого потенциального несоответствия сопоставлений, изменяют порядок измеренных точек, чтобы соответствовать последовательности опорных точек. Это выполняют путем сравнения соотношения относительных расстояний (длины вектора) измеренных точек с соотношением относительных расстояний опорных точек. Порядок измеренных точек затем будет изменен (т.е. изменены индексы массива), чтобы соответствовать порядку опорных точек.
[00051] После завершения повторного индексирования вычисляют матрицу 4×4 однородных преобразований, описывающую текущие положение и ориентацию целевого объекта, на основании разности между известной конфигурацией первоначальных точек и конфигурацией измеренных точек (этап 120). Этот процесс подробно описан в Приложении.
[00052] Со ссылкой на ФИГ. 5B, применяют матрицу преобразований, вычисленную на этапе 120, чтобы преобразовать вычисленные местоположения в координаты управления роботом (этап 122). Матрица преобразований, вычисленная на этапе 120, задана в показателях системы опорных координат, при этом траектория движения для транспортного средства типа "краулер" может быть задана в показателях первоначальной точки отсчета, которая не совпадает с началом отсчета системы опорных координат. Если это имеет место, то матрицу, обратную матрице преобразований, описывающей первоначальное местоположение относительно системы опорных координат, умножают начиная слева на преобразование, вычисленное на этапе 120, которое задает текущее местоположение целевого объекта относительно системы опорных координат. В результате получают преобразование, описывающее текущее местоположение относительно первоначального местоположения. Этот расчет показан в следующем уравнении:
где T представляет матрицу 4×4 однородных преобразований; а
R, I и C в нижнем/верхнем регистре представляют опорное, первоначальное и текущее местоположения, соответственно.
[00053] Данные, выражающие текущие положение и ориентацию целевого объекта, отправляют для отображения или других обработок, которые могут использовать эти данные (этап 124).
[00054] Функциональная схема, представленная на ФИГ. 5А и 5B, описывает указанный выше способ для случая, когда сигнальные лампы находятся в асимметричной конфигурации на целевом объекте и включаются одновременно для индикаторного изображения.
[00055] На этапе 104 по ФИГ. 5А процесс изменения вектора направления системы местного позиционирования для наведения камеры на целевой объект включает определение углов панорамирования и наклона механизма панорамирования и наклона системы LPS местного позиционирования, и задание подходящего поля обзора камеры (значение изменения масштаба), чтобы убедиться, что все из маркеров находятся внутри пределов кадра изображения. Это может быть выполнено вручную, когда оператор подстраивает средства управления панорамированием, наклоном и изменением масштаба для кадрирования индикаторных сигнальных ламп в пределах поля обзора камеры системы LPS местного позиционирования. В альтернативном варианте реализации изобретения автоматизированные процессы поиска и получения кадра могут быть выполнены системой, чтобы исключить из цикла этапы, выполняемые вручную. Этот автоматизированный процесс показан на ФИГ. 14А-С и описан далее. Как видно из ФИГ. 14А, процесс начинают путем установки широкого поля для угла (θ1) обзора и захвата одного изображения с выключенными индикаторными сигнальными лампами конфигурации маркеров и еще одного с включенными индикаторными сигнальными лампами. Разностное изображение вычисляют для определения того, находятся ли индикаторные сигнальные лампы в пределах текущего поля обзора камеры, если индикаторные сигнальные лампы не обнаружены, изменяют направление наведения системы LPS местного позиционирования с использованием механизма панорамирования и наклона (не показано), чтобы поворачивать камеру 40 для обзора другой области в рабочем пространстве, при этом поле обзора для новой области может частично перекрывать поле обзора для предыдущей области (показано на ФИГ. 14B), после чего осуществляют захват указанных двух изображений окружающей среды в то время, когда индикаторные сигнальные лампы работают циклично, как перед этим. Этот процесс поиска, включающий поворот направления наведения, и цикличная работа индикаторных сигнальных ламп продолжается до тех пор, пока конфигурация маркеров находится в окружающей среде. Конечный этап (показано на ФИГ. 14С) предназначен для центрирования направления наведения между границами сигнальных ламп и последующего сужения поля (θ2) обзора камеры для кадрирования всех сигнальных ламп.
[00056] Если движение целевого объекта может контролироваться компьютером, могут быть выполнены следующие дополнительные этапы, согласно которым:
(1) вычисляют необходимое корректировочное перемещение относительно текущего местоположения целевого объекта;
(2) отправляют данные, выражающие необходимое изменение местоположения в бортовой процессор или процессоры, которые управляют движением целевого объекта;
(3) отслеживают инкрементные перемещения целевого объекта по мере его перемещения по направлению к скорректированному местоположению; и
(4) после того, как система измерения инкрементного движения укажет, что целевой объект прибыл в скорректированное местоположение, целевой объект останавливают, а затем процесс абсолютных измерений может быть снова запущен, чтобы подтвердить, что новое текущее местоположение и скорректированное местоположение целевого объекта находятся в пределах выполненного с возможностью перенастройки допуска.
[00057] ФИГ. 7 представляет собой блок-схему, показывающую конфигурацию системы, в которой один компьютер 48 запускает множество процессов. (В альтернативном варианте реализации изобретения каждый процесс может быть запущен на отдельных компьютерах или процессорах.) Указанный один компьютер 48 запрограммирован с помощью программного обеспечения для управления на основе системы LPS местного позиционирования, которое при запуске обеспечивает возможность работы компьютера в качестве контроллера 26 системы LPS местного позиционирования; программного обеспечения 28 для обработки изображений; и программного обеспечения для управления "краулером", которое при запуске обеспечивает возможность работы компьютера в качестве контроллера 32 "краулера". Оператор системы может взаимодействовать с компьютером 48 посредством клавиатуры компьютера или иных аппаратных средств 36 пользовательского интерфейса (например, игрового пульта).
[00058] Контроллер 26 системы LPS местного позиционирования управляет работой программного обеспечения 22 системы LPS местного позиционирования, включая лазерный дальномер, видеокамеру и механизм панорамирования и наклона. Пунктирная стрелка на ФИГ. 7 представляет свет, создаваемый активными целевыми маркерами на транспортном средстве типа "краулер" и воспринимаемый видеокамерой (во время этапа получения и накопления изображений), а также отражение лазерного луча от целей к лазерному дальномеру программного обеспечения 22 системы LPS местного позиционирования во время процесса измерения.
[00059] Программное обеспечение 28 для обработки изображений выполняет операции, связанные с выполнением этапов 110, показанных на ФИГ. 5А, то есть коррекцию функции искажения, дифференцирование изображений, сегментацию изображения и вычисление координат пикселей центроида каждого сегмента изображения. Система дополнительно содержит дисплейный монитор 34 для показа полученных изображений.
[00060] Контроллер 32 "краулера" управляет работой транспортного средства 10 типа "краулер", в том числе активированием индикаторных сигнальных ламп, управлением шаговыми двигателями, которые приводят группу колес Илона во вращение, и управлением всасывающими устройствами. Транспортное средство типа "краулер" может дополнительно содержать группу роликонесущих колес и соответствующую группу датчиков угла поворота колеса, как описано ранее со ссылкой на ФИГ. 1. Импульсы датчиков угла поворота, выражающие подсчет, выполняемый датчиками угла поворота, отправляют от датчиков угла поворота колеса в устройство 18 получения и накопления данных системы 16 электронных средств "краулера" через электрический кабель. Транспортное средство 10 типа "краулер" получает электрическую энергию от источников питания 20 системы 16 электронных средств "краулера" через тот же электрический кабель.
x
y
x
y
x
[00061] Когда транспортное средство 10 типа "краулер" совершает перемещение, устройство 18 получения и накопления данных принимает подсчеты, выполняемые датчиками угла поворота, и преобразует их в сигналы, имеющие формат, приемлемый для компьютера 48. На основании данных подсчета, выполняемого датчиками угла поворота, контроллер 32 "краулера" вычисляет абсолютный угол θ и изменения относительных положений ΔP и ΔP транспортного средства 10 типа "краулер" на каждом этапе обновления и затем использует абсолютный угол и изменения относительного положения для вычисления абсолютного положения P и P одной точки на транспортном средстве типа "краулер". Затем, используя θ, может быть вычислено абсолютное положение ΔP и ΔP с применением матрицы вращения, как раскрыто в патентной заявке США No. 13/796,584.
[00062] Если контроллер 32 "краулера" определяет, что подсчеты, выполняемые датчиками угла поворота, показывают прибытие транспортного средства 10 типа "краулер" в свое целевое местоположение, контроллер 32 "краулера" выдает транспортному средству 10 типа "краулер" команды для остановки (этап 102 на ФИГ. 5А). Затем контроллер 26 системы LPS местного позиционирования выдает аппаратным средствам 22 системы LPS местного позиционирования команды для регулировки углов панорамирования и наклона, чтобы навести видеокамеру на целевой объект (этап 104 на ФИГ. 5А) и затем осуществления захвата опорного изображения (этап 106 на ФИГ. 5А). Контроллер 32 "краулера" затем активирует сигнальные лампы на борту транспортного средства 10 типа "краулер", после чего контроллер 26 системы LPS местного позиционирования выдает аппаратным средствам 22 системы LPS местного позиционирования команды для осуществления захвата индикаторного изображения (этап 108 на ФИГ. 5А). Компьютер затем запускает стандартную программу для обработки изображений, которая вычисляет координаты пикселей сигнальных ламп в индикаторном изображении (этап 110 на ФИГ. 5А). Затем контроллер 26 системы LPS местного позиционирования вычисляет соответствующие углы панорамирования и наклона для каждого места сегментного центроида местоположения в изображении (этап 112 на ФИГ. 5А), получает данные дальности, панорамирования и наклона для каждого активного целевого маркера (этап 114 на ФИГ. 5А) и вычисляет декартовы координаты для каждой измеренной точки (этап 116 на ФИГ. 5B). Стандартные программы для выполнения этапов 118, 120 и 122, показанных на ФИГ. 5B, могут быть частью программного обеспечения системы LPS местного позиционирования для управления, программного обеспечения для обработки изображений или модуля отдельного программного обеспечения.
[00063] Первоначальное наведение видеокамеры системы LPS местного позиционирования на целевой объект может быть выполнено с использованием информации об ожидаемом местоположении транспортного средства типа "краулер", представленной посредством процесса определения местонахождения, включая инкрементные данные датчика угла поворота колеса. Это направление наведения нужно только приблизительно, так как обработка изображений и измерение позволит определить фактическое местоположение. Если первоначальное ожидаемое местоположение не обеспечивает обзор для камеры, который включает в себя всю группу активных целевых маркеров, могут быть выполнены подстраивания в поле обзора камеры (например, увеличение масштаба), вместе с повторной центровкой обзора, так что все из активных целевых маркеров становятся видны, наподобие процесса центрирования и кадрирования, описанного выше со ссылкой на ФИГ. 14А-С.
[00064] Способы, описанные выше, также могут быть использованы для определения положения и ориентации роботизированной руки относительно обрабатываемой детали (далее "деталь"). Как показано на ФИГ. 8, система местного позиционирования может быть использована для определения относительного смещения между деталью 90 и основанием 84 роботизированной руки 86, которая может нести на своем дальнем конце рабочий орган 88. Контроллер 80 робота управляет роботизированной рукой 86 и работает этим рабочим органом 88 для выполнения обрабатывающих операций на детали 90.
[00065] Основная последовательность процесса выглядит следующим образом:
(1) Система местного позиционирования калибруется на систему координат детали 90 путем измерения трех известных точек 92а-с на этой детали.
(2) Система местного позиционирования измеряет три известные точки 94а-с на основании 84 робота. (3) Программное обеспечение для управления на основе системы LPS местного позиционирования, работающей в компьютере 48, вычисляет местоположение основания 84 робота относительно системы координат детали 90. (4) Компьютер 48 отправляет данные местоположения в контроллер 80 робота.
[00066] Программное обеспечение для управления на основе системы LPS местного позиционирования на компьютере 48 выдает данные точек в виде значений X, Y и Z, для решения задач управления необходимо больше, чем только данные точек X, Y и Z, чтобы обеспечить положение и ориентацию детали. Чтобы решить проблему положения и ориентации, данные X, Y и Z, исходя из трех измеренных точек 92а-с и известных размеров этих точек, используют для вычисления всех шести степеней свободы представления положения и ориентации. Именно это и делает описанное ранее программное обеспечение для определения местонахождения. Формат положения и ориентации, который использует программное обеспечение для определения местонахождения, является матрицей 4×4 преобразований, но есть и другие способы представления данных.
[00067] Способ определения местонахождения, раскрытый выше, также применим для роботизированных систем, отличных от транспортных средств типа "краулер". Коммерческие роботизированные системы, используемые для производственных задач, выполнены с возможностью задавать местоположение робота и других деталей относительно начала отсчета рабочей ячейки. Это будет включать в себя определения смещения положения и ориентации. Существует много эквивалентных способов для задания этой информации о смещении, такие как: матрицы 4×4 преобразований, кватернионы + прямолинейное движение, угол - ось + прямолинейное движение или эйлеровы углы + прямолинейное движение. Процесс определения местонахождения, описанный выше, может быть изменен для выдачи в любом формате, который приемлем для контроллера 80 робота.
[00068] Для передачи данных от компьютера 48 в контроллер 80 робота может быть использовано соединение с разъемами, но для коммерчески доступных приложений файл обеспечивает одинаково хорошую возможность работы. Некоторые контроллеры могут иметь интерфейс API, который принимает входящие данные через разъем; другие контроллеры могут обеспечить только возможность считывания данных о смещении из файла. Соответственно, для некоторых вариантов реализации может быть применен подход совместного использования файлов.
[00069] Один пример процедуры с использованием ручного измерения точек (изображен на ФИГ. 9) выглядит следующим образом:
(1) получают и сохраняют три видимые опорные точки 92а-с на детали 90 (этап 60) и три видимые опорные точки 94а-с на основании 84 робота (этап 68) (этапы 60 и 68 выполняют один раз для каждой группы опорных точек);
(2) используют систему местного позиционирования для проведения измерений трех опорных точек 92а-с на детали 90 (этап 62), когда деталь находится в необходимом месте (это эквивалентно стандартной калибровке на основе системы LPS местного позиционирования);
(3) используют систему местного позиционирования для проведения измерений трех опорных точек 94а-с на основании 84 робота (этап 70), когда основание робота находится в необходимом местоположении;
(4) используют процесс 64 определения местонахождения для вычисления смещения положения и ориентации детали 90 относительно основания 84 робота и
(5) отправляют данные о смещении положения и ориентации на контроллер 80 робота (этап 66).
[00070] Пример процедуры для автоматизированного измерения точек выглядит следующим образом:
(1) получают и сохраняют три видимые опорные точки 92а-с на детали 90 и три видимые опорные точки 94а-с на основании 84 робота (это выполняют один раз для любой группы опорных точек), при этом видимые опорные точки задают места расположения светодиодов;
(2) используют систему местного позиционирования, чтобы получить одно изображение конфигурации светодиодов на детали 90 с включенными светодиодами и другое с выключенными светодиодами;
(3) используют систему местного позиционирования для автоматического измерения точек на детали 90 и сравнивают измеренные точки с известными точками;
(4) используют систему местного позиционирования, чтобы получить одно изображение конфигурации светодиодов на основании 84 робота с включенными светодиодами и другое с выключенными светодиодами;
(5) используют систему местного позиционирования для автоматического измерения точек на основании 84 робота и сравнивают измеренные точки с известными точками;
(6) используют процесс определения местонахождения для вычисления смещения положения и ориентации детали 90 относительно основания 84 робота; и
(7) отправляют данные о смещении положения и ориентации на контроллер 80 робота.
[00071] Вышеизложенный способ может быть использован в начале каждой рабочей последовательности, чтобы установить относительные положения основания роботизированной руки и обрабатываемой детали. Контроллер робота сможет вычислить положения и ориентации рабочего органа относительно основания робота (с использованием других датчиков и данных кинематики). Если система опорных координат является системой координат обрабатываемой детали, то система, показанная на ФИГ. 8, может определять положение основания роботизированной руки (и рабочего органа) в системе координат обрабатываемой детали. И наоборот, если система опорных координат является системой координат основания робота, то система может определять положение обрабатываемой детали в системе координат основания робота.
[00072] В целом, система отслеживания местоположения, раскрытая выше, использует одну камеру, может быть выполнена заодно целое с отслеживанием, выполняемым на основе одометрии, и выполнена с возможностью отслеживания различных объектов (последовательным образом, если последовательности измерений сдвигают по фазе). При выполнении вместе с одометрией, основанной на датчиках угла поворота, система является устойчивой к прерывистой окклюзии. Также система устойчива к воздействию магнитных полей или черных металлов.
[00073] Хотя способ отслеживания местоположения описан со ссылкой на различные варианты реализации изобретения, специалистам в данной области техники должно быть понятно, что могут быть выполнены различные изменения и могут быть произведены эквивалентные замены элементов в пределах объема принципов, излагаемых в настоящем документе. Кроме того, для адаптации принципов, излагаемых в настоящем документе, к конкретной ситуации в пределах его объема, может быть выполнено множество модификаций. Поэтому предполагается, что формула изобретения не ограничена конкретными вариантами реализации изобретения, раскрытыми в настоящем документе.
[00074] При использовании в формуле изобретения термин "компьютерная система" следует истолковывать в широком смысле, чтобы охватить систему, имеющую по меньшей мере один компьютер или процессор, и которая может иметь различные компьютеры или процессоры, которые имеют сигнальное сообщение через сеть или шину. Используемые в предыдущем предложении оба термина "компьютер" и "процессор" относятся к устройствам, содержащим блок обработки (например, центральный блок обработки) и некоторые формы памяти (т.е. компьютерочитаемый носитель) для хранения программы, выполненной с возможностью считывания блоком обработки.
[00075] При использовании в настоящем документе термин "местоположение" содержит положение в фиксированной трехмерной системе координат и ориентацию относительно системы координат; а термин "активный целевой маркер" означает целевой маркер, выполненный с возможностью активирования (т.е. "активный целевой маркер" может быть переключен между активным и не активным состояниями).
[00076] Пункты формулы изобретения, касающиеся способа, изложенные далее, не должны быть истолкованы так, что указанные в них этапы обязательно выполняются в алфавитном порядке (алфавитный порядок в формуле изобретения используется исключительно для целей ссылок на ранее перечисленные этапы) или в том порядке, в котором они приведены. Они также не должны толковаться как исключающие какие-либо части двух или более этапов, выполняемых одновременно или попеременно.
ПРИЛОЖЕНИЕ
A
B
[00077] ФИГ. 10 показывает вектор P положения, проходящий от начала отсчета инструментальной системы {A} координат, по существу вдоль оси точки наведения инструментального средства, к точке P интереса и показывающей вектор P положения, проходящий от начала отсчета системы {B} координат целевого объекта к точке P интереса.
A
A
A
[00078] Со ссылкой на ФИГ. 10, когда координаты точки P в инструментальной системе 622 координат являются сферическими координатами панорамирования (т.е. угла 634 панорамирования на ФИГ. 10 вектора P к точке P), наклона (угла 636 наклона на ФИГ. 10 вектора P к точке P) и дальности (расстояния вдоль вектора P к точке P на ФИГ. 10), положения точки P, представленные в качестве сферических координат в инструментальной системе 622 координат, относятся к положению точки P в декартовых координатах X, Y, Z в инструментальной системе 622 координат согласно следующим уравнениям прямой кинематики инструментального средства 618:
X = Дальность*cos (панорамирования)*cos (наклона)
Y = Дальность*sin (панорамирования)*cos (наклона)
Z = Дальность*sin (наклона), где
панорамирование (азимут) является поворотом вокруг оси Z, а
наклон (угол места) является поворотом вокруг оси Y в инструментальной системе 622 координат
[00079] Следует отметить, что положение точки P, представленное в качестве декартовых координат (X, Y, Z) в инструментальной системе 622 координат, относится к положению точки P, представленному в виде сферических координат (панорамирование, наклон, дальность) в инструментальной системе 622 координат, согласно следующему уравнению обратной кинематики инструментального средства 618:
-1
панорамирование = tan(Y, X)
B
T
A
T
[00080] В одном варианте реализации положение P (которое представлено как вектор-столбец в форме [X, Y, Z, 1]) в целевой системе 616 координат вычисляют исходя из положения P (также вектора-столбца в форме [X, Y, Z, 1] в инструментальной системе 622 координат) согласно уравнению:
где T является калибровочной матрицей. В одном примере, калибровочная матрица является матрицей 4×4 однородных преобразований, имеющей форму:
A
B
[00081] Следует отметить, что положение P в инструментальной системе 622 координат может быть рассчитано исходя из положения P в координатной системе 616 целевого объекта с использованием матрицы, обратной калибровочной матрице, согласно уравнению:
[00082] Матрицу  преобразований вычисляют следующим образом. Для ситуаций, где направление и длина векторов к калибровочным точкам известны, минимальным количеством калибровочных точек являются три точки, при условии, что они являются неколлинеарными. Основной способ на основе трех точек выглядит следующим образом:
где, со ссылкой на ФИГ. 11-13:
A1
A2
является вектором в системе координат, который проходит от точки P к P;
A1
A3
является вектором в системе координат, который проходит от точки P к P;
B1
B2
является вектором в системе координат, который проходит от точки P к P;
B1
B3
является вектором в системе координат, который проходит от точки P к P;
и  являются нормалями, полученными на основании векторных произведений;
и  являются осями вращения;
1
2
θ и θ являются углами вращения вокруг осей  и , соответственно;
1
2
12
R, R, и R являются 3×3 симметричными матрицами вращения; и
1
f() является функцией (известной специалистам в данной области техники и описанной, например, в работе "Introduction to Robotics: Mechanics and Control" ("Введение в робототехнику: механика и управление), 3-е издание, John J. Craig, опубликованной в июле 2004 года в профессиональном техническом справочнике Prentice Hall Professional Technical Reference), который генерирует 3×3 матрицу вращения исходя из определения угол-ось, описанного ниже:
где
cθ=cos(θ), sθ=sin(θ), vθ=1-cos(θ) и .
[00083] Значения X, Y и Z в матрице преобразований по уравнению (2) вычисляют на основании разности положения начала отсчета системы координат целевого объекта исходя из первоначального положения в текущее положение. Начало отсчета может быть задано в любом месте на целевом объекте.
[00084] Следует отметить, что однородную калибровочную матрицу 4×4  вычисляют только один раз для любого положения указательного инструментального средства относительно целевого объекта, и матрица  затем может быть использована для преобразования любого количества векторов из системы A координат (инструментальной системы 622 координат) в систему B координат (систему 616 координат целевого объекта). Следует также отметить, что обратная калибровочная матрица , может быть рассчитана посредством вычисления матрицы, обратной калибровочной матрице , или может быть рассчитана непосредственно путем переключения порядка векторов в уравнениях.