RU2424105C2 - Device for controlling autonomous robot - Google Patents
Device for controlling autonomous robot Download PDFInfo
- Publication number
- RU2424105C2 RU2424105C2 RU2008147160/02A RU2008147160A RU2424105C2 RU 2424105 C2 RU2424105 C2 RU 2424105C2 RU 2008147160/02 A RU2008147160/02 A RU 2008147160/02A RU 2008147160 A RU2008147160 A RU 2008147160A RU 2424105 C2 RU2424105 C2 RU 2424105C2
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- information
- outputs
- register
- Prior art date
Links
Images
Landscapes
- Manipulator (AREA)
- Multi Processors (AREA)
Abstract
Description
Изобретение относится к области робототехники, предназначено для управления автономным роботом. Устройство позволяет:The invention relates to the field of robotics, is intended to control an autonomous robot. The device allows you to:
- организовать высокоскоростной прием предварительно подготовленной сенсорной информации от большого количества датчиков робота,- organize high-speed reception of pre-prepared sensory information from a large number of robot sensors,
- оперативно построить геометрические модели объектов, образующих окружающее пространство робота, и текущую геометрическую модель самого робота,- quickly build geometric models of objects that form the surrounding space of the robot, and the current geometric model of the robot itself,
- осуществить быстрый и подробный анализ окружающей обстановки,- carry out a quick and detailed analysis of the environment,
- распознать объекты, интересующие робота,- recognize objects of interest to the robot,
- определить оптимальную траекторию движения всего робота и его отдельных частей,- determine the optimal trajectory of the entire robot and its individual parts,
- организовать согласованное управление сервоприводами робота для решения стратегической задачи, стоящей перед роботом.- organize coordinated control of the servos of the robot to solve the strategic task facing the robot.
Устройство имеет небольшие габариты и относительно небольшую стоимость.The device has small dimensions and relatively low cost.
Известно устройство управления адаптивным мобильным роботом [1], содержащее блок сенсорных датчиков, выходы которого соединены с входами блока формирования модели внешней среды, чьи выходы подключены к первым входам вычислительного блока, вторые входы которого связаны со вторыми выходами блока исполнительных устройств, а выходы подключены к входам m-стабильного триггера. В качестве вычислительного блока используется нейросеть, содержащая матрицу k·m ключевых элементов. Кроме того, в указанном аналоге имеется схема сравнения, блок задания движения, блок задания констант, блок регулирования, блок определения координат робота, блок датчиков внутренней информации.A control device for an adaptive mobile robot [1] is known, which contains a sensor sensor unit, the outputs of which are connected to the inputs of the environmental model formation unit, whose outputs are connected to the first inputs of the computing unit, the second inputs of which are connected to the second outputs of the actuator unit, and the outputs are connected to m-stable trigger inputs. A neural network containing a matrix of k · m key elements is used as a computing unit. In addition, in the indicated analogue there is a comparison circuit, a motion setting unit, a constant setting unit, a regulation unit, a robot coordinate determination unit, an internal information sensor unit.
Недостатками данного аналога являются: 1) плохая адаптация аналога к сложной и изменяющейся окружающей среде и к сложному и изменяющемуся внутреннему состоянию робота; 2) узкая область применения; 3) аппаратурная избыточность.The disadvantages of this analogue are: 1) poor adaptation of the analogue to a complex and changing environment and to the complex and changing internal state of the robot; 2) narrow scope; 3) hardware redundancy.
Первый недостаток объясняется применением нейросети в качестве основного вычислительного блока. В настоящее время эффективность работы нейросетей доказана только на примерах небольших нейросетей, предназначенных для решения простых, хорошо сформулированных задач [9], хотя даже здесь точность получаемых решений не может считаться приемлемой для использования подобных устройств в системах управления автономными роботами, предназначенными для выполнения ответственных видов работ (а таких видов работ большинство!). На наш взгляд, рассматриваемый аналог не может обеспечить высокую надежность функционирования автономного робота при выполнении сложных и ответственных видов работ вследствие его низкой адаптируемости к реальным условиям, из-за:The first drawback is due to the use of a neural network as the main computing unit. Currently, the efficiency of neural networks has been proved only by the examples of small neural networks designed to solve simple, well-formulated problems [9], although even here the accuracy of the solutions obtained cannot be considered acceptable for the use of such devices in control systems of autonomous robots designed to perform critical types works (and most of these types of work!). In our opinion, the analogue under consideration cannot provide high reliability of the functioning of an autonomous robot when performing complex and critical types of work due to its low adaptability to real conditions, due to:
- низкой точности распознавания окружающих объектов;- low accuracy of recognition of surrounding objects;
- низкой точности отображения положения частей робота относительно окружающих его объектов;- low accuracy of the position of the parts of the robot relative to its surrounding objects;
- больших временных затрат, требующихся нейросети для ее самообучения,- the large time costs required by the neural network for its self-training,
- невозможности смоделировать в процессе обучения нейросети все возможные реальные варианты сочетаний состояния окружающей среды и внутреннего состояния робота.- the inability to simulate in the learning process of the neural network all possible real options for combining the state of the environment and the internal state of the robot.
Низкая приспособляемость аналога в сложной окружающей обстановке может привести к выработке неверных (катастрофических по своим последствиям) управляющих воздействий на сервоприводы робота.The low adaptability of the analogue in a complex environment can lead to the development of incorrect (catastrophic in its consequences) control actions on the servos of the robot.
Второй недостаток аналога вызван тем, что круг задач, решаемых с его помощью, ограничивается только узкой задачей перемещения всего робота в пространстве. В то же время задачи, стоящие перед автономными роботами, способными заменить человека в самых различных областях его деятельности, существенно шире и многообразнее. Их решение не может быть осуществлено без высокоскоростного оперативного управления большим числом многозвенных подвижных частей робота, без считывания и оперативной обработки данных, полученных от большого числа датчиков различного назначения, без подробного всестороннего анализа окружающей обстановки и внутреннего состояния робота, а также тех изменений, которые может внести (или уже внес) робот в окружающую среду в процессе своего функционирования.The second drawback of the analogue is caused by the fact that the circle of problems solved with its help is limited only by the narrow task of moving the entire robot in space. At the same time, the tasks facing autonomous robots that can replace a person in the most diverse areas of his activity are much wider and more diverse. Their solution cannot be carried out without high-speed operational control of a large number of multi-link mobile parts of the robot, without reading and operational processing of data received from a large number of sensors for various purposes, without a detailed comprehensive analysis of the environment and the internal state of the robot, as well as those changes that may introduce (or have already introduced) the robot into the environment during its operation.
Третий недостаток связан с тем, что в указанном аналоге каждый очередной этап цикла управления роботом (предварительная обработка сигналов, построение модели внешней среды, определение координат частей робота, вычисление траектории движения, вычисление значений управляющих воздействий, регулирование исполнительными механизмами) выполняется с применением своего специализированного электронно-вычислительного блока. Такая аппаратурная избыточность отрицательным образом сказывается на стоимости, габаритах и энергопотреблении аналога.The third drawback is that in this analogue, each next stage of the robot control cycle (signal pre-processing, building an environment model, determining the coordinates of robot parts, calculating the motion path, calculating the values of the control actions, adjusting the actuators) is performed using its specialized electronic -computing unit. Such hardware redundancy adversely affects the cost, dimensions and power consumption of the analogue.
Наиболее близким к заявленному устройству (прототип) является устройство [6], предназначенное для программной обработки двухмерных и трехмерных изображений. Прототип состоит из блока управления (БУ) и блока обработки, хранения, ввода и визуализации изображений (БОХВИ). Блок управления включает в себя центральный управляющий процессор, память программ и данных, контроллеры внешних устройств. Блок БОХВИ состоит из однородной трехмерной матрицы А×А×А процессоров (где А=n2, n≥2 - целое число), памяти изображений, коммутатора поворотов, узлов сжатия, коммутатора циклического переноса, буферной памяти, коммутатора 3D-сдвигов, коммутатора 2DX-сдвигов, коммутатора 2DY-сдвигов, узла определения объема, формирователя кода заполнения бинарного изображения (КЗБИ), узлов ввода фотоизображения, матриц тактильных датчиков, узла отображения, коммутатора слова.Closest to the claimed device (prototype) is a device [6], designed for software processing of two-dimensional and three-dimensional images. The prototype consists of a control unit (BU) and a block for processing, storage, input and visualization of images (BOCHVI). The control unit includes a central control processor, program and data memory, controllers of external devices. The BOCHI unit consists of a homogeneous three-dimensional matrix of A × A × A processors (where A = n 2 , n≥2 is an integer), image memory, a rotation switch, compression nodes, a cyclic transfer switch, a buffer memory, a 3D shift switch, a switch 2DX-shifts, 2DY-shift switcher, volume definition node, binary image fill code shaper (KZBI), photo image input nodes, tactile sensor matrices, display node, word switch.
В отличие от вышерассмотренного аналога обработка информации в прототипе представляет собой обычный последовательный алгоритмический процесс, когда поступившая в устройство информация обрабатывается последовательно команда за командой, процедура за процедурой. Такой традиционный подход позволяет глубже проанализировать внутреннее состояние робота и обстановку, его окружающую, дает возможность применить мощный арсенал уже известных математических методов, запросить (при необходимости) недостающую дополнительную информацию, а не просто довериться выводам, сделанным нейросистемой, обученной в подобных, но все же других условиях. Однако в отличие от большинства известных ЭВМ, работающих по этому принципу, в прототипе выполнение отдельных (наиболее часто используемых) операций и процедур над плоскими изображениями и пространственными сценами осуществляется с высокой степенью распараллеливания, когда функцию операндов выполняют не отдельные двоичные слова, а целые двумерные или трехмерные (А×А×А) фрагменты бинарных изображений, что ускоряет процесс обработки информации, позволяет предложить новые способы обработки, не зависящие от геометрической сложности обрабатываемых сцен. Прототип позволяет:In contrast to the analogue discussed above, the information processing in the prototype is a regular sequential algorithmic process, when the information received in the device is processed sequentially command by command, procedure by procedure. Such a traditional approach allows a deeper analysis of the internal state of the robot and the environment surrounding it, makes it possible to apply a powerful arsenal of already known mathematical methods, request (if necessary) the missing additional information, and not just trust the conclusions drawn by a neurosystem trained in similar, but still other conditions. However, unlike most well-known computers working on this principle, in the prototype, the execution of separate (most commonly used) operations and procedures on flat images and spatial scenes is carried out with a high degree of parallelization, when the operands are performed not by separate binary words, but by whole two-dimensional or three-dimensional (A × A × A) fragments of binary images, which speeds up the processing of information, allows you to offer new processing methods that do not depend on the geometric complexity of the processed scenes. The prototype allows you to:
- осуществлять высокоскоростной ввод и предварительную обработку сенсорной информации,- carry out high-speed input and pre-processing of sensory information,
- распознать трехмерные объекты при различных углах наблюдения и освещения,- recognize three-dimensional objects at various viewing and lighting angles,
- быстро определить положение объектов относительно друг друга при любой геометрической форме этих объектов;- quickly determine the position of objects relative to each other for any geometric shape of these objects;
- быстро синтезировать двумерные и трехмерные модели объектов любой геометрической сложности,- quickly synthesize two-dimensional and three-dimensional models of objects of any geometric complexity,
- создавать двумерные и трехмерные навигационные карты маршрутов с различным разрешением, и др.- create two-dimensional and three-dimensional navigation maps of routes with different resolutions, etc.
Недостатками прототипа являются:The disadvantages of the prototype are:
1) низкая скорость управления большим числом сервоприводов и низкая скорость управления свойствами большого числа сенсорных датчиков;1) low speed control of a large number of servos and low speed control properties of a large number of sensor sensors;
2) резкое снижение производительности и надежности устройства с увеличением расстояния между процессорной матрицей А×А×А и сенсорными датчиками робота;2) a sharp decrease in the performance and reliability of the device with an increase in the distance between the processor matrix A × A × A and the sensor sensors of the robot;
3) отсутствие средств для выполнения предварительной обработки информации непосредственно на месте съема сенсорной информации.3) lack of funds for performing preliminary processing of information directly at the place of sensory information.
Первый недостаток объясняется отсутствием в прототипе аппаратно-программных средств, позволяющих использовать вычислительные мощности блока БОХВИ для скоростного управления большим числом сервоприводов и большим числом сенсорных датчиков робота. Управление в прототипе сервоприводами и датчиками можно организовать только через стандартный малопроизводительный интерфейс блока управления с участием центрального процессора и его внешнего интерфейса, последовательно управляя сначала одним сервоприводом (или группой датчиков), затем другим и т.д. (подобно тому, как управляет любой из известных персональных компьютеров своими внешними устройствами).The first drawback is due to the lack of hardware and software in the prototype that allows using the computing power of the BOCHVI unit for high-speed control of a large number of servos and a large number of sensor sensors of the robot. Servo drives and sensors can be controlled in the prototype only through the standard low-performance interface of the control unit with the participation of the central processor and its external interface, sequentially controlling first one servo drive (or a group of sensors), then another, etc. (similar to how any of the known personal computers controls their external devices).
Второй недостаток прототипа вызван используемым способом подключения сенсорных датчиков к входам его процессорной матрицы А×А×А, когда каждый битовый информационный выход датчика подключен к отдельному входу процессорной матрицы. В результате рост числа датчиков, рост разрядности их выходных кодов, увеличение расстояния между датчиком и процессорной матрицей (например, в случае удлинения конечностей робота или увеличения площади его очувствленных участков) приведут к резкому росту числа и длин проводников, подключенных к входам процессорной матрицы А×А×А. При этом возрастут паразитные емкости входов матрицы А×А×А, снизится быстродействие и помехозащищенность всего устройства в целом, значительно возрастут габариты и масса робота, понизится его маневренность.The second disadvantage of the prototype is caused by the used method of connecting sensor sensors to the inputs of its processor matrix A × A × A, when each bit information output of the sensor is connected to a separate input of the processor matrix. As a result, an increase in the number of sensors, an increase in the bit depth of their output codes, an increase in the distance between the sensor and the processor matrix (for example, in the case of extension of the limbs of the robot or an increase in the area of its sensed areas) will lead to a sharp increase in the number and lengths of conductors connected to the inputs of the processor matrix A × A × A. In this case, the parasitic capacitance of the inputs of the A × A × A matrix will increase, the speed and noise immunity of the entire device as a whole will decrease, the dimensions and mass of the robot will increase significantly, and its maneuverability will decrease.
Третий недостаток прототипа связан с отсутствием средств для осуществления предварительной обработки информации непосредственно на месте установки датчиков. В результате информация, снимаемая с сенсорных датчиков, должна быть в полном объеме передана в вычислительные блоки (БОХВИ и БУ), удаленные от места съема сенсорной информации. Тем самым возрастает время передачи информации, возрастает нагрузка на вычислительные ресурсы прототипа, что увеличивает время реакции робота на внешние раздражители.The third disadvantage of the prototype is the lack of funds for the preliminary processing of information directly at the installation site of the sensors. As a result, the information taken from the sensor sensors must be fully transmitted to the computing units (BOCHVI and BU), remote from the place where the sensor information was taken. Thus, the transmission time of information increases, the load on the computing resources of the prototype increases, which increases the reaction time of the robot to external stimuli.
Целью изобретения является расширение функциональных возможностей устройства, повышение приспособляемости робототехнической системы к внешним условиям, повышение скорости, маневренности и надежности функционирования робота, уменьшение массы, габаритов и стоимости робототехнической системы.The aim of the invention is to expand the functionality of the device, increasing the adaptability of the robotic system to external conditions, increasing the speed, maneuverability and reliability of the robot, reducing the weight, size and cost of the robotic system.
Указанная цель достигается тем, что в каждом (i,j,k)-м процессоре матрицы А×А×А введен (i,j,k)-й двухвходовый ключ, информационный вход которого соединен с выходом (i,j,k)-го мультиплексора, управляющий вход соединен с выходом введенного двухтактного Т-триггера, а выход соединен с входом (i,j,k)-го узла локальной памяти, вход и выход которого совмещены и выполнены в виде одного проводника, в каждом (i,j,k)-м многовходовом мультиплексоре введен дополнительный информационный вход, соединенный с выходом первого регистра-триггера того процессора, чей квадратик 1×1 при повороте квадрата отображается в квадратик 1×1 (i,j,k)-го процессора, в каждом (i,j,k)-м многовходовом мультиплексоре для каждого аппаратно-реализуемого дискретизирующего отображения, моделирующего преобразование f: R3→R3 поворота пространства R3 на углы некратные 90° вокруг взаимно-ортогональных центральных осей куба А×А×А, расположенных параллельно его ребрам, введен дополнительный информационный вход, соединенный с выходом первого регистра-триггера того процессора матрицы А×А×А, чей соответствующий кубик 1×1×1 при моделировании указанного преобразования отображается в кубик 1×1×1, соответствующий (i,j,k)-му процессору, дополнительно введен формирователь синхросигналов, состоящий из генератора импульсов, двух двухвходовых схем И, счетчика адреса со схемой сброса адреса, постоянной памяти и дешифратора, выход генератора импульсов соединен с первым входом первой схемы И, выход которой соединен со счетным входом счетчика адреса, чьи информационные выходы соединены с адресными входами постоянной памяти, выход схемы сброса адреса соединен с входом сброса счетчика адреса, выходы постоянной памяти соединены с входами дешифратора формирователя синхросигналов, а также с входами дешифратора, входящего в состав введенной схемы дешифрации, содержащей дешифратор и пять двухвходовых схем И, информационные входы которых соединены с одноименными выходами данного дешифратора, а управляющие выходы соединены с выходом второго элемента И формирователя синхросигналов, инверсный вход которого соединен с выходом дешифратора формирователя сигналов, а прямой вход соединен с выходом первого разряда счетчика адреса, в программно-адресуемый регистр введен дополнительный триггер, прямой выход которого соединен со вторым входом первой схемы И формирователя (6) синхросигналов, инверсный выход соединен с входом запроса программного прерывания центрального управляющего процессора, а вход сброса соединен с выходом схемы сброса счетчика адреса формирователя синхросигналов, кроме того, для каждого i-го сервопривода робота введены i-й местный контроллер сервопривода и i-й центральный контроллер сервопривода, связанные между собой общей проводной связью i-го сервопривода, при этом местный контроллер сервопривода содержит сдвиговый регистр-приемник кода воздействия, параллельный регистр, сдвиговый регистр-передатчик кода результата, двухвходовый ключ, информационный вход которого соединен с информационным последовательным выходом регистра-передатчика кода результата, управляющий вход соединен с пятым выходом дешифратора, входящего в состав схемы дешифрации, а выход соединен с общей проводной связью i-го сервопривода, последовательный информационный вход сдвигового регистра-приемника кода воздействия соединен с общей проводной связью i-го сервопривода, управляющий вход соединен с выходом первой схемы И схемы дешифрации, а параллельные информационные выходы соединены с одноименными входами параллельного регистра, информационные выходы которого соединяются с одноименными информационными входами цифроаналогового преобразователя i-го узла сервопривода, параллельные информационные входы сдвигового регистра-передатчика кода результата соединяются с одноименными выходами датчика положения регулируемого органа i-го узла сервопривода, первый управляющий вход соединен с выходом четвертой схемы И схемы дешифрации, второй управляющий вход соединен с выходом пятой схемы И схемы дешифрации, центральный контроллер i-го сервопривода содержит сдвиговый регистр-приемопередатчик кода воздействия, сдвиговый регистр-приемопередатчик кода результата, два двухвходовых ключа, две двухвходовые схемы И, две двухвходовые схемы ИЛИ, при этом последовательный информационный вход регистра-приемопередатчика кода воздействия соединен с i-м информационным входом процессорной матрицы А×А×А, а его последовательный информационный выход соединен с информационным входом первого ключа, управляющий вход которого соединен с первым выходом дешифратора схемы дешифрации, а трехстабильный выход соединен с общей проводной связью i-го сервопривода, первый вход первой схемы И соединен с выходом введенного дешифратора адреса АПИ, а второй вход соединен с управляющим выходом блока управления, а выход соединен с первым входом первой схемы ИЛИ, второй вход которой соединен с выходом первой схемы И схемы дешифрации, а выход соединен с управляющим входом регистра-приемопередатчика кода воздействия, последовательный информационный вход регистра-приемопередатчика кода результата соединен с общей проводной связью i-го сервопривода, а его последовательный информационный выход соединен с информационным входом второго ключа, управляющий вход которого соединен с девятым выходом дешифратора КУВМ, а трехстабильный выход соединен с i-м информационным входом матрицы А×А×А процессоров, первый вход второй схемы И соединен с управляющим входом второго ключа, второй ее вход соединен со вторым входом первой схемы И, а выход соединен с первым входом второй схемы ИЛИ, второй вход которой соединен с выходом пятой схемы И схемы дешифрации, а выход соединен с управляющим входом регистра-приемопередатчика кода результата, каждая k-я группа пороговых датчиков робота выполнена в виде сенсорной матрицы А×А, состоящей из А2 сенсорных датчиков и А2 двухвходовых компараторов, первые входы которых соединены с выходами одноименных сенсорных датчиков, а вторые входы соединены между собой, в состав каждой сенсорной матрицы дополнительно введены А А-входовых схем ИЛИ и А (А+1)-входовых мультиплексоров, при этом n-й вход m-й А-входовой схемы ИЛИ соединен с выходом n-го компаратора m-й строки k-й группы пороговых датчиков, а выход соединен с (А+1)-м входом m-го (А+1)-входового мультиплексора, s-й информационный вход (где s=1…A) j-го (А+1)-входового мультиплексора соединен с выходом s-го компаратора j-го столбца k-й группы пороговых датчиков, введен местный контроллер k-й сенсорной матрицы (СМ) и центральный контроллер k-й СМ, связанные между собой общей проводной связью k-й СМ, при этом каждый местный контроллер содержит сдвиговый управляющий регистр, параллельные выходы которого соединены с информационными входами управляющего регистра, А-разрядный сдвиговый регистр данных, двухвходовый ключ, информационный вход которого соединен с информационным последовательным выходом регистра данных, управляющий вход соединен с пятым выходом дешифратора схемы дешифрации, а выход соединен с общей проводной связью k-й СМ, последовательный информационный вход сдвигового управляющего регистра соединен с общей проводной связью k-й СМ, а его управляющий вход соединен с выходом первой схемы И схемы дешифрации.This goal is achieved by the fact that in each (i, j, k) -th processor of the matrix A × A × A, the (i, j, k) -th two-input key is entered, the information input of which is connected to the output (i, j, k) -th multiplexer, the control input is connected to the output of the inserted push-pull T-trigger, and the output is connected to the input of the (i, j, k) th local memory node, the input and output of which are combined and made in the form of one conductor, in each (i, j, k) th multi-input multiplexer introduced an additional information input connected to the output of the first register-trigger of the processor whose quad tick 1 × 1 when turning the square it is mapped into the box of the 1 × 1 (i, j, k) th processor, in each (i, j, k) th multi-input multiplexer for each hardware-implemented discretizing mapping modeling the transformation f: R 3 → R 3 of rotation of the space R 3 at angles of multiple 90 ° around the mutually orthogonal central axes of the A × A × A cube parallel to its edges, an additional information input is introduced, connected to the output of the first register-trigger of that processor of the A × A × A matrix, whose corresponding 1 ×
В отличие от прототипа заявленное устройство позволяет одновременно управлять большим числом сервоприводов робота и большим числом его сенсорных датчиков благодаря использованию для этих целей средств параллельной обработки информации, использующихся в прототипе только для обработки изображений. В отличие от прототипа производительность, надежность, габариты и масса устройства в значительно меньшей степени зависят от числа сенсорных датчиков и длины проводников, связывающих входы процессорной матрицы с выходами датчиков, за счет использования последовательного способа передачи информации между датчиками и блоком БОХВИ, поскольку основной процесс передачи информации между удаленной периферией (датчиками и сервоприводами) робота и его устройством управления осуществляется без участия процессорной матрицы А×А×А. Это позволяет удлинить связные кабели без снижения тактовой частоты управления матрицей А×А×А и тем самым расширить функциональные возможности робота (расширить рабочую зону, увеличить площадь и удаленность очувствленных участков, повысить маневренность). Кроме того, в отличие от прототипа заявленное устройство содержит средства предварительной обработки осязательной информации, проводимой непосредственно на месте установки сенсорных матриц без участия вычислительных средств прототипа, что позволяет передавать по линиям связи не всю информацию с датчиков в процессорную матрицу А×А×А, а только ее наиболее интересную часть, касающуюся возбужденных датчиков. При этом выполнение большинства вычислений, входящих в цикл управления роботом (обработка сигналов с датчиков, построение модели внешней среды, определение координат частей робота, вычисление траектории их движения, вычисление значений управляющих сигналов, регулирование сервоприводами) осуществляется с использованием одних и тех же вычислительные средств. Это удешевляет устройство, снижает его габариты и стоимость.Unlike the prototype, the claimed device allows you to simultaneously control a large number of servos of the robot and a large number of its sensor sensors due to the use for these purposes of parallel processing of information used in the prototype only for image processing. Unlike the prototype, the performance, reliability, dimensions and weight of the device depend to a much lesser extent on the number of sensor sensors and the length of the conductors connecting the inputs of the processor matrix with the outputs of the sensors by using a sequential method of transmitting information between the sensors and the BOCHI unit, since the main transmission process information between the remote peripherals (sensors and servos) of the robot and its control device is carried out without the participation of the processor matrix A × A × A. This allows you to extend the communication cables without reducing the clock frequency of the matrix control A × A × A and thereby expand the functionality of the robot (expand the working area, increase the area and distance of the sensed areas, increase maneuverability). In addition, unlike the prototype, the claimed device contains means for preliminary processing of tactile information conducted directly at the installation site of the sensor matrices without the participation of the prototype computing means, which allows transmitting not all information from the sensors to the A × A × A processor matrix via communication lines, but only its most interesting part regarding excited sensors. In this case, the majority of the calculations included in the robot control cycle (processing signals from sensors, constructing a model of the external environment, determining the coordinates of the robot parts, calculating the trajectory of their movement, calculating the values of the control signals, adjusting the servos) is performed using the same computational tools. This reduces the cost of the device, reduces its size and cost.
На фиг.1 изображена общая функциональная схема устройства. На фиг.2 показаны схема сенсорной матрицы и схемы ее центрального и местного контроллеров. На фиг.3 изображены схемы центральных и местных контроллеров для датчиков и сервоприводов. На фиг.4 показан состав отдельного процессора однородной процессорной матрицы А×А×А и временная диаграмма работы блока обработки, хранения, ввода и визуализации изображений (БОХВИ). Фиг.5 поясняет соответствие между процессорами матрицы А×А×А и кубиками-пикселями 1×1×1 куба А×А×А и показывает положение основных координатных осей. Фиг.6 иллюстрирует способ реализации в устройстве команд одношагового переноса и поворота на 90° плоских бинарных изображений . На фиг.7 показан способ построения сегментов сферической поверхности (ССП). На фиг.8 показан вариант аппаратно-реализуемого базиса дискретизирующих отображений, моделирующих пространственный поворот. Фиг.9 поясняет принцип моделирования поворота трехмерных бинарных составных изображений на угол, некратный 90°. Фиг.10,11 поясняют принцип моделирования поворота двумерных бинарных составных изображений на угол, некратный 90°. Фиг.12, 13 поясняют принцип расшивки и сшивания двухмерных и трехмерных составных изображений при моделировании поворотов содержимого этих изображений. Фиг.14 иллюстрирует реализацию программного сжатия бинарного изображения А×А×А относительно плоскости, параллельной грани этого изображения. На фиг.15 изображен один из возможных вариантов конструкции «скелета» автономного робота. На фиг.16 показаны варианты способа очувствления конечности робота с использованием сенсорных матриц (СМ). На фиг.17 изображена временная диаграмма работы формирователя сигналов. Фиг.18, 19 поясняют принцип определения текущего положения элементов конечности робота. Фиг.20 поясняет принцип построения текущей 3D-пиксельной модели тела робота и принцип анализа положения этой модели относительно элементов текущей 3D-пиксельной модели окружающей области. На фиг.21 изображены 2D-пиксельная модель тела робота-гуманоида и 3D-пиксельная модель тела кисти робота-гуманоида. На фиг.22 поясняется принцип обнаружения и ликвидации угрозы потери устойчивого равновесия у робота-гуманоида. Фиг.23 поясняет связь между 2D-пикселем на фотоизображении и 3D-пикселем фотографируемого пространства. На фиг.24 изображен вариант видеосистемы робота-гуманоида. На фиг.25 изображена обзорная сфера робота и ее обзорные секторы. На фиг.26 показана обзорная сцена робота и ее фрагменты. Фиг.27, 28 поясняют способ реализации сглаживания фотоизображения в устройстве. Фиг.29 иллюстрирует выполнение алгоритма Поджио для выявления корреспондирующих 3D-пикселей по стереоизображениям. Фиг.30, 31 поясняют способ построения содержимого обзорных сцен и обзорных секторов по найденным корреспондирующим 3D-пикселям. Фиг.32, 33, 34 иллюстрируют алгоритм распознавания трехмерного объекта на плоском фотоизображении. На фиг.35 изображен внешний вид устройства с процессорной матрицей 9×9×9 и вариант расположения его внутри робота-гуманоида. На фиг.36 изображен внутренний состав узла определения объема и формирователя кода заполнения бинарного изображения. На фиг.37 показана функциональная схема варианта узла ввода фотоизображения. На фиг.38 показан состав коммутатора слова и состав памяти изображений.Figure 1 shows the General functional diagram of the device. Figure 2 shows a diagram of the sensor matrix and the circuit of its central and local controllers. Figure 3 shows a diagram of the central and local controllers for sensors and servos. Figure 4 shows the composition of a separate processor homogeneous processor matrix A × A × A and a timing diagram of the processing unit, storage, input, and visualization of images (BOHVI). 5 illustrates the correspondence between the processors of the matrix A × A × A and the
Устройство состоит из блока 1 управления; блока 2 обработки изображений, местных контроллеров 3 сервоприводов, местных контроллеров 4 сенсорных матриц, сенсорных матриц 5 формата А×А, формирователя 6 синхросигналов. Блок 1 включает в себя центральный управляющий процессор 7 с регистром 8 микрослова и программно-адресуемыми регистрами 9, 10, 11, 12, 13, 14, 15, 16, 17, память 18 программ и данных, контроллеры 19 внешних устройств 20, мультиплексор 21 адреса локальной памяти, элементы 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 И, триггер 32, элемент задержки 33. Связь блока 1 с внешними устройствами осуществляется посредством интерфейса 34. Блок 2 состоит из матрицы 35 процессоров 36, памяти 37 изображений, коммутатора 38 перемещения слоя, узла 39 определения объема, формирователя 40 кода заполнения бинарного изображения (КЗБИ), узлов 41 ввода фотоизображения, коммутатора 42 слова, центральных контроллеров 43 сервоприводов, центральных контроллеров 44 сенсорных матриц. Код управления входами матрицы 35 дешифрируется дешифратором 45. Каждый контроллер 3 соединен с регулируемым и регулирующим органами отдельного сервопривода 46 робота. Каждый контроллер 4 соединен с сенсорной матрицей 47 робота. Коммутатор 38 включает в себя первую матрицу 48 (А×А) и вторую матрицу 49 (А×А) одноразрядных узлов буферной памяти, коммутатор 50 поворота слоя A×A×1, матрицу 51 (А×А) ключей циклического переноса, матрицу 52 (А×А) ключей 3D-сдвига, матрицу 53 (А×А) ключей 2D-сдвига. Каждый процессор 36 состоит из локальной памяти 54, одноразрядного регистра 55 первого операнда, одноразрядного регистра 56 второго операнда, одноразрядного регистра 57 объема, ключа 58, мультиплексора 59, арифметико-логического узла, включающего в себя схему 60 И-НЕ и схему 61 И. Памятью 54 всех процессоров 36 управляют схема 62 ИЛИ и Т-триггер 63. Контроллер 3 содержит сдвиговый регистр 64 кода воздействия, сдвиговый регистр 65 кода результата, регистр 66 воздействия, ключ 67, цифроаналоговый преобразователь 68, аналого-цифровой преобразователь 69. Контроллер 4 содержит сдвиговый регистр 70 данных, сдвиговый управляющий регистр 71, управляющий регистр 72, ключ 73, цифроаналоговый преобразователь 74. Каждая сенсорная матрица 5 включает в себя А2 пороговых датчиков 75, А схем 76 ИЛИ, А мультиплексоров 77. Каждый пороговый датчик 75 состоит из собственно датчика 78 и компаратора 79. Контроллер 43 состоит из сдвигового регистра 80 кода воздействия, сдвигового регистра 81 кода результата, схем 82, 83 И, схем 84, 85 ИЛИ, ключей 86, 87, неполного дешифратора 88. Контроллер 44 состоит из сдвигового регистра 89 данных, сдвигового управляющего регистра 90, схем 91, 92 И, схем 93, 94 ИЛИ, ключей 95, 96, неполного дешифратора 97. Формирователь 6 включает в себя генератор 98, счетчик адреса 99, память 100, дешифратор 101, схемы 102, 103 И, внешние схемы 104 дешифрации. В состав регистра 17 входит разряд-триггер 105. Сервопривод 46 состоит из двигателя 106, червяка 107, червячного колеса с датчиком 108 углового положения колеса. Каждая схема 104 дешифрации состоит из дешифратора 109 и двухвходовых схем 110, 111, 112, 113, 114 И. Узел 39 определения объема состоит из полусумматоров 115 и многоразрядных сумматоров 116, 117. Формирователь 40 включает в себя А А2-входовых схем 118 ИЛИ. Каждый узел 41 ввода фотоизображений состоит из матрицы 119 ПЗС-приборов 120, коммутаторов 121, аналого-цифровых преобразователей 122, мультиплексоров 123, ключей 124, двоичного счетчика 125, дешифратора 126, схем 127 И, 128 ИЛИ, схемы 129 управления ПЗС, неполного дешифратора 130. Коммутатор 42 состоит из А2 ключей 131. Память 37 состоит из А2 одноразрядных узлов 132 памяти произвольной выборки и А2 ключей 133.The device consists of a
Устройство работает следующим образом. В памяти 18 хранятся программы обработки. Каждая команда программы перед ее выполнением извлекается из памяти 18 и размещается в регистрах процессора 7, при этом адрес первого операнда размещается в регистре 14, адрес второго операнда - в регистре 15. Далее дешифрируется код операции извлеченной команды, после чего узлом микропрограммного управления процессора 7 вырабатываются сигналы микроопераций, необходимые для выполнения данной команды. Система команд заявленного устройства включает в себя арифметико-логические команды, команды условного и безусловного перехода, команды БОХВИ.The device operates as follows. A memory 18 stores processing programs. Each command of the program before its execution is extracted from memory 18 and placed in the registers of
Назначение и способ выполнения всех арифметико-логических команд, команд условного и безусловного перехода полностью определяются выбранной конструкцией процессора 7, памяти 18, интерфейса 34, которые выполняются по одной из известных схем (в частности, за их основу могут быть взяты соответствующие узлы любого из известных персональных компьютеров). Каждой команде соответствует своя микропрограмма - набор микрокоманд, последовательное выполнение которых приводит к выполнению операции, заданной в команде. После дешифрации кода операции адрес начального микрослова команды записывается в регистр микроадреса процессора 7. По этому микроадресу из памяти микропрограмм процессора 7 извлекается управляющее микрослово и загружается в регистр 8. Это микрослово содержит управляющее поле, разряды которого используются для генерации сигналов требуемых микроопераций, а также поле следующего микроадреса и поле кода микроветвления. Поле следующего микроадреса содержит базовый микроадрес, который указывает на следующее микрослово при естественной последовательности выборки микрослов. Этот базовый микроадрес может быть модифицирован с целью микроветвления, поле кода микроветвления определяет, какие признаки необходимо проверить и использовать для модификации микроадреса. Часть управляющего поля микрослова образует поле управления БОХВИ, ответственное за выработку управляющих сигналов блока 2.The purpose and method of executing all arithmetic-logical commands, conditional and unconditional transition instructions are completely determined by the selected design of the
Обработка двухмерных и трехмерных изображений2D and 3D image processing
Главной особенностью заявленного устройства является использование только пиксельных геометрических моделей на всех этапах обработки плоских изображений и трехмерных пространственных сцен, начиная с предварительной обработки вводимых изображений и заканчивая анализом и синтезом двухмерных и трехмерных геометрических моделей. Высокая скорость обработки достигается:The main feature of the claimed device is the use of only pixel geometric models at all stages of processing flat images and three-dimensional spatial scenes, from preliminary processing of input images to analysis and synthesis of two-dimensional and three-dimensional geometric models. High processing speed is achieved:
1) за счет применения специального аппарата т.н. дискретизирующих отображений [3, 4], которые моделируют выполнение геометрических преобразований поворота, переноса, сжатия над пиксельными геометрическими моделями;1) through the use of a special apparatus of the so-called discretizing mappings [3, 4], which model the implementation of geometric transformations of rotation, transfer, compression over pixel geometric models;
2) благодаря глубокому распараллеливанию процесса выполнения теоретико-множественных операций, анализа объектов на пересекаемость, процедур вычисления площадей и объемов.2) due to the deep parallelization of the process of performing set-theoretic operations, analysis of objects for intersection, procedures for calculating areas and volumes.
Отличительной особенностью устройства является возможность применения такого способа программной обработки сцен, когда роль элементарных операндов выполняют целые двухмерные и трехмерные изображения, содержащие внутри себя обрабатываемые геометрические объекты. Наряду с упрощением процесса программирования такой способ позволяет создавать программы, инвариантные по отношению к геометрической форме обрабатываемых объектов и их угловому положению в пространстве. Устройство позволяет существенно увеличить скорость и качество машинной обработки сцен за счет организации поэтапной обработки сцен с использованием сначала геометрических моделей объектов низкого разрешения, а затем - с использованием геометрических моделей большего разрешения.A distinctive feature of the device is the possibility of using such a method of software processing scenes, when the role of elementary operands is performed by whole two-dimensional and three-dimensional images containing processed geometric objects inside themselves. Along with simplifying the programming process, this method allows you to create programs that are invariant with respect to the geometric shape of the processed objects and their angular position in space. The device allows to significantly increase the speed and quality of scene processing by organizing stage-by-stage processing of scenes using first geometric models of low-resolution objects, and then using higher-resolution geometric models.
Содержимое одноразрядных слов, хранящихся по одному и тому же адресу в А3 узлах локальной памяти 54 всех процессоров 36 матрицы 35, в зависимости от выполняемой команды интерпретируется устройством либо как трехмерное бинарное изображение А×А×А, либо как двухмерное бинарное изображение формата . Между кубиками-пикселями 1×1×1 куба-изображения А×А×А и процессорами 36 матрицы 35 существует взаимно-однозначное соответствие (фиг.5-а).The content of one-bit words stored at the same address in A 3 nodes of the
Описание команд управления БОХВИ целесообразно начать с определения ряда используемых терминов.It is advisable to begin the description of the BOCHI management teams with the definition of a number of terms used.
Определение 1. n-мерной сценой S формата F(n) назовем некоторое семейство (где I=1,2,3,…m s) точечных множеств Em n-мерного евклидового пространства Rn, удовлетворяющее выражению:
где µ(n) (Em) - n-мерная мера n-мерного множества Em (понятие n-мерной меры µ(n) (Е(n)) является естественным обобщением понятий: длины µ(1) (Е(1)) отрезка Е(1) - для R1; площади µ(2) (Е(2)) плоской фигуры E(2) - для R2; объема µ(3) (Е(3)) трехмерной фигуры E(3) - для R3) [10].where µ (n) (E m ) is the n-dimensional measure of the n-dimensional set E m (the concept of the n-dimensional measure µ (n) (E (n) ) is a natural generalization of the concepts: length µ (1) (E (1 ) ) of segment E (1) for R 1 ; area µ (2) (E (2) ) of a flat figure E (2) for R 2 ; volume µ (3) (E (3) ) of a three-dimensional figure E (3 ) - for R 3 ) [10].
Определение 2. Множество Em∈S назовем m-м объектом n-мерной сцены S.
Определение 3. Сцену S={Em}m∈I формата F(n), для которой одновременно справедливы выражения:
и (∀i,j∈I)[(i≠j)⇒(Ei∩Ej=⌀)] and (∀i, j∈I) [(i ≠ j) ⇒ (E i ∩E j = ⌀)]
назовем ms-нарным (или ms-уровневым) n-мерным изображением формата F(n). Каждое ms-нарное изображение формата F(n) может быть представлено ms-значной функцией Ф, принимающей в каждой точке а∈F(n) значение Ф(а), удовлетворяющее высказыванию:we will call m s -ary (or m s -level) n-dimensional image of F (n) format. Each m s -ary image of the format F (n) can be represented by an m s -valued function Φ taking at each point a∈F (n) the value of Φ (a) satisfying the statement:
(∀Em∈S)(∀a∈Em) (∀b∈F(n))[((Ф(а)=Ф(b))⇒(b∈Em))∧((Ф(а)≠Ф(b))⇒(b∉Em))](∀E m ∈S) (∀a∈E m ) (∀b∈F (n) ) [((Ф (а) = Ф (b)) ⇒ (b∈E m )) ∧ ((Ф (а ) ≠ Ф (b)) ⇒ (b∉E m ))]
Разобьем пространство Rn на классы точечных множеств рι (n)∈Rn (где ι∈L, L=1,2,…∞), для которых справедливы выражения:We divide the space R n into classes of point sets p ι (n) ∈ R n (where ι∈L, L = 1,2, ... ∞) for which the expressions are valid:
где ρ(а,b) - расстояние между точками а и b множества рι (n), ξp - постоянная;where ρ (a, b) is the distance between points a and b of the set p ι (n) , ξ p is a constant;
Определение 4. Множества рι (n)⊂Rn, одновременно удовлетворяющие всем перечисленным требованиям, назовем n-мерными пикселями р(n)-пиксельного разбиения Rn, а ξр - постоянной этого разбиения.
Определение 5. Точечное множество и ∪ рι (n), составленное из конечного множества пикселей рι (n) (Lk∈L), назовем объектом.
Определение 6. р(n)-дискретной моделью множества É⊂Rn назовем р(n)-дискретный объект , составленный из всех пикселей рι (n) (где ι∈LE, LE⊂L), для которых выполняется: (∀ι∈LE)[µ(n)(É∩pι (n))/µ(n)(pι (n))≥δι], где δι - постоянная (0<δ1≤1).
Определение 7. Вычислительную процедуру fp по формированию р(n)-дискретной модели fp(É)⊂Rn множества f(É) из множества É, где f(É) - образ множества É⊂Rn при отображении f: É→f(É), назовем р(n)-дискретизирующим отображением fp, моделирующим отображение f: É→f(É) (или просто - дискретизирующим отображением). В заявленном устройстве все обрабатываемые трехмерные объекты представлены их р(2)-дискретными и р(3)-дискретными моделями. Используемые пиксельные разбиения пространств R2 и R3 - регулярные: роль пикселей рι (2) выполняют квадратики 1×1, роль пикселей рι (3) - кубики 1×1×1. Выполнение геометрических преобразований (к числу которых относятся преобразования поворота, переноса, сжатия) над точками пространств R2 и R3, заменено выполнением р(2)-дискретизирующих и р(3)-дискретизирующих отображений (моделирующих указанные геометрические преобразования с заданной степенью точности) над одноцветным содержимым бинарных изображений.
Общий принцип построения р(n)-дискретной модели fp(Е) множества f(E) из объекта Е (где - некоторый произвольный р(n)-дискретный объект; а f - биективное отображение f: Rn→Rn) состоит в следующем. Исходный объект Е задан бинарным n-мерным изображением S1 некоторого формата , полностью покрывающего Е.The general principle of constructing a p (n) -discrete model f p (E) of a set f (E) from an object E (where - some arbitrary p (n) -discrete object; and f is the bijective map f: R n → R n ) is as follows. The original object E is given by a binary n-dimensional image S 1 of some format completely covering E.
Результатом построения должно стать бинарное n-мерное изображение S2 некоторого формата , содержащее внутри себя объект fp(E).The result of the construction should be a binary n-dimensional image S 2 of some format containing the object f p (E).
Пусть F1 (n)=F2 (n)=F(n), L1=L2=LF. Поскольку S1 и S2 являются бинарными, они могут быть представлены следующими двухзначными функциями для ι∈LF:Let F 1 (n) = F 2 (n) = F (n) , L 1 = L 2 = L F. Since S 1 and S 2 are binary, they can be represented by the following two-valued functions for ι∈L F :
Построение р(n)-дискретной модели образа f(E) предполагает определение меры µ(n)(рι (n)∩f(E)) для каждого рι (n)⊂F(n). Из равенства следует ,The construction of a p (n) -discrete model of the image f (E) implies the definition of the measure µ (n) (p ι (n) ∩ f (E)) for each p ι (n) ⊂F (n) . From equality should ,
отсюда . Так как from here . As
а f - биективное отображение f: Rn→Rn, то f(pi (n))∩f(pj (n))=⌀.and f is a bijective map f: R n → R n , then f (p i (n) ) ∩ f (p j (n) ) = ⌀.
Таким образом из (3) и свойства аддитивности меры [10] вытекает:Thus, from (3) and the additivity property of the measure [10] it follows:
Используя введенную функцию Ф1(pi (n)), для i∈Lι⊂LF, удовлетворяющих условию можно записатьUsing the introduced function Φ 1 (p i (n) ), for i∈L ι ⊂L F satisfying the condition can write
Из определения 6 следует:From
Выражения (5) и (6) определяют зависимость значения Ф2(рι (n)) от значений Ф1(pi (n)).Expressions (5) and (6) determine the dependence of the value of Ф 2 (р ι (n) ) on the values of Ф 1 (p i (n) ).
Несмотря на очевидный недостаток р(n)-дискретизирующих отображений fp (низкая точность моделирования произвольных преобразований f) они обладают тремя важнейшими достоинствами в случае их машинной реализации:Despite the obvious drawback of p (n) -sampled mappings f p (low accuracy of modeling arbitrary transformations f), they have three most important advantages in the case of their machine implementation:
1) возможностью предельного распараллеливания процесса их выполнения (вплоть до битов описания модели):1) the possibility of maximum parallelization of the process of their execution (up to the bits of the model description):
2) отсутствием зависимости между временем выполнения преобразования и сложностью геометрической формы преобразуемого объекта:2) the absence of a relationship between the conversion execution time and the complexity of the geometric shape of the transformed object:
3) возможностью замены бесконечного спектра моделируемых геометрических преобразований f конечным спектром р(n)-дискретизирующих отображений fp, уменьшающимся вместе с уменьшением разрешения преобразуемой модели. Простейший способ распараллеливания fp, непосредственно вытекающий из выражений (5) и (6), состоит в применении пары «многовходовый аналоговый сумматор - пороговый элемент» (вход ι-го порогового элемента соединен с выходом ι-го аналогового сумматора) для каждого пикселя pι (n)⊂F(n). Каждый ι-й сумматор реализует выражение (5), каждый ι-й пороговый элемент - выражение (6).3) the possibility of replacing the infinite spectrum of simulated geometric transformations f with a finite spectrum of p (n) -sampled mappings f p decreasing with decreasing resolution of the transformed model. The simplest way to parallelize f p , which directly follows from expressions (5) and (6), is to use the pair “multi-input analog adder - threshold element” (the input of the ith threshold element is connected to the output of the ιth analog adder) for each pixel p ι (n) ⊂F (n) . Each ιth adder implements expression (5), each ιth threshold element implements expression (6).
Варьируя значением δι можно упростить данный способ аппаратной реализации р(n)-дискретизирующего отображения путем замены аналоговых элементов на простейшие цифровые элементы. Действительно, если для выбранного значения δι высказывание (∀i∈Lι)[µ(n)(pι (n)∩f(pi (n)))/µ(n)(pι (n))≥δι] истинно, нет необходимости вычислять (5), а достаточно реализовать булеву функцию «дизъюнкция»:Varying the value of δ ι, we can simplify this method of hardware implementation of p (n) -sampled mapping by replacing analog elements with simple digital elements. Indeed, if for the chosen value δ ι the statement (∀i∈L ι ) [μ (n) (p ι (n) ∩f (p i (n) )) / μ (n) (p ι (n) ) ≥ δ ι ] is true, there is no need to calculate (5), but it is enough to realize the Boolean function “disjunction”:
где Ф1(pi (n)) и Ф2(рι (n)) выполняют уже роль булевых переменных (1 - истинно, 0 - ложно).where Ф 1 (p i (n) ) and Ф 2 (р ι (n) ) already fulfill the role of Boolean variables (1 - true, 0 - false).
Еще более упрощается аппаратная реализация дискретизирующих отображений в случае моделирования преобразований, называемых перемещениями (движениями или наложениями). К их числу относятся: параллельный перенос, поворот, различные виды симметрии. Для этих преобразований справедливо равенство µ(n)(Е)=µ(n)(f(E)), в связи с чем при регулярном пиксельном разбиении Rn должно соблюдаться (число пикселей, образующих Е, должно совпадать (в идеальном случае) с числом пикселей, образующих fp(E)). А потому само р(n)-дискретизирующее отображение fp, моделирующее перемещение f, должно быть преимущественно взаимнооднозначным (т.е. один пиксель-прообраз pi (n) должен отображаться, как правило, только в один пиксель-образ pι (n)). Пусть S1 - преобразуемое бинарное изображение, представленное n-мерным множеством значений хранящихся в одноразрядных двоичных аккумуляторах ai; S2 - бинарное изображение, полученное в результате моделирования перемещения f над единичным содержимым S1 и представленное n-мерным множеством значений хранящихся в одноразрядных двоичных аккумуляторах bι. Аппаратная реализация процедуры формирования S2 из S1 с максимальной степенью параллелизации состоит в передаче значений Ф1(pi (n)) из аккумуляторов ai в аккумуляторы bι для передачи значений Ф1(pi (n))= Ф2(pι (n)) по индивидуальным линиям связи. При этом взаимнооднозначное соответствие между пикселем-образом рι (n) (входом аккумулятора bι) и пикселем-прообразом pi (n) (выходом аккумулятора ai) устанавливается индивидуально для каждого пикселя рι (n) принудительным образом согласно следующими правилами:The hardware implementation of the discretizing mappings is even more simplified in the case of modeling transformations called displacements (movements or overlays). These include: parallel transport, rotation, various types of symmetry. For these transformations equality μ (n) (E) = μ (n) (f (E)), in connection with regular pixel partition R n must be respected (the number of pixels forming E should coincide (in the ideal case) with the number of pixels forming f p (E)). Therefore, the p (n) -sampled mapping f p simulating the displacement f should be primarily one-to-one (i.e., one pixel inverse image p i (n) should be displayed, as a rule, only in one pixel image p ι ( n) ). Let S1 be a transformed binary image represented by an n-dimensional set of values stored in single bit binary batteries a i ; S2 is a binary image obtained by simulating the movement of f over the unit contents of S1 and represented by an n-dimensional set of values stored in single-digit binary batteries b ι . The hardware implementation of the procedure for generating S2 from S1 with the maximum degree of parallelization consists in transferring the values of Ф 1 (p i (n) ) from the batteries a i to the batteries b ι to transfer the values of Ф 1 (p i (n) ) = Ф 2 (p ι (n) ) on individual communication lines. In this case, a one-to-one correspondence between the pixel image p ι (n) (battery input b ι ) and the preimage pixel p i (n) (battery output a i ) is established individually for each pixel p ι (n) according to the following rules:
1) пиксель-прообраз для рι (n) ищется только из числа pi (n), образы f(pi (n)) которых при данном перемещении f пересекают рι (n) (т.е. для которых i∈Lι);1) the preimage pixel for p ι (n) is searched only from the number p i (n) whose images f (p i (n) ) of which, for a given displacement f, intersect p ι (n) (i.e., for which i∈ L ι );
1) наибольший приоритет для установления соответствия с рι (n) имеет пиксель , обладающий наибольшим значением меры µ(n)(pι (n)∩f(pi (n))) из числа , для которых соответствия еще не было установлено;1) the highest priority for establishing compliance with p ι (n) has a pixel having the largest value of the measure µ (n) (p ι (n) ∩f (p i (n) )) from for which compliance has not yet been established;
3) пиксель рι (n), для которого Lι≠⌀, обязательно должен иметь пиксель-прообраз pi (n) (Lι=⌀, если все пикселя рι (n) расположены за пределами формата Fn);3) a pixel p ι (n) for which L ι ≠ ⌀ must necessarily have a preimage pixel p i (n) (L ι = ⌀, if all pixels p ι (n) are located outside the format F n );
4) если для всех соответствие уже установлено, а для рι (n) - еще нет, пикселю рι (n) дается в соответствие один из пикселей для которого в этом случае принцип взаимной однозначности нарушается.4) if for all the correspondence has already been established, but for p ι (n) it is not yet, one of the pixels is given to the pixel p ι (n) for which, in this case, the principle of mutual uniqueness is violated.
В заявленном устройстве функцию аккумуляторов ai выполняют регистры 55, функцию аккумуляторов bi - одноразрядные узлы памяти 54.In the claimed device, the function of the batteries a i is performed by the
В таблице 1 перечислены все команды БОХВИ и дано их описание. Часть управляющего поля микрослова образует поле управления БОХВИ, в это поле входят следующие группы двоичных разрядов:Table 1 lists all the BOCHVI teams and their description is given. Part of the control field of the microword forms the control field of the BOCHVI, the following groups of binary digits enter into this field:
В отличие от прототипа в мнемоническом обозначении команд заявленного устройства используются только буквы латинского алфавита. Часть команд управления БОХВИ по своему функциональному назначению являются полными аналогами команд управления БОХВИ прототипа, а часть являются вновь введенными командами. Назначение разрядов поля управления БОХВИ полностью совпадает с назначением одноименных разрядов поля управления БОХВИ прототипа, однако поле кода микрооперации (КМО) заявленного устройства содержит больше разрядов из-за введения в систему команд дополнительных команд. Система команд управления БОХВИ, приведенная в табл.1, является обобщенной и функционально избыточной. Например:In contrast to the prototype, only letters of the Latin alphabet are used in the mnemonic designation of the commands of the claimed device. Some of the BOHVI management teams by their functional purpose are full analogs of the BOHVI control teams of the prototype, and some are newly introduced teams. The assignment of bits of the BOHVI control field completely coincides with the assignment of the same name bits of the BOHVI control field of the prototype, however, the microoperation code field (CMO) of the claimed device contains more bits due to the introduction of additional commands into the system of commands. The system of control commands of BOCHI, given in Table 1, is generalized and functionally redundant. For example:
- каждая команда типа SBT может быть реализована путем суперпозиции (последовательного выполнения) нескольких команд типа INE;- each command of type SBT can be implemented by superposition (sequential execution) of several commands of type INE;
- каждая команда типа RAZ может быть реализована при помощи суперпозиции нескольких команд типа RAX и RAY;- each team of type RAZ can be implemented using a superposition of several teams of type RAX and RAY;
и т.п.etc.
Избыточность команд позволяет увеличить скорость обработки, однако при этом аппаратурные затраты на реализацию устройства возрастают. В зависимости от конкретного варианта реализации устройства часть команд, перечисленных в табл.1, может отсутствовать в системе команд конкретного варианта заявленного устройства.The redundancy of commands allows you to increase the processing speed, however, at the same time, hardware costs for the implementation of the device increase. Depending on the specific embodiment of the device, some of the commands listed in Table 1 may not be available in the command system of a particular embodiment of the claimed device.
Команды управления БОХВИ выполняются следующим образом.The control commands of the BOCHVI are performed as follows.
Микропрограмма команды RAX состоит из микрокоманды, в управляющем поле БОХВИ микрослова которой установлены биты:The firmware of the RAX command consists of a micro-command, in the control field of the BOCHVI microsword of which the bits are set:
После расшифровки кода команды процессор 7 по тактовому импульсу С1 записывает микрослово команды RAX в регистр 8 микрослова. Код ADR с выходов мультиплексора 21 поступает на адресные входы памяти 54. Сигнал R/W=0, поступающий с инверсного выхода двухтактного Т-триггера 63 (фиг.1), переводит память 54 в режим чтения. В каждом процессоре 36 (фиг.4) информационный выход выбранной памяти 54 подключается к общему информационному входу регистров-триггеров 55, 56, 57. По переднему фронту синхросигнала С2 (фиг.1) сигнал CWR1 (фиг.4-б), поступающий с выхода подготовленной схемы 22 И, записывает содержимое памяти 54 в регистры 55 матрицы 35. Одновременно содержимое строки A×1×1 последнего (относительно Ох) слоя А×А×1 записывается в А разрядов программно-адресуемого регистра 16, что обеспечивает возможность передачи данных из блока 2 в блок 1. По заднему фронту С2 память 54 переводится в режим записи (R/W=1).After the command code is decrypted, the
В каждом (i,j,k)-м процессоре 36 мультиплексор 59 (i,j,k) кодом КМО=00011 через подготовленный ключ 58 (i,j,k) подключает к информационному входу памяти 54(i,j,k) выход регистра 55 того процессора 36, чей соответствующий кубик-пиксель 1×1×1 при повороте куба А×А×А на 90° вокруг его центральной оси Ох (фиг.4, 5) отображается в (i,j,k)-й кубик-пиксель 1×1×1. По переднему фронту синхросигнала С3 (фиг.4-б) сигнал WR, поступающий с подготовленной схемы 28 И, записывает повернутое содержимое бинарного изображения А×А×А, хранящегося в регистрах 55, в локальную память 54 по адресу, хранящемуся в регистре 14.In each (i, j, k)
Микропрограмма команды RAX+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the RAX + command consists of a microcommand whose BOCHI control field contains the bits:
Выполнение этой команды отличается от выполнения RAX только тем, что после записи повернутого изображения в локальную память 54 содержимое регистра 14 увеличивается на 1 по импульсу С4 посредством сигнала +1а1.The execution of this command differs from the execution of RAX only in that after the recording of the rotated image in the
Микропрограмма команды RAXA а2, а1 состоит из нескольких микрокоманд, при этом выполнение первых микрокоманд связано с чтением из памяти 18 адреса а1 и адреса а2 с записью прочитанных значений в регистр 14 адреса первого операнда и в регистр 15 адреса второго операнда соответственно (способ организации такого чтения зависит от выбора одной из известных конструкций блока 1). После чтения адресов операндов выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the RAXA command a2, a1 consists of several microcommands, while the first microcommands are connected with reading address a1 and address a2 from memory 18 and writing the read values to register 14 of the address of the first operand and register 15 of the address of the second operand, respectively (method of organizing such reading depends on the choice of one of the known constructions of block 1). After reading the addresses of the operands, a microword is executed, the BOCHI control field of which contains bits:
Запись в локальную память 54 повернутого изображения осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:Recording in the
Микропрограмма команды RAY состоит из микрокоманды:RAY command firmware consists of a micro command:
Выполнение команды RAY отличается от выполнения команды RAX тем, что здесь мультиплексор 59 (i,j,k) подключает информационный вход памяти 54(i,j,k) к выходу регистра 55 того процессора 36, чей соответствующий кубик-пиксель 1×1×1 при повороте куба А×А×А на 90° вокруг его центральной оси Оу (фиг.5) отображается в (i,j,k)-й кубик-пиксель 1×1×1.The execution of the RAY command differs from the execution of the RAX command in that here the multiplexer 59 (i, j, k) connects the information input of the memory 54 (i, j, k) to the output of the
Микропрограмма команды RAY+ состоит из микрослова:The firmware of the RAY + command consists of a microword:
Выполнение этой команды отличается от выполнения RAY только тем, что после записи повернутого изображения в локальную память 54 содержимое регистра 14 увеличивается на 1 по импульсу С4 посредством сигнала +1а1.The execution of this command differs from the execution of RAY only in that after the recording of the rotated image in the
Микропрограмма команды RAYA а2, а1 начинается с чтения адресов а1, а2 (как в команде RAXA а2, а1). По окончании чтения выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the RAYA a2, a1 command starts by reading the addresses a1, a2 (as in the RAXA a2, a1 command). At the end of the reading, a microword is executed, the BOCHI control field of which contains the bits:
Запись в локальную память 54 осуществляется посредством следующей микрокоманды, поле управления БОХВИ которого содержит биты:Writing to the
Микропрограмма команды RAZ состоит из микрослова, поле управления БОХВИ которого содержит биты:The firmware of the RAZ command consists of a microword, the Bohwie control field of which contains the bits:
Выполнение команды RAZ отличается от выполнения команды RAX тем, что здесь мультиплексор 59 (i,j,k) подключает информационный вход памяти 54(i,j,k) к выходу регистра 55 того процессора 36, чей соответствующий кубик-пиксель 1×1×1 при повороте куба А×А×А на 90° вокруг его центральной оси Oz (фиг.4, 5) отображается в (i,j,k)-й кубик-пиксель 1×1×1.The execution of the RAZ command differs from the execution of the RAX command in that here the multiplexer 59 (i, j, k) connects the information input of the memory 54 (i, j, k) to the output of the
Микропрограмма команды RAZ+ состоит из микрослова, поле управления БОХВИ которого содержит биты:The firmware of the RAZ + command consists of a microword, the BOCHVI control field of which contains the bits:
Выполнение этой команды отличается от выполнения RAZ только тем, что после записи повернутого изображения в локальную память 54 содержимое регистра 14 увеличивается на 1 по импульсу С4 посредством сигнала +1а1.The execution of this command differs from the execution of RAZ only in that after the recording of the rotated image in the
Микропрограмма команды RAZA а2, а1 начинается с чтения адресов а1, а2 (как и в команде RAXA а2, а1). По окончании чтения выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the RAZA a2, a1 command starts by reading the addresses a1, a2 (as in the RAXA a2, a1 command). At the end of the reading, a microword is executed, the BOCHI control field of which contains the bits:
Запись изображения (результата поворота) в локальную память осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:The image (rotation result) is recorded in the local memory by means of the following microword, the BOCHI control field of which contains bits:
Микропрограмма команды PRA состоит из микрокоманды, поле управления БОХВИ микрослова которой содержит биты:The firmware of the PRA command consists of a micro command, the control field of the BOCHVI microword contains the bits:
Выполнение команды PRA отличается от выполнения команды RAX тем, что здесь мультиплексор 59 (i,j,k) подключает информационный вход памяти 54(i,j,k) к выходу регистра 55 того процессора 36, чей соответствующий квадратик-пиксель 1×1 при повороте квадрата на 90° вокруг его центральной оси OпYп (фиг.6-а,в) отображается в (i,j,k)-й квадратик-пиксель 1×1.The execution of the PRA command differs from the execution of the RAX command in that here the multiplexer 59 (i, j, k) connects the information input of the memory 54 (i, j, k) to the output of the
Микропрограмма команды PRA+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the PRA + command consists of a micro-command, the BOCHI control field of which contains the bits:
Выполнение этой команды отличается от выполнения PRA только тем, что после записи повернутого изображения в локальную память 54 содержимое регистра 14 увеличивается на 1 по импульсу С4 посредством сигнала +1а1.The execution of this command differs from the execution of the PRA only in that after recording the rotated image in the
Микропрограмма команды PRAA а2, а1 состоит из нескольких микрокоманд, при этом выполнение первых микрокоманд связано с чтением из памяти 18 адреса а1 и адреса а2 с записью прочитанных значений в регистр 14 адреса первого операнда и в регистр 15 адреса второго операнда соответственно. После чтения адресов операндов выполняется микрослово, поле управления БОХВИ которого содержит биты:The firmware of the PRAA command a2, a1 consists of several microcommands, while the execution of the first microcommands involves reading the address a1 and address a2 from memory 18 and writing the read values to register 14 of the address of the first operand and register 15 of the address of the second operand, respectively. After reading the addresses of the operands, a microword is executed, the BOCHI control field of which contains bits:
Запись в локальную память 54 осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:Writing to the
Микропрограмма команды SH состоит из микрокоманды, поле управления БОХВИ микрослова которой содержит биты:The firmware of the SH command consists of a micro-command, the control field of the BOCHI microsword of which contains the bits:
После расшифровки кода команды SB центральный процессор 7 по тактовому импульсу С 1 записывает микрослово команды SH в регистр 8 микрослова. После этого мультиплексор 21 соединяет выходы регистра 14 адреса первого операнда с входами ADR процессорной матрицы 35. По переднему фронту импульса С2 посредством сигнала CWR1 происходит чтение содержимого каждой локальной памяти 54(i,j,k) (где 1≤i≤A, 1≤j≤A, 1<k≤А, фиг.5) с адресом ADR в регистр 55(i,j,k), данные из одноразрядной памяти 48 (j,k) записываются в память 49(j,k). В каждом процессоре 36(i,j,k) мультиплексор 59 (i,j,k) соединит вход памяти 54(i,j,k) с выходом триггера 55(i-1,j,k) процессора 36 (i-1,j,k), удаленного в матрице 35 на 1 шаг в (направлении -Ох, фиг.5) от процессора 36(i,j,k). С приходом С3 сигнал WR запишет сдвинутое изображение в локальную память 54 процессоров 36 по адресу ADR, a содержимое регистров 55 (A,j,k) последнего (А-го) слоя А×А×1 исходного изображения запишется в буферную память 48(j,k) коммутатора 38 (фиг.1). В зависимости от значения поля КУВМ (код управления входами матрицы) программно-адресуемого регистра 9, указывающего на источник данных для входов матрицы 35, выполнение команды SH сопровождается:After decoding the code of the SB command, the
а) КУВМ=0000 - записью содержимого каждого регистра-триггера 55 (A,j,k) последнего (А-го) слоя А×А×1 исходного (не сдвинутого) изображения А×А×А в память 54 (1,j,k) первого слоя А×А×1 результирующего (сдвинутого) изображения А×А×А - циклический сдвиг;a) KUVM = 0000 - by writing the contents of each register-trigger 55 (A, j, k) of the last (A-th) layer A × A × 1 of the original (not shifted) image A × A × A to the memory 54 (1, j , k) of the first layer A × A × 1 of the resulting (shifted) image A × A × A — cyclic shift;
б) КУВМ=0001 - записью состояния выходов одноразрядных узлов 49 (j,k) буферной памяти в узлы 54(1,j,k) результирующего изображения А×А×А;b) KUVM = 0001 — by recording the state of the outputs of the one-bit nodes 49 (j, k) of the buffer memory in nodes 54 (1, j, k) of the resulting image A × A × A;
в) КУВМ=0010 - записью содержимого регистров 55(A,j,k) (где 1≤k≤A, j - число некратное ) в узлы 54 (1,j+1,k), а содержимого узлов 49 (j,k) (где 1≤k≤A, , m=0,1,2,… ) в узлы 54 (1,j,k) для моделирования операций сдвига плоского изображения на 1 шаг в направлении ОпХп - фиг.6 (а,б,г);c) KUVM = 0010 - by writing the contents of the registers 55 (A, j, k) (where 1≤k≤A, j is a multiple of ) to nodes 54 (1, j + 1, k), and the contents of nodes 49 (j, k) (where 1≤k≤A, , m = 0,1,2, ... ) to nodes 54 (1, j, k) for modeling operations of shifting a
г) КУВМ=0011 - записью состояния каждого (j,k)-го выхода коммутатора 50 послойного поворота в память 54 (1,j,k) результирующего изображения А×А×А;d) KUVM = 0011 - by recording the state of each (j, k) -th output of the layer-by-layer rotation switch 50 in the memory 54 (1, j, k) of the resulting image A × A × A;
д) КУВМ=0100 - записью состояния каждого (j,k)-го выхода узла 37 памяти изображений в соответствующий узел 54(1,j,k) результирующего изображения А×А×А;d) KUVM = 0100 - by recording the state of each (j, k) -th output of the
е) КУВМ=0101 - записью состояния выхода каждого j-го разряда (где 1≤j≤A) программно-адресуемого регистра 10 в столбец узлов 54 (1,j,k), (где 1≤k≤A) результирующего изображения (посредством коммутатора 42);f) KUVM = 0101 - by recording the output status of each j-th digit (where 1≤j≤A) of the
ж) КУВМ=0110 - записью состояния А2 выходов узла 401 ввода фотоизображения в 1-й слой А×А×1 результирующего изображения А×А×А;g) КУВМ = 0110 - by recording the state А 2 of the outputs of the
з) КУВМ=0111 - записью состояния А2 выходов узла 402 ввода фотоизображения в 1-й слой А×А×1 результирующего изображения А×А×А;h) КУВМ = 0111 - by recording the state А 2 of the outputs of the
к) КУВМ=1000 - записью состояния выходов А2 центральных контроллеров 43 в А2 узлов 54(1,j,k);j) KUVM = 1000 - by recording the status of outputs A 2 of the
л) КУВМ=1001 - записью состояния выходов А2 центральных контроллеров 44 в А2 узлов 54(1,j,k);l) KUVM = 1001 - by recording the status of outputs A 2 of the
Микропрограмма команды SH+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the SH + command consists of a micro command, the control field of the BOCHI which contains the bits:
Выполнение команды SH+ отличается от выполнения команды SH тем, что после окончания сдвига сигнал +1а1 увеличивает содержимое регистра 14 на 1.The execution of the SH + command differs from the execution of the SH command in that, after the end of the shift, the signal + 1a1 increases the contents of register 14 by 1.
Выполнение команды SH а2, а1 отличается от выполнения команды SH1 только тем, что перед выполнением сдвига из памяти 18 извлекаются адрес а1 (в регистр 14) и адрес а2 (в регистр 15).The execution of the SH command a2, a1 differs from the execution of the SH1 command only in that the address a1 (in register 14) and the address a2 (in register 15) are extracted from memory 18 before performing a shift.
Микропрограмма команды TRN+ состоит из двух микрокоманд:The firmware of the TRN + command consists of two microcommands:
иand
Первая микрокоманда читает исходное (копируемое) бинарное изображение А×А×А из локальной памяти 54 по адресу, хранящемуся в регистре 14, в регистры 55 процессоров 36. Вторая микрокоманда записывает прочитанное изображение в память 54 по адресу, хранящемуся в регистре 15. После копирования содержимое регистров 14 и 15 увеличивается на 1.The first micro command reads the initial (copied) binary image A × A × A from the
Микропрограмма команды TRN а2, а1 отличается от микропрограммы команды TRN+ только тем, что перед выполнением двух последних микрокоманд происходит чтение адресов а1, а2 из памяти 18 в регистры 14 и 15 соответственно.The firmware of the TRN command a2, a1 differs from the firmware of the TRN + command only in that before the last two microcommands are executed, the addresses a1, a2 are read from memory 18 to registers 14 and 15 respectively.
Микропрограмма команды TRNV а2, а1 отличается от микропрограммы команды TRN а2, а1 тем, что предпоследнее микрослово имеет бит ССМ=1. В результате по переднему фронту С2 сигнал CWR3 устанавливает триггер-флаг 32 в лог. 1, записывает извлеченное содержимое локальной памяти 54 в одноразрядные регистры 57. После этого в узлах 39 и 40 начинается процесс формирования двух интегральных характеристик, отображающих геометрические особенности бинарного изображения А×А×А, хранящегося в А3 регистрах 57:The firmware of the TRNV a2, a1 command differs from the firmware of the TRNV a2, a1 command in that the penultimate microword has a CCM = 1 bit. As a result, on the rising edge of C2, the signal CWR3 sets the trigger flag 32 to the log. 1, writes the extracted contents of the
1) объема единичного содержимого бинарного изображения А×А×А (в узле 39);1) the volume of the single contents of the binary image A × A × A (at node 39);
2) кода заполнения бинарного изображения (КЗБИ) А×А×А (в узле 40).2) binary image fill code (KZBI) A × A × A (at node 40).
Варианты конструкции сумматора 39 и формирователя 40 КЗБИ показаны на фиг.36. После окончания процесса формирования сигнал V (с выхода элемента 33 задержки) сбрасывает триггер 32 в лог. 0 (тем самым, сообщая процессору 7 о завершении процедуры формирования КЗБИ и кода значения объема) и записывает полученные коды в программно-адресуемые регистры 12 и 13.Design options for the
Микропрограмма команды INE состоит из двух микрокоманд:The firmware of the INE command consists of two microcommands:
иand
При выполнении первой микрокоманды с приходом С2 читается первое изображение-операнд в регистры 55, а при выполнении второй микрокоманды по С2 читается второе изображение-операнд в регистры 56, затем С3 записывает изображение-результат выполненной теоретико-множественной операции (с выходов элементов 60 И-НЕ) в локальную память 54 по адресу второго операнда.When the first microcommand is executed with the arrival of C2, the first operand image is read into the
Микропрограмма команды INE+ отличается от INE тем, что после выполнения второй микрокоманды содержимое регистров 14, 15 увеличивается на 1.The firmware of the INE + command differs from INE in that after the second micro-command is executed, the contents of registers 14, 15 are increased by 1.
Микропрограмма команды INE а2, а1 отличается от микропрограммы команды INE тем, что перед выполнением двух последних микрослов происходит чтение адресов а1, а2 из памяти 18 в регистры 14 и 15 соответственно.The firmware of the INE command a2, a1 differs from the firmware of the INE command in that before the last two micros are executed, the addresses a1, a2 are read from memory 18 to registers 14 and 15, respectively.
Микропрограмма команды SBT отличается от команды INE кодом КМО=00010. В память 54 по адресу второго операнда записываются состояния выходов схем 61.The firmware of the SBT command is different from the INE command with the KMO code = 00010. In the
Микропрограмма команды SBT+ отличается от команды INE+ кодом КМО=00010.The firmware of the SBT + command differs from the INE + command by the KMO code = 00010.
Микропрограмма команды SBT а2, а1 отличается от команды INE а2, а1 кодом КМО=00010.The firmware of the SBT a2, a1 command differs from the INE a2, a1 command by the KMO code = 00010.
Микропрограмма команды NTE состоит из одной микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the NTE command consists of one micro-command, the BOCHI control field of which contains the bits:
При выполнении команды NTE с приходом СЗ состояние всех А2 входов матрицы 35 импульсом СЗП записывается в память 37 изображений по адресу АПИ, хранящемуся в программно-адресуемом регистре-счетчике 11. Одновременно сдвигается на шаг содержимое матрицы 35 по адресу, значение которого хранится в регистре 14. После записи содержимое регистра 11 сигналом +1а3 увеличивается на 1.When the NTE command is executed with the arrival of SZ, the state of all A 2 inputs of the
Команды типа ANG предназначены для высокоскоростного моделирования геометрических преобразований поворота трехмерных бинарных изображений на пространственные углы, некратные 90°.Commands of the ANG type are designed for high-speed modeling of geometric transformations of the rotation of three-dimensional binary images into spatial angles of multiple 90 °.
Микропрограммы всех команд типа ANG состоят из одной микрокоманды, поле управления БОХВИ которой содержит биты:The microprograms of all ANG-type commands consist of one micro-command, the BOCHI control field of which contains the bits:
По переднему фронту сигнала CWR1, поступающего с выхода подготовленной схемы 22 И, содержимое памяти 54(i,j,k) записывается в регистры 55(i,j,k) матрицы 35. По заднему фронту С2 память 54 переводится в режим записи (R/W=1). Каждый мультиплексор 59(i,j,k) кодом KMO=01000+w через подготовленный ключ 58(i,j,k) подключает к информационному входу памяти 54(i,j,k) выход регистра 55 (l,p,k) того процессора 36(l,p,k), чей кубик p(l,p,k) 1×1×1 куба А×А×А, повернутого на пространственный угол № w (характеризующийся значениями: (φ=0, θ=θw≠0, ψ=ψw≠0, где φ - угол собственного вращения, θ - угол нутации, ψ - угол прецессии) вокруг своего центра, отображается в кубик p(i,j,k). По переднему фронту синхросигнала С3 сигнал WR записывает бинарное изображение, хранящееся в регистрах 55, в узлы 54 по адресу, указанному в регистре 14.On the leading edge of the signal CWR1, coming from the output of the
Все дискретизирующие отображения, моделирующие повороты на углы, некратные 90° (команды ANG1÷ANGw, моделирующие пространственные повороты фрагментов А×А×А; команды типа SH (когда КУВМ=0011), моделирующие повороты слоев A×A×1), а также отображения, моделирующие повороты фрагментов А×А×А на углы, кратные 90° (команды типа RAX, RAY, RAZ), образуют функционально полный базис Мбаз дискретизирующих отображений (ДО), позволяющий с высокой скоростью промоделировать любой поворот бинарного изображения А×А×А вокруг центра этого изображения при помощи суперпозиции отображений, входящих в указанный базис. Значение w и состав отображений, входящих в конкретный Мбаз, в зависимости от производительности и стоимости устройства могут отличаться для различных вариантов заявленного устройства.All sampling mappings simulating rotations by angles, multiple 90 ° (ANG1 ÷ ANGw commands, modeling spatial rotations of fragments A × A × A; commands of type SH (when KUVM = 0011), modeling rotations of layers A × A × 1), and also mappings simulating rotations of A × A × A fragments through angles that are multiples of 90 ° (commands of the type RAX, RAY, RAZ) form a functionally complete basis M of bases of discretizing mappings (DO), which allows modeling any rotation of a binary image A × A with high speed × And around the center of this image with superposition and maps included in the specified base. The value of w and the composition of the mappings included in a specific M database , depending on the performance and cost of the device, may differ for different variants of the claimed device.
Выбор аппаратно-реализуемого базиса ДО поворота состоит в следующем. Свяжем с неподвижным изображением А×А×А неподвижную декартовую систему координат Oxyz, центр которой совпадает с центром неподвижного изображения, а оси параллельны ребрам формата этого изображения. С изображением А×А×А, произвольно вращающимся вокруг центра О, свяжем другую декартовую систему координат Ox'y'z' (фиг.5-в, фиг.7-б), оси которой параллельны ребрам формата вращаемого изображения и также проходят через центр О. Пусть i' - единичный вектор оси Ох'. Тогда при выполнении пространственных поворотов куба А×А×А вокруг центра О, характеризующихся произвольными значениями углов α и β, конец вектора i', восстановленного из центра О, будет перемещаться по поверхности сферы единичного радиуса (фиг.7-б).The choice of a hardware-implemented basis BEFORE turning is as follows. We associate with the still image A × A × A the fixed Cartesian coordinate system Oxyz, the center of which coincides with the center of the still image, and the axes are parallel to the edges of the format of this image. With the image A × A × A randomly rotating around the center O, we will connect another Cartesian coordinate system Ox'y'z '(Fig. 5-c, Fig. 7-b), whose axes are parallel to the edges of the format of the rotated image and also pass through O. center. Let i 'be the unit vector of the axis Ox'. Then, when performing spatial rotations of the cube A × A × A around the center O, characterized by arbitrary values of the angles α and β, the end of the vector i 'recovered from the center O will move along the surface of a sphere of unit radius (Fig. 7-b).
Разобьем поверхность указанной сферы на 48 однотипных сегментов сферической поверхности (ССП). Для этого каждый участок поверхности сферы, отсекаемый отдельным октантом системы координат Oxyz, дополнительно рассечем еще на 6 однотипных ССП (фиг.7-а) тремя плоскостями, проходящими соответственно через оси Ox, Oy, Oz и расположенными под углом 45° к плоскостям Oxz, Oxy, Oxz соответственно. Полученные ССП имеют одинаковую площадь и переходят друг в друга при последовательном выполнении поворотов на 90° вокруг осей Ох, Oy, Oz (а также преобразований симметрии относительно плоскости Oxz).We divide the surface of the indicated sphere into 48 segments of the same type of spherical surface (BSC). To this end, each section of the sphere’s surface, cut off by a separate octant of the Oxyz coordinate system, is further cut into 6 of the same type of SSP (Fig. 7-a) by three planes passing respectively through the Ox, Oy, Oz axes and located at an angle of 45 ° to the Oxz planes, Oxy, Oxz, respectively. The obtained SSPs have the same area and pass into each other during successive 90 ° rotations around the axes Ox, Oy, Oz (as well as symmetry transformations with respect to the Oxz plane).
Выберем один из 48 указанных ССП множество векторов i', чьи концы полностью покрывают данный ССП, соответствуют некоторому бесконечному множеству М' преобразований поворота. Это бесконечное множество М' поворотов моделируется в устройстве конечным множеством М (конечным спектром) дискретизирующих отображений (ДО). В устройстве для моделирования поворотов на углы, не являющиеся кратными 90°, аппаратно реализуются только ДО, входящие в указанное множество М (фиг.8). В простейшем варианте устройства («простейшем» по принципу реализации, а не по объему необходимых аппаратурных затрат) все ДО, образующие М, в полном составе входят в множество Мбаз дискретизирующих отображений, реализуемых в устройстве аппаратно (АДО). Однако множество М велико даже при небольшом разрешении А×А×А, что делает Мбаз в этом случае чрезвычайно большим, а данный вариант устройства трудно реализуемым на практике (хотя точность моделирования поворотов здесь достигается максимальной).We choose one of the 48 indicated SSPs, the set of vectors i ', whose ends completely cover this SSP, correspond to some infinite set M' of rotation transformations. This infinite set of M 'rotations is modeled in the device by a finite set M (finite spectrum) of discretizing mappings (DO). In the device for modeling rotations at angles that are not multiples of 90 °, only DOs included in the indicated set M are hardware implemented (Fig. 8). In the simplest version of the device (the “simplest” one according to the principle of implementation, and not according to the amount of necessary hardware costs), all DOs forming M in their entirety are included in the set M of bases of sampling mappings implemented in the device in hardware (ADO). However, the set M is large even with a small resolution of A × A × A, which makes M bases extremely large in this case, and this version of the device is difficult to implement in practice (although the accuracy of corner modeling is maximized here).
В заявленном устройстве только часть М входит в состав Мбаз. При этом с помощью АДО поворота первого типа (осуществляющих одновременный поворот всего содержимого бинарного изображения А×А×А) моделируются только наиболее часто используемые повороты в алгоритмах обработки, а с помощью АДО поворота второго типа (осуществляющих одновременный поворот содержимого только одного слоя А×А×1 бинарного изображения А×А×А) моделируются все остальные осевые повороты, входящие в М. На фиг.8(б) показан вариант формирования Мбаз. Здесь АДО поворота первого типа изображены в виде черных кружков на поверхности ССП, а АДО поворота второго типа - в виде светлых кружков на поверхности ССП. Представленные АДО поворота первого типа выбирались из условия равномерного распределения концов векторов i' (черных кружков) по поверхности ССП.In the claimed device, only part M is part of M bases . In this case, using the ADO rotation of the first type (performing simultaneous rotation of the entire contents of the binary image A × A × A), only the most commonly used turns in the processing algorithms are modeled, and using the ADO rotation of the second type (simultaneously rotating the contents of only one layer A × A × 1 binary image A × A × A) all other axial rotations included in M are modeled. Fig. 8 (b) shows an embodiment of the formation of M bases . Here, the ADO of rotation of the first type is depicted in the form of black circles on the surface of the SSP, and the ADO of rotation of the second type is shown in the form of light circles on the surface of the SSP. The presented turnaround ADOs of the first type were selected from the condition of uniform distribution of the ends of the vectors i '(black circles) over the surface of the SSP.
Разрешение реальных плоских и пространственных изображений многократно превышают разрешение процессорной матрицы 35 А×А×А . Поэтому поворот таких изображений (т.н. составных изображений) производится фрагментами (А×А×А или ) последовательно фрагмент за фрагментом. Как и в прототипе, перед поворотом выполняется расшивка исходного составного изображения (фиг.9-а,б; фиг.10) на отдельные фрагменты. Затем содержимое каждого фрагмента поворачивается вышеописанным способом (фиг.9-б; фиг.11-а), сдвигается (фиг.12, 13). Сдвинутые фрагменты повернутого расшитого составного изображения сшиваются в единое составное изображение (фиг.9, 10, 11, 12, 13). Каждый фрагмент сшитого изображения формируется путем объединения выделенных участков из ранее повернутых фрагментов расшитого изображения.The resolution of real flat and spatial images is many times higher than the resolution of the processor matrix 35 A × A × A . Therefore, the rotation of such images (the so-called composite images) is performed by fragments (A × A × A or ) sequentially fragment by fragment. As in the prototype, before turning, the initial composite image (Fig.9-a, b; Fig.10) is split into separate fragments. Then the contents of each fragment is rotated as described above (Fig. 9-b; Fig. 11-a), shifted (Fig. 12, 13). The shifted fragments of the rotated embroidered composite image are stitched into a single composite image (Fig.9, 10, 11, 12, 13). Each fragment of the stitched image is formed by combining the selected sections from previously rotated fragments of the embroidered image.
Работу узлов 41 ввода фотоизображений рассмотрим на примере варианта устройства с процессорной матрицей 35 формата 9×9×9. Световой поток, модулированный по освещенности, через оптическую систему (объективы, оптико-волоконный кабель) поступает на матрицу 119 из 27 ПЗС-приборов 120 (фиг.37). На каждый ПЗС-прибор 120 фокусируется свой участок 9×243 вводимого изображения 243×243. Каждый ПЗС-прибор 120 содержит 9 линеек фоточувствительных элементов по 243 элементов в каждой линейке. Каждая линейка имеет собственный регистр сдвига, поэтому с одного прибора 120 одновременно снимается 9 аналоговых сигналов. С 27 приборов 130 одновременно снимается 243 аналоговых сигнала, соответствующих горизонтальной строке вводимого изображения. ПЗС-приборы 120 объединены в группы по 3 прибора 120 в каждой группе, каждой группе приборов 120 соответствует 9 аналого-цифровых 8-разрядных преобразователей 122. Подключение выходов ПЗС-приборов 120 к входам АЦП-преобразователей 122 осуществляется с помощью коммутаторов 121. Подключение выходов АЦП-преобразователей 122 к входам процессорной матрицы 35 осуществляется с помощью мультиплексоров 123 и ключей 124. Управляет коммутаторами счетчик 125, при этом младшая часть счетчика (0…2 разряды) управляет коммутаторами 123, старшая часть счетчика (3, 4 разряды) управляет коммутаторами 121. Кроме того, третьим состоянием выходов ключей 124 управляет выход дешифратора 45 (У6 - для узла 411, У7 - для узла 412).We consider the operation of the image input nodes 41 using an example of a device variant with a
Перед вводом фотоизображения в регистре 11 устанавливается код АПИ=N0 и анализируется сигнал готовности (ГВВИ=1) узлов 41 к вводу фотоизображения. Если ГВВИ=1, ввод фотоизображения инициируется командой FTI, состоящей из микрокоманды:Before entering the photo image in the
С приходом С2 сигнал СНУ устанавливает ГВВИ=0, производит чтение ПЗС-линеек, после чего схема 129 сдвигает прочитанное содержимое на выход ПЗС-приборов 120. Если У6(У7)=1, сигналы с выходов коммутаторов 124 поступают на входы матрицы 35. Если ГВВИ=0, последующая команда NTE записывает (по переднему фронту WR) информацию с входов матрицы 35 в первый слой А×А×1 матрицы 35 по адресу, хранящемуся в регистре 14. По заднему фронту сигнала СЗП добавляется 1 в счетчик 125 и содержимое на выходах ключей 124 меняется. После передачи всего фотоизображения сигнал ГВВИ устанавливается в 1 и ввод фотоизображения прекращается.With the arrival of C2, the SNU signal sets the GVVI = 0, reads the CCD arrays, after which the
Обработка двухмерных и трехмерных числовых матрицProcessing two-dimensional and three-dimensional numerical matrices
Массив чисел, состоящий из А3 n-разрядных двоичных чисел, оперативно хранится в матрице 35 в виде n адресуемых бинарных изображений А×А×А. Каждое такое бинарное изображение состоит только из бит-разрядов (с одинаковым числовым весом) всех А3 двоичных чисел данного массива. Поскольку каждый процессор матрицы А×А×А имеет собственное одноразрядное АЛУ с двумя одноразрядными регистрами (55, 56) операндов и одноразрядную локальную память (54) с произвольной выборкой, он в состоянии самостоятельно обрабатывать числовые данные с высокой степенью параллелизации. Продемонстрируем это на примере дифференцирования плоских изображений.An array of numbers, consisting of A 3 n-bit binary numbers, is operatively stored in the
Дифференцирование плоских изображений включает в себя 2 основные процедуры:Differentiation of flat images includes 2 main procedures:
- передачу значений яркости соседних пикселей (из памяти 54 соседних процессоров 36) в анализируемый процессор 36;- transfer of brightness values of neighboring pixels (from the memory of 54 neighboring processors 36) to the analyzed
- выполнение операции суммирования над двоичными дополнительными кодами переданных значений.- performing the operation of summing on binary additional codes of the transmitted values.
При этом формирование кода суммы двух многоразрядных двоичных кодов осуществляется последовательно разряд за разрядом, начиная с младших разрядов. Вычисление значений суммы Li и переноса Pi для каждого i-го разряда осуществляется по формулам:In this case, the formation of the code of the sum of two multi-bit binary codes is carried out sequentially bit by bit, starting with the least significant bits. The calculation of the values of the sum L i and transfer P i for each i-th digit is carried out according to the formulas:
Pi=xi∧yi∨(xi⊕yi)∧pi-1;P i = x i ∧y i ∨ (x i ⊕y i ) ∧p i-1 ;
где xi, yi - i-e разряды слагаемых, pi-1 - перенос из младшего (i-1) разряда в i-й разряд. Перед суммированием разряды xi, yi и перенос pi-1 размещаются в памяти 54 того процессора 36, где будет выполняться суммирование (фиг.27). Для этого в локальной памяти процессора выделяется четыре рабочие ячейки. Перенос данных из одного адреса локальной памяти в другой адрес (например, axi→ar1) осуществляется при помощи команды TRNA a2, a1 (TRNA ar1, axi), функция отрицания выполняется с помощью команды INEA ar2, ar2, функция запрета (например, yi/xi) выполняется с помощью команды SBTA а2, а1.where x i , y i - ie bits of the terms, p i-1 - transfer from the least (i-1) bit to the i-th bit. Before summing, the bits x i , y i and transfer p i-1 are located in the
В локальной памяти 54 каждого процессора 36 перед дифференцированием резервируются участки для хранения: кода (х7…х0) яркости собственного пикселя; кода у7…у0 яркости соседнего пикселя; кода L12…L0 формируемого лапласиана. Пусть маска весов вычисляемого лапласиана имеет вид, представленный на фиг.27. Вычисление лапласиана начинается с умножения (путем многократного суммирования) кода х7…х0 на коэффициент 24 (на этом этапе для хранения промежуточных слагаемых используется участок у7…y0). Затем формируется дополнительный код L12…L0 отрицательного значения полученного произведения (инвертированием разрядов L12…L0 и добавлением 1). Далее одношаговым 20-сдвигом код яркости ближайшего соседа передается в участок у7…у0, после чего производится суммирование кода у7…у0 с кодом L12…L0 (с учетом веса, равного 4). Таким же образом производится добавление кодов x7…х0 остальных трех ближайших соседей в формируемую сумму L12…L0. Перед суммированием код яркости удаленного соседа сначала поразрядно переносится (2D-сдвигом) в участок у7…у0 ближайшего соседа-процессора, а затем (поворотами на 90°, адресными переносами и 2D-сдвигом) в участок у7…у0 процессора, расположенного в центре маски. По окончании переноса перенесенный код у7…у0 суммируется с кодом L12…L0. Аналогичным образом производится добавление кодов x7…х0 остальных трех удаленных соседей в формируемую сумму L12…L0. Описанная процедура дифференцирования осуществляется параллельно по всем процессорам матрицы А×А×А. Крайние процессоры матрицы А×А×А получают информацию о соседях из буферной памяти 49 (или памяти 37 изображений).In the
Управление автономным роботомAutonomous robot control
Заявленное устройство является лишь составным компонентом автономного робота, в которое не входят ни «скелет» робота, ни его двигатели, ни его редукторы. Разграничительная линия между заявленным устройством и остальной частью автономного робота проходит по сенсорным датчикам робота и датчикам его сервоприводов включительно. Сопряжение заявленного устройства с конкретной конструкцией робота состоит в определении:The claimed device is only a component of an autonomous robot, which does not include the "skeleton" of the robot, nor its motors, nor its gears. A dividing line between the claimed device and the rest of the autonomous robot passes through the sensor sensors of the robot and the sensors of its servos, inclusive. The pairing of the claimed device with a specific robot design is to determine:
- размерности процессорной матрицы, исходя из требований к вычислительной производительности робота и к его габаритным размерам;- dimensions of the processor matrix, based on the requirements for the computing performance of the robot and its overall dimensions;
- необходимого числа контроллеров 3, 4, исходя из числа устанавливаемых на роботе сенсорных матриц и сервоприводов;- the required number of
- в согласовании масштабных коэффициентов показаний датчиков, АЦП и ЦАП.- in the coordination of scale coefficients of readings of sensors, ADCs and DACs.
Заявленное устройство может быть применено для управления автономными роботами любого назначения, построенными на базе различных кинематических схем (колесными, летающими, двуногими, шестиногими роботами и др.). Принципы использования заявленного устройства для управления автономным роботом поясним на примере управления роботом-гуманоидом (т.е. роботом, форма тела, характер движений и органы чувств которого имитируют форму тела, характер движений и органы чувств человека). Выбор робота-гуманоида в качестве демонстрационного объекта управления объясняется:The claimed device can be used to control autonomous robots for any purpose, built on the basis of various kinematic schemes (wheeled, flying, two-legged, six-legged robots, etc.). We explain the principles of using the claimed device for controlling an autonomous robot using the example of controlling a humanoid robot (i.e., a robot whose body shape, character of movements and sensory organs mimic the shape of the body, character of movements and human sensory organs). The choice of a humanoid robot as a demonstration control object is explained by:
- наглядностью показа преимуществ заявленного устройства для управления сложной автономной робототехнической системой;- the visibility of the advantages of the claimed device for controlling a complex autonomous robotic system;
- универсальностью робота-гуманоида вследствие принципиальной возможности использования его для автоматизации большого числа видов человеческой деятельности;- the universality of the humanoid robot due to the fundamental possibility of using it to automate a large number of types of human activity;
- возможностью применения известной анатомической терминологии для описания отдельных узлов и деталей автономного робота.- the possibility of using well-known anatomical terminology to describe individual components and parts of an autonomous robot.
Форма тела робота, способ перемещения робота и его частей в пространстве, размещение органов чувств на поверхности тела робота в значительной степени определяются выбранной кинематической схемой робота («скелетом робота»). Кинематическая схема робота-гуманоида представляет собой систему звеньев, шарнирно связанных между собой. Кинематические схемы автономных роботов, конструкция их сервоприводов могут быть весьма разнообразны. Для упрощения изложения принципы использования заявленного устройства продемонстрируем на примере управления роботом-гуманоидом, все шарниры («суставы») которого цилиндрические, а все сервоприводы имеют однотипную конструкцию, представляющую собой электрически управляемую червячную передачу, вал червяка которой жестко связан с валом электродвигателя. При этом входным параметром сервопривода будет значение тока электродвигателя, а выходным параметром - значение угла поворота червячного колеса. На фиг.4 показан вариант «скелета» робота-гуманоида, удовлетворяющий данным условиям.The shape of the robot’s body, the way the robot and its parts are moved in space, the placement of the senses on the surface of the robot’s body are largely determined by the selected kinematic scheme of the robot (“robot skeleton”). The kinematic diagram of a humanoid robot is a system of links articulated between each other. Kinematic schemes of autonomous robots, the design of their servos can be very diverse. To simplify the presentation, the principles of using the claimed device will be demonstrated by the example of controlling a humanoid robot, all of the hinges (“joints”) of which are cylindrical, and all servos have the same design, which is an electrically controlled worm gear whose worm shaft is rigidly connected to the motor shaft. In this case, the input parameter of the servo drive will be the current value of the electric motor, and the output parameter will be the value of the angle of rotation of the worm wheel. Figure 4 shows a variant of the "skeleton" of a humanoid robot that satisfies these conditions.
В процессе своего функционирования робот решает некоторую поставленную перед ним стратегическую целевую задачу (СЦЗ). Под автономностью робота здесь понимается не способность робота вырабатывать саму СЦЗ, а способность робота самостоятельно находить пути решения уже поставленной ему СЦЗ в зависимости от текущего состояния окружающей обстановки и текущего внутреннего состояния робота. Примером такой СЦЗ может быть задача поиска трехмерного предмета заданной геометрической формы, заданной окраски и размеров в некоторой области пространства (сведения о геометрической форме которой и характере ее заполнения объектами априорно отсутствуют), захвата найденного предмета и переноса его в указанное место.In the process of its functioning, the robot solves a certain strategic target (SCS) set before it. Here, the autonomy of the robot is understood not as the ability of the robot to generate SCS itself, but the ability of the robot to independently find ways to solve the SCZ already set for it, depending on the current state of the environment and the current internal state of the robot. An example of such a SCZ can be the task of searching for a three-dimensional object of a given geometric shape, a given color and size in a certain region of space (information on whose geometric shape and the nature of its filling with objects is a priori absent), capturing the found object and moving it to the specified location.
Прием сенсорной информацииReception of sensory information
Из характера СЦЗ, решаемых автономным роботом, вытекает, что процесс функционирования автономного робота невозможен без постоянного мониторинга внутреннего состояния робота и состояния окружающего пространства. При этом чем чаще производится такой мониторинг (т.е. опрос и анализ состояния датчиков), тем точнее машинные модели, синтезированные устройством управления, отображают реальное состояние самого робота и состояние области пространства, окружающей робота. Заявленное устройство позволяет значительно сократить период мониторинга всех датчиков робота благодаря распараллеливанию процесса передачи сенсорной информации и распараллеливанию процесса анализа этой информации при условии применения в роботе сенсорных датчиков следующего типа:From the nature of the SCS solved by an autonomous robot, it follows that the functioning of an autonomous robot is impossible without constant monitoring of the internal state of the robot and the state of the surrounding space. Moreover, the more often such monitoring is performed (i.e., polling and analyzing the state of sensors), the more precisely the machine models synthesized by the control device display the real state of the robot itself and the state of the space area surrounding the robot. The claimed device can significantly reduce the monitoring period of all sensors of the robot due to the parallelization of the process of transmitting sensory information and parallelizing the process of analysis of this information, provided that the sensor uses the following types of sensors:
1) датчиков, имеющих цифровой двоичный выход (разрядностью не больше А) и входящих в состав регулируемых сервоприводов;1) sensors having a digital binary output (with a bit capacity of not more than A) and included in the structure of adjustable servos;
2) пороговых датчиков в составе сенсорных матриц А×А. К первому типу относятся датчики, ответственные за формирование кода результата регулирования сервоприводов (например, угла поворота червячного колеса редуктора). Второй тип датчиков введен в состав заявленного устройства специально для очувствления больших участков поверхностей робота и описывается ниже.2) threshold sensors in the composition of sensor matrices A × A. The first type includes sensors responsible for generating a code for the result of regulation of servo drives (for example, the angle of rotation of the worm gear wheel). The second type of sensors introduced into the claimed device specifically for sensing large areas of the surfaces of the robot and is described below.
Полная сенсорная матрица (СМ) 5 состоит (фиг.2) из:The full sensor matrix (CM) 5 consists (figure 2) of:
1) квадратной матрицы А×А пороговых датчиков (Di j) 75 (фиг.2), содержащей А строк и А столбцов;1) a square matrix A × A of threshold sensors (Di j) 75 (FIG. 2), containing A rows and A columns;
2) А А-входовых схем 76 ИЛИ (по одной схеме 76 на одну строку СМ 5), каждый i-й вход (1≤i≤А) j-й схемы 76 ИЛИ (1≤j≤А) соединен с выходом компаратора 79i j.2) A
3) А (А+1)-входовых мультиплексоров 77.3) A (A + 1)
Каждый пороговый датчик (ПД) 75 включает в себя датчик 78 (Д) и двухвходовый компаратор 79, первый вход которого соединен с выходом датчика 78, а на второй вход подается уровень заданного порогового сигнала с ЦАП 74. Выходом ПД 75 является выход его компаратора 79, принимающий одно из двух логических состояний («0» - когда ПД не возбужден, «1» - когда ПД возбужден). Текущее состояние СМ 5 характеризуется состоянием (1, 0) выходов всех ее ПД 75 и может быть представлено в виде бинарного изображения А×А. Объем информации на выходе датчиков 78 всех СМ 5 робота может быть чрезвычайно большим, а скорость передачи данных от СМ в матрицу 35 А×А×А не может быть высокой из-за удаленности СМ 5 от матрицы 35 А×А×А и последовательного характера передачи. В то же время в целях обеспечения безопасности робота скорость обнаружения возбужденного датчика на «коже» робота и определение его координат должна быть высокой. Для преодоления этого противоречия в состав каждой СМ 5 введены средства предварительной местной обработки данных, а именно: компараторы 79 и А-входовые схемы 76 ИЛИ. Компаратор преобразует значение уровня выхода датчика 78 в информацию, отражающую только факт превышения (или непревышения) датчиком 78 заданного порога возбуждения. Каждая А-входовая схема 76 ИЛИ преобразует информацию о преодолении заданного порога возбуждения каждым датчиком 78 целой строки СМ 5 в информацию, отражающую только факт превышения хотя бы одним из этих датчиков этого порога, поэтому при наличии в j-й строке хотя бы одного «возбужденного» ПД (лог.1), на выходе j-й схемы 76 ИЛИ формируется «1». Двоичный код, снимаемый с выходов всех А схем 76 ИЛИ сенсорной матрицы, назовем кодом возбуждения сенсорной матрицы (КВСМ). Мультиплексоры 77 в зависимости от значения кода РВ, поступающего на их управляющие входы, подключают либо КВСМ, либо выходы ПД 75 одной из строк СМ 5. При полном отсутствии информации о состоянии СМ первым считывается КВСМ этой СМ. Если полученный КВСМ недостаточен для выработки решения о последующих действиях робота и требуется более подробная информация о характере возбуждения СМ, программно изменяются коды РВ этой СМ и при последующих сервопрерываниях передаются конкретные запрашиваемые возбужденные строки СМ. В результате появляется возможность передавать не весь массив данных от СМ, а только его наиболее интересную («возбужденную») часть. Плотность покрытия очувствленного участка (ОУ) датчиками, принадлежащими одной СМ (т.е. сенсорное разрешение ОУ), может быть различной. Например, на пальцах-схватах, выполняющих помимо функции механического захвата также и функции исследовательского зонда, плотность размещения датчиков СМ может значительно превышать плотность датчиков СМ на других частях «руки» (фиг.16). Если площадь ОУ не позволяет расположить все датчики СМ, «лишние» датчики 78 не устанавливаются, а выходы их соответствующих компараторов 79 принудительно соединяются с лог.0.Each threshold sensor (PD) 75 includes a sensor 78 (D) and a two-
Обмен информацией между СМ 5 и процессорной матрицей 35 происходит следующим образом (фиг.2). Коды управления всеми А2 сенсорными матрицами 5 формируются в матрице 35 одновременно. Перед передачей их в сенсорные матрицы 5 на исполнение двоичные разряды кода управления для каждой отдельной СМ располагаются в памяти 54 (по некоторому адресу а1) соседних процессоров 36 матрицы 35 последовательно друг за другом в направлении Ох (от младших разрядов к старшим). Затем эти А2 кодов управления последовательно (разряд за разрядом) передаются в сдвиговые регистры 90 своих центральных контроллеров 44. Для этого устанавливается код КУВМ=0, выходы матрицы 35 соединяются с ее входами, в регистре 11 устанавливается соответствующий адрес АПИ (N1≤АПИ<N2), А раз выполняется команда NTE и импульсами «СЗП» (задний фронт) коды управления передаются из матрицы 35 в сдвиговые регистры 90. После заполнения всех регистров 90 и 80 информацией из матрицы 35 триггер 105 регистра 17 устанавливается в 1 и запускается формирователь 6. Блок 1 управления продолжает выполнять ранее прерванную программу. Импульсы генератора 98 формирователя 6 (фиг.3) проходят на счетный вход «+1» младшего разряда счетчика 99. С выхода 1-го разряда счетчика 99 снимаются тактовые импульсы ТИ. Память 100 представляет собой постоянное запоминающее устройство с произвольной выборкой для хранения двоичных слов. С 0-го по А-1 адрес в ней записан код U=U0=(000)2. Код U=U0 поступает на входы всех дешифрирующих схем 104. На импульсный вход схем 104 поступают импульсы Т с выхода схемы 103 И. Импульсы с выхода Т0 схемы 104 (фиг.2) поступают на сдвиговые управляющие регистры 90, 71. С приходом А импульсов Т0 коды управления СМ переместятся из регистров 90 в соответствующие регистры 71. Далее с выхода памяти 100 считывается код U=1, после чего с приходом импульса Т1 переданный код управления из регистра 71 запишется в управляющий регистр 72. Код управления СМ состоит из двух частей:The exchange of information between
1) РВ - кода режима вывода данных;1) RV - data output mode code;
2) УЧ - кода значения порога чувствительности СМ.2) UCH - code of the threshold value of sensitivity SM.
Код РВ поступает на управляющие входы мультиплексоров 77, код УЧ - на вход преобразователя 74, выход которого соединен со всеми компараторами 79 данной СМ 5. С приходом импульса ТЗ сигналы с выходов мультиплексоров 77 запишутся в регистр 70. После перехода в состояние U=U4=(100)2 импульсы Т4, повторяющиеся А раз, перенесут данные из местных контроллеров 4 в регистры 89 соответствующих контроллеров 44. После передачи последнего разряда сбрасываются счетчик 99 и триггер 105, в блок 1 управления подается запрос на прерывание (сервопрерывание). В случае разрешения этого прерывания производится запись содержимого регистров прерванной программы в стек блока 1, а управление передается вектору сервопрерывания. Программа сервопрерывания устанавливает КУВМ=9, в регистр 14 записывается адрес локальной памяти 54, куда будет производиться запись принятых данных. Затем А раз выполняется команда NTE, после чего данные из регистров 89 импульсами «СЗП» (задний фронт) переместятся в матрицу 35 А×А×А.The code RV goes to the control inputs of the
Управление сервоприводами роботаRobot Servo Control
После анализа введенной сенсорной информации устройство (в соответствии с текущим этапом решения СЦЗ) принимает решение о действиях робота в следующий момент времени. Если это решение связано с необходимостью начать (или продолжить) механическое движение робота, в устройстве вырабатываются коды управляющих воздействий и передаются на исполнение в сервоприводы робота. Вариант конструкции сервопривода включает в себя: двигатель 106, редуктор (состоящий из червяка 107 и червячного колеса с датчиком 108 углового положения этого колеса), цифроаналоговый преобразователь 68, аналого-цифровой преобразователь 69. Регулирование сервоприводами осуществляется при помощи процессорной матрицы 35 во время специальных программных прерываний (сервопрерываний) блока 1 по запросу, поступающему из регистра 17. После выполнения сервопрерывания в матрице 35 А×А×А формируются коды воздействия (KB) для управления А2 сервоприводами робота (как сигнал рассогласования между заданным значением и фактическим значением). Перед передачей их на исполнение в сервоприводы разряды каждого А-разрядного KB располагаются в памяти 54 (по некоторому адресу а1) соседних процессоров 36 последовательно один за другим в направлении Ох матрицы 35 (от младших разрядов к старшим). Затем эти А2 кодов воздействия последовательно (разряд за разрядом) передаются в сдвиговые регистры 80 кода воздействия своих центральных контроллеров 43. Для этого устанавливается код КУВМ=0, выходы матрицы 35 соединяются с ее входами, устанавливается соответствующий адрес АПИ (N3≤АПИ<N4), А раз выполняется команда NTE, и импульсами «СЗП» (задний фронт) коды воздействия передаются из матрицы 35 в сдвиговые регистры 80, после чего триггер 105 регистра 17 устанавливается в 1, и запускается формирователь 6. Импульсы с выхода Т0 схемы 104 поступают на сдвиговые регистры 80 и 64. С приходом А импульсов Т0 коды воздействия переместятся из регистров 80 в регистры 64. По импульсу Т1 переданный код воздействия из регистра 64 запишется в регистр 60 и после цифроаналогового преобразования начнет воздействовать на двигатель сервопривода (U=U2). С переходом кода U в состояние U=U3 формируется импульс Т3, который записывает (параллельно по всем разрядам) текущие коды результата с выходов АЦП 69 в сдвиговые регистры 65 кода результата. После перехода в состояние U=U4=(100)2 импульсы Т4, повторяющиеся А раз, перенесут коды результата из регистров 65 в соответствующие регистры 81. После передачи последнего разряда счетчик 99 сбрасывается, сбрасывается и триггер 105, в блок 1 управления подается запрос на прерывание (сервопрерывание). В случае разрешения этого прерывания производится запись параметров и значений регистров прерванной программы в стек блока управления, управление передается вектору данного прерывания. Программа сервопрерывания устанавливает КУМВ=8, записывает адрес памяти 54, куда будет производиться запись полученных кодов результата, и выполняет А раз команду NTE, после чего коды результата из регистров 81 переписываются в матрицу 35 А×А×А (или в память 37). Далее происходит сравнение полученных значений кодов результата с их заданными значениями, вычисляется их разность и по полученным разностным сигналам формируются новые коды воздействия. Заданные и текущие коды результата (например, данные об угловом положении червячных колес) временно сохраняются для построения по ним текущей геометрической модели робота. Затем сформированные коды воздействия передаются в контроллеры 43 вышеописанным способом. Далее блок 1 управления запускает новый цикл формирователя 6 и продолжает выполнять ранее прерванную программу.After analyzing the entered sensory information, the device (in accordance with the current stage of the decision of the SCS) makes a decision on the actions of the robot at the next moment in time. If this decision is connected with the need to start (or continue) the mechanical movement of the robot, the control codes are generated in the device and transmitted to the robot servos for execution. A variant of the design of the servo drive includes: a
Управление конечностями роботаRobot limb control
Из кинематической схемы робота-гуманоида выделим группы связанных звеньев, имеющих общее функциональное назначение («рука», «нога», «шея», «ступня», «спина» и т.п. - фиг.15). Шарниры в таких группах звеньев представляют собой анатомические аналоги суставов скелета человека (локтевой сустав, плечевой сустав и т.п.). Двигатели сервоприводов робота-гуманоида выполняют функцию мышц человека. Использование заявленного устройства для управления системой сервоприводов продемонстрируем на примере управления «рукой» робота-гуманоида, состоящей из следующих шарнирно-связанных звеньев (фиг.18): верхнего плеча (1-е звено «руки»), малого плеча (2-е звено), большого плеча (3-го звена), предплечья (4-е звено), запястья (5-е звено), пальца-схвата (6-е звено). Все шарниры между звеньями цилиндрические и оборудованы сервоприводами, ось червячного колеса сервопривода совпадает с осью шарнира. При этом 1-е звено шарнирно связано с «туловищем» робота (рамой приборного отсека), которое принимаем за неподвижное. Последнее звено (палец-схват) имеет только один межзвенный шарнир. На поверхности звеньев установлены осязательные датчики (динамометрические, температурные и другие), выполняющие функцию «кожи» конечности (фиг.16). С выхода каждого i-го сервопривода, ось червячного колеса которого совпадает с осью первого шарнира i-го звена, снимается код значения угла (αi) поворота i-го звена относительно (i-1)-го звена.From the kinematic diagram of the humanoid robot, we distinguish groups of connected links having a common functional purpose (“arm”, “leg”, “neck”, “foot”, “back”, etc. - Fig. 15). The hinges in such groups of links are anatomical analogues of the joints of the human skeleton (elbow joint, shoulder joint, etc.). The servo motors of the humanoid robot function as human muscles. The use of the claimed device for controlling a servo system will be demonstrated using the “arm” of a humanoid robot as an example, consisting of the following articulated links (Fig. 18): upper arm (1st arm link), small arm (2nd link) ), large shoulder (3rd link), forearm (4th link), wrists (5th link), finger-grip (6th link). All hinges between the links are cylindrical and equipped with servos, the axis of the servo worm wheel coincides with the axis of the hinge. At the same time, the 1st link is pivotally connected to the “body” of the robot (the frame of the instrument compartment), which is taken as fixed. The last link (finger-grip) has only one inter-link joint. On the surface of the links installed tactile sensors (dynamometric, temperature and others) that perform the function of the "skin" of the limb (Fig.16). From the output of each i-th servo drive, the axis of the worm wheel of which coincides with the axis of the first hinge of the i-th link, the code for the angle value (α i ) of rotation of the i-th link relative to the (i-1) -th link is removed.
Определение текущей геометрической формы скелета роботаDetermination of the current geometric shape of the skeleton of the robot
Геометрическая форма скелета робота определяется угловым положением его шарнирно-связанных звеньев и длиной этих звеньев. Рассмотрим зависимость между данными, снимаемыми с выходов сервоприводов, и пространственным положением звеньев на примере одной конечности робота. Свяжем с условно неподвижным «туловищем» робота декартовую систему координат Oxyz, плоскость yOz которой перпендикулярна плоскости 1-го червячного колеса (фиг.18, 19), а ось Оу совпадает с осью вращения этого колеса. С каждым i-м звеном свяжем подвижную декартовую систему координат OiXiYiZi так, чтобы:The geometric shape of the skeleton of the robot is determined by the angular position of its articulated links and the length of these links. Consider the relationship between the data taken from the outputs of the servos and the spatial position of the links on the example of one limb of the robot. We will associate with the conditionally stationary "body" of the robot the Cartesian coordinate system Oxyz, the yOz plane of which is perpendicular to the plane of the 1st worm wheel (Figs. 18, 19), and the Oy axis coincides with the axis of rotation of this wheel. With each i-th link we associate a moving Cartesian coordinate system O i X i Y i Z i so that:
1) при углах α1=α2=α3=α4=α5=α6=0 направляющие векторы осей OiXi, OiYi, OiZi всех звеньев «руки» совпадали с направляющими векторами осей Ох, Оу, Oz соответственно (фиг.19-а);1) at angles α 1 = α 2 = α 3 = α 4 = α 5 = α 6 = 0, the direction vectors of the axes O i X i , O i Y i , O i Z i of all links of the arm coincided with the direction vectors of the axes Oh, Oh, Oz, respectively (Fig. 19-a);
2) оси вращения обоих шарниров i-го звена пересекались, были взаимно перпендикулярными и направленными вдоль осей OiXi, OiYi (фиг.19-б).2) the rotation axes of both hinges of the i-th link intersected, were mutually perpendicular and directed along the axes O i X i , O i Y i (Fig. 19-b).
Пусть OK - прямая, вдоль которой пересекаются плоскости Оху и OiXiYi. Направляющий вектор ОК для этой прямой находится из векторного произведения OK=k0×ki (где k0 - единичный направляющий вектор оси Oz; ki - единичный направляющий вектор оси Oizi).Let OK be the straight line along which the Ohu and O i X i Y i planes intersect. The direction vector OK for this line is found from the vector product OK = k 0 × k i (where k 0 is the unit direction vector of the Oz axis; k i is the unit direction vector of the O i z i axis).
Пространственное положение i-го звена относительно Oxyz характеризуется координатами точки Oi и угловым положением OiXiYi относительно Oi. Поскольку расстояние Li между шарнирами на каждом i-м звене есть величина постоянная, то пространственное положение звеньев конечности полностью определяются значениями углов α1,α2,…,αi-1,αi. В свою очередь, угловое положение OiXiYi относительно Oi определяется тремя углами Эйлера:The spatial position of the ith link relative to Oxyz is characterized by the coordinates of the point O i and the angular position O i X i Y i relative to O i . Since the distance L i between the joints on each i-th link is a constant value, the spatial position of the limb links is completely determined by the values of the angles α 1 , α 2 , ..., α i-1 , α i . In turn, the angular position of O i X i Y i relative to O i is determined by three Euler angles:
1) углом φi собственного вращения (углом между ОК и осью OiXi);1) the angle φ i own rotation (the angle between OK and the axis O i X i );
2) углом ψi прецессии (углом между ОК и осью Ох);2) the angle ψ i of the precession (the angle between OK and the axis Ox);
3) углом нутации θi (углом между ki и k0).3) the angle of nutation θ i (the angle between k i and k 0 ).
Так как k0, m0 известны (k0={0,0,1}, m0={1,0,0}), то для определения φi, ψi, θi необходимо вычислить координаты векторов ki, mi (где m0, mi - единичные направляющие векторы осей Ох и OiXi соответственно) по текущим значениям α1, α2,…αi-1,αi. Один из алгоритмов вычисления ki состоит в следующем. Пусть ось вращения (i-1)-го звена (общая с i-м звеном) и вектор ki-1 расположены в плоскости, описываемой уравнениемSince k 0 , m 0 are known (k 0 = {0,0,1}, m 0 = {1,0,0}), to determine φ i , ψ i , θ i it is necessary to calculate the coordinates of the vectors k i , m i (where m 0 , m i are the unit guiding vectors of the axes Ox and O i X i, respectively) according to the current values of α 1 , α 2 , ... α i-1 , α i . One of the algorithms for calculating k i is as follows. Let the rotation axis of the (i-1) th link (common with the i-th link) and the vector k i-1 be located in the plane described by the equation
Ai-1 x+Bi-1 у+Ci-1 z+Di-1=0A i-1 x + B i-1 y + C i-1 z + D i-1 = 0
(Ai-1, Bi-1, Ci-1 и координаты xi-1,yi-1,zi-1 вектора ki-1 известны). Тогда поворот i-го звена на угол αi относительно (i-1)-го звена будет осуществляться параллельно плоскости (фиг.19-в), проходящей через точку О (0,0,0) перпендикулярно плоскости Ai-1 x+Bi-1 у+Ci-1 z+Di-1=0 и описываемой уравнением [11, стр.162 ]:(A i-1 , B i-1 , C i-1 and the coordinates x i-1 , y i-1 , z i-1 of the vector k i-1 are known). Then the rotation of the i-th link at an angle α i relative to the (i-1) -th link will be parallel to the plane (Fig. 19-c) passing through the point O (0,0,0) perpendicular to the plane A i-1 x + B i-1 y + C i-1 z + D i-1 = 0 and described by the equation [11, p.162]:
Следовательно, при повороте i-го звена координаты вектора-нормали плоскости вращения будут: Ai=Ci-1yi-1-Bi-1zi-1; Bi=Ai-1zi-1-Ci-1xi-1; Ci=Bi-1xi-1-Ai-1yi-1 Therefore, when the i-th link is rotated, the coordinates of the normal vector of the plane of rotation will be: A i = C i-1 y i-1 -B i-1 z i-1 ; B i = A i-1 z i-1 -C i-1 x i-1 ; C i = B i-1 x i-1 -A i-1 y i-1
После поворота ось OiZi займет новое положение, характеризующееся вектором ki. При этом выполняются равенства:After rotation, the axis O i Z i will take a new position, characterized by the vector k i . In this case, the equalities are satisfied:
(где xi, уi, zi - координаты единичного вектора ki). Решая совместно уравнения (8), (9), (10), найдем координаты вектора ki. Если учесть, что k0={0,0,1}, m0={1,0,0}, то:(where x i , y i , z i are the coordinates of the unit vector k i ). Solving equations (8), (9), (10) together, we find the coordinates of the vector k i . If we consider that k 0 = {0,0,1}, m 0 = {1,0,0}, then:
ОК={у0zi-z0yi, z0xi-х0zi, х0yi-у0xi}={-yi, xi, 0}; θi=arccos z0zi=arccos zi;OK = {y 0 z i -z 0 y i , z 0 x i -x 0 z i , x 0 y i -y 0 x i } = {- y i , x i , 0}; θ i = arccos z 0 z i = arccos z i ;
ψi=arccos (у0zi-z0yi)=arcos (-yi).ψ i = arccos (at 0 z i -z 0 y i ) = arcos (-y i ).
Координаты вектора mi вычисляются аналогичным образом, но в отличие от ki, положение mi зависит не от всех межзвенных углов (α1α2,…αi-1,αi), а только от тех, при которых поворот осуществляется вокруг осей параллельных оси OiYi (для случая, изображенного на фиг.19-в, - это нечетные углы α1, α3, α5…).The coordinates of the vector m i are calculated in a similar way, but unlike k i , the position of m i does not depend on all inter-link angles (α 1 α 2 , ... α i-1 , α i ), but only on those for which rotation is carried out around axes parallel to the axis O i Y i (for the case depicted in FIG. 19-c, these are odd angles α 1 , α 3 , α 5 ...).
Алгоритм вычисления углов Эйлера для каждого звена «руки» состоит в последовательном вычислении ki, mi, φi, ψi, θi, начиная с 1-го звена (по известным параметрам k0, m0, α1) и заканчивая последним звеном конечности. Указанный алгоритм реализуется в блоке 1 управления, для этого данные об углах αi последовательно передаются из блока 2 в блок 1 посредством регистра 16.The algorithm for calculating Euler angles for each link of the arm consists in sequentially calculating k i , m i , φ i , ψ i , θ i , starting from the 1st link (according to the known parameters k 0 , m 0 , α 1 ) and ending with the last link of a limb. The specified algorithm is implemented in the
Построение геометрической модели тела роботаBuilding a geometric model of the body of the robot
В процессе функционирования робот должен контролировать положение своих частей тела относительно друг друга, а также относительно окружающих его предметов. В заявленном устройстве такой контроль осуществляется путем сравнения пространственного положения текущей геометрической модели тела робота (ГМТР) с пространственным положением текущей геометрической модели области, окружающей тело робота (ГМОО). Если ГМТР строится по данным, получаемым от внутренних датчиков (от датчиков сервоприводов; датчиков, имитирующих вестибулярный аппарат), и имеющемуся описанию геометрии отдельных частей робота, то ГМОО строится исключительно по данным, получаемым от внешних датчиков (видеодатчиков; датчиков, имитирующих осязание и т.п.). При этом части робота, видимые или осязаемые им, отражаются и в ГМТР, и в ГМОО, что может использоваться роботом для самотестирования отдельных агрегатов и функций робота.In the process of functioning, the robot must control the position of its body parts relative to each other, as well as relative to objects surrounding it. In the claimed device, such control is carried out by comparing the spatial position of the current geometric model of the robot body (GMTR) with the spatial position of the current geometric model of the area surrounding the robot body (GMOO). If the HMTR is constructed using data received from internal sensors (from sensors of servo drives; sensors imitating the vestibular apparatus) and the available description of the geometry of individual parts of the robot, then the HMTR is constructed solely from data received from external sensors (video sensors; sensors simulating touch, etc.) .P.). At the same time, the parts of the robot that are visible or tangible to him are reflected both in the GMTR and in the GMOO, which can be used by the robot for self-testing of individual units and functions of the robot.
Для построения ГМТР знаний о длине (Li) шарнирно-связанных звеньев робота и их текущих углов Эйлера (φi, ψi, θi) недостаточно, поскольку эти параметры отражают текущую геометрию лишь «скелета» робота. Для того чтобы «скелет оброс мясом», необходимы дополнительные сведения о расположении поверхностных точек каждого i-го звена относительно OiXiYi. Если геометрическая форма внешней поверхности звена неизменна, ее описание заносится в постоянную память устройства и используется в дальнейшем для построения текущих ГМТР. Принцип построения текущей ГМТР в виде одноцветного содержимого бинарного 3D-изображения из 3D-пиксельных моделей его частей тела (фиг.20-б) по текущей геометрической форме «скелета» робота (фиг.21-б) показан на фиг.21-в. От выбора разрешения ГМТР и ГМОО зависит не только точность геометрического моделирования объектов, но и значение максимально-допустимой скорости перемещения робота и его частей в пространстве. Стремление увеличить разрешение ГМТР и ГМОО может привести к такому увеличению времени построения ГМТР и ГМОО, когда эти синтезируемые модели просто не будут успевать за изменениями реальных (моделируемых) объектов, что приведет к несоответствию реального объекта с его машинной моделью и, в итоге, к потере управляемости роботом. В то же время выполнение роботом мелких высокоточных видов работ (например, ощупывание и захват мелких предметов пальцами-схватами и т.п.) невозможно без высокоточного моделирования быстро перемещающихся мелких частей, точность описания которых в ГМТР и ГМОО не может являться приемлемой. При выполнении таких видов работ устройство использует геометрическую модель части тела робота (ГМЧТР) и геометрическую модель области, окружающей часть тела робота (ГМЧОО), разрешение которых совпадает с разрешением ГМТР и ГМОО, но моделируемая область пространства у которых меньше, чем у ГМТР и ГМОО. На фиг.21-а изображен пример ГМЧТР, предназначенной для управления «пальцами» и «кистью руки» робота.To construct a GMTR, knowledge of the length (L i ) of the articulated links of the robot and their current Euler angles (φ i , ψ i , θ i ) is not enough, since these parameters reflect the current geometry of only the "skeleton" of the robot. In order for the "skeleton to be overgrown with meat", additional information is needed on the location of the surface points of each i-th link relative to O i X i Y i . If the geometric shape of the outer surface of the link is unchanged, its description is entered in the permanent memory of the device and is used in the future to build the current GTR. The principle of constructing the current GMTR in the form of single-color content of a binary 3D image from 3D-pixel models of its body parts (Fig.20-b) based on the current geometric shape of the "skeleton" of the robot (Fig.21-b) is shown in Fig.21-c. Not only the accuracy of the geometric modeling of objects, but also the value of the maximum allowable speed of movement of the robot and its parts in space depends on the choice of the resolution of the GMTR and GMOO. The desire to increase the resolution of GMTR and GMOO can lead to such an increase in the construction time of GMTR and GMOO when these synthesized models simply will not keep pace with changes in real (simulated) objects, which will lead to a mismatch between the real object and its machine model and, as a result, to loss controllability by the robot. At the same time, the robot can perform small precision work (for example, feeling and grabbing small objects with grasping fingers, etc.) without high-precision modeling of rapidly moving small parts, the accuracy of the description of which in GMTR and GMOO cannot be acceptable. When performing such types of work, the device uses a geometric model of the robot body part (GMCHTR) and a geometric model of the area surrounding the robot body part (GMCHOO), the resolution of which coincides with the resolution of the GMTR and GMOO, but the simulated region of space in which is smaller than that of GMTR and GMOO . On Fig-a depicts an example of GMPC, designed to control the "fingers" and "hand" of the robot.
Построение геометрической модели области, окружающей роботаBuilding a geometric model of the area surrounding the robot
Робот, автономно перемещающийся в пространстве в реальном масштабе времени, во избежание столкновения с препятствиями должен быстро и правильно строить ГМОО (или ГМЧОО), выбирать траекторию своего движения, корректировать исходную ГМОО (или ГМЧТР) по данным, получаемым от сенсорных датчиков. Обычно построение ГМОО связывают с обработкой видеоинформации. Однако видеоинформация не может быть единственным, а главное надежным источником информации об окружающей обстановке для автономного адаптивного робота из-за:A robot autonomously moving in space in real time, in order to avoid collision with obstacles, must quickly and correctly build a GMO (or GMCHOO), choose the trajectory of its movement, and adjust the initial GMO (or GMCHTR) according to data received from sensor sensors. Usually, the construction of GMOs is associated with the processing of video information. However, video information cannot be the only, and most importantly reliable source of information about the environment for an autonomous adaptive robot due to:
- возможности построения неправильной ГМОО вследствие оптических эффектов (зеркального отражения, бликов, затенения, миражей, отсутствия освещения или, наоборот, слишком яркого освещения и т.п.),- the possibility of constructing the wrong GMO due to optical effects (specular reflection, glare, shading, mirages, lack of lighting, or, conversely, too bright lighting, etc.),
- большого времени построения ГМОО по видеоизображениям;- a long time for constructing GMOs on video images;
- возможности отказа системы технического зрения.- the possibility of failure of the system of technical vision.
Указанные факторы могут стать причиной непредсказуемых (а потому опасных) столкновений робота с препятствиями или привести к полной потере ориентации робота в окружающем пространстве. Более надежным источником информации об окружающем мире (хотя менее «дальнобойным» и информативным) является информация, поступающая от датчиков робота, действующих на нулевых (или очень малых) расстояниях до исследуемого объекта (назовем такие датчики «осязательными» или «тактильными»). К числу осязательных датчиков можно отнести динамометрические датчики (для исследования упругих свойств окружающей среды), температурные датчики (для исследования температурных полей), магнитные (для исследования магнитных полей). Сканируя («ощупывая») окружающее пространство системой таких датчиков, размещенных на управляемой конечности робота, автономный робот способен строить модели окружающих предметов, отличающиеся высокой степенью достоверности, и на основе этих моделей планировать маршрут своего дальнейшего продвижения, а также распознавать объекты даже при полном выходе из строя системы технического зрения робота. Метод ощупывания может применяться в качестве вспомогательного метода при самотестировании роботом своих различных систем (системы управления сервоприводами, системы ориентации, системы технического зрения и др.). Способность строить модель окружающих объектов средствами осязания, безусловно, поднимет живучесть автономного робота, расширит сферу его применения.These factors can cause unpredictable (and therefore dangerous) collisions of the robot with obstacles or lead to a complete loss of orientation of the robot in the surrounding space. A more reliable source of information about the surrounding world (although less "long-range" and informative) is information coming from robot sensors operating at zero (or very small) distances to the object under study (we call such sensors "tactile" or "tactile"). Touch sensors include dynamometric sensors (for studying the elastic properties of the environment), temperature sensors (for studying temperature fields), and magnetic (for studying magnetic fields). By scanning ("feeling") the surrounding space with a system of such sensors placed on the controlled limb of the robot, the autonomous robot is able to build models of surrounding objects that are highly reliable, and based on these models, plan the route for its further advancement, as well as recognize objects even with full exit out of order of the robot vision system. The feeling method can be used as an auxiliary method for the robot self-testing its various systems (servo control systems, orientation systems, vision systems, etc.). The ability to build a model of surrounding objects by means of touch, of course, will increase the survivability of an autonomous robot, expand the scope of its application.
Определение координат возбужденных участков «кожи» конечностиDetermination of the coordinates of the excited areas of the "skin" of the limb
Для выработки правильной ответной реакции робота на соприкосновение его тела с внешними предметами необходимо знать координаты точек соприкосновения. Если соприкасающийся участок тела робота очувствлен, вопрос об определении координат точки соприкосновения сводится к вопросу об определении координаты возбужденного тактильного датчика. Для определения текущих координат (хд,уд,zд) тактильного датчика Д относительно Oxyz, жестко закрепленного на перемещающемся i-м звене конечности, помимо знаний о пространственном положении OiXiYi относительно Oxyz необходимо иметь информацию о координатах этого датчика относительно OiXiYi. Варианты размещения «кожных» датчиков СМ на «предплечье», «кисти» и губках «пальцев-схватов» показаны на фиг.16. Здесь наибольшее число датчиков расположено на губке «пальца-схвата» (две полные CM - фиг.5-б; и две неполные СМ - фиг.5-в), т.к. губки используются в качестве исследовательских зондов при обследовании геометрических, упругих, температурных и других свойств захватываемых объектов.To develop the correct response of the robot to the contact of his body with external objects, you need to know the coordinates of the points of contact. If the touching part of the body of the robot is sensed, the question of determining the coordinates of the point of contact is reduced to the question of determining the coordinates of the excited tactile sensor. To determine the current coordinates (x d , y d , z d ) of the tactile sensor D relative to Oxyz, rigidly fixed to the moving ith link of the limb, in addition to knowledge of the spatial position O i X i Y i relative to Oxyz, it is necessary to have information about the coordinates of this sensor relative to O i X i Y i . Placement options for “skin” SM sensors on the “forearm”, “hand” and the lips of “finger-grips” are shown in Fig. 16. Here, the largest number of sensors is located on the sponge of the “finger-grip” (two full CM - fig. 5-b; and two incomplete CM - fig. 5-c), because sponges are used as research probes when examining the geometric, elastic, temperature and other properties of captured objects.
Использование заявленного устройства для построения ГМОО методом «ощупывания» продемонстрируем на примере исследования роботом сопротивляемости среды механическому перемещению одной из его конечностей. Такое сопротивление может быть выявлено двумя способами: 1) по неисполнению отдельными сервоприводами конечности команд перемещения; 2) по возбуждению динамометрических датчиков 78, установленных на внешней поверхности перемещаемой конечности. Первый способ позволяет быстро определить факт существования сопротивляемости и его значение. Однако координаты и геометрические параметры препятствия проще и точнее определить путем применения второго способа исследования. Отсюда вытекает следующий алгоритм сканирования окружающего пространства очувствленной конечностью:The use of the claimed device for constructing a GMO by the "feeling" method is demonstrated by the example of a robot studying the resistance of a medium to the mechanical movement of one of its limbs. Such resistance can be detected in two ways: 1) by the failure of individual servos to operate the limbs of movement commands; 2) the excitation of
1) по текущему положению конечности и имеющимся данным об еще неисследованных областях окружающего пространства выбирается начальная траектория перемещения конечности, которая позволила бы охватить наибольший участок этой неисследованной области;1) based on the current position of the limb and the available data on the unexplored areas of the surrounding space, the initial trajectory of movement of the limb is selected, which would allow to cover the largest portion of this unexplored area;
2) конечность начинает перемещаться в соответствии с выбранной траекторией до момента либо ухудшения управляемости одного или нескольких сервоприводов перемещаемой конечности (это принимается за признак того, что конечность наткнулась на препятствие), либо возбуждения тактильных датчиков конечности;2) the limb begins to move in accordance with the chosen trajectory until the controllability of one or more servos of the moved limb deteriorates (this is taken as a sign that the limb has encountered an obstacle) or the tactile sensors of the limb are excited;
3) при наличии сопротивления и отсутствии возбужденных тактильных датчиков делается вывод о том, что контакт с внешним объектом находится на неочувствленном участке звена конечности; выбирается локальная траектория перемещения конечности для выхода ближайшего очувствленного участка в зону предполагаемого контакта; конечность перемещается по этой новой траектории до положения, когда число компактно-размещенных возбужденных датчиков становится наибольшим;3) in the presence of resistance and the absence of excited tactile sensors, it is concluded that contact with an external object is on an undetected portion of a limb link; a local trajectory of limb movement is selected to exit the nearest sensed area to the zone of intended contact; the limb moves along this new path to the position when the number of compactly placed excited sensors becomes the largest;
4) имеющаяся модель ГМОО (фиг.20-а) обновляется с учетом новых полученных данных, после чего осуществляется переход к п.1.4) the existing model of GMOs (Fig.20-a) is updated taking into account the new data obtained, after which the transition to step 1.
5) указанные операции повторяются до полного исчезновения неисследованных областей.5) these operations are repeated until the unexplored areas disappear completely.
Обеспечение устойчивости роботаRobot Stability
Чтобы обеспечить безопасность робота, прием данных, безусловно влияющих на его безопасность, выполняется в первую очередь и в каждом цикле опроса датчиков, сопровождается немедленным проведением анализа введенных данных на угрозу безопасности. Это обеспечивает максимальный резерв времени (отсчитываемый с момента обнаружения угрозы) для оперативного реагирования на ситуации, угрожающие жизнедеятельности робота (например, незапланированное столкновение с внешним объектом, потеря устойчивости у двуногого робота и т.п.). В случае обнаружения угрозы своей безопасности робот прекращает прием информации, являющейся лишней для принятия решения о ликвидации обнаруженной угрозы, и входит в точку программы выхода из угрожающей ситуации. При отсутствии угроз прием и анализ сенсорных данных проводятся в полном объеме (штатно). В случае дефицита памяти (локальной памяти или памяти изображений) сразу после приема массива данных, достаточных для проведения анализа отдельной подсистемы робота (или фрагмента окружающей обстановки и др.), этот анализ выполняется, после чего дефицитная область памяти освобождается для приема других данных. Время выполнения такого анализа должно быть скоротечно во избежание катастрофических потерь входной информации. В случае если объем данных велик, а анализ ее требует больших затрат времени (например, ввод и обработка видеоизображений), то ввод и анализ такой входной информации выполняется за несколько циклов опроса.To ensure the safety of the robot, the reception of data that certainly affects its safety is performed first of all and in each cycle of polling sensors, it is accompanied by an immediate analysis of the entered data for a security risk. This provides the maximum time reserve (counted from the moment a threat is detected) for quick response to situations that threaten the robot’s life (for example, an unplanned collision with an external object, loss of stability in a two-legged robot, etc.). In the event that a threat to its security is detected, the robot stops receiving information that is superfluous for making a decision on eliminating the detected threat, and enters the point of the program to overcome the threatening situation. In the absence of threats, the reception and analysis of sensory data is carried out in full (normally). If there is a shortage of memory (local memory or image memory) immediately after receiving an array of data sufficient to analyze an individual subsystem of the robot (or a fragment of the environment, etc.), this analysis is performed, after which the scarce memory area is freed up to receive other data. The execution time of such an analysis should be short-lived in order to avoid catastrophic losses of input information. If the amount of data is large, and its analysis requires a lot of time (for example, input and processing of video images), then the input and analysis of such input information is performed in several polling cycles.
Принцип использования заявленного устройства для выявления и ликвидации угрозы жизнедеятельности робота рассмотрим на примере выявления и ликвидации угрозы потери устойчивого равновесия. Один из способов контроля устойчивости робота состоит в размещении одиночных динамометрических датчиков по периметру ступней робота (между плоскостью жесткой ступни и плоскостью гибкой подошвы - фиг.22-г,д). Контроль устойчивости робота при стоянии на одной ноге заключается в периодической проверке соблюдения двух условий одноногой устойчивости:The principle of using the claimed device to identify and eliminate the threat to the life of the robot, we consider the example of identifying and eliminating the threat of loss of stable equilibrium. One of the ways to control the stability of the robot is to place single dynamometric sensors around the perimeter of the feet of the robot (between the plane of the rigid foot and the plane of the flexible sole - Fig.22-g, e). The stability control of the robot when standing on one leg is to periodically verify compliance with two conditions of one-legged stability:
1) сумма нагрузок на все датчики рабочей ступни должна равняться весу робота с полезной нагрузкой;1) the sum of the loads on all the sensors of the working foot should be equal to the weight of the robot with the payload;
2) нагрузка на все датчики рабочей ступни должна быть одинакова (фиг.22-а). Соблюдение первого условия и невыполнение второго условия (фиг.22-б) означает, что центр тяжести робота еще находится над рабочей ступней, а значит устойчивость, хотя и сохраняется, но не является абсолютной, поэтому требуется корректировка положения его центра тяжести.2) the load on all sensors of the working foot should be the same (Fig.22-a). Observance of the first condition and non-fulfillment of the second condition (Fig.22-b) means that the center of gravity of the robot is still above the working foot, and therefore stability, although it remains, is not absolute, therefore, an adjustment of the position of its center of gravity is required.
Направление, куда надо сместить центр тяжести робота для восстановления одноногой устойчивости, показано на фиг.22(е-н) для различных вариантов распределения нагрузки на датчики ступни (чем темнее окрашен датчик, тем больше он нагружен). После определения направления и величины корректирующего смещения выполняется перенос массы тех или иных частей робота (ног, рук, приборного отсека и др.), реализующий это корректирующее смещение (путем включения одних сервоприводов робота и отключения других). Невыполнение первого условия (фиг.22-в) означает, что устойчивость потеряна, и требуется экстренный переход либо на двуногую устойчивость, либо рабочая нога должна экстренно сменить точку опоры (выполнить прыжок). Траектория переноса второй (нерабочей) ноги робота на опору (для перехода на двуногую устойчивость) или траектория прыжка рабочей ноги вычисляются с учетом распределения нагрузки на датчики рабочей ступни, динамических и геометрических свойств движущихся частей робота и на основании существующих сведений об окружающей обстановке.The direction where the center of gravity of the robot should be shifted to restore one-leg stability is shown in FIG. 22 (e-n) for various load balancing options on the foot sensors (the darker the sensor is colored, the more it is loaded). After determining the direction and magnitude of the corrective bias, the mass transfer of certain parts of the robot (legs, arms, instrument compartment, etc.) is performed, which implements this corrective bias (by turning on one of the robot's servos and turning off the others). Failure to fulfill the first condition (Fig. 22-c) means that stability is lost, and an emergency transition to either two-legged stability is required, or the working leg must urgently change the fulcrum (perform a jump). The trajectory of transfer of the second (non-working) leg of the robot to the support (for transition to biped stability) or the trajectory of the jump of the working leg are calculated taking into account the load distribution on the sensors of the working foot, the dynamic and geometric properties of the moving parts of the robot, and based on existing information about the environment.
Устойчивое равновесие при стоянии робота на двух ногах достигается периодической проверкой соблюдения двух условий двуногой устойчивости:Stable balance when the robot is standing on two legs is achieved by periodically checking that two conditions of biped stability are observed:
1) общая нагрузка на все датчики обеих ступней должна равняться весу робота с полезной нагрузкой;1) the total load on all sensors of both feet should be equal to the weight of the robot with a payload;
2) нагрузка на все датчики каждой ступни должна быть одинакова.2) the load on all sensors of each foot should be the same.
Соблюдение первого условия и невыполнение второго условия означает, что устойчивость сохраняется, но уже требуется корректировка положения центра тяжести робота. Направление смещения центра тяжести робота для восстановления двуногой устойчивости робота при различных вариантах распределения нагрузки на датчики ступней показаны на фиг.11(е-н).Observance of the first condition and non-fulfillment of the second condition means that stability is maintained, but the adjustment of the position of the center of gravity of the robot is already required. The direction of displacement of the center of gravity of the robot to restore the biped stability of the robot with various load balancing options on the foot sensors is shown in Fig. 11 (e-n).
Невыполнение первого условия означает, чтоFailure to fulfill the first condition means that
устойчивость уже потеряна, и требуется экстренная смена положений ног робота или переход к безопасному режиму падения. Перенос центра тяжести робота вычисляется с учетомstability is already lost, and an emergency change in the position of the legs of the robot or a transition to a safe fall mode is required. The transfer of the center of gravity of the robot is calculated taking into account
- распределения нагрузки на датчики ступней,- load distribution on the sensors of the feet,
- кинематических и динамических характеристик перемещаемых частей робота,- kinematic and dynamic characteristics of the moving parts of the robot,
- имеющихся сведений об окружающей обстановке, текущих координатах и- available information about the environment, current coordinates and
геометрической форме перемещаемых частей робота.the geometric shape of the moving parts of the robot.
В процессе ходьбы осуществляется последовательный переход из одного устойчивого состояния в другое. Из вышеизложенного вытекает, что для обеспечения устойчивости робота-гуманоида при стоянии и ходьбе необходимо, чтобы его устройство управления было способно за десятые доли секунды выполнить цепочку из следующих действий:In the process of walking, a sequential transition from one stable state to another is carried out. It follows from the foregoing that to ensure the stability of the humanoid robot when standing and walking, it is necessary that its control device be able to complete a chain of the following actions in tenths of a second:
1) принять информацию о нагрузке датчиков стоп;1) accept information about the load of the stop sensors;
2) идентифицировать характер ее распределения на обеих стопах, на основании чего выбрать направление переноса центра тяжести робота;2) to identify the nature of its distribution on both feet, on the basis of which to choose the direction of transfer of the center of gravity of the robot;
3) выбрать оптимальный способ реализации переноса центра тяжести с учетом знаний о текущем положении отдельных частей робота в пространстве, их текущей динамике, о положении и геометрической форме близлежащих объектов.3) choose the best way to implement the transfer of the center of gravity taking into account the knowledge about the current position of individual parts of the robot in space, their current dynamics, the position and geometric shape of nearby objects.
4) осуществить одновременный перенос нескольких массивных частей робота выбранным способом в выбранном направлении.4) carry out the simultaneous transfer of several massive parts of the robot in the selected way in the selected direction.
Число возможных вариантов распределения нагрузки на датчики стопы определяется числом датчиков на стопе и числом их возможных состояний, а следовательно, может быть чрезвычайно большим. В то же время все множество возможных неравномерных распределений можно разбить на небольшое число классов распределений (КР). На любое распределение, относящееся к одному КР, устройство управления будет реагировать одинаково, т.е. пытаться восстановить устойчивость робота одними и теми же аппаратно-программными средствами. Один из подходов к построению КР заключается в следующем. Точность полученных данных о нагруженности датчиков стопы огрубляется (например, от 256 состояний датчика переходят всего к 8 состояниям). По расположению самых нагруженных датчиков определяется направление корректирующего смещения, а по значению их нагрузки - значение импульса смещения. Так как теоретико-множественные операции, операция вычисления объема, операция формирования КЗБИ выполняются в заявленном устройстве с высокой степенью распараллеливания, то идентификация КР (а значит, выбор способа переноса центра тяжести) может быть выполнена за сотые доли секунды. Восстановление устойчивости может быть выполнено различными способами. Наиболее простой состоит в управлении сервоприводами голеностопных шарниров нагруженной ноги робота (фиг.22-г,д). Если возможности такого управления исчерпаны (углы поворота червячных колес голеностопных шарниров достигли предельных значений), восстановление устойчивости осуществляется смещением других массивных частей робота (корпуса, рук, головы и др.).The number of possible load balancing options on the foot sensors is determined by the number of sensors on the foot and the number of their possible states, and therefore, can be extremely large. At the same time, the whole set of possible uneven distributions can be divided into a small number of distribution classes (CD). To any distribution related to one KR, the control device will respond the same way, i.e. try to restore the stability of the robot with the same hardware and software. One of the approaches to building the CR is as follows. The accuracy of the data on the load of the sensors of the foot coarsens (for example, from 256 sensor states go to only 8 states). The direction of the correcting bias is determined by the location of the most loaded sensors, and the value of the bias pulse is determined by the value of their load. Since the set-theoretic operations, the operation of calculating the volume, the operation of the formation of QBRs are performed in the claimed device with a high degree of parallelization, the identification of the RC (and, therefore, the choice of the method of transfer of the center of gravity) can be performed in hundredths of a second. Resiliency can be accomplished in various ways. The simplest is to control the servos of the ankle joints of the loaded leg of the robot (Fig.22-g, d). If the possibilities of such control are exhausted (the rotation angles of the worm wheels of the ankle joints have reached limit values), stability is restored by displacing other massive parts of the robot (body, arms, head, etc.).
Построение трехмерной ГМОО по стереоизображениямBuilding 3D GMOs on stereo images
Видеодатчики являются наиболее информативным источником информации об окружающем пространстве. С выходов видеокамер заявленного устройства снимаются полутоновые видеоизображения, которые содержат в себе информацию о геометрии окружающих объектов и их положении в пространстве. Видеокамера осуществляет центральное проецирование окружающей трехмерной сцены на плоскость фотоизображения (картинную плоскость - фиг.23). При этом степень засвечивания каждого 2D-пикселя на этом фотоизображении определяется интенсивностью потока световых лучей, проходящих через этот пиксель. Поскольку 2D-пиксель - не точка, то по законам геометрической оптики световые потоки, способные засветить этот 2D-пиксель, могут исходить не от единственного точечного источника света, лежащего в плоскости наводки видеокамеры, а от целого множества точечных источников света, компактно размещенных в некоторой трехмерной односвязной замкнутой области, имеющей малые габаритные размеры. Размеры этой области изменяются вместе с изменением фокуса оптической системы (фиг.23-а,б). В первом приближении, указанная трехмерная область (3D-пиксель) может рассматриваться в качестве трехмерного прообраза этого 2D-пикселя при отображении ее на картинную плоскость видеокамеры. Если разбить все пространство сцены, окружающей робота, на элементарные непересекающиеся трехмерные области и окрасить их по принадлежности (непринадлежности) пустому или непустому пространству, то реальную сцену можно заменить ее дискретной моделью (т.е. 3D-изображением сцены). Таким образом задача построения трехмерной сцены по его видеоизображению может быть сведена к задаче построения 3D-изображения по его 2D-фотоизображению. Если расстояние от видеокамеры до сцены во много раз больше по сравнению с разбросом расстояний между объектами на сцене, становится несущественной разница между центральным и параллельным (ортогональным) проецированием ([8] стр.36), и 2D-пиксель на фотоизображении может рассматриваться как параллельная (ортогональная) проекция 3D-пикселя на картинную плоскость видеокамеры.Video sensors are the most informative source of information about the environment. Halftone video images that contain information about the geometry of surrounding objects and their position in space are removed from the outputs of the cameras of the claimed device. The video camera performs a central projection of the surrounding three-dimensional scene on the plane of the photo image (picture plane - Fig.23). In this case, the degree of exposure of each 2D pixel in this photo image is determined by the intensity of the stream of light rays passing through this pixel. Since a 2D pixel is not a point, according to the laws of geometric optics, light fluxes capable of illuminating this 2D pixel can come not from a single point source of light lying in the camera’s aiming plane, but from a whole set of point light sources compactly placed in some a three-dimensional simply connected closed region having small overall dimensions. The dimensions of this region change with the change in focus of the optical system (Fig.23-a, b). In a first approximation, the specified three-dimensional region (3D-pixel) can be considered as a three-dimensional prototype of this 2D-pixel when displaying it on the picture plane of the camera. If we divide the entire space of the scene surrounding the robot into elementary non-intersecting three-dimensional areas and color them by their belonging (non-accessories) to empty or non-empty space, then the real scene can be replaced by a discrete model (i.e. a 3D image of the scene). Thus, the task of constructing a three-dimensional scene from its video image can be reduced to the task of constructing a 3D image from its 2D photo image. If the distance from the camcorder to the scene is many times greater than the spread in the distances between objects on the stage, the difference between central and parallel (orthogonal) projection ([8] p. 36) becomes insignificant, and the 2D pixel in the photo image can be considered parallel (orthogonal) projection of a 3D pixel onto the picture plane of the camcorder.
Вариант видеосистемы робота-гуманоида, управляемого с помощью заявленного устройства, состоит из двух одинаковых видеокамер, установленных на плоской платформе подвижной «головы» робота-гуманоида (фиг.24), оптические оси которых всегда расположены в одной плоскости параллельно плоскости платформы. Каждая из видеокамер с помощью своего азимутального сервопривода способна вращаться вокруг оси, расположенной перпендикулярно плоскости платформы (фиг.24-а). Фокусировка объектива каждой из видеокамер и его диафрагмирование производится с помощью соответственно фокусного и диафрагменного сервоприводов камеры, управляемых вышеописанным способом.A variant of the video system of a humanoid robot controlled by the claimed device consists of two identical video cameras mounted on a flat platform of a moving “head” of a humanoid robot (Fig. 24), the optical axes of which are always located in the same plane parallel to the plane of the platform. Each of the cameras using its azimuthal servo is able to rotate around an axis located perpendicular to the plane of the platform (Fig.24-a). The lens of each of the cameras is focused and apertured using the focal and aperture servos of the camera, respectively, controlled by the method described above.
С точки зрения видеосистемы, пространство, окружающее робота, представляет собой обзорную сферу с центром, расположенным посередине между центрами объективов видеокамер (фиг.25). Радиус обзорной сферы равняется минимальному расстоянию, при котором бинокулярная диспаратность уже не обнаруживается (фиг.24-б). Перемещение платформы с камерами обеспечивают сервоприводы «шеи», «спины» и «ног» робота. Все пространство обзорной сферы делится на перекрываемые обзорные стереосекторы, центральные оси которых пересекаются в центре обзорной сферы. Каждый обзорный стереосектор (фиг.25-г) образован пересечением сектора обзора левой видеокамеры (фиг.25-в) с сектором обзора правой видеокамеры (фиг.25-б). В свою очередь, пространство обзорного стереосектора делится на обзорные сцены, центры которых лежат на центральной оси сектора. Применительно к объектам, расположенным внутри обзорной сцены, допускается замена центрального проецирования параллельным проецированием [8]. Размеры обзорной сцены и ее геометрическая форма определяются углами поворота видеокамер (αл, αл), на фиг.26-а горизонтальная проекция обзорной сцены изображена в виде «бабочки». Машинная модель обзорной сцены состоит из конечного целого числа одинаковых непересекающихся ромбовидных параллелепипедов (фрагментов ), покрывающих пространство обзорной сцены (фиг.26-б,в). Ребра ромбовидных оснований этих фрагментов параллельны оптическим осям левой и правой видеокамер.From the point of view of the video system, the space surrounding the robot is an overview sphere with a center located in the middle between the centers of the lenses of the cameras (Fig.25). The radius of the field of view is equal to the minimum distance at which binocular disparity is no longer detected (Fig.24-b). The movement of the platform with cameras is provided by servos of the “neck”, “back” and “legs” of the robot. The entire space of the survey sphere is divided into overlapping survey stereo sectors, the central axes of which intersect in the center of the survey sphere. Each stereo survey sector (Fig.25-g) is formed by the intersection of the viewing sector of the left video camera (Fig.25-c) with the viewing sector of the right video camera (Fig.25-b). In turn, the space of the survey stereo sector is divided into survey scenes, the centers of which lie on the central axis of the sector. In relation to objects located inside the overview scene, it is allowed to replace the central projection with parallel projection [8]. The dimensions of the overview scene and its geometric shape are determined by the angles of rotation of the cameras (α l , α l ), in Fig.26-a horizontal projection of the overview scene is depicted as a "butterfly". The machine model of the survey scene consists of a finite integer of identical disjoint rhomboid parallelepipeds (fragments ) covering the space of the overview scene (Fig.26-b, c). The edges of the diamond-shaped bases of these fragments are parallel to the optical axes of the left and right cameras.
Настройка видеосистемы и обработка стереопарVideo system setup and stereo pair processing
Перед фотосъемкой устройство управления роботом определяет направление фотосъемки, точку наводки и значение диафрагмы, после чего вырабатывает команды управления на соответствующие сервоприводы видеокамер. Сервоприводы настраивают видеосистему так, чтобы (фиг.13-в):Before photographing, the robot control device determines the direction of photography, the aiming point and aperture value, after which it generates control commands for the corresponding servos of the cameras. Servos adjust the video system so that (FIG. 13-c):
- направление оси стереосистемы совпало с выбранным направлением съемки,- the direction of the axis of the stereo system coincided with the selected direction of shooting,
- оптические оси видеокамер пересеклись в центре обзорной сцены (Ti),- the optical axis of the cameras intersected in the center of the overview scene (T i ),
- центр Ti обзорной сцены оказался в фокусе обеих видеокамер,- the center T i of the overview scene was in the focus of both cameras,
- режим диафрагмирования соответствовал заданному значению.- Aperture mode corresponded to the set value.
После настройки видеосистемы выполняется фотографирование окружающей сцены, и на ПЗС-матрицах левой и правой видеокамер формируется стереопара - два полутоновых фотоизображения формата . По командам от устройства управления эти фотоизображения друг за другом (построчно в оцифрованном виде) передаются в память изображений БОХВИ в виде bK2A бинарных 2D-изображений формата А×А (где b - разрядность двоичного значения уровня зачерненности одного пикселя - фиг.28-б). Далее перенесенные изображения сглаживаются путем взвешенного усреднения уровня зачерненности каждого пикселя и уровней зачерненности его ближайших соседей [7] (при помощи команд типа INE, SBT). Веса и число соседей-пикселей определяется выбранным типом сглаживающего фильтра. В случае реализации низкочастотного фильтра число анализируемых пикселей-соседей больше (фиг.28-о), чем в случае реализации высокочастотного фильтра (фиг.28-в). При выполнении процедуры фильтрации каждому пикселю фрагмента результирующего изображения соответствует свой процессор матрицы А×А×А (работающей в режиме плоской матрицы ), в котором и осуществляется вычисление взвешенного среднего для этого пикселя. Перенос данных об уровнях зачерненности соседних пикселей, хранящихся в локальной памяти соседних процессоров матрицы , в указанный процессор производится при помощи команд типа SH, RAX, RAY, RAZ (фиг.28 г-и). Затем сглаженное изображение подвергается процедуре вычисления лапласиана [7] (при помощи команд типа INE, SBT). Сглаживание и вычисление лапласиана могут быть совмещены в одной вычислительной процедуре РП-фильтрации [7]. На 2D-изображении , полученном в результате вычисления лапласиана, выделяются только те пиксели, которые, сами имея положительное (отрицательное) значение второй производной, соприкасаются с пикселями, имеющими отрицательное (положительное) значение второй производной. В результате такого выделения формируется двумерное бинарное изображение-стереограмма, в котором только выделенные пиксели (нулевые лапласиан-точки) имеют черный цвет. Два таких непустых составных бинарных изображения-стереограммы (И'лев, И'прав) формата , соответствующие левому и правому фотоизображениям, служат исходным материалом для построения по ним бинарного фрагмента (фиг.28-а), содержащего только корреспондирующие нулевые лапласиан-точки обзорной сцены. Алгоритм построения такого фрагмента по исходным бинарным стереопарам описан в [7]. Фиг.29 иллюстрирует выполнение этого алгоритма при помощи заявленного устройства на примере бинарной стереопары, непосредственно взятой из [7]. Сначала строится бинарное 3D-изображение кубического формата (фиг.29-г), зачерненными 3D-пикселями которого отмечены все пересечения, в которых обе видеокамеры видят черную точку (на фиг.29-б,в изображены промежуточные этапы построения). Затем строится бинарное 3D-изображение (фиг.29-ж), зачерненными 3D-пикселями которого отмечены все пересечения, в которых обе видеокамеры видят белую точку (на фиг.29-д,е изображены промежуточные этапы построения). Затем эти два 3D-изображения объединяются в одно (фиг.29-з), являющееся исходным материалом для реализации алгоритма, описанного в [7, стр.67-69]. В результате выполнения указанного алгоритма получается искомое 3D-изображение (фиг.29-и), черные пиксели которого соответствуют корреспондирующим нулевым точкам. Если это бинарное 3D-изображение не пусто (фиг.30-а), его содержимое интерполируется (по корреспондирующим 3D-пикселям строятся дискретные модели самих поверхностей объектов [8]), поворачивается на 45° и сжимается (фиг.30-б,в,г) до получения необходимой ромбовидной формы фрагмента . На фиг.31 показан один из простейших способов решения задачи интерполяции с помощью заявленного устройства, когда выявленные корреспондирующие пиксели (фиг.31-а,б) сначала сдвигаются до выхода их за пределы фрагмента , затем строятся линии-траектории переноса (фиг.31-в), после чего пустые слои заполняются содержимым соседних непустых слоев в двух взаимно-ортогональных плоскостях (фиг.31 г-и). Более точно задача интерполяции решается путем анализа распределения уровня зачерненности в окрестностях вычисленных корреспондирующих точек [7, 8] на каждом моноизображении стереопары. Из полученных ромбовидных фрагментов «собирается» бинарное 3D-изображение обзорной сцены. Для сборки бинарного 3D-изображения обзорного стереосектора бинарные 3D-изображения сцен, входящих в этот стереосектор, сначала приводятся к единому масштабу, а затем собираются в единое 3D-изображение обзорного стереосектора (фиг.30-д,е). Содержимое нескольких обзорных стереосекторов могут быть объединены в одно общее 3D-изображение вплоть до построения 3D-изображения обзорной панорамы или 3D-изображения всей обзорной сферы. Описанная модель сцены, синтезированная по видеоданным, снятым из одной точки наблюдения, лишь частично отражает геометрию реальных объектов, входящих в наблюдаемую обзорную сцену. Эту геометрическую модель сцены можно уточнить путем наложения и пересечения вышеописанных бинарных 3D-изображений, полученных с разных точек видеонаблюдения сцены, или в сочетании с методом «ощупывания».After setting up the video system, the surrounding scene is photographed, and a stereo pair is formed on the CCD matrices of the left and right cameras — two halftone photo images of the format . By commands from the control device, these photos one after another (line-by-line in digitized form) are transferred to the BOHVI image memory in the form of bK 2 A binary 2D images of the A × A format (where b is the bit capacity of the binary value of the blackening level of one pixel - Fig. 28- b) Then, the transferred images are smoothed out by weighted averaging of the blackening level of each pixel and the blackening levels of its closest neighbors [7] (using commands like INE, SBT). The weights and number of pixel neighbors are determined by the selected type of smoothing filter. In the case of the implementation of the low-pass filter, the number of analyzed neighboring pixels is greater (Fig.28-o) than in the case of the implementation of the high-pass filter (Fig.28-c). When performing the filtering procedure, each pixel of the fragment the resulting image corresponds to its matrix processor A × A × A (working in the flat matrix mode ), in which the weighted average for this pixel is calculated. Transfer of data on the blackening levels of neighboring pixels stored in the local memory of neighboring matrix processors , to the specified processor is performed using commands such as SH, RAX, RAY, RAZ (Fig. 28 g-i). Then the smoothed image is subjected to the Laplacian calculation procedure [7] (using commands such as INE, SBT). The smoothing and calculation of the Laplacian can be combined in one computational procedure for RP filtering [7]. In a 2D image obtained by calculating the Laplacian, only those pixels are selected that, having the positive (negative) value of the second derivative themselves, are in contact with pixels having the negative (positive) value of the second derivative. As a result of this selection, a two-dimensional binary stereogram image is formed in which only the selected pixels (zero Laplacian points) are black. Two such non-empty composite binary stereogram images (And ' lion , And' rights ) format corresponding to the left and right photo images serve as source material for constructing a binary fragment from them (Fig.28-a), containing only the corresponding zero Laplacian points of the survey scene. The algorithm for constructing such a fragment from the original binary stereopairs is described in [7]. Fig.29 illustrates the implementation of this algorithm using the claimed device on the example of a binary stereo pair, directly taken from [7]. First, a binary 3D image of a cubic format is built (Fig.29-d), blackened by 3D pixels of which all intersections are marked, in which both cameras see a black dot (Fig.29-b, the intermediate stages of construction are shown). Then a binary 3D image is built (Fig.29-g), the blackened 3D pixels of which mark all the intersections in which both cameras see a white dot (Fig.29-e, e shows the intermediate stages of construction). Then these two 3D-images are combined into one (Fig.29-h), which is the source material for the implementation of the algorithm described in [7, p. 67-69]. As a result of the execution of this algorithm, the desired 3D image is obtained (Fig. 29th), the black pixels of which correspond to the corresponding zero points. If this binary 3D image is not empty (Fig. 30-a), its contents are interpolated (discrete models of the surfaces of the objects themselves are constructed from the corresponding 3D pixels [8]), rotated by 45 ° and compressed (Fig. 30-b, c , d) to obtain the necessary rhomboid shape of the fragment . On Fig shows one of the simplest ways to solve the problem of interpolation using the claimed device, when the identified offset pixels (Fig.31-a, b) are first shifted until they leave the fragment , then lines of transport paths are constructed (Fig.31-c), after which empty layers filled with the contents of adjacent non-empty layers in two mutually orthogonal planes (Fig.31 g-i). More precisely, the interpolation problem is solved by analyzing the distribution of the blackness level in the vicinity of the calculated corresponding points [7, 8] on each mono image of the stereo pair. From the obtained rhomboid fragments, a binary 3D image of the overview scene is “collected”. To assemble a binary 3D image of the survey stereo sector, binary 3D images of the scenes included in this stereo sector are first reduced to a single scale, and then assembled into a single 3D image of the survey stereo sector (Figs. 30-d, e). The contents of several panoramic stereo sectors can be combined into one common 3D image up to the construction of a 3D image of the panoramic panorama or 3D image of the entire panoramic sphere. The described model of the scene, synthesized from video data taken from one observation point, only partially reflects the geometry of real objects included in the observed survey scene. This geometric model of the scene can be clarified by superimposing and intersecting the above-described binary 3D-images obtained from different points of the video surveillance of the scene, or in combination with the "feeling" method.
Распознавание трехмерных объектов3D object recognition
Вышеописанный пример СЦЗ робота содержит (в качестве своей подзадачи) задачу распознавания трехмерного объекта заданных размеров, формы и окраски на фотоизображении сцены, снятой видеокамерами робота. Один из способов решения указанной задачи с помощью заявленного устройства состоит в следующем:The above-described example of the SCS of the robot contains (as its subtask) the task of recognizing a three-dimensional object of a given size, shape and color on a photo image of a scene shot by robot cameras. One of the ways to solve this problem using the claimed device is as follows:
1) по исходному полному геометрическому описанию (ПГОО) распознаваемого объекта синтезируются трехмерные и двумерные изображения-эталоны распознаваемого объекта для одного из возможных угловых положений этого объекта в пространстве;1) three-dimensional and two-dimensional image-standards of the recognizable object for one of the possible angular positions of this object in space are synthesized according to the initial full geometric description (PGOO) of the recognized object;
2) плоские эталоны и предварительно обработанное видеоизображение сцены (одно из моноизображений стереопары) приводятся к единому масштабу;2) flat standards and a pre-processed video image of the scene (one of the mono-images of a stereo pair) are brought to a single scale;
3) плоский эталон накладывается на исследуемый участок видеоизображения и попиксельно сравнивается с ним;3) a flat standard is superimposed on the studied area of the video image and is compared pixel by pixel;
4) в случае совпадения плоского эталона и исследуемого участка, найденный участок сравнивается с более сложным плоским эталоном распознаваемого объекта с той же угловой ориентацией, но содержащим в себе большее число признаков распознаваемого объекта. Этот процесс повторяется до совпадения исследуемого участка с самым сложным плоским эталоном распознаваемого объекта с той же угловой ориентацией;4) in the case of a coincidence of the flat standard and the investigated area, the found area is compared with a more complex flat standard of the recognized object with the same angular orientation, but containing a larger number of features of the recognized object. This process is repeated until the studied area coincides with the most complex flat standard of the recognized object with the same angular orientation;
5) в случае несовпадения с любым из плоских эталонов исследуемый участок видеоизображения исключается из последующего анализа со всеми другими эталонами, построенными для данной угловой ориентации объекта, и исследуемый участок заменяется на другой участок видеоизображения;5) if there is a discrepancy with any of the flat standards, the studied section of the video image is excluded from the subsequent analysis with all other standards built for a given angular orientation of the object, and the studied section is replaced with another section of the video image;
6) если исследуемые участки 2D-изображения исчерпаны, строятся новые трехмерные и двумерные изображения-эталоны распознаваемого объекта, но уже с другим угловым положением объекта в пространстве, после чего вышеописанный процесс распознавания повторяется;6) if the studied areas of the 2D image are exhausted, new three-dimensional and two-dimensional image standards of the recognized object are built, but with a different angular position of the object in space, after which the above recognition process is repeated;
7) если все угловые положения распознаваемого объекта (из числа возможных) исчерпаны, процедура распознавания с использованием плоских эталонов считается законченной.7) if all the angular positions of the recognized object (from among the possible) have been exhausted, the recognition procedure using flat standards is considered complete.
Данный алгоритм использует все достоинства блока 2, входящего в состав заявленного устройства, а именно высокую скорость выполнения в нем локальных операций, операций поворота, изменения масштаба, теоретико-множественных операций, процедур определения площади, объема, КЗБИ за счет глубокого распараллеливания этих операций и процедур в устройстве. Время выполнения данного алгоритма конечно, поскольку спектр угловых положений 3D-пиксельной модели распознаваемого объекта конечен. При этом, чем ниже разрешение модели, тем меньшее число пространственных углов входит в этот спектр (но тем меньшее число геометрических признаков распознаваемого объекта содержится в модели). По этой причине в начале цикла распознавания используются плоские эталоны А×А, имеющие небольшое разрешение (а значит, небольшой спектр углов поворота распознаваемого объекта) и содержащие в себе небольшое число геометрических признаков распознаваемого объекта. Назначение этих эталонов - за минимальное время предельно сократить число участков фотоизображения и пространственных углов распознаваемого объекта, претендующих на более подробный анализ, не упустив ни одного из потенциальных участков-претендентов для такого анализа. Для повышения скорости просмотра видеоизображения вместо изображения-эталона А×А целесообразно использовать мультиплицированное изображение-эталон , полученное путем размножения А раз бинарного изображения-эталона А×А (фиг.33-ж). В процессе просмотра всего фотоизображения мультиплицированный эталон остается неподвижным относительно матрицы 35 (работающей в режиме ), а видеоизображение пошагово сдвигается внутри матрицы 35 в направлении строк (или столбцов), обеспечивая поочередную сменяемость одного анализируемого участка фотоизображения другим. Если в результате сравнения хотя бы один из фрагментов А×А полностью совпадет с содержимым анализируемого участка видеоизображения, на изображении-результате сравнения этот фрагмент А×А окажется пустым, и блок управления сразу (по коду КЗБИ) определит факт такого совпадения (фиг.33-з) и определит положение указанного фрагмента А×А внутри процессорной матрицы 35 (а значит и на фотоизображении). Найденный участок подвергнется более тщательному анализу с использованием более сложных эталонов распознаваемого объекта с той же угловой ориентацией. Все используемые эталоны синтезируются из исходного полного геометрического описания распознаваемого объекта (ПГОО). До выполнения процедуры распознавания ПГОО хранится в сжатом упакованном виде частично в памяти 18, частично в памяти 37. Объем, форма представления, а также способ хранения ПГОО внутри заявленного устройства должны обеспечивать возможность высокоскоростного построения по этому описанию любого из используемых изображений-эталонов нужного разрешения и размерности (с учетом аппаратно-программных возможностей заявленного устройства). Если геометрия объекта описывается небольшим числом простых примитивов (отрезков, параллелепипедов и т.п., синтез которых не требует хранения бинарных фрагментов А×А в памяти изображений), построение всего эталона-изображения состоит в предварительном синтезе 3D-изображений отдельных трехмерных примитивов с заданной угловой ориентацией и последующей сборке из них (путем перемещения примитивов) 3D-изображения модели всего объекта. В этом случае ПГОО - это всего лишь программный код для синтеза примитивов и последующей сборки из них 3D-изображения всего распознаваемого объекта (с нужным разрешением и угловой ориентацией). Для объектов, описываемых примитивами сложной геометрической формы, в состав ПГОО может быть включено одно или несколько вспомогательных изображений А×А, с помощью которых синтезируются эти примитивы. И наконец, в случае объекта, совершенно неподдающегося описанию небольшим числом примитивов, ПГОО хранится в памяти 37 в виде самих бинарных 3D-изображений, разбитых на отдельно адресуемые фрагменты А×А×1. Если исследуемый участок моноизображения удовлетворяет всем признакам распознаваемого объекта, содержащимся во всех плоских эталонах, процедура распознавания может быть ужесточена проведением процедуры сравнения трехмерного изображения-эталона распознаваемого объекта (с найденной угловой ориентацей) с трехмерной моделью найденного участка сфотографированной сцены (при этом эта сравниваемая 3D-модель участка сцены формируется в результате обработки стереопары сцены одним из вышеописанных способов).This algorithm uses all the advantages of
Принципы применения заявленного устройства для решения задачи распознавания проиллюстрируем на примере распознавания кружки, имеющей заданную форму, габариты и окраску. Угловая ориентация кружки на сцене может быть произвольной. Пусть форма тела кружки и рисунок-орнамент на ее внешней поверхности описываются ПГОО, в которое входят (фиг.32):The principles of using the claimed device for solving the recognition problem are illustrated by the example of recognition of a mug having a given shape, size and color. The angular orientation of the circle on the stage can be arbitrary. Let the body shape of the mug and the decorative pattern on its outer surface be described by the PSU, which includes (Fig. 32):
1) бинарное изображение И1 формата А×А, содержащее элементы-заготовки, ускоряющие процесс построения трехмерной геометрической модели кружки (фиг.32-а);1) a binary image I1 of A × A format containing blanks that accelerate the process of constructing a three-dimensional geometric model of a circle (Fig. 32-a);
2) бинарное изображение И2 формата А×А, содержащее 2D-проекцию 3D-модели рисунка-орнамента («сердечко») на некоторую заданную плоскость (фиг.32-а);2) a binary image I2 of A × A format containing a 2D projection of a 3D model of an ornament pattern (“heart”) onto a given plane (FIG. 32-a);
3) программный код для сборки 3D-модели тела и рисунка-орнамента кружки по И1, И2.3) program code for assembling a 3D model of the body and a pattern-ornament of a circle according to I1, I2.
Процесс построения изображений-эталонов включает следующие последовательно выполняемые операции:The process of building reference images includes the following sequentially performed operations:
1) из 2D-изображения И1 извлекаются отдельные элементы-заготовки (фиг.32-б,в), т.е. для каждого элемента-заготовки строится свое бинарное изображение формата А×А;1) individual blank elements are extracted from the 2D image I1 (Fig. 32-b, c), i.e. each binary element has its own binary image of A × A format;
2) по извлеченным плоским элементам-заготовкам строятся мелкие трехмерные фрагменты дискретной модели тела кружки (фиг.32-г);2) small three-dimensional fragments of a discrete model of the body of a circle are constructed from the extracted flat elements-blanks (Fig. 32-g);
3) из мелких трехмерных фрагментов собираются крупные фрагменты дискретной 3D-модели тела кружки (фиг.32-д,е,ж);3) large fragments of a discrete 3D model of the body of a circle are assembled from small three-dimensional fragments (Fig. 32-d, f, g);
4) из крупных трехмерных фрагментов собирается вся 3D-модель тела кружки (фиг.32-з,и);4) from the large three-dimensional fragments, the entire 3D model of the body of the circle is assembled (Fig. 32-z, and);
5) строится 3D-модель рисунка-орнамента путем проецирования изображения И2 на внешнюю поверхность ранее построенной 3D-модели тела кружки (фиг.32-л);5) a 3D model of the pattern-ornament is built by projecting the I2 image on the outer surface of the previously constructed 3D model of the body of the circle (Fig. 32-l);
6) полученные два бинарных 3D-изображения (3D-модель тела кружки и 3D-модель ее рисунка-орнамента), содержащие все геометрические признаки распознаваемой кружки, расшиваются (как описано в прототипе) на отдельные фрагменты А×А×А и в расшитом виде хранятся в течение всего периода распознавания кружки (фиг.32-м);6) the resulting two binary 3D images (3D model of the body of the mug and a 3D model of its pattern-ornament) containing all the geometric features of the recognizable mug are embroidered (as described in the prototype) into separate fragments A × A × A and in an expanded form stored during the entire period of recognition circles (Fig.32-m);
7) содержимое расшитых фрагментов 3D-моделей тела кружки и ее рисунка-орнамента сначала поворачивают (как описано в прототипе) на угол αi вокруг центральных осей Ох этих фрагментов А×А×А, затем на угол βj вокруг центральных осей Оу и на угол γk вокруг центральных осей Oz фрагментов А×А×А (фиг,32-н);7) the contents of the embroidered fragments of 3D models of the body of the circle and its pattern-ornament are first rotated (as described in the prototype) at an angle α i around the central axes Ox of these fragments A × A × A, then at an angle β j around the central axes Oy and the angle γ k around the central axes Oz of fragments A × A × A (FIG. 32-n);
8) из повернутого содержимого фрагментов сшиваются 3D-модель тела кружки и 3D-модель ее рисунка-орнамента с (α1, β1, γ1-угловой ориентацией (фиг.32-о);8) from the rotated contents of the fragments, a 3D model of the body of the circle and a 3D model of its pattern-ornament with (α 1 , β 1 , γ 1 angular orientation (Fig. 32-o) are sewn;
9) по 3D-модели тела кружки с (αi, βj, γk)-угловой ориентацией и известному направлению освещения строится 3D-модель затененной поверхности кружки (направление освещения определяется либо с помощью специальных фотодатчиков, либо в результате анализа фотоснимка освещенного тела, геометрия и координаты которого роботу априорно известны, например пальца робота). Только 3D-пиксели, принадлежащие затененной поверхности кружки, имеют на этом бинарном 3D-изображении черный цвет (фиг.33-а) светлой стрелкой показано направление моделируемого освещения);9) a 3D model of the shaded surface of the circle is constructed using the 3D model of the body of the mug with the (α i , β j , γ k ) -angle orientation and the known direction of illumination (the direction of illumination is determined either using special photo sensors or as a result of analyzing a photograph of the illuminated body whose geometry and coordinates are a priori known to the robot, for example, the finger of the robot). Only 3D pixels belonging to the shaded surface of the circle have black color in this binary 3D image (Fig. 33-a) the direction of the simulated lighting is shown by the light arrow);
10) анализируя состояние соседних пикселей для каждого черного 3D-пикселя полученной 3D-модели затененной поверхности кружки, формируется бинарное 3D-изображение контура затененной поверхности кружки, все черные 3D-пиксели которого являются центрами кривизны затененной поверхности кружки, т.е. в которых значение кривизны превышает заданный порог (значение кривизны пикселя на SD-модели затененной поверхности кружки определяется путем анализа числа и расположения его ближайших соседних черных пикселей);10) by analyzing the state of neighboring pixels for each black 3D pixel of the obtained 3D model of the shaded surface of the circle, a binary 3D image of the contour of the shaded surface of the circle is formed, all black 3D pixels of which are the centers of curvature of the shaded surface of the circle, i.e. in which the curvature value exceeds a predetermined threshold (the pixel curvature value on the SD model of the shaded surface of a circle is determined by analyzing the number and location of its nearest neighboring black pixels);
11) пошагово проецируя 3D-модель контура тени (КТН) на плоскость, имеющую изначально белый цвет, и пошагово вычитая из полученной проекции контура текущую проекцию 3D-модели тела кружки (предварительно сдвинутую на 1 шаг по направлению проецирования) на эту же плоскость, строится плоская проекция контура тени (ПКТНБ) кружки с (αi, βj, γk)-угловой ориентацией на белом фоне с удаленными невидимыми линиями и поверхностями (фиг.33-б);11) step by step projecting the 3D model of the shadow outline (CTN) onto a plane that is initially white, and subtracting from the resulting projection of the path the current projection of the 3D model of the body of the circle (previously shifted by 1 step in the direction of projection) onto the same plane, a flat projection of the shadow outline (PKTNB) circles with (α i , β j , γ k ) -angle orientation on a white background with removed invisible lines and surfaces (Fig.33-b);
12) действия п.11 повторяются, но с применением изначально черной плоскости проецирования, в результате строится проекция контура затененной поверхности (ПКТНЧ) кружки с (αi, βj, γk)-угловой ориентацией на черном фоне с удаленными невидимыми линиями и поверхностями (фиг.33-в);12) the actions of
14) путем выполнения теоретико-множественной операции РК=ПКТНБ ∩ ПКТНЧ формируется 2D-изображение РК, состоящее только из элементов контура, которые являются общими и для ПКТНБ, и для ПКТНЧ (фиг.33-г). Изложенный алгоритм распознавания содержит в себе операции проецирования одного объекта на другой. Общий принцип реализации в заявленном устройстве операции проецирования покажем на примере проецирования контура дискретной 3D-модели одного объекта (фиг.34-б, в, и, л) на поверхность дискретной 3D-модели другого объекта (фиг.34-а,ж,з). Такое проецирование заключается в многократном выполнении следующего цикла:14) by performing the set-theoretic operation RK = PKTNB ∩ PKTNF, a 2D image of the PK is formed, consisting only of contour elements that are common to both FCTNB and FCTNF (Fig. 33-g). The recognition algorithm outlined contains the operations of projecting one object onto another. The general principle of implementation of the projection operation in the claimed device is shown by the example of projecting the contour of a discrete 3D model of one object (Fig. 34-b, c, and, l) onto the surface of a discrete 3D model of another object (Fig. 34-a, g, h ) Such a projection consists in repeatedly performing the following cycle:
1) выполняется теоретико-множественная операция «вычитание множества Т из множества Р»: , где Р - бинарное позитивное 3D-изображение проекции, построенной на предыдущем цикле (изначально Р - множество пустое, т.е. «белое»), Т - бинарное позитивное 3D-изображение тела проецируемого объекта (в результате этой операции 3D-пиксели, являющиеся по местоположению общими как для проецируемой поверхности, так и для тела Т, окрашиваются в белый цвет, т.е рисунок-орнамент, построенный на предыдущем цикле, на этом участке проецируемой поверхности стирается);1) the set-theoretic operation “subtracting the set T from the set P” is performed: where P is a binary positive 3D image of the projection built on the previous cycle (initially P is the set is empty, that is, “white”), T is a binary positive 3D image of the body of the projected object (as a result of this operation 3D pixels, which are common by location both for the projected surface and for the body T, are painted white, that is, the design pattern built on the previous cycle is erased on this section of the projected surface);
2) выполняется теоретико-множественная операция Р=П ∩ K∪P, где К - бинарное позитивное 3D-изображение контура проецируемого объекта, П - бинарное позитивное 3D-изображение тела поверхности проецирования;2) the set-theoretic operation P = P ∩ K∪P is performed, where K is a binary positive 3D image of the contour of the projected object, P is a binary positive 3D image of the body of the projection surface;
3) изображения К и Т сдвигаются на 1 шаг по направлению проецирования (фиг.34-г,д);3) images K and T are shifted by 1 step in the direction of projection (Fig. 34-g, d);
4) если Т не вышло за границы своего формата, выполняется переход к п.1, в противном случае - проецирование закончено.4) if T has not gone beyond the bounds of its format, the transition to step 1 is performed; otherwise, projection is completed.
По окончании проецирования черными будут только те пиксели поверхности проецирования, которые хотя бы раз пересекались с перемещаемым контуром объекта и в последующем не были стерты моделью тела объекта.At the end of the projection, only those pixels of the projection surface that at least once intersected with the moving contour of the object and subsequently were not erased by the model of the body of the object will be black.
Высокая скорость выполнения в заявленном устройстве:High speed of execution in the claimed device:
- ввода сенсорной информации;- input sensory information;
- синтеза трехмерных моделей окружающих объектов и текущей модели самого робота,- synthesis of three-dimensional models of surrounding objects and the current model of the robot itself,
- анализа пространственных сцен,- analysis of spatial scenes,
- управления датчиками и сервоприводами,- control sensors and servos,
позволяют роботу, оборудованному данным устройством, легко ориентироваться в пространстве, оперативно сверять свое текущее положение на маршруте движения, строить собственные двумерные и трехмерные навигационные карты, выбирать наиболее оптимальные маршруты перемещения.allow the robot equipped with this device to easily navigate in space, quickly verify its current position on the route of movement, build its own two-dimensional and three-dimensional navigation maps, choose the most optimal travel routes.
Таким образом, по сравнению с прототипом заявленное устройство позволяет расширить функциональные возможности устройства, повысить приспособляемость робототехнической системы к окружающей среде, увеличить скорость, надежность и маневренность, уменьшить массу и габариты. Быстродействие и небольшие габариты устройства дают возможность создать на его основе относительно недорогие очувствленные роботы с чрезвычайно высокой степенью автономности, что, в свою очередь, позволит автоматизировать сферы человеческой деятельности, в настоящее время не подлежащие автоматизации.Thus, in comparison with the prototype of the claimed device allows you to expand the functionality of the device, increase the adaptability of the robotic system to the environment, increase speed, reliability and maneuverability, reduce weight and dimensions. The speed and small dimensions of the device make it possible to create relatively inexpensive sensed robots with an extremely high degree of autonomy on its basis, which, in turn, will automate spheres of human activity that are currently not subject to automation.
ИСТОЧНИКИ ИНФОРМАЦИИINFORMATION SOURCES
1. Патент на изобретение №2187832.1. Patent for the invention No. 2187832.
2. Авт. свид. СССР №1456955. Устройство для параллельной обработки трехмерных сцен.2. Auth. testimonial. USSR No. 1456955. Device for parallel processing of three-dimensional scenes.
3. Авт. свид. СССР №1612307. Устройство для параллельной обработки трехмерных сцен.3. Auth. testimonial. USSR No. 1612307. Device for parallel processing of three-dimensional scenes.
4. Авт. свид. СССР №1817108. Устройство обработки изображений.4. Auth. testimonial. USSR No. 1817108. Image processing device.
5. Авт. свид. СССР №1817109. Устройство для параллельной обработки трехмерных сцен.5. Auth. testimonial. USSR No. 1817109. Device for parallel processing of three-dimensional scenes.
6. Патент на изобретение №2289161. Устройство обработки двухмерных и трехмерных изображений.6. Patent for the invention No. 2289161. Device for processing two-dimensional and three-dimensional images.
7. Поджио Т. Зрение человека и технические системы видения. Журнал «В мире науки». 1984, № 6, стр.58-69.7. Poggio T. Human Vision and Technical Vision Systems. The magazine "In the world of science." 1984, No. 6, pp. 58-69.
8. Хорн Б.К. Зрение роботов. М.: Мир, 1989.8. Horn B.K. Vision robots. M .: Mir, 1989.
9. Уитби Б. Искусственный интеллект: реальна ли Матрица. М.: ФАИР-ПРЕСС, 2004 (стр.98-103).9. Whitby B. Artificial Intelligence: Is the Matrix Real? M .: FAIR-PRESS, 2004 (p. 98-103).
10. Колмогоров А.Н., Фомин С.В. Элементы теории функций и функционального анализа. - М.: Наука, 1981 г.10. Kolmogorov A.N., Fomin S.V. Elements of function theory and functional analysis. - M.: Science, 1981.
11. Выгодский М.Я. Справочник по высшей математике. М.: Наука, 1973 г.11. Vygodsky M.Ya. Handbook of Higher Mathematics. M .: Nauka, 1973
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008147160/02A RU2424105C2 (en) | 2008-11-28 | 2008-11-28 | Device for controlling autonomous robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008147160/02A RU2424105C2 (en) | 2008-11-28 | 2008-11-28 | Device for controlling autonomous robot |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008147160A RU2008147160A (en) | 2010-06-10 |
RU2424105C2 true RU2424105C2 (en) | 2011-07-20 |
Family
ID=42681124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008147160/02A RU2424105C2 (en) | 2008-11-28 | 2008-11-28 | Device for controlling autonomous robot |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2424105C2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2534924C2 (en) * | 2013-03-29 | 2014-12-10 | Негосударственное образовательное учреждение высшего профессионального образования Московский институт предпринимательства и права | Device for simulation of decision making under uncertainty |
RU2550536C2 (en) * | 2013-09-05 | 2015-05-10 | Открытое Акционерное Общество "Пензенский Научно-Исследовательский Электротехнический Институт" (Оао "Пниэи") | Method for automated control of robotic means via radio link |
RU2557085C1 (en) * | 2014-05-28 | 2015-07-20 | Общество с ограниченной ответственностью "Подводгазэнергосервис" | Apparatus for controlling robotic vehicle |
RU2705049C1 (en) * | 2019-02-05 | 2019-11-01 | Егор Валерьевич Бимаков | High-adaptive autonomous mobile robot control device |
RU2740229C1 (en) * | 2020-03-19 | 2021-01-12 | Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" | Method of localizing and constructing navigation maps of mobile service robot |
RU213896U1 (en) * | 2021-12-30 | 2022-10-04 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Поволжский государственный технологический университет" | Information robotic structure control device |
-
2008
- 2008-11-28 RU RU2008147160/02A patent/RU2424105C2/en not_active IP Right Cessation
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2534924C2 (en) * | 2013-03-29 | 2014-12-10 | Негосударственное образовательное учреждение высшего профессионального образования Московский институт предпринимательства и права | Device for simulation of decision making under uncertainty |
RU2550536C2 (en) * | 2013-09-05 | 2015-05-10 | Открытое Акционерное Общество "Пензенский Научно-Исследовательский Электротехнический Институт" (Оао "Пниэи") | Method for automated control of robotic means via radio link |
RU2557085C1 (en) * | 2014-05-28 | 2015-07-20 | Общество с ограниченной ответственностью "Подводгазэнергосервис" | Apparatus for controlling robotic vehicle |
RU2705049C1 (en) * | 2019-02-05 | 2019-11-01 | Егор Валерьевич Бимаков | High-adaptive autonomous mobile robot control device |
RU2740229C1 (en) * | 2020-03-19 | 2021-01-12 | Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" | Method of localizing and constructing navigation maps of mobile service robot |
RU2803718C2 (en) * | 2021-08-05 | 2023-09-19 | Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" | Amenable differential hinge of the manipulator with torque sensing |
RU213896U1 (en) * | 2021-12-30 | 2022-10-04 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Поволжский государственный технологический университет" | Information robotic structure control device |
RU216504U1 (en) * | 2022-12-13 | 2023-02-10 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Поволжский государственный технологический университет" | Sound-reproducing robotic structure control device |
Also Published As
Publication number | Publication date |
---|---|
RU2008147160A (en) | 2010-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210081055A1 (en) | Method and System for Hand Pose Detection | |
RU2424105C2 (en) | Device for controlling autonomous robot | |
Ding et al. | Sim-to-real transfer for optical tactile sensing | |
CN110298854B (en) | Flight snake-shaped arm cooperative positioning method based on online self-adaption and monocular vision | |
JP6915605B2 (en) | Image generator, robot training system, image generation method, and image generation program | |
CN108284436B (en) | Remote mechanical double-arm system with simulation learning mechanism and method | |
WO2014190208A2 (en) | Methods and apparatus for early sensory integration and robust acquisition of real world knowledge | |
CN113379904B (en) | Hidden space motion coding-based multi-person human body model reconstruction method | |
US12062245B2 (en) | System and method for real-time creation and execution of a human digital twin | |
US10970849B2 (en) | Pose estimation and body tracking using an artificial neural network | |
RU2308764C2 (en) | Method for moving a virtual jointed object in virtual space with prevention of collisions of jointed object with elements of environment | |
Zhu et al. | Autonomous reinforcement control of visual underwater vehicles: Real-time experiments using computer vision | |
Murhij et al. | Hand gestures recognition model for Augmented reality robotic applications | |
CN117456124A (en) | Dense SLAM method based on back-to-back binocular fisheye camera | |
Lončarević et al. | Combining reinforcement learning and lazy learning for faster few-shot transfer learning | |
Singh | Curve based approach for shape reconstruction of continuum manipulators | |
RU2705049C1 (en) | High-adaptive autonomous mobile robot control device | |
Schulze et al. | High-Degrees-of-Freedom Dynamic Neural Fields for Robot Self-Modeling and Motion Planning | |
Solovyeva et al. | Controlling system based on neural networks with reinforcement learning for robotic manipulator | |
Chen et al. | A flexible mixed reality simulation framework for software development in robotics | |
Tekden et al. | Neural field movement primitives for joint modelling of scenes and motions | |
Tapia et al. | Cognitive neural network driving DoF-scalable limbs in time-evolving situations | |
Fourmy | State estimation and localization of legged robots: a tightly-coupled approach based on a-posteriori maximization | |
Thompson | Integration of visual and haptic feedback for teleoperation | |
CN114952854B (en) | Human body collision object docking method and system based on man-machine cooperation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20161129 |