RU2424105C2 - Device for controlling autonomous robot - Google Patents

Device for controlling autonomous robot Download PDF

Info

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
Application number
RU2008147160/02A
Other languages
Russian (ru)
Other versions
RU2008147160A (en
Inventor
Валерий Александрович Бимаков (RU)
Валерий Александрович Бимаков
Егор Валерьевич Бимаков (RU)
Егор Валерьевич Бимаков
Original Assignee
Валерий Александрович Бимаков
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Валерий Александрович Бимаков filed Critical Валерий Александрович Бимаков
Priority to RU2008147160/02A priority Critical patent/RU2424105C2/en
Publication of RU2008147160A publication Critical patent/RU2008147160A/en
Application granted granted Critical
Publication of RU2424105C2 publication Critical patent/RU2424105C2/en

Links

Images

Landscapes

  • Manipulator (AREA)
  • Multi Processors (AREA)

Abstract

FIELD: physics, robotics.
SUBSTANCE: invention relates to robotics. According to the invention, all information processing steps (receiving data from servo drives and sensors, synthesis of models of surrounding objects based on the received data, analysis of synthesised models, identification of objects, generation and transmission of signals for controlling servo drives and sensor matrices) are performed with high degree of parallelism. The device employs a scene processing program technique when the role of elementary operands is assumed by entire two-dimensional and three-dimensional images. Along with reduction in volume of program codes, such a technique enables to create programs which are invariant with respect to the geometrical shape and spatial position of the processed models of objects. The main kernel which determines overall performance of the device is: an A×A×A (where A=n2, n≥2 - an integer) uniform processor array with a large number of inter-processor connections, which model geometric transformation of rotation, transfer and compression over binary 2D and 3D images.
EFFECT: high adaptability of a robot system to external conditions, high speed, manoeuvrability and reliability of the robot, reduced weight, size and cost of the entire robot system.
38 dwg

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.

В отличие от вышерассмотренного аналога обработка информации в прототипе представляет собой обычный последовательный алгоритмический процесс, когда поступившая в устройство информация обрабатывается последовательно команда за командой, процедура за процедурой. Такой традиционный подход позволяет глубже проанализировать внутреннее состояние робота и обстановку, его окружающую, дает возможность применить мощный арсенал уже известных математических методов, запросить (при необходимости) недостающую дополнительную информацию, а не просто довериться выводам, сделанным нейросистемой, обученной в подобных, но все же других условиях. Однако в отличие от большинства известных ЭВМ, работающих по этому принципу, в прототипе выполнение отдельных (наиболее часто используемых) операций и процедур над плоскими изображениями и пространственными сценами осуществляется с высокой степенью распараллеливания, когда функцию операндов выполняют не отдельные двоичные слова, а целые двумерные

Figure 00000001
или трехмерные (А×А×А) фрагменты бинарных изображений, что ускоряет процесс обработки информации, позволяет предложить новые способы обработки, не зависящие от геометрической сложности обрабатываемых сцен. Прототип позволяет: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
Figure 00000001
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 при повороте квадрата

Figure 00000002
отображается в квадратик 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
Figure 00000002
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 × cube 1 × 1 when modeling the specified transformation about it is mapped into a 1 × 1 × 1 cube corresponding to the (i, j, k) processor, an additional clock generator is introduced, consisting of a pulse generator, two two-input AND circuits, an address counter with an address reset circuit, read-only memory and a decoder, generator output pulses are connected to the first input of the first circuit And, the output of which is connected to the counting input of the address counter, whose information outputs are connected to the address inputs of the permanent memory, the output of the address reset circuit is connected to the reset input of the address counter, the outputs of the permanent memory connected to the inputs of the decoder of the clock generator, as well as the inputs of the decoder, which is part of the entered decryption circuit, containing the decoder and five two-input circuits AND, the information inputs of which are connected to the same outputs of this decoder, and the control outputs are connected to the output of the second element AND of the clock generator, the inverse input of which is connected to the output of the decoder of the signal conditioner, and the direct input is connected to the output of the first bit of the address counter, in the programmable address p, an additional trigger is introduced, the direct output of which is connected to the second input of the first circuit AND of the shaper (6) of the clock signals, the inverse output is connected to the input of the program interrupt request of the central control processor, and the reset input is connected to the output of the reset circuit of the counter of the address of the clock shaper, in addition, of each i-th servo-drive of the robot, the i-th local servo controller and the i-th central servo controller are introduced, interconnected by a common wired connection of the i-th servo, while the local The th servo controller contains a shift register-receiver of the action code, a parallel register, a shift register-transmitter of the result code, a two-input key, the information input of which is connected to the information serial output of the register-transmitter of the result code, the control input is connected to the fifth output of the decoder, which is part of the circuit decryption, and the output is connected to a common wire connection of the i-th servo, the serial information input of the shift register-receiver of the exposure code is connected to wired connection of the i-th servo drive, the control input is connected to the output of the first circuit And the decryption circuit, and the parallel information outputs are connected to the parallel inputs of the same name, the information outputs of which are connected to the same information inputs of the digital-to-analog converter of the i-th servo unit, the parallel information inputs of the shift the register-transmitter of the result code are connected to the outputs of the same name of the position sensor of the adjustable organ of the i-th servo drive unit, the first control the input input is connected to the output of the fourth decryption circuit AND, the second control input is connected to the output of the fifth decryption circuit And I, the central controller of the i-th servo drive contains a shift register-transceiver of the action code, a shift register-transceiver of the result code, two two-input keys, two two-input AND circuits, two two-input OR circuits, while the serial information input of the register of the transceiver of the exposure code is connected to the ith information input of the processor matrix A × A × A, and its the research information output is connected to the information input of the first key, the control input of which is connected to the first output of the decoder of the decryption circuit, and the three-stable output is connected to the common wire connection of the i-th servo, the first input of the first circuit And is connected to the output of the entered decoder of the IP address, and the second input connected to the control output of the control unit, and the output connected to the first input of the first OR circuit, the second input of which is connected to the output of the first circuit AND decryption schemes, and the output is connected to the control input the house of the register of the transceiver of the exposure code, the serial information input of the register of the transceiver of the result code is connected to the common wire connection of the i-th servo, and its serial information output is connected to the information input of the second key, the control input of which is connected to the ninth output of the KUVM decoder, and a three-stable output connected to the i-th information input of the matrix A × A × A processors, the first input of the second circuit And is connected to the control input of the second key, its second input is connected to the second the input of the first AND circuit, and the output is connected to the first input of the second OR circuit, the second input of which is connected to the output of the fifth AND circuit of the decryption circuit, and the output is connected to the control input of the register-transceiver of the result code, each k-th group of threshold sensors of the robot is made in the form A × A sensor matrix, consisting of A 2 sensor sensors and A 2 two-input comparators, the first inputs of which are connected to the outputs of the sensor sensors of the same name, and the second inputs are connected to each other; there are A A input circuits OR and A (A + 1) input multiplexers, and the nth input of the mth A input circuit OR is connected to the output of the nth comparator of the mth row of the kth group of threshold sensors, and the output is connected to the (A + 1) -th input of the m-th (A + 1) -input multiplexer, the s-th information input (where s = 1 ... A) of the j-th (A + 1) -input multiplexer is connected to the output of the s-th comparator of the j-th column of the k-th group of threshold sensors, introduced the local controller of the k-th sensor matrix (CM) and the central controller of the k-th SM, connected by a common wired connection of the k-th SM, with each local con the roller contains a shift control register, the parallel outputs of which are connected to the information inputs of the control register, an A-bit shift data register, a two-input key, the information input of which is connected to the information serial output of the data register, the control input is connected to the fifth output of the decoder of the decryption circuit, and the output is connected with a common wire connection of the k-th SM, the serial information input of the shift control register is connected to a common wire connection of the k-th SM, and I control it s input connected to the output of the first AND circuit decoding scheme.

В отличие от прототипа заявленное устройство позволяет одновременно управлять большим числом сервоприводов робота и большим числом его сенсорных датчиков благодаря использованию для этих целей средств параллельной обработки информации, использующихся в прототипе только для обработки изображений. В отличие от прототипа производительность, надежность, габариты и масса устройства в значительно меньшей степени зависят от числа сенсорных датчиков и длины проводников, связывающих входы процессорной матрицы с выходами датчиков, за счет использования последовательного способа передачи информации между датчиками и блоком БОХВИ, поскольку основной процесс передачи информации между удаленной периферией (датчиками и сервоприводами) робота и его устройством управления осуществляется без участия процессорной матрицы А×А×А. Это позволяет удлинить связные кабели без снижения тактовой частоты управления матрицей А×А×А и тем самым расширить функциональные возможности робота (расширить рабочую зону, увеличить площадь и удаленность очувствленных участков, повысить маневренность). Кроме того, в отличие от прототипа заявленное устройство содержит средства предварительной обработки осязательной информации, проводимой непосредственно на месте установки сенсорных матриц без участия вычислительных средств прототипа, что позволяет передавать по линиям связи не всю информацию с датчиков в процессорную матрицу А×А×А, а только ее наиболее интересную часть, касающуюся возбужденных датчиков. При этом выполнение большинства вычислений, входящих в цикл управления роботом (обработка сигналов с датчиков, построение модели внешней среды, определение координат частей робота, вычисление траектории их движения, вычисление значений управляющих сигналов, регулирование сервоприводами) осуществляется с использованием одних и тех же вычислительные средств. Это удешевляет устройство, снижает его габариты и стоимость.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° плоских бинарных изображений

Figure 00000003
. На фиг.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 cubic pixels 1 × 1 × 1 of the cube A × A × A and shows the position of the main coordinate axes. 6 illustrates a method for implementing one-step transfer and rotation of 90 ° flat binary images in a device
Figure 00000003
. In Fig.7 shows a method of constructing segments of a spherical surface (BSC). On Fig shows a variant of a hardware-implemented basis of sampling mappings that simulate spatial rotation. Fig.9 explains the principle of modeling the rotation of three-dimensional binary composite images by an angle of multiple 90 °. Figures 10, 11 explain the principle of modeling the rotation of two-dimensional binary composite images by an angle of multiple 90 °. 12, 13 explain the principle of embedding and stitching two-dimensional and three-dimensional composite images when modeling turns of the contents of these images. Fig. 14 illustrates a software compression implementation of an A × A × A binary image with respect to a plane parallel to the face of this image. On Fig shows one of the possible designs of the "skeleton" of an autonomous robot. On Fig shows the variants of the method of sensing the limbs of the robot using sensor matrices (CM). On Fig shows a timing diagram of the operation of the signal conditioner. Fig.18, 19 explain the principle of determining the current position of the elements of the limb of the robot. Fig.20 explains the principle of constructing the current 3D-pixel model of the body of the robot and the principle of analyzing the position of this model relative to elements of the current 3D-pixel model of the surrounding area. 21 shows a 2D pixel model of the body of a humanoid robot and a 3D pixel model of the body of a brush humanoid. On Fig explains the principle of detection and elimination of the threat of loss of stable equilibrium in a humanoid robot. 23 illustrates the relationship between the 2D pixel in the photo image and the 3D pixel of the photographed space. On Fig shows a variant of the video system of the robot-humanoid. On Fig shows a survey sphere of the robot and its overview sectors. On Fig shows an overview scene of the robot and its fragments. Fig.27, 28 explain a method of realizing photo smoothing in a device. Fig. 29 illustrates the execution of the Poggio algorithm for detecting corresponding 3D pixels from stereo images. 30, 31 illustrate a method for constructing the contents of overview scenes and overview sectors from the found corresponding 3D pixels. 32, 33, 34 illustrate a recognition algorithm of a three-dimensional object in a flat photo image. On Fig depicts the appearance of the device with a processor matrix of 9 × 9 × 9 and a variant of its location inside the humanoid robot. On Fig depicts the internal composition of the node determine the volume and the shaper code fill binary images. On Fig shows a functional diagram of a variant of the node input image. On Fig shows the composition of the word switch and the composition of the image memory.

Устройство состоит из блока 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 control unit 1; block 2 image processing, local controllers 3 servos, local controllers 4 sensor matrices, sensor matrices 5 format A × A, shaper 6 clock signals. Block 1 includes a central control processor 7 with a microword register 8 and programmable registers 9, 10, 11, 12, 13, 14, 15, 16, 17, program and data memory 18, controllers 19 of external devices 20, multiplexer 21 local memory addresses, elements 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 And, trigger 32, delay element 33. Communication of block 1 with external devices is carried out via interface 34. Block 2 consists of a matrix 35 processors 36, image memory 37, layer moving switch 38, volume determining unit 39, bin fill code generator 40 full image (KZBI), nodes 41 photo input, switch 42 words, central controllers 43 servos, central controllers 44 sensor matrices. The code for controlling the inputs of the matrix 35 is decrypted by the decoder 45. Each controller 3 is connected to the adjustable and regulating organs of a separate servo drive 46 of the robot. Each controller 4 is connected to the sensor matrix 47 of the robot. The switch 38 includes a first matrix 48 (A × A) and a second matrix 49 (A × A) of one-bit buffer memory nodes, a layer rotation switch 50 A × A × 1, a matrix 51 (A × A) of cyclic transfer keys, a matrix 52 (A × A) 3D shift keys, matrix 53 (A × A) 2D shift keys. Each processor 36 consists of a local memory 54, a single-bit register 55 of the first operand, a single-bit register 56 of the second operand, a single-bit register 57 of the volume, a key 58, a multiplexer 59, an arithmetic-logical unit that includes an AND-NOT circuit 60 and an AND circuit 61. The memory 54 of all the processors 36 is controlled by the OR circuit 62 and the T-trigger 63. The controller 3 contains a shift register 64 of the action code, shift register 65 of the result code, register 66 of the effect, key 67, digital-to-analog converter 68, analog-to-digital converter 69. p 4 contains a shift data register 70, a shift control register 71, a control register 72, a key 73, a digital-to-analog converter 74. Each sensor array 5 includes A 2 threshold sensors 75, A circuits 76 OR, A multiplexers 77. Each threshold sensor 75 consists of the sensor 78 itself and the comparator 79. The controller 43 consists of a shift register 80 of the exposure code, a shift register 81 of the result code, circuits 82, 83 AND, circuits 84, 85 OR, keys 86, 87, an incomplete decoder 88. The controller 44 consists of shear register 89 data shear y leveling register 90, AND circuits 91, 92, OR circuits 93, 94, keys 95, 96, partial decoder 97. Shaper 6 includes a generator 98, an address counter 99, a memory 100, a decoder 101, AND circuits 102, 103, external decryption schemes 104. The register 17 includes a discharge trigger 105. The servo drive 46 consists of an engine 106, a worm 107, a worm wheel with a wheel angle sensor 108. Each decryption circuit 104 consists of a decoder 109 and two-input circuits 110, 111, 112, 113, 114 I. The volume determination unit 39 consists of half adders 115 and multi-bit adders 116, 117. The generator 40 includes A A 2 input circuits 118 OR . Each image input node 41 consists of a matrix 119 of CCD devices 120, switches 121, analog-to-digital converters 122, multiplexers 123, keys 124, a binary counter 125, a decoder 126, 127 I, 128 OR circuits, CCD control circuits 129, an incomplete decoder 130. The switch 42 consists of A 2 keys 131. The memory 37 consists of A 2 one-bit nodes 132 of random access memory and A 2 keys 133.

Устройство работает следующим образом. В памяти 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 processor 7, while the address of the first operand is located in register 14, the address of the second operand is in register 15. Next, the operation code of the extracted command is decrypted, after which the microprogram control unit of processor 7 is generated microoperation signals needed to complete this command. The command system of the claimed device includes arithmetic-logical commands, conditional and unconditional jump commands, BOCHVI commands.

Назначение и способ выполнения всех арифметико-логических команд, команд условного и безусловного перехода полностью определяются выбранной конструкцией процессора 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 processor 7, memory 18, interface 34, which are executed according to one of the known schemes (in particular, the corresponding nodes of any of the known personal computers). Each command has its own firmware - a set of microcommands, the sequential execution of which leads to the execution of the operation specified in the command. After decoding the operation code, the address of the initial word of the command is written into the register of the microaddress of processor 7. According to this microaddress, the control microword is extracted from the memory of the microprograms of the processor 7 and loaded into register 8. This microword contains the control field, the bits of which are used to generate signals of the required microoperations, as well as the field next microaddress and microbranch code field. The next microaddress field contains the base microaddress, which indicates the next microwave in the natural sequence of sampling of microwaves. This basic microaddress can be modified for the purpose of microbranching; the field of the microbranching code determines which features should be checked and used to modify the microaddress. Part of the control field of the microsword forms the control field of the BOCHVI, responsible for the generation of control signals of block 2.

Обработка двухмерных и трехмерных изображений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, в зависимости от выполняемой команды интерпретируется устройством либо как трехмерное бинарное изображение А×А×А, либо как двухмерное бинарное изображение формата

Figure 00000004
. Между кубиками-пикселями 1×1×1 куба-изображения А×А×А и процессорами 36 матрицы 35 существует взаимно-однозначное соответствие (фиг.5-а).The content of one-bit words stored at the same address in A 3 nodes of the local memory 54 of all processors 36 of the matrix 35, depending on the command being executed, is interpreted by the device either as a three-dimensional binary image A × A × A, or as a two-dimensional binary image in the format
Figure 00000004
. There is a one-to-one correspondence between the 1 × 1 × 1 pixel cubes of the A × A × A image cube and the processors 36 of the matrix 35 (Fig. 5-a).

Описание команд управления БОХВИ целесообразно начать с определения ряда используемых терминов.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) назовем некоторое семейство

Figure 00000005
(где I=1,2,3,…m s) точечных множеств Em n-мерного евклидового пространства Rn, удовлетворяющее выражению:Definition 1. An n-dimensional scene S of format F (n) is a family
Figure 00000005
(where I = 1,2,3, ... m s ) of point sets E m of an n-dimensional Euclidean space R n satisfying the expression:

Figure 00000006
Figure 00000006

где µ(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.Definition 2. The set E m ∈S is called the mth object of the n-dimensional scene S.

Определение 3. Сцену S={Em}m∈I формата F(n), для которой одновременно справедливы выражения:Definition 3. A scene S = {E m } m∈I of the format F (n) , for which the expressions are simultaneously valid:

Figure 00000007
и (∀i,j∈I)[(i≠j)⇒(Ei∩Ej=⌀)]
Figure 00000007
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:

Figure 00000008
Figure 00000008

где ρ(а,b) - расстояние между точками а и b множества рι(n), ξp - постоянная;where ρ (a, b) is the distance between points a and b of the set p ι (n) , ξ p is a constant;

Figure 00000009
Figure 00000009

Figure 00000010
Figure 00000010

Figure 00000011
Figure 00000011

Определение 4. Множества рι(n)⊂Rn, одновременно удовлетворяющие всем перечисленным требованиям, назовем n-мерными пикселями р(n)-пиксельного разбиения Rn, а ξр - постоянной этого разбиения.Definition 4. The sets p ι (n) ⊂R n that simultaneously satisfy all of the above requirements are called n-dimensional pixels of the p (n) -pixel partition R n , and ξ p is the constant of this partition.

Определение 5. Точечное множество и ∪ рι(n), составленное из конечного множества пикселей рι(n) (Lk∈L), назовем

Figure 00000012
объектом.Definition 5. The point set and ∪ р ι (n) , composed of a finite set of pixels p ι (n) (L k ∈ L), is called
Figure 00000012
object.

Определение 6. р(n)-дискретной моделью множества É⊂Rn назовем р(n)-дискретный объект

Figure 00000013
, составленный из всех пикселей рι(n) (где ι∈LE, LE⊂L), для которых выполняется: (∀ι∈LE)[µ(n)(É∩pι(n))/µ(n)(pι(n))≥δι], где δι - постоянная (0<δ1≤1).Definition 6. A p (n) -discrete model of a set É⊂R n is a p (n) -discrete object
Figure 00000013
composed of all pixels p ι (n) (where ι∈L E , L E ⊂L) for which: (∀ι∈L E ) [µ (n) (∩∩p ι (n) ) / µ (n) (p ι (n) ) ≥δ ι ], where δ ι is the constant (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)-дискретизирующих отображений (моделирующих указанные геометрические преобразования с заданной степенью точности) над одноцветным содержимым бинарных изображений.Definition 7. The computational procedure f p for generating a p (n) -discrete model f p (É) ⊂R n of the set f (É) from the set É, where f (É) is the image of the set É⊂R n under the map f: É → f (É), will be called a p (n) -sampled map f p modeling a map f: → → f (É) (or simply a discretizing map). In the claimed device, all processed three-dimensional objects are represented by their p (2) discrete and p (3) discrete models. The used pixel partitions of the spaces R 2 and R 3 are regular: the role of pixels p ι (2) is played by 1 × 1 squares, and the role of pixels p ι (3) by 1 × 1 × 1 cubes. Performing geometric transformations (which include rotation, transport, compression) over points of the spaces R 2 and R 3 is replaced by performing p (2) -sampled and p (3) -sampled mappings (simulating these geometric transformations with a given degree of accuracy) over the monochrome contents of binary images.

Общий принцип построения р(n)-дискретной модели fp(Е) множества f(E) из объекта Е (где

Figure 00000014
- некоторый произвольный р(n)-дискретный объект; а f - биективное отображение f: Rn→Rn) состоит в следующем. Исходный объект Е задан бинарным n-мерным изображением S1 некоторого формата
Figure 00000015
, полностью покрывающего Е.The general principle of constructing a p (n) -discrete model f p (E) of a set f (E) from an object E (where
Figure 00000014
- 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
Figure 00000015
completely covering E.

Результатом построения должно стать бинарное n-мерное изображение S2 некоторого формата

Figure 00000016
, содержащее внутри себя объект fp(E).The result of the construction should be a binary n-dimensional image S 2 of some format
Figure 00000016
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 :

Figure 00000017
Figure 00000017

Figure 00000018
Figure 00000018

Построение р(n)-дискретной модели образа f(E) предполагает определение меры µ(n)ι(n)∩f(E)) для каждого рι(n)⊂F(n). Из равенства

Figure 00000019
следует
Figure 00000020
,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
Figure 00000019
should
Figure 00000020
,

отсюда

Figure 00000021
. Так как
Figure 00000022
from here
Figure 00000021
. As
Figure 00000022

а 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:

Figure 00000023
Figure 00000023

Используя введенную функцию Ф1(pi(n)), для i∈Lι⊂LF, удовлетворяющих условию

Figure 00000024
можно записатьUsing the introduced function Φ 1 (p i (n) ), for i∈L ι ⊂L F satisfying the condition
Figure 00000024
can write

Figure 00000025
Figure 00000025

Из определения 6 следует:From definition 6 follows:

Figure 00000026
Figure 00000026

Выражения (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”:

Figure 00000027
Figure 00000027

где Ф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 должно соблюдаться

Figure 00000028
(число пикселей, образующих Е, должно совпадать (в идеальном случае) с числом пикселей, образующих fp(E)). А потому само р(n)-дискретизирующее отображение fp, моделирующее перемещение f, должно быть преимущественно взаимнооднозначным (т.е. один пиксель-прообраз pi(n) должен отображаться, как правило, только в один пиксель-образ pι(n)). Пусть S1 - преобразуемое бинарное изображение, представленное n-мерным множеством значений
Figure 00000029
хранящихся в одноразрядных двоичных аккумуляторах ai; S2 - бинарное изображение, полученное в результате моделирования перемещения f над единичным содержимым S1 и представленное n-мерным множеством значений
Figure 00000030
хранящихся в одноразрядных двоичных аккумуляторах 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
Figure 00000028
(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
Figure 00000029
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
Figure 00000030
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) имеет пиксель

Figure 00000031
, обладающий наибольшим значением меры µ(n)(pι(n)∩f(pi(n))) из числа
Figure 00000032
, для которых соответствия еще не было установлено;1) the highest priority for establishing compliance with p ι (n) has a pixel
Figure 00000031
having the largest value of the measure µ (n) (p ι (n) ∩f (p i (n) )) from
Figure 00000032
for which compliance has not yet been established;

3) пиксель рι(n), для которого Lι≠⌀, обязательно должен иметь пиксель-прообраз pi(n) (Lι=⌀, если все

Figure 00000032
пикселя рι(n) расположены за пределами формата Fn);3) a pixel p ι (n) for which L ι ≠ ⌀ must necessarily have a preimage pixel p i (n) (L ι = ⌀, if all
Figure 00000032
pixels p ι (n) are located outside the format F n );

4) если для всех

Figure 00000032
соответствие уже установлено, а для рι(n) - еще нет, пикселю рι(n) дается в соответствие один из пикселей
Figure 00000033
для которого в этом случае принцип взаимной однозначности нарушается.4) if for all
Figure 00000032
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)
Figure 00000033
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 registers 55, the function of the batteries b i is by one-bit memory nodes 54.

В таблице 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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +а1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1 разр1 bit 4÷5 разр4 ÷ 5 bits 1 разр1 bit 1 разр1 bit 1 разр1 bit 1 разр1 bit 1 разр1 bit 1 разр1 bit 1 разр1 bit 1 разр1 bit 1 разр1 bit

В отличие от прототипа в мнемоническом обозначении команд заявленного устройства используются только буквы латинского алфавита. Часть команд управления БОХВИ по своему функциональному назначению являются полными аналогами команд управления БОХВИ прототипа, а часть являются вновь введенными командами. Назначение разрядов поля управления БОХВИ полностью совпадает с назначением одноименных разрядов поля управления БОХВИ прототипа, однако поле кода микрооперации (КМО) заявленного устройства содержит больше разрядов из-за введения в систему команд дополнительных команд. Система команд управления БОХВИ, приведенная в табл.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.

Таблица 1Table 1 СИСТЕМА КОМАНД УПРАВЛЕНИЯ БОХВИBohemian Management Team No. Мнемоническое обозначение командыMnemonic team designation Выполняемая операцияOperation in progress 1one RAX (right angle)RAX (right angle) Повернуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре 14 адреса первого операнда, вокруг оси ОХ на 90°Rotate the contents of the binary fragment A × A × A with the address stored in the register 14 of the address of the first operand around the axis OX by 90 ° 22 RAX+RAX + Повернуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре 14 адреса первого операнда, вокруг оси ОХ на 90°, после выполнения поворота увеличить на 1 содержимое регистра адреса первого операндаRotate the contents of the binary fragment A × A × A with the address stored in the register 14 of the address of the first operand around the axis OX by 90 °, after the rotation, increase the contents of the register of the address of the first operand by 1 33 RAXA a2, a1RAXA a2, a1 Содержимое бинарного фрагмента А×А×А с адресом a1 скопировать в фрагмент А×А×А с адресом a2 с поворотом содержимого фрагмента вокруг оси ОХ на 90°Copy the contents of the binary fragment A × A × A with address a1 to the fragment A × A × A with address a2 and rotate the contents of the fragment around the OX axis 90 ° 4four RAYRay Повернуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре 14 адреса первого операнда, вокруг оси OY на 90°Rotate the contents of the binary fragment A × A × A with the address stored in the register 14 of the address of the first operand around the axis OY by 90 ° 55 RAY+RAY + Повернуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре адреса первого операнда, вокруг оси OY на 90°, после выполнения поворота увеличить на 1 содержимое регистра 14 адреса первого операндаRotate the contents of the binary fragment A × A × A with the address stored in the address register of the first operand around the OY axis by 90 °, after the rotation, increase the contents of the register 14 of the address of the first operand by 1 66 RAYA a2, a1RAYA a2, a1 Содержимое бинарного фрагмента А×А×А с адресом a1 скопировать в фрагмент А×А×А с адресом a2 с поворотом содержимого фрагмента вокруг оси OY на 90°Copy the contents of the binary fragment A × A × A with address a1 to the fragment A × A × A with address a2, rotating the contents of the fragment around the OY axis by 90 ° 77 RAZRaz Повернуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре 14 адреса первого операнда, вокруг оси OZ на 90°Rotate the contents of the binary fragment A × A × A with the address stored in the register 14 of the address of the first operand around the axis OZ by 90 ° 88 RAZ+RAZ + Повернуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре адреса первого операнда, вокруг оси OZ на 90°, после выполнения поворота увеличить на 1 содержимое регистра адреса первого операндаRotate the contents of the binary fragment A × A × A with the address stored in the address register of the first operand around the OZ axis by 90 °, after performing the rotation, increase the contents of the address register of the first operand by 1 99 RAZA a2, a1RAZA a2, a1 Содержимое бинарного фрагмента А×А×А с адресом a1 скопировать в фрагмент А×А×А с адресом a2 с поворотом содержимого фрагмента вокруг оси OZ на 90°Copy the contents of the binary fragment A × A × A with the address a1 to the fragment A × A × A with the address a2 and rotate the contents of the fragment around the OZ axis by 90 ° 1010 PRA (plan right angle)PRA (plan right angle) Повернуть содержимое бинарного фрагмента

Figure 00000034
с адресом, хранящимся в регистре адреса первого операнда, вокруг центра этого изображения на 90°Rotate the contents of a binary fragment
Figure 00000034
with the address stored in the address register of the first operand, around the center of this image by 90 ° 11eleven PRA+PRA + Повернуть содержимое бинарного фрагмента
Figure 00000035
с адресом, хранящимся в регистре адреса первого операнда, вокруг центра этого изображения на 90°, после выполнения поворота увеличить на 1 содержимое регистра 14 адреса первого операнда
Rotate the contents of a binary fragment
Figure 00000035
with the address stored in the register of the address of the first operand, around the center of this image by 90 °, after completing the rotation, increase by 1 the contents of the register 14 of the address of the first operand
1212 PRAA a2, a1PRAA a2, a1 Содержимое бинарного фрагмента
Figure 00000035
с адресом a1 скопировать в фрагмент
Figure 00000035
с адресом a2 с поворотом содержимого фрагмента вокруг центра этого фрагмента на 90°
Binary fragment contents
Figure 00000035
with address a1 copy to fragment
Figure 00000035
with address a2 with rotation of the contents of the fragment around the center of this fragment by 90 °
1313 SH (shift)SH (shift) Сдвинуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре 14 адреса первого операнда, на 1 шаг в направлении Ох, состояние матрицы А×А входов iD взаимнооднозначно записать в первый слой А×А×1 сдвинутого фрагмента А×А×А, содержимое последнего слоя А×А×1 сдвигаемого фрагмента записать в буферную память 48Shift the contents of the binary fragment A × A × A with the address stored in the register 14 of the address of the first operand by 1 step in the direction Ox, the state of the matrix A × A of the inputs iD is written to the first layer A × A × 1 of the shifted fragment A × A × A, the contents of the last layer A × A × 1 of the shifted fragment are recorded in the buffer memory 48 14fourteen SHA a2, a1SHA a2, a1 Скопировать содержимое бинарного фрагмента А×А×А с адресом a1 в фрагмент a2 с одновременным сдвигом этого содержимого на 1 шаг в направлении Ох, состояние входов матрицы 35 записать в первый слой А×А×1 сдвинутого фрагмента А×А×А, содержимое последнего слоя А×А×1 сдвигаемого фрагмента записать в буферную память 48Copy the contents of the binary fragment A × A × A with the address a1 to the fragment a2 with the simultaneous shift of this content by 1 step in the direction Ox, write the state of the inputs of the matrix 35 to the first layer A × A × 1 of the shifted fragment A × A × A, the contents of the latter layer A × A × 1 shifted fragment to write to the buffer memory 48 15fifteen SH+SH + Сдвинуть содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре адреса первого операнда, на 1 шаг в направлении Ох, состояние матрицы А×А входов iD матрицы 35 взаимно-однозначно записать в первый слой А×А×1 сдвинутого фрагмента А×А×А, содержимое последнего слоя А×А×1 сдвигаемого фрагмента записать в буферную память 48, содержимое регистра 14 адреса первого операнда увеличить на 1Shift the contents of the binary fragment A × A × A with the address stored in the address register of the first operand by 1 step in the direction Ox, the state of the matrix A × A of the inputs iD of the matrix 35 can be written to the first layer A × A × 1 of the shifted fragment A × A × A, the contents of the last layer A × A × 1 of the shifted fragment are recorded in the buffer memory 48, the contents of the register 14 of the address of the first operand increase by 1 2424 TRN+ (transfer)TRN + (transfer) Скопировать содержимое бинарного фрагмента А×А×А с адресом, хранящимся в регистре первого операнда, в фрагмент А×А×А с адресом, хранящимся в регистре второго операнда, после перемещения содержимое обоих регистров (14, 15) адреса увеличить на 1Copy the contents of the binary fragment A × A × A with the address stored in the register of the first operand to the fragment A × A × A with the address stored in the register of the second operand, after moving the contents of both registers (14, 15) of the address increase by 1 2525 TRNA a2, a1TRNA a2, a1 Скопировать содержимое бинарного фрагмента А×А×А с адресом a1 в фрагмент А×А×А с адресом a2Copy the contents of the binary fragment A × A × A with the address a1 to the fragment A × A × A with the address a2 2626 TRNAV a2, a1TRNAV a2, a1 Скопировать содержимое бинарного фрагмента А×А×А с адресом a1 в фрагмент А×А×А с адресом a2, вычислить объем единичного содержимого копируемого фрагмента, определить код заполнения (КЗБИ) копируемого фрагмента.Copy the contents of the binary fragment A × A × A with address a1 to the fragment A × A × A with address a2, calculate the volume of single contents of the copied fragment, determine the fill code (KZBI) of the copied fragment. 2727 INEINE Выполнить теоретико-множественную операцию
Figure 00000036
(где A1 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А, адрес которого находится в регистре 14 адреса первого операнда, A2 - множество единичных пикселей 1×1×1 фрагмента А×А×А, адрес которого находится в регистре 15 адреса второго операнда), результат операции записать по адресу второго операнда
Perform a set-theoretic operation
Figure 00000036
(where A1 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A, whose address is in the register 14 of the address of the first operand, A2 is the set of unit pixels 1 × 1 × 1 of the fragment A × A × A, whose address is in register 15 of the address of the second operand), write the result of the operation to the address of the second operand
2828 INE+INE + Выполнить теоретико-множественную операцию
Figure 00000037
(где A1 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А, адрес которого находится в регистре адреса первого операнда, A2 - множество единичных пикселей 1×1×1 фрагмента А×А×А, адрес которого находится в регистре адреса второго операнда), результат операции записать по адресу второго операнда, после записи результата содержимое обоих регистров адреса увеличить на 1
Perform a set-theoretic operation
Figure 00000037
(where A1 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A, whose address is in the address register of the first operand, A2 is the set of unit pixels 1 × 1 × 1 of the fragment A × A × A, whose address is in the address register of the second operand), write the result of the operation to the address of the second operand, after writing the result, increase the contents of both address registers by 1
2929th INEA a2, a1INEA a2, a1 Выполнить теоретико-множественную операцию
Figure 00000037
, где A1 - множество единичных пикселей 1×1×1 фрагмента А×А×А с адресом a1, A2 - множество единичных пикселей 1×1×1 фрагмента А×А×А с адресом а2, результат записать по а2.
Perform a set-theoretic operation
Figure 00000037
where A1 is the set of unit pixels 1 × 1 × 1 of the fragment A × A × A with the address a1, A2 is the set of unit pixels 1 × 1 × 1 of the fragment A × A × A with the address a2, write the result by a2.
30thirty SBT (subtract)SBT (subtract) Выполнить теоретико-множественную операцию «вычитание»
Figure 00000038
(где A1 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А, адрес которого находится в регистре 14 адреса первого операнда, А2 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А, адрес которого находится в регистре 15 адреса второго операнда), результат операции записать по адресу второго операнда
Perform the set-theoretic operation "subtraction"
Figure 00000038
(where A1 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A, whose address is in the register 14 of the address of the first operand, A2 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A, whose address is in the register 15 of the address of the second operand), write the result of the operation to the address of the second operand
3131 SBT+SBT + Выполнить теоретико-множественную операцию «вычитание A1 из A2»
Figure 00000039
(где A1 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А, адрес которого находится в регистре 14 адреса первого операнда, А2 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А, адрес которого находится в регистре адреса 15 второго операнда), результат операции записать по адресу второго операнда, после записи результата содержимое регистров 14 и 15 увеличить на 1
Perform the set-theoretic operation “subtracting A1 from A2”
Figure 00000039
(where A1 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A, whose address is in the register 14 of the address of the first operand, A2 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A, whose address located in address register 15 of the second operand), write the result of the operation to the address of the second operand, after writing the result, increase the contents of registers 14 and 15 by 1
3232 SBTA a1, a2SBTA a1, a2 Выполнить теоретико-множественную операцию
Figure 00000039
, где A1 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А с адресом a1, А2 - множество единичных пикселей 1×1×1 бинарного фрагмента А×А×А с адресом а2. Результат записать по а2.
Perform a set-theoretic operation
Figure 00000039
where A1 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A with the address a1, A2 is the set of unit pixels 1 × 1 × 1 of the binary fragment A × A × A with the address a2. Record the result by A2.
3333 NTE (note)NTE (note) Записать состояние входов матрицы 35 в память 37 по адресу, хранящемуся в регистре 11, а также в первый слой А×А×1 матрицы 35 этого изображения с последующим сдвигом изображения на 1 шаг в направлении Ох. После записи увеличить содержимое регистра 11 на 1.Record the state of the inputs of the matrix 35 in the memory 37 at the address stored in the register 11, as well as in the first layer A × A × 1 of the matrix 35 of this image with the subsequent image shift by 1 step in the direction Ox. After recording, increase the contents of register 11 by 1. 3434 FTIFTI Начать ввод фотоизображенияStart image capture 3535 BRFVC b1BRFVC b1 Переход программы управляющего процессора 3 на команду, хранящуюся в памяти 18 по адресу b1, если флаг FV с выхода триггера 32 равен лог.0, если FV=1 - переход на следующую команду.The transition of the program of the control processor 3 to a command stored in memory 18 at address b1, if the FV flag from the output of trigger 32 is log.0, if FV = 1 - go to the next command. 3939 ANG1 (angle)ANG1 (angle) Содержимое фрагмента А×А×А с адресом, хранящимся в регистре 14 адреса первого операнда, перевести в угловое положение №1, получающееся в результате последовательного поворота сначала на угол α1 вокруг оси OY, а затем на угол β1 вокруг оси OX.The contents of the fragment A × A × A with the address stored in the register 14 of the address of the first operand should be transferred to the angular position No. 1, which is obtained as a result of successive rotation, first by an angle α 1 around the axis OY, and then by angle β 1 around the axis OX. 4040 ANG2ANG2 Содержимое фрагмента А×А×А с адресом, хранящимся в регистре адреса первого операнда, перевести в угловое положение №2, получающееся в результате последовательного поворота сначала на угол α2 вокруг оси OY, а затем на угол β2 вокруг оси OX.Transfer the contents of the fragment A × A × A with the address stored in the address register of the first operand to the angular position No. 2, which is obtained as a result of sequential rotation, first by an angle α 2 around the axis OY, and then by angle β 2 around the axis OX. :: :: :: ANGwANGw Содержимое фрагмента А×А×А с адресом, хранящимся в регистре адреса первого операнда, перевести в угловое положение № w, получающееся в результате последовательного поворота сначала на угол αw вокруг оси OY, а затем на угол βw вокруг оси OX.Transfer the contents of the fragment A × A × A with the address stored in the address register of the first operand to the angular position No. w resulting from the sequential rotation of the angle α w around the axis OY and then angle β w around the axis OX.

Команды управления БОХВИ выполняются следующим образом.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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0001100011 1one 00 00 1one 00 00 00 00 00

После расшифровки кода команды процессор 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 processor 7 according to the clock pulse C1 writes the microword of the RAX command to the microword register 8. The ADR code from the outputs of the multiplexer 21 is fed to the address inputs of the memory 54. The signal R / W = 0 coming from the inverse output of the push-pull T-trigger 63 (Fig. 1) puts the memory 54 into read mode. In each processor 36 (Fig. 4), the information output of the selected memory 54 is connected to the common information input of the trigger registers 55, 56, 57. On the leading edge of the clock signal C2 (Fig. 1), the signal CWR1 (Fig. 4-b) comes from the output of the prepared circuit 22 AND, writes the contents of the memory 54 to the registers 55 of the matrix 35. At the same time, the contents of the row A × 1 × 1 of the last (with respect to Ox) layer A × A × 1 is recorded in A bits of the programmable address register 16, which enables data transfer from block 2 to block 1. On the trailing edge of C2, memory 54 is transferred I'm in recording mode (R / W = 1).

В каждом (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) th processor 36, the multiplexer 59 (i, j, k) with the KMO code = 00011 through the prepared key 58 (i, j, k) connects to the information input of the memory 54 (i, j, k) the output of register 55 of that processor 36, whose corresponding cube-pixel is 1 × 1 × 1, when the cube A × A × A is rotated 90 ° around its central axis Ox (Figs. 4, 5), it is displayed in (i, j, k) 1st pixel cube 1 × 1 × 1. On the leading edge of the clock signal C3 (Fig. 4-b), the WR signal coming from the prepared circuit 28 AND writes the rotated contents of the binary image A × A × A stored in the registers 55 to the local memory 54 at the address stored in the register 14.

Микропрограмма команды RAX+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the RAX + command consists of a microcommand whose BOCHI control field contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0001100011 1one 00 00 1one 1one 00 00 00 00

Выполнение этой команды отличается от выполнения 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 local memory 54, the contents of the register 14 are increased by 1 by the pulse C4 by the signal + 1a1.

Микропрограмма команды 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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0001100011 1one 00 00 00 00 00 00 00 00

Запись в локальную память 54 повернутого изображения осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:Recording in the local memory 54 of the rotated image is carried out by means of the following microword, the control field of the BOCHI which contains bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM СКЗVHC ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0001100011 00 1one 00 00 1one 00 00 00 00 00

Микропрограмма команды RAY состоит из микрокоманды:RAY command firmware consists of a micro command:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1one 0010000100 1one 00 00 1one 00 00 00 00 00

Выполнение команды 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 register 55 of that processor 36, whose corresponding 1 × 1 × pixel cube 1, when the cube A × A × A is rotated 90 ° around its central axis, Oy (Fig. 5) is displayed in the (i, j, k) th cube-pixel 1 × 1 × 1.

Микропрограмма команды RAY+ состоит из микрослова:The firmware of the RAY + command consists of a microword:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0010000100 1one 00 00 1one 1one 00 00 00 00

Выполнение этой команды отличается от выполнения 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 local memory 54, the contents of the register 14 are increased by 1 by the pulse C4 by the signal + 1a1.

Микропрограмма команды 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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0010000100 1one 00 00 00 00 00 00 00 00

Запись в локальную память 54 осуществляется посредством следующей микрокоманды, поле управления БОХВИ которого содержит биты:Writing to the local memory 54 is carried out by means of the following microcommands, the BOCHI control field of which contains bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1one 0010000100 00 00 00 1one 00 00 00 00 00

Микропрограмма команды RAZ состоит из микрослова, поле управления БОХВИ которого содержит биты:The firmware of the RAZ command consists of a microword, the Bohwie control field of which contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0010100101 1one 00 00 1one 00 00 00 00 00

Выполнение команды 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 register 55 of that processor 36, whose corresponding 1 × 1 × pixel cube 1, when the cube A × A × A is rotated 90 ° around its central axis, Oz (Figs. 4, 5) is displayed in the (i, j, k) th cube-pixel 1 × 1 × 1.

Микропрограмма команды RAZ+ состоит из микрослова, поле управления БОХВИ которого содержит биты:The firmware of the RAZ + command consists of a microword, the BOCHVI control field of which contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0010100101 1one 00 00 1one 1one 00 00 00 00

Выполнение этой команды отличается от выполнения 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 local memory 54, the contents of the register 14 is increased by 1 by the pulse C4 by the signal + 1a1.

Микропрограмма команды 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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0010100101 1one 00 00 00 00 00 00 00 00

Запись изображения (результата поворота) в локальную память осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:The image (rotation result) is recorded in the local memory by means of the following microword, the BOCHI control field of which contains bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1one 0010100101 00 00 00 1one 00 00 00 00 00

Микропрограмма команды PRA состоит из микрокоманды, поле управления БОХВИ микрослова которой содержит биты:The firmware of the PRA command consists of a micro command, the control field of the BOCHVI microword contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011100111 1one 00 00 1one 00 00 00 00 00

Выполнение команды PRA отличается от выполнения команды RAX тем, что здесь мультиплексор 59 (i,j,k) подключает информационный вход памяти 54(i,j,k) к выходу регистра 55 того процессора 36, чей соответствующий квадратик-пиксель 1×1 при повороте квадрата

Figure 00000040
на 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 register 55 of that processor 36, whose corresponding square pixel is 1 × 1 at turning a square
Figure 00000040
90 ° around its central axis O p Y p (Fig.6-a, c) is displayed in the (i, j, k) -th square pixel 1 × 1.

Микропрограмма команды PRA+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the PRA + command consists of a micro-command, the BOCHI control field of which contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011100111 1one 00 00 1one 1one 00 00 00 00

Выполнение этой команды отличается от выполнения 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 local memory 54, the contents of the register 14 are increased by 1 by the pulse C4 by the signal + 1a1.

Микропрограмма команды 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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011100111 1one 00 00 00 00 00 00 00 00

Запись в локальную память 54 осуществляется посредством следующего микрослова, поле управления БОХВИ которого содержит биты:Writing to the local memory 54 is carried out by means of the following microword, the control field of the BOCHI which contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1one 0011100111 00 1one 00 1one 00 00 00 00 00

Микропрограмма команды SH состоит из микрокоманды, поле управления БОХВИ микрослова которой содержит биты:The firmware of the SH command consists of a micro-command, the control field of the BOCHI microsword of which contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011000110 1one 00 00 1one 00 00 00 00 00

После расшифровки кода команды 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 central processor 7 according to the clock pulse C 1 writes the microword of the SH command to the microword register 8. After that, the multiplexer 21 connects the outputs of the register 14 of the address of the first operand with the ADR inputs of the processor matrix 35. The contents of each local memory 54 (i, j, k) are read along the leading edge of the pulse C2 (where 1≤i≤A, 1≤ j≤A, 1 <k≤A, Fig. 5) with the address ADR in the register 55 (i, j, k), data from the single-bit memory 48 (j, k) are recorded in the memory 49 (j, k). In each processor 36 (i, j, k), the multiplexer 59 (i, j, k) will connect the memory input 54 (i, j, k) with the output of the trigger 55 (i-1, j, k) of the processor 36 (i-1 , j, k), removed in the matrix 35 by 1 step in (direction -Ox, Fig. 5) from the processor 36 (i, j, k). With the arrival of C3, the WR signal will write the shifted image to the local memory of 54 processors 36 at the ADR address, and the contents of the registers 55 (A, j, k) of the last (A-th) layer A × A × 1 of the original image will be written to the buffer memory 48 (j , k) of the switch 38 (FIG. 1). Depending on the value of the KUVM field (matrix input control code) of the software-addressable register 9, pointing to the data source for matrix inputs 35, the execution of the SH command is accompanied by:

а) КУВМ=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 - число некратное

Figure 00000041
) в узлы 54 (1,j+1,k), а содержимого узлов 49 (j,k) (где 1≤k≤A,
Figure 00000042
, m=0,1,2,…
Figure 00000043
) в узлы 54 (1,j,k) для моделирования операций сдвига плоского изображения
Figure 00000044
на 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
Figure 00000041
) to nodes 54 (1, j + 1, k), and the contents of nodes 49 (j, k) (where 1≤k≤A,
Figure 00000042
, m = 0,1,2, ...
Figure 00000043
) to nodes 54 (1, j, k) for modeling operations of shifting a flat image
Figure 00000044
1 step in the direction of O p X p - Fig.6 (a, b, d);

г) КУВМ=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 image memory node 37 to the corresponding node 54 (1, j, k) of the resulting image A × A × A;

е) КУВМ=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 programmable address register 10 in the column of nodes 54 (1, j, k), (where 1≤k≤A) of the resulting image ( through the switch 42);

ж) КУВМ=0110 - записью состояния А2 выходов узла 401 ввода фотоизображения в 1-й слой А×А×1 результирующего изображения А×А×А;g) КУВМ = 0110 - by recording the state А 2 of the outputs of the node 40 1 for inputting the photo image into the 1st layer A × A × 1 of the resulting image A × A × A;

з) КУВМ=0111 - записью состояния А2 выходов узла 402 ввода фотоизображения в 1-й слой А×А×1 результирующего изображения А×А×А;h) КУВМ = 0111 - by recording the state А 2 of the outputs of the node 40 2 for inputting the photo image into the 1st layer A × A × 1 of the resulting image A × A × A;

к) КУВМ=1000 - записью состояния выходов А2 центральных контроллеров 43 в А2 узлов 54(1,j,k);j) KUVM = 1000 - by recording the status of outputs A 2 of the central controllers 43 in A 2 nodes 54 (1, j, k);

л) КУВМ=1001 - записью состояния выходов А2 центральных контроллеров 44 в А2 узлов 54(1,j,k);l) KUVM = 1001 - by recording the status of outputs A 2 of the central controllers 44 into A 2 nodes 54 (1, j, k);

Микропрограмма команды SH+ состоит из микрокоманды, поле управления БОХВИ которой содержит биты:The firmware of the SH + command consists of a micro command, the control field of the BOCHI which contains the bits:

УАЛUAE КМОKMO СР1CP1 СР2CP2 СCМSCM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011000110 1one 00 00 1one 1one 00 00 00 00

Выполнение команды 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:

УАЛUAE КМОKMO СР1CP1 СР2CP2 СCМSCM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0000000000 1one 00 00 1one 00 00 00 00 00

иand

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1one 0000000000 00 00 00 1one 1one 1one 00 00 00

Первая микрокоманда читает исходное (копируемое) бинарное изображение А×А×А из локальной памяти 54 по адресу, хранящемуся в регистре 14, в регистры 55 процессоров 36. Вторая микрокоманда записывает прочитанное изображение в память 54 по адресу, хранящемуся в регистре 15. После копирования содержимое регистров 14 и 15 увеличивается на 1.The first micro command reads the initial (copied) binary image A × A × A from the local memory 54 at the address stored in register 14 to the registers 55 of the processors 36. The second micro command reads the read image into the memory 54 at the address stored in the register 15. After copying the contents of registers 14 and 15 are incremented by 1.

Микропрограмма команды 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 local memory 54 to single-bit registers 57. After that, at nodes 39 and 40, the process of forming two integral characteristics that display the geometric features of the binary image A × A × A stored in A 3 registers 57 starts:

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 adder 39 and the shaper 40 KZBI shown in Fig. 36. After the completion of the formation process, the signal V (from the output of the delay element 33) resets the trigger 32 to the log. 0 (thereby, informing processor 7 about the completion of the procedure for the formation of the QBD and the code for the volume value) and writes the received codes to the programmable address registers 12 and 13.

Микропрограмма команды INE состоит из двух микрокоманд:The firmware of the INE command consists of two microcommands:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0000100001 1one 00 00 00 00 00 00 00 00

иand

УАЛUAE КМОKMO СР1CP1 CP2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 1one 0000100001 1one 00 00 1one 00 00 00 00 00

При выполнении первой микрокоманды с приходом С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 registers 55, and when the second microcommand is executed via C2, the second operand image is read into the registers 56, then C3 writes the result image of the set-theoretic operation (from the outputs of elements 60 AND NOT) to local memory 54 at the address of the second operand.

Микропрограмма команды 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 memory 54 at the address of the second operand, the states of the outputs of the circuits 61 are recorded.

Микропрограмма команды 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:

УАЛUAE КМОKMO СР1CP1 CP2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011000110 1one 00 00 00 00 00 1one 00 1one

При выполнении команды 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 matrix 35 is recorded by the SZP pulse in the image memory 37 at the address of the API stored in the programmable address register counter 11. At the same time, the contents of the matrix 35 are shifted by a step at the address whose value is stored in the register 14. After recording, the contents of register 11 with a signal + 1–3 increases by 1.

Команды типа 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:

УАЛUAE КМОKMO CP1CP1 CP2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 01000 (для АNG1) (00111+w - для ANGw)01000 (for ANG1) (00111 + w - for ANGw) 1one 00 00 1one 00 00 00 00 00

По переднему фронту сигнала 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 prepared circuit 22 AND, the contents of the memory 54 (i, j, k) are recorded in the registers 55 (i, j, k) of the matrix 35. On the falling edge of C2, the memory 54 is transferred to the recording mode (R / W = 1). Each multiplexer 59 (i, j, k) with the code KMO = 01000 + w through the prepared key 58 (i, j, k) connects to the information input of the memory 54 (i, j, k) the output of the register 55 (l, p, k) that processor 36 (l, p, k) whose cube p (l, p, k) 1 × 1 × 1 cube A × A × A, rotated by the spatial angle No. w (characterized by the values: (φ = 0, θ = θ w ≠ 0, ψ = ψ w ≠ 0, where φ is the angle of proper rotation, θ is the angle of nutation, ψ is the angle of precession) around its center, it is mapped into a cube p (i, j, k) .C3 along the leading edge of the clock signal the WR signal writes the binary image stored in registers 55 to nodes 54 at the address specified in reg Ist 14.

Все дискретизирующие отображения, моделирующие повороты на углы, некратные 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 А×А×А

Figure 00000045
. Поэтому поворот таких изображений (т.н. составных изображений) производится фрагментами (А×А×А или
Figure 00000046
) последовательно фрагмент за фрагментом. Как и в прототипе, перед поворотом выполняется расшивка исходного составного изображения (фиг.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
Figure 00000045
. Therefore, the rotation of such images (the so-called composite images) is performed by fragments (A × A × A or
Figure 00000046
) 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 processor matrix 35 of a 9 × 9 × 9 format. The luminous flux, modulated by illumination, through the optical system (lenses, fiber optic cable) enters the matrix 119 of 27 CCD devices 120 (Fig. 37). Each CCD device 120 focuses its plot 9 × 243 input image 243 × 243. Each CCD device 120 contains 9 lines of photosensitive elements of 243 elements in each line. Each line has its own shift register, so 9 analog signals are simultaneously taken from one device 120. From 27 devices 130, 243 analog signals corresponding to the horizontal line of the input image are simultaneously taken. CCD devices 120 are combined into groups of 3 devices 120 in each group, each group of devices 120 corresponds to 9 analog-to-digital 8-bit converters 122. The outputs of CCD devices 120 are connected to the inputs of ADC converters 122 using switches 121. Connection of outputs ADC-converters 122 to the inputs of the processor matrix 35 are implemented using multiplexers 123 and keys 124. The counter 125 controls the switches, while the lower part of the counter (0 ... 2 bits) controls the switches 123, the oldest part of the counter (3, 4 bits) ravlyaetsya switches 121. In addition, the third state of the keys 124 output controls the output of the decoder 45 (U6 - 41 for node 1, V7 - 2 for node 41).

Перед вводом фотоизображения в регистре 11 устанавливается код АПИ=N0 и анализируется сигнал готовности (ГВВИ=1) узлов 41 к вводу фотоизображения. Если ГВВИ=1, ввод фотоизображения инициируется командой FTI, состоящей из микрокоманды:Before entering the photo image in the register 11, the API code = N0 is set and the ready signal (GVVI = 1) of the nodes 41 to enter the photo image is analyzed. If GVVI = 1, photo input is initiated by the FTI command, consisting of a micro command:

УАЛUAE КМОKMO СР1CP1 СР2CP2 ССМSSM ЗЛПZLP +a1+ a1 +а2+ a2 +а3+ a3 НУWELL ЗПИRFP 00 0011000110 1one 00 00 00 00 00 00 1one 00

С приходом С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 circuit 129 shifts the read content to the output of the CCD devices 120. If U6 (U7) = 1, the signals from the outputs of the switches 124 are fed to the inputs of the matrix 35. If GVVI = 0, the subsequent NTE command writes (along the leading edge WR) information from the inputs of the matrix 35 to the first layer A × A × 1 of the matrix 35 at the address stored in register 14. At the trailing edge of the SZP signal, 1 is added to the counter 125 and the contents of the outputs of the keys 124 are changing. After transmitting the whole photo image, the HVVI signal is set to 1 and the photo image input is stopped.

Обработка двухмерных и трехмерных числовых матриц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 matrix 35 in the form of n addressable binary images A × A × A. Each such binary image consists only of bit bits (with the same numerical weight) of all A 3 binary numbers of this array. Since each A × A × A matrix processor has its own single-bit ALU with two single-bit registers (55, 56) of operands and a single-bit local memory (54) with arbitrary sampling, it is able to independently process numerical data with a high degree of parallelization. Let us demonstrate this by the example of differentiation of flat images.

Дифференцирование плоских изображений включает в себя 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 processor 36;

- выполнение операции суммирования над двоичными дополнительными кодами переданных значений.- 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:

Figure 00000047
Figure 00000047

Pi=xi∧yi∨(xi⊕yi)∧pi-1;P i = x i ∧y i ∨ (x i ⊕y i ) ∧p i-1 ;

Figure 00000048
Figure 00000048

где 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 memory 54 of the processor 36 where the summation will be performed (Fig. 27). For this, four working cells are allocated in the local memory of the processor. Data is transferred from one local memory address to another address (for example, a xi → a r1 ) using the TRNA a2, a1 (TRNA a r1 , a xi ) command, the negation function is performed using the INEA a r2 , a r2 command, the function prohibition (for example, y i / x i ) is performed using the SBTA command a2, a1.

В локальной памяти 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 local memory 54 of each processor 36, areas for storage are reserved before differentiation: code (x 7 ... x 0 ) for the brightness of its own pixel; code at 7 ... at 0 brightness of the neighboring pixel; code L 12 ... L 0 of the formed Laplacian. Let the mask of the weights of the calculated Laplacian have the form shown in Fig. 27. The calculation of the Laplacian begins by multiplying (by repeatedly summing) the code x 7 ... x 0 by a factor of 24 (at this stage, the section at 7 ... y 0 is used to store the intermediate terms). Then an additional code L 12 ... L 0 of the negative value of the resulting product is generated (by inverting the digits L 12 ... L 0 and adding 1). Then, with a one-step 20-shift, the brightness code of the nearest neighbor is transmitted to the region at 7 ... y 0 , after which the code is summed at 7 ... y 0 with the code L 12 ... L 0 (taking into account a weight of 4). In the same way, codes x 7 ... x 0 of the remaining three nearest neighbors are added to the generated sum L 12 ... L 0 . Before summing, the brightness code of the remote neighbor is first bitwise transferred (by a 2D shift) to the area at 7 ... at 0 of the nearest processor neighbor, and then (by 90 ° rotations, address transfers and a 2D shift) to the area of 7 ... at 0 of the processor, located in the center of the mask. At the end of the transfer, the transferred code at 7 ... at 0 is summed with the code L 12 ... L 0 . Similarly, the codes x 7 ... x 0 of the remaining three remote neighbors are added to the generated sum L 12 ... L 0 . The described differentiation procedure is carried out in parallel across all processors of the A × A × A matrix. The extreme matrix processors A × A × A receive information about the neighbors from the buffer memory 49 (or memory 37 images).

Управление автономным роботом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 controllers 3, 4, based on the number of sensor matrices and servos installed on the robot;

- в согласовании масштабных коэффициентов показаний датчиков, АЦП и ЦАП.- 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 A-input circuits 76 OR (one circuit 76 per line CM 5), each i-th input (1≤i≤A) of the j-th circuit 76 OR (1≤j≤A) is connected to the output of the comparator 79i j.

3) А (А+1)-входовых мультиплексоров 77.3) A (A + 1) input multiplexers 77.

Каждый пороговый датчик (ПД) 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-input comparator 79, the first input of which is connected to the output of the sensor 78, and the level of the specified threshold signal from the DAC 74 is supplied to the second input. The output of the PD 75 is the output of its comparator 79 taking one of two logical states (“0” - when the AP is not excited, “1” - when the AP is excited). The current state of SM 5 is characterized by the state (1, 0) of the outputs of all of its PD 75 and can be represented as a binary image A × A. The amount of information at the output of the sensors 78 of all SM 5 robots can be extremely large, and the data transfer rate from SM to the 35 A × A × A matrix cannot be high due to the remoteness of CM 5 from the 35 A × A × A matrix and its sequential nature transmission. At the same time, in order to ensure the safety of the robot, the detection speed of the excited sensor on the "skin" of the robot and the determination of its coordinates should be high. To overcome this contradiction, each SM 5 introduced means of preliminary local data processing, namely: comparators 79 and A-input circuits 76 OR. The comparator converts the value of the output level of the sensor 78 into information reflecting only the fact of exceeding (or not exceeding) the sensor 78 of the specified excitation threshold. Each A-input circuit 76 OR converts information on overcoming a given threshold of excitation by each sensor 78 of a whole line of CM 5 into information that reflects only the fact that at least one of these sensors exceeds this threshold, therefore, if there is at least one “excited "PD (log 1), at the output of the j-th circuit 76 OR," 1 "is formed. The binary code taken from the outputs of all A circuits 76 OR of the sensor matrix is called the sensor matrix excitation code (CMEC). Multiplexers 77, depending on the value of the RV code coming to their control inputs, connect either the KVSM or PD 75 outputs of one of the lines of SM 5. In the complete absence of information about the state of the SM, the KVSM of this SM is read first. If the received CBCM is insufficient to make a decision on the next actions of the robot and more detailed information is required on the nature of the excitation of the SM, the PB codes of this SM are changed programmatically and, upon subsequent servo-interruptions, the specific requested excited SM lines are transmitted. As a result, it becomes possible to transmit not the entire data array from the SM, but only its most interesting (“excited”) part. The coating density of the sensed area (OA) by sensors belonging to the same CM (i.e., the sensor resolution of the OA) may be different. For example, on the fingers-grippers, which, in addition to the mechanical gripping function, also perform the functions of a research probe, the density of the SM sensors can significantly exceed the density of the SM sensors on other parts of the “arm” (Fig. 16). If the OS area does not allow all SM sensors to be located, “extra” sensors 78 are not installed, and the outputs of their respective comparators 79 are forcibly connected to log.0.

Обмен информацией между СМ 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 CM 5 and the processor matrix 35 is as follows (figure 2). The control codes for all A 2 sensor matrices 5 are formed in the matrix 35 at the same time. Before transferring them to the sensor matrices 5 for execution, the binary bits of the control code for each individual SM are located in the memory 54 (at some address a1) of the neighboring processors 36 of the matrix 35 sequentially one after another in the direction Ox (from the least significant to the highest). Then, these A 2 control codes are sequentially (bit by bit) transferred to the shift registers 90 of their central controllers 44. To do this, set the code KUVM = 0, the outputs of the matrix 35 are connected to its inputs, the corresponding IP address is set in register 11 (N1≤API < N2), And once the NTE command is executed and the “SZP” pulses (trailing edge) control codes are transferred from the matrix 35 to the shift registers 90. After filling all the registers 90 and 80 with the information from the matrix 35, the trigger 105 of the register 17 is set to 1 and the driver 6 starts . Block 1 control continues to execute a previously interrupted program. The pulses of the generator 98 of the shaper 6 (figure 3) pass to the counting input "+1" of the least significant bit of the counter 99. From the output of the 1st bit of the counter 99 are removed the clock pulses TI. The memory 100 is a random access memory for storing binary words. From the 0th through the A-1 address, the code U = U0 = (000) 2 is written in it. The code U = U0 goes to the inputs of all decrypting circuits 104. The pulses T receive the pulses T from the output of the circuit 103 I. The pulses from the output T0 of the circuit 104 (Fig. 2) go to the shift control registers 90, 71. With the arrival of A pulses T0, the CM control codes will be moved from the registers 90 to the corresponding registers 71. Then, the code U = 1 is read from the memory 100, and then with the arrival of the pulse T1, the transmitted control code from the register 71 is written to the control register 72. The CM control code consists of two parts:

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 multiplexers 77, the code UCH goes to the input of the converter 74, the output of which is connected to all comparators 79 of this SM 5. With the arrival of the pulse TK, the signals from the outputs of the multiplexers 77 are written into register 70. After the transition to the state U = U4 = (100) 2 pulses T4, repeated A times, will transfer data from local controllers 4 to the registers 89 of the corresponding controllers 44. After the last bit has been transmitted, the counter 99 and trigger 105 are reset, and a request for interruption (servo-interruption) is sent to control unit 1. If this interrupt is enabled, the contents of the registers of the interrupted program are written to the stack of block 1, and control is transferred to the servo interrupt vector. The servo-interruption program sets KUVM = 9, the address of the local memory 54 is written to the register 14, where the received data will be recorded. Then A time, the NTE command is executed, after which the data from the registers 89 pulses "SZP" (trailing edge) will move to the matrix 35 A × A × A.

Управление сервоприводами робота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 motor 106, a gearbox (consisting of a worm 107 and a worm wheel with a sensor 108 for the angular position of this wheel), a digital-to-analog converter 68, and an analog-to-digital converter 69. The adjustment of the servos is carried out using the processor matrix 35 during special software interruptions (servo-interruptions) of block 1 upon request from register 17. After servo-interruption is performed in the 35 A × A × A matrix, action codes (KB) are generated to control A 2 servos the robot (as a mismatch between the set value and the actual value). Before transferring them for execution to servos, the bits of each A-bit KB are located in the memory 54 (at some address a1) of the neighboring processors 36 sequentially one after the other in the direction Ox of the matrix 35 (from the least significant to the highest). Then, these A 2 exposure codes are sequentially (discharge by discharge) transferred to the shift registers 80 of the exposure code of their central controllers 43. To do this, set the code KUVM = 0, the outputs of the matrix 35 are connected to its inputs, the corresponding IP address is set (N3≤API <N4 ), And once the NTE command is executed, and “SZP” pulses (trailing edge), the action codes are transferred from the matrix 35 to the shift registers 80, after which the trigger 105 of the register 17 is set to 1, and the driver 6 is started. Pulses from the output T0 of the circuit 104 are received on shift registers 80 and 64. With the arrival of A pulses T0, the action codes will move from registers 80 to registers 64. On pulse T1, the transmitted action code from register 64 will be written to register 60 and after digital-to-analog conversion will begin to affect the servo motor (U = U2). With the transition of the U code to the state U = U3, a pulse T3 is generated, which records (in parallel with all the bits) the current result codes from the outputs of the ADC 69 into the shift registers 65 of the result code. After the transition to the state U = U4 = (100) 2 pulses T4, repeated A times, will transfer the result codes from registers 65 to the corresponding registers 81. After the last bit has been transmitted, the counter 99 is reset, the trigger 105 is reset, and a request is sent to the control unit 1 interruption (servo interruption). If this interrupt is enabled, the parameters and register values of the interrupted program are written to the control unit stack, control is transferred to the vector of this interrupt. The servo-interruption program sets KUMV = 8, writes the memory address 54, where the received result codes will be recorded, and executes the NTE command A time, after which the result codes from the registers 81 are copied to the 35 A × A × A matrix (or to memory 37). Next, the obtained values of the result codes are compared with their given values, their difference is calculated, and new exposure codes are generated from the received difference signals. The set and current result codes (for example, data on the angular position of the worm wheels) are temporarily stored to build the current geometric model of the robot from them. Then, the generated exposure codes are transmitted to the controllers 43 as described above. Next, the control unit 1 starts a new cycle of the driver 6 and continues to execute the previously interrupted program.

Управление конечностями робота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) при углах α123456=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-м звене есть величина постоянная, то пространственное положение звеньев конечности полностью определяются значениями углов α12,…,αi-1i. В свою очередь, угловое положение 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-1i. Один из алгоритмов вычисления 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]:

Figure 00000049
Figure 00000049

Следовательно, при повороте 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:

Figure 00000050
Figure 00000050

Figure 00000051
Figure 00000051

Figure 00000052
Figure 00000052

(где 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, z0xi0zi, х0yi0xi}={-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-1i), а только от тех, при которых поворот осуществляется вокруг осей параллельных оси 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 control unit 1, for this data on the angles α i are transmitted sequentially from block 2 to block 1 through register 16.

Построение геометрической модели тела робота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 dynamometric sensors 78 mounted on the outer surface of the moving limb. The first method allows you to quickly determine the fact of the existence of resistance and its value. However, the coordinates and geometric parameters of the obstacle are easier and more accurate to determine by applying the second research method. This implies the following algorithm for scanning the surrounding area with a sensed limb:

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-а горизонтальная проекция обзорной сцены изображена в виде «бабочки». Машинная модель обзорной сцены состоит из конечного целого числа одинаковых непересекающихся ромбовидных параллелепипедов (фрагментов

Figure 00000053
), покрывающих пространство обзорной сцены (фиг.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
Figure 00000053
) 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.

После настройки видеосистемы выполняется фотографирование окружающей сцены, и на ПЗС-матрицах левой и правой видеокамер формируется стереопара - два полутоновых фотоизображения формата

Figure 00000054
. По командам от устройства управления эти фотоизображения друг за другом (построчно в оцифрованном виде) передаются в память изображений БОХВИ в виде bK2A бинарных 2D-изображений формата А×А (где b - разрядность двоичного значения уровня зачерненности одного пикселя - фиг.28-б). Далее перенесенные изображения сглаживаются путем взвешенного усреднения уровня зачерненности каждого пикселя и уровней зачерненности его ближайших соседей [7] (при помощи команд типа INE, SBT). Веса и число соседей-пикселей определяется выбранным типом сглаживающего фильтра. В случае реализации низкочастотного фильтра число анализируемых пикселей-соседей больше (фиг.28-о), чем в случае реализации высокочастотного фильтра (фиг.28-в). При выполнении процедуры фильтрации каждому пикселю фрагмента
Figure 00000055
Figure 00000056
результирующего изображения соответствует свой процессор матрицы А×А×А (работающей в режиме плоской матрицы
Figure 00000057
), в котором и осуществляется вычисление взвешенного среднего для этого пикселя. Перенос данных об уровнях зачерненности соседних пикселей, хранящихся в локальной памяти соседних процессоров матрицы
Figure 00000057
, в указанный процессор производится при помощи команд типа SH, RAX, RAY, RAZ (фиг.28 г-и). Затем сглаженное изображение подвергается процедуре вычисления лапласиана [7] (при помощи команд типа INE, SBT). Сглаживание и вычисление лапласиана могут быть совмещены в одной вычислительной процедуре РП-фильтрации [7]. На 2D-изображении
Figure 00000058
, полученном в результате вычисления лапласиана, выделяются только те пиксели, которые, сами имея положительное (отрицательное) значение второй производной, соприкасаются с пикселями, имеющими отрицательное (положительное) значение второй производной. В результате такого выделения формируется двумерное бинарное изображение-стереограмма, в котором только выделенные пиксели (нулевые лапласиан-точки) имеют черный цвет. Два таких непустых составных бинарных изображения-стереограммы (И'лев, И'прав) формата
Figure 00000059
, соответствующие левому и правому фотоизображениям, служат исходным материалом для построения по ним бинарного фрагмента
Figure 00000060
(фиг.28-а), содержащего только корреспондирующие нулевые лапласиан-точки обзорной сцены. Алгоритм построения такого фрагмента по исходным бинарным стереопарам описан в [7]. Фиг.29 иллюстрирует выполнение этого алгоритма при помощи заявленного устройства на примере бинарной стереопары, непосредственно взятой из [7]. Сначала строится бинарное 3D-изображение кубического формата
Figure 00000061
(фиг.29-г), зачерненными 3D-пикселями которого отмечены все пересечения, в которых обе видеокамеры видят черную точку (на фиг.29-б,в изображены промежуточные этапы построения). Затем строится бинарное 3D-изображение
Figure 00000062
(фиг.29-ж), зачерненными 3D-пикселями которого отмечены все пересечения, в которых обе видеокамеры видят белую точку (на фиг.29-д,е изображены промежуточные этапы построения). Затем эти два 3D-изображения объединяются в одно (фиг.29-з), являющееся исходным материалом для реализации алгоритма, описанного в [7, стр.67-69]. В результате выполнения указанного алгоритма получается искомое 3D-изображение (фиг.29-и), черные пиксели которого соответствуют корреспондирующим нулевым точкам. Если это бинарное 3D-изображение не пусто (фиг.30-а), его содержимое интерполируется (по корреспондирующим 3D-пикселям строятся дискретные модели самих поверхностей объектов [8]), поворачивается на 45° и сжимается (фиг.30-б,в,г) до получения необходимой ромбовидной формы фрагмента
Figure 00000062
. На фиг.31 показан один из простейших способов решения задачи интерполяции с помощью заявленного устройства, когда выявленные корреспондирующие пиксели (фиг.31-а,б) сначала сдвигаются до выхода их за пределы фрагмента
Figure 00000062
, затем строятся линии-траектории переноса (фиг.31-в), после чего пустые слои
Figure 00000063
заполняются содержимым соседних непустых слоев
Figure 00000064
в двух взаимно-ортогональных плоскостях (фиг.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
Figure 00000054
. 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
Figure 00000055
Figure 00000056
the resulting image corresponds to its matrix processor A × A × A (working in the flat matrix mode
Figure 00000057
), 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
Figure 00000057
, 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
Figure 00000058
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
Figure 00000059
corresponding to the left and right photo images serve as source material for constructing a binary fragment from them
Figure 00000060
(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
Figure 00000061
(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
Figure 00000062
(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
Figure 00000062
. 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
Figure 00000062
, then lines of transport paths are constructed (Fig.31-c), after which empty layers
Figure 00000063
filled with the contents of adjacent non-empty layers
Figure 00000064
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-пиксельной модели распознаваемого объекта конечен. При этом, чем ниже разрешение модели, тем меньшее число пространственных углов входит в этот спектр (но тем меньшее число геометрических признаков распознаваемого объекта содержится в модели). По этой причине в начале цикла распознавания используются плоские эталоны А×А, имеющие небольшое разрешение (а значит, небольшой спектр углов поворота распознаваемого объекта) и содержащие в себе небольшое число геометрических признаков распознаваемого объекта. Назначение этих эталонов - за минимальное время предельно сократить число участков фотоизображения и пространственных углов распознаваемого объекта, претендующих на более подробный анализ, не упустив ни одного из потенциальных участков-претендентов для такого анализа. Для повышения скорости просмотра видеоизображения вместо изображения-эталона А×А целесообразно использовать мультиплицированное изображение-эталон

Figure 00000065
, полученное путем размножения А раз бинарного изображения-эталона А×А (фиг.33-ж). В процессе просмотра всего фотоизображения мультиплицированный эталон
Figure 00000066
остается неподвижным относительно матрицы 35 (работающей в режиме
Figure 00000067
), а видеоизображение пошагово сдвигается внутри матрицы 35 в направлении строк (или столбцов), обеспечивая поочередную сменяемость одного анализируемого участка фотоизображения другим. Если в результате сравнения хотя бы один из фрагментов А×А полностью совпадет с содержимым анализируемого участка видеоизображения, на изображении-результате сравнения этот фрагмент А×А окажется пустым, и блок управления сразу (по коду КЗБИ) определит факт такого совпадения (фиг.33-з) и определит положение указанного фрагмента А×А внутри процессорной матрицы 35 (а значит и на фотоизображении). Найденный участок подвергнется более тщательному анализу с использованием более сложных эталонов распознаваемого объекта с той же угловой ориентацией. Все используемые эталоны синтезируются из исходного полного геометрического описания распознаваемого объекта (ПГОО). До выполнения процедуры распознавания ПГОО хранится в сжатом упакованном виде частично в памяти 18, частично в памяти 37. Объем, форма представления, а также способ хранения ПГОО внутри заявленного устройства должны обеспечивать возможность высокоскоростного построения по этому описанию любого из используемых изображений-эталонов нужного разрешения и размерности (с учетом аппаратно-программных возможностей заявленного устройства). Если геометрия объекта описывается небольшим числом простых примитивов (отрезков, параллелепипедов и т.п., синтез которых не требует хранения бинарных фрагментов А×А в памяти изображений), построение всего эталона-изображения состоит в предварительном синтезе 3D-изображений отдельных трехмерных примитивов с заданной угловой ориентацией и последующей сборке из них (путем перемещения примитивов) 3D-изображения модели всего объекта. В этом случае ПГОО - это всего лишь программный код для синтеза примитивов и последующей сборки из них 3D-изображения всего распознаваемого объекта (с нужным разрешением и угловой ориентацией). Для объектов, описываемых примитивами сложной геометрической формы, в состав ПГОО может быть включено одно или несколько вспомогательных изображений А×А, с помощью которых синтезируются эти примитивы. И наконец, в случае объекта, совершенно неподдающегося описанию небольшим числом примитивов, ПГОО хранится в памяти 37 в виде самих бинарных 3D-изображений, разбитых на отдельно адресуемые фрагменты А×А×1. Если исследуемый участок моноизображения удовлетворяет всем признакам распознаваемого объекта, содержащимся во всех плоских эталонах, процедура распознавания может быть ужесточена проведением процедуры сравнения трехмерного изображения-эталона распознаваемого объекта (с найденной угловой ориентацей) с трехмерной моделью найденного участка сфотографированной сцены (при этом эта сравниваемая 3D-модель участка сцены формируется в результате обработки стереопары сцены одним из вышеописанных способов).This algorithm uses all the advantages of block 2, which is part of the claimed device, namely, the high speed of performing local operations in it, rotation, zooming, set-theoretic operations, procedures for determining the area, volume, KZBI due to the deep parallelization of these operations and procedures in the device. The execution time of this algorithm is finite, since the range of angular positions of the 3D-pixel model of the recognized object is finite. Moreover, the lower the resolution of the model, the smaller the number of spatial angles included in this spectrum (but the smaller the number of geometric features of the recognized object is contained in the model). For this reason, at the beginning of the recognition cycle, flat A × A standards are used that have a small resolution (and therefore a small spectrum of rotation angles of the recognized object) and contain a small number of geometric features of the recognized object. The purpose of these standards is to minimize the number of areas of the photo image and spatial angles of a recognizable object, claiming a more detailed analysis, in a minimum amount of time, without missing any of the potential candidate areas for such an analysis. To increase the speed of viewing a video image, instead of an A × A reference image, it is advisable to use a multiplied reference image
Figure 00000065
obtained by multiplying A times the binary image standard A × A (Fig.33-g). In the process of viewing the entire photo image, a multiplied reference
Figure 00000066
remains stationary relative to the matrix 35 (operating in
Figure 00000067
), and the video image is shifted step by step inside the matrix 35 in the direction of rows (or columns), providing alternating succession of one analyzed section of the photo image to another. If, as a result of the comparison, at least one of the A × A fragments completely coincides with the contents of the analyzed portion of the video image, the fragment A × A in the image-result of the comparison will be empty, and the control unit will immediately (by the code of the CBR) determine the fact of such a match (Fig. 33 -h) and determines the position of the indicated fragment A × A inside the processor matrix 35 (and hence in the photo image). The found area will undergo a more thorough analysis using more complex standards of the recognized object with the same angular orientation. All used standards are synthesized from the initial full geometric description of a recognizable object (PSOO). Prior to the recognition procedure, the PSP is stored in compressed packed form partly in the memory 18, partly in the memory 37. The volume, presentation form, and also the method of storing the PSP inside the claimed device should provide the possibility of high-speed construction of any of the used reference images of the required resolution and this description dimensions (taking into account the hardware and software capabilities of the claimed device). If the geometry of the object is described by a small number of simple primitives (segments, parallelepipeds, etc., the synthesis of which does not require storing binary fragments A × A in the image memory), the construction of the entire image standard consists in the preliminary synthesis of 3D images of individual three-dimensional primitives with a given angular orientation and the subsequent assembly of them (by moving primitives) 3D-image of the model of the entire object. In this case, PSOO is just a program code for synthesizing primitives and then assembling from them 3D images of the entire recognizable object (with the desired resolution and angular orientation). For objects described by primitives of complex geometric shape, one or several auxiliary A × A images can be included in the PSU structure, with the help of which these primitives are synthesized. And finally, in the case of an object that is completely beyond description by a small number of primitives, the PSU is stored in memory 37 in the form of binary 3D images themselves, divided into separately addressed fragments A × A × 1. If the mono-image area under investigation satisfies all the features of a recognizable object contained in all flat patterns, the recognition procedure can be tightened by comparing a three-dimensional image-standard of a recognized object (with a found angular orientation) with a three-dimensional model of the found part of the photographed scene (this compared 3D the model of the scene section is formed as a result of processing the stereo pair of the scene using one of the above methods).

Принципы применения заявленного устройства для решения задачи распознавания проиллюстрируем на примере распознавания кружки, имеющей заданную форму, габариты и окраску. Угловая ориентация кружки на сцене может быть произвольной. Пусть форма тела кружки и рисунок-орнамент на ее внешней поверхности описываются ПГОО, в которое входят (фиг.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 clause 11 are repeated, but using the initially black projection plane, as a result, the projection of the shadowed surface contour (SCLF) of the circle with (α i , β j , γ k ) -angular orientation on a black background with invisible lines and surfaces removed (Fig. 33-c);

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) выполняется теоретико-множественная операция «вычитание множества Т из множества Р»:

Figure 00000068
, где Р - бинарное позитивное 3D-изображение проекции, построенной на предыдущем цикле (изначально Р - множество пустое, т.е. «белое»), Т - бинарное позитивное 3D-изображение тела проецируемого объекта (в результате этой операции 3D-пиксели, являющиеся по местоположению общими как для проецируемой поверхности, так и для тела Т, окрашиваются в белый цвет, т.е рисунок-орнамент, построенный на предыдущем цикле, на этом участке проецируемой поверхности стирается);1) the set-theoretic operation “subtracting the set T from the set P” is performed:
Figure 00000068
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)

Устройство управления автономным роботом, содержащее блок (1) управления, блок (2) обработки двухмерных и трехмерных изображений, контроллеры (19) ввода и вывода цифровой информации, при этом блок (1) управления содержит память (18) программ и данных, программно-адресуемые регистры (9, …,17), интерфейс (34) ввода-вывода и центральный управляющий процессор (7), содержащий регистр (8) микрослова и имеющий вход запроса программного прерывания, а также мультиплексор (21) адреса, управляющие входы которого соединены с выходами регистра (8) микрослова, а информационные входы соединены с выходами программно-адресуемого регистра (14) адреса первого бинарного изображения-операнда и с выходами программно-адресуемого регистра (15) адреса второго бинарного изображения-операнда, а также блок (2) обработки изображений, первая группа управляющих входов которого через двухвходовые схемы (22, 23, 24, 25, 26, 27, 28, 29, 30, 31) И соединена с выходами регистра (8) микрослова блока (1) управления, вторая группа управляющих входов соединена с выходами мультиплексора (21) адреса блока (1) управления, а третья группа управляющих входов соединена с информационными выходами программно-адресуемых регистров (9, 10) блока (1) управления, блок (2) обработки изображений содержит А3 процессоров (36), объединенных в матрицу (35) А×А×А с А2 информационными входами и А2 информационными выходами, где А=n2, n≥2 - целое число, при этом имеется взаимно-однозначное соответствие между А3 процессорами (36) и А3 кубиками 1×1×1 куба А×А×А евклидового пространства R3, в котором определена декартова система координат Oxyz, центр О которой совпадает с центром указанного куба А×А×А, а оси Ох, Оу, Oz направлены вдоль ребер данного куба А×А×А, объем области пересечения кубиков 1×1×1 между собой равен нулю, при этом имеется взаимно-однозначное соответствие между А3 процессорами (36) матрицы (35) А×А×А и А3 взаимно непересекающимися квадратиками 1×1 квадрата √A3×√A3 евклидового пространства R2, в котором определена декартова система координат OПXПYП, центр ОП которой совпадает с центром указанного квадрата √A3×√A3, а оси ОПХП, OПYП направлены вдоль сторон данного квадрата √A3×√A3, площадь области пересечения этих квадратиков 1×1 между собой равна нулю, каждому процессору (36) в матрице (35) дан в соответствие свой номер (i, j, k), где индекс 1≤i≤A обозначает номер слоя 1×A×A матрицы (35) А×А×А, состоящего из А2 процессоров (36) и соответствующего i-му по направлению оси Ох слою 1×A×A в кубе А×А×А, расположенному перпендикулярно оси Ох, индекс 1≤j≤A обозначает номер столбца в i-м слое А×А матрицы (35), состоящего из А процессоров (36) и соответствующего j-му по направлению оси Оу столбцу 1×1×A в i-м слое 1×A×A куба А×А×А, расположенному вдоль оси Oz, при этом индекс 1≤k≤А обозначает номер строки в i-м слое 1×A×A матрицы (35), состоящей из А процессоров (36) и соответствующей k-й по направлению оси Oz строке 1×A×1 в i-м слое 1×A×A куба А×А×А, расположенной вдоль оси Оу, блок (2) обработки изображений содержит дешифратор (45) КУВМ с десятью (У0, …, У9) выходами и входами, соединенными с выходами программно-адресуемого регистра (9), память (37) изображений с А2 совмещенными информационными входами-выходами, с адресными входами АПИ и с входом управления состоянием своих А2 информационных выходов, соединенным с пятым (У4) выходом дешифратора КУВМ, первую буферную память (48) с А2 информационными входами и с А2 информационными выходами, вторую буферную память (49) с А2 информационными выходами и с А2 информационными входами, взаимно-однозначно соединенными с А2 информационными выходами первой буферной памяти, узел (39) определения объема с А3 информационными входами, соединенными с выходами процессоров матрицы А×А×А процессоров, и с log2 А3 информационными выходами, соединенными с входами программно-адресуемого регистра (12), формирователь (40) кода заполнения бинарного изображения с А3 информационными входами, соединенными с выходами процессоров матрицы (35) А×А×А процессоров, и с А информационными выходами, соединенными с входами программно-адресуемого регистра (13), первый узел (411) ввода фотоизображения с А2 информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным с седьмым (У6) выходом дешифратора (45) КУВМ, второй узел (412) ввода фотоизображения с А информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным с восьмым (У7) выходом дешифратора (45) КУВМ, коммутатор (50) поворота с А2 информационными входами, с А2 информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным с четвертым (У3) выходом дешифратора КУВМ, коммутатор (51) циклического переноса с А2 информационными входами, с А2 информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным с первым (У0) выходом дешифратора КУВМ, коммутатор (52) сдвига трехмерных изображений с А2 информационными входами, с А2 информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным со вторым (У1) выходом дешифратора КУВМ, коммутатор (53) сдвига двухмерных изображений с А2 информационными входами, с А2 информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным с третьим (У2) выходом дешифратора КУВМ, коммутатор (42) слова с А информационными входами, с А2 информационными выходами и с входом управления состоянием этих А2 информационных выходов, соединенным с шестым (У5) выходом дешифратора КУВМ, каждый i1-й информационный вход процессорной матрицы (35) А×А×А, где 1≤i1≤A2, соединен с i1-м совмещенным информационным входом-выходом памяти (37) изображений, с i1-м информационным выходом каждого узла (41) ввода фотоизображения, с i1-м информационным выходом коммутатора (42) слова, с i1-м информационным выходом коммутатора (50) поворота, с i1-м информационным выходом коммутатора (51) циклического переноса, с i1-м информационным выходом коммутатора (52) сдвига трехмерных изображений, с i1-м информационным выходом коммутатора (53) сдвига двухмерных изображений вдоль оси ОПХП, каждый i2-й информационный выход процессорной матрицы (35), где 1≤i2≤A2, соединен с i2-м информационным входом коммутатора (50) поворота, с i2-м информационным входом первой буферной памяти (48), А×√А информационных входа коммутатора (53) сдвига двухмерных изображений взаимно-однозначно соединены с А×√А информационными выходами второй буферной памяти (49), остальные A2-A×√A информационных входа взаимно-однозначно соединены с A2-A×√A информационными выходами процессорной матрицы (35) А×А×А, в каждом (i, j, k)-м многовходовом мультиплексоре имеется информационный вход, соединенный с выходом первого регистра-триггера того процессора (36), чей соответствующий квадратик 1×1 квадрата √A3×√A3 при повороте этого квадрата √A3×√A3 вокруг центра ОП пересекает неподвижный квадратик 1×1 этого квадрата √A3×√A3, соответствующий (i, j, k)-му процессору (36), с площадью перекрытия, превышающий заданное пороговое значение, в каждом (i, j, k)-м многовходовом мультиплексоре для каждого аппаратно-реализуемого дискретизирующего отображения, моделирующего преобразование f:R3→R3 поворота пространства R3 на угол некратный 90° вокруг центра О куба А×А×А, имеется информационный вход, соединенный с выходом первого регистра-триггера того процессора (36) матрицы А×А×А, чей соответствующий кубик 1×1×1 при моделировании указанного преобразования отображается в кубик 1×1×1, соответствующий (i, j, k)-му процессору, отличающееся тем, что он снабжен схемой (104) дешифрации, формирователем (6) синхросигналов, состоящим из генератора (98) импульсов, двух двухвходовых схем И (102, 103), счетчика адреса (99) со схемой сброса адреса, постоянной памяти (100) и дешифратора (101), выход генератора импульсов соединен с первым входом первой схемы (102) И, выход которой соединен со счетным входом счетчика (99) адреса, чьи информационные выходы соединены с адресными входами постоянной памяти (100), выход схемы сброса адреса соединен с входом сброса счетчика (99) адреса, выходы постоянной памяти (100) соединены с входами дешифратора (101) формирователя синхросигналов, а также с входами дешифратора (116), входящего в состав схемы (104) дешифрации, содержащей дешифратор (109) и пять двухвходовых схем (110…114) И, информационные входы которых соединены с одноименными выходами данного дешифратора (109), а управляющие выходы соединены с выходом второго элемента (103) И формирователя (6) синхросигналов, инверсный вход которого соединен с выходом дешифратора (101) формирователя (6) сигналов, а прямой вход соединен с выходом первого разряда счетчика (99) адреса, программно-адресуемый регистр (17) содержит дополнительный триггер (105), прямой выход которого соединен со вторым входом первой схемы (102) И формирователя (6) синхросигналов, инверсный выход соединен с входом запроса программного прерывания центрального управляющего процессора (7), а вход сброса соединен с выходом схемы сброса счетчика (99) адреса формирователя синхросигналов, при этом каждый i3-й сервопривод робота, где i3≤A2, содержит i3-й местный контроллер (3) сервопривода и i3-й центральный контроллер (43) сервопривода, связанные между собой общей проводной связью i3-го сервопривода, при этом местный контроллер сервопривода содержит сдвиговый регистр-приемник (64) кода воздействия, параллельный регистр (66), сдвиговый регистр-передатчик (65) кода результата, двухвходовый ключ (67), информационный вход которого соединен с информационным последовательным выходом регистра-передатчика (65) кода результата, управляющий вход (U4) соединен с пятым выходом дешифратора (109), входящего в состав схемы (104) дешифрации, а выход соединен с общей проводной связью i3-го сервопривода, последовательный информационный вход сдвигового регистра-приемника (64) кода воздействия соединен с общей проводной связью i3-го сервопривода, управляющий вход (Т0) соединен с выходом первой схемы (110) И схемы (104) дешифрации, а параллельные информационные выходы соединены с одноименными входами параллельного регистра (66), информационные выходы которого соединены с одноименными информационными входами цифроаналогового преобразователя (68) i3-го местного контроллера сервопривода, параллельные информационные входы сдвигового регистра-передатчика (65) кода результата соединены с одноименными выходами датчика положения регулируемого органа (108) i3-го сервопривода, первый управляющий вход (Т3) соединен с выходом четвертой схемы (113) И схемы (104) дешифрации, второй управляющий вход (Т4) соединен с выходом пятой схемы (115) И схемы (104) дешифрации, центральный контроллер (43) i3-го сервопривода содержит сдвиговый регистр-приемопередатчик (80) кода воздействия, сдвиговый регистр-приемопередатчик (81) кода результата, два двухвходовых ключа (87, 87), две двухвходовые схемы (82, 83) И, две двухвходовые схемы (84, 85) ИЛИ, при этом последовательный информационный вход регистра-приемопередатчика (80) кода воздействия соединен с i3-м информационным входом процессорной матрицы (35) А×А×А, а его последовательный информационный выход соединен с информационным входом первого ключа (87), управляющий вход (U0) которого соединен с первым выходом дешифратора (109) схемы (104) дешифрации, а трехстабильный выход соединен с общей проводной связью i-го сервопривода, первый вход первой схемы (83) И соединен с выходом введенного дешифратора (88) адреса АПИ, а второй вход (СЗП) соединен с управляющим выходом блока (1) управления, а выход соединен с первым входом первой схемы (85) ИЛИ, второй вход (Т0) которой соединен с выходом первой схемы (110) И схемы (104) дешифрации, а выход соединен с управляющим входом регистра-приемопередатчика (80) кода воздействия, последовательный информационный вход регистра-приемопередатчика (81) кода результата соединен с общей проводной связью i3-го сервопривода, а его последовательный информационный выход соединен с информационным входом второго ключа (86), управляющий вход которого соединен с девятым (У8) выходом дешифратора (45) КУВМ, а трехстабильный выход соединен с i-м информационным входом матрицы (35) А×А×А процессоров, первый вход (У8) второй схемы (82) И соединен с управляющим входом второго ключа (86), второй ее вход (СЗП) соединен со вторым входом первой схемы (83) И, а выход соединен с первым входом второй схемы (84) ИЛИ, второй вход которой соединен с выходом пятой схемы (114) И схемы (104) дешифрации, а выход соединен с управляющим входом регистра-приемопередатчика (81) кода результата, каждая i-я группа пороговых датчиков (75), где i≤A2, состоящая из А2 однотипных пороговых датчиков (75), каждый из которых состоит из сенсорного датчика (78) и двухвходового компаратора (79), первый вход которого соединен с выходом сенсорного датчика (78) этого порогового датчика (75), а второй вход соединен со вторыми входами всех компараторов этой сенсорной матрицы (5), выполненной в виде квадратной сенсорной матрицы (5), состоящей из А строк и А столбцов, при этом каждая сенсорная матрица (5) содержит А А-входовых схем (76) ИЛИ и А (А+1)-входовых мультиплексоров (77), при этом n-й вход, где n=1…А, m-й А-входовой схемы (76) ИЛИ, где m=1…А, соединен с выходом компаратора (79) n-го порогового датчика (75), принадлежащего m-й строке сенсорной матрицы (5), а выход соединен с (А+1)-м входом m-го (А+1)-входового мультиплексора (77), s-й информационный вход, где s=1…A, j-го (A+1)-входового мультиплексора (77), где j=1…A, соединен с выходом компаратора (79) s-го порогового датчика (75), принадлежащего 7-му столбцу сенсорной матрицы (5), при этом каждая i-я сенсорная матрица (5) содержит местный контроллер (4) и центральный контроллер (44), связанные между собой общей проводной связью этой сенсорной матрицы, при этом местный контроллер (4) содержит сдвиговый управляющий регистр (71), параллельные выходы которого соединены с информационными входами управляющего регистра (72), А-разрядный сдвиговый регистр данных (70), двухвходовый ключ (73), информационный вход которого соединен с информационным последовательным выходом регистра данных (70), управляющий вход (U4) соединен с пятым выходом дешифратора (114) схемы (104) дешифрации, а выход соединен с общей проводной связью этой сенсорной матрицы (5), последовательный информационный вход сдвигового управляющего регистра (71) соединен с общей проводной связью этой сенсорной матрицы (5), а его управляющий вход (Т0) соединен с выходом первой схемы (110) И схемы (104) дешифрации. An autonomous robot control device comprising a control unit (1), a two-dimensional and three-dimensional image processing unit (2), digital information input and output controllers (19), the control unit (1) containing program and data memory (18), program addressable registers (9, ..., 17), an input / output interface (34) and a central control processor (7) containing a microword register (8) and having a program interrupt request input, as well as an address multiplexer (21) whose control inputs are connected with register outputs (8) microword, and inform The input inputs are connected to the outputs of the programmable address register (14) of the address of the first binary image operand and to the outputs of the programmable address register (15) of the address of the second binary image operand, as well as the image processing unit (2), the first group of control inputs of which two-input circuits (22, 23, 24, 25, 26, 27, 28, 29, 30, 31) And is connected to the outputs of the register (8) by the microword of the control unit (1), the second group of control inputs is connected to the outputs of the address multiplexer (21) control unit (1), and the third group of control inputs s is connected to the information outputs of the programmable registers (9, 10) of the control unit (1), the image processing unit (2) contains A 3 processors (36) combined into an A × A × A matrix (35) with A 2 information inputs and A 2 information outputs, where A = n 2 , n≥2 is an integer, and there is a one-to-one correspondence between A 3 processors (36) and A 3 cubes 1 × 1 × 1 cubes A × A × A of Euclidean space R 3 , in which the Cartesian coordinate system Oxyz is defined, the center of which coincides with the center of the specified cube A × A × A, and the axes Ox, Oy, Oz are directed s along the edges of this cube A × A × A, the volume of the intersection area of 1 × 1 × 1 cubes with each other is zero, and there is a one-to-one correspondence between A 3 processors (36) of the matrix (35) A × A × A and A 3 mutually disjoint squares 1 × 1 × 3 square √A √A 3 Euclidean space R 2, in which there is defined a Cartesian coordinate system X O P P P Y, P center O of which coincides with the center of said square √A √A 3 × 3 and axis O n X n, O p Y p directed along the sides of a square √A √A 3 × 3 square intersection region of these squares 1 × 1 between a p to zero, each processor (36) in the matrix (35) is given its own number (i, j, k), where the index 1≤i≤A denotes the layer number 1 × A × A of the matrix (35) A × A × A consisting of A 2 processors (36) and corresponding to the ith axis 1 × A × A in the direction of the Ox axis in the A × A × A cube located perpendicular to the Ox axis, the index 1≤j≤A denotes the column number in the ith the A × A layer of the matrix (35), consisting of A processors (36) and corresponding to the jth column along the O axis in the direction 1 × 1 × A in the ith layer 1 × A × A of the cube A × A × A located along axis Oz, while the index 1≤k≤A denotes the row number in the i-th layer 1 × A × A matrix (35), consisting of A processors (36) and the corresponding kth row along the Oz axis 1 × A × 1 in the ith layer 1 × A × A of the cube A × A × A located along the axis Oy, block (2) image processing comprises a KUVM decoder (45) with ten (U0, ..., U9) outputs and inputs connected to the outputs of the programmable address register (9), image memory (37) with A 2 combined information inputs and outputs, with address inputs of the IPA and with the state control input of its A 2 information outputs connected to the fifth (U4) output of the KUVM decoder, the first buffer memory (48 ) with A 2 information inputs and A 2 information outputs, a second buffer memory (49) with A 2 information outputs and A 2 information inputs, one-to-one connected to A 2 information outputs of the first buffer memory, volume determination unit (39) with A 3 information inputs connected to the outputs of the processors of the A × A × A matrix of processors, and with log 2 A 3 information outputs connected to the inputs of the programmable address register (12), a shaper (40) of the binary image fill code with A 3 information entrances with unity with the outputs of the matrix of processors (35) A × A × A processor, and with A data outputs connected to inputs of the program-addressable register (13), the first node (41 1) of input images with A 2 data outputs and to the input state control these A 2 information outputs connected to the seventh (V6) output of the decoder (45) KUVM, the second node (41 2 ) input photo images with A information outputs and with the state control input of these A 2 information outputs connected to the eighth (V7) output of the decoder (45) CMC switch p (50) rotation with A 2 information inputs, with A 2 information outputs and with a state control input of these A 2 information outputs connected to the fourth (Y3) output of the KUVM decoder, a cyclic transfer switch (51) with A 2 information inputs, with a 2 information outputs to the input state and control these a 2 information outputs, connected with the first (V0) KUVM decoder output, the switch (52) to shift the three-dimensional image data inputs of a 2, a 2 with data outputs and state control input of A 2 information outputs, connected to the second (Y1) output of the decoder KUVM, the switch (53) offset two-dimensional images with A 2 information inputs from A 2 data outputs and to the input control condition of A 2 information outputs, connected with the third (U2 ) KUVM decoder output, the switch (42) of the word with data inputs a, a with two data outputs and with the state of a control input of a 2 information outputs, connected with the sixth (V5) output of the decoder KUVM, each i th one information entry process hydrochloric matrix (35) A × A × A, where 1≤i ≤A 1 2, 1 is connected to the i -th combined data input-output memory (37) images, with one i-th data output of each node (41) input photo images, with i 1- m information output of the switch (42) words, with i 1- m information output of the switch (50), with i 1- m information output of the switch (51) cyclic transfer, with i 1- m information output of the switch (52) shear dimensional images, i-th data output 1 switch (53) offset two-dimensional images along the axis O n X n, each i -th and 2 formational output processor matrix (35), where 1≤i ≤A 2 2 2 is connected to the i-th data input of the switch (50) rotation, with 2 i th data input of the first buffer memory (48), A × information √A the inputs of the switch (53) for shifting two-dimensional images are one-to-one connected to the A × √A information outputs of the second buffer memory (49), the remaining A 2 -A × √A information inputs are one-to-one connected to the A 2 -A × √A information outputs processor matrix (35) A × A × A, in each (i, j, k) th multi-input multiplexer there are information input coupled to the output of the first latch register of the processor (36) with the appropriate box 1 × 1 × 3 square √A √A 3 when turning of a square √A √A 3 × 3 around the center O P intersects the stationary box 1 × 1 of this square, √A 3 × √A 3 , corresponding to the (i, j, k) th processor (36), with an overlap area exceeding the specified threshold value, in each (i, j, k) th multi-input multiplexer for each hardware -realizable the sampling display modeling transformation f: R 3 → R 3 R turning space 3 by an angle of 90 aliquant around the center О of the cube A × A × A, there is an information input connected to the output of the first register-trigger of that processor (36) of the matrix A × A × A, whose corresponding 1 × 1 × 1 cube is mapped into a 1 × cube when modeling the indicated transformation 1 × 1, corresponding to the (i, j, k) th processor, characterized in that it is equipped with a decryption circuit (104), a clock shaper (6) consisting of a pulse generator (98), two two-input AND circuits (102, 103 ), address counter (99) with address reset circuit, read only memory (100) and decoder (101), impulse generator output LSS is connected to the first input of the first circuit (102) AND, the output of which is connected to the counting input of the counter (99) of the address, whose information outputs are connected to the address inputs of the permanent memory (100), the output of the address reset circuit is connected to the reset counter input (99) of the address , the outputs of the permanent memory (100) are connected to the inputs of the decoder (101) of the clock generator, as well as to the inputs of the decoder (116), which is part of the decryption circuit (104) containing the decoder (109) and five two-input circuits (110 ... 114) AND whose information inputs are connected with the same name and the outputs of this decoder (109), and the control outputs are connected to the output of the second element (103) And the driver (6) of the clock signals, the inverse of which is connected to the output of the decoder (101) of the driver (6), and the direct input is connected to the output of the first discharge an address counter (99), a programmable address register (17) contains an additional trigger (105), the direct output of which is connected to the second input of the first circuit (102) and the driver (6) of the clock signals, the inverse output is connected to the request input of the central control program interrupt yayuschego processor (7) and a reset input connected to the output of the counter reset circuit (99) of the address clock generator, and each i -th 3 robot servo ≤A 3 where i 2, i 3 rd comprises a local controller (3) servo and i the 3rd central servo controller (43), interconnected by a common wire connection of the 3rd servo, the local servo controller contains a shift register-receiver (64) of the action code, parallel register (66), a shift register-transmitter (65) result code, two-input key (67), information input d which is connected to data transmitter serial output register (65) result code, a control input (U4) is coupled to the fifth output of the decoder (109), part of the circuit (104) decoding, and an output connected to the common wire bond i -th 3 a servo drive, the serial information input of the shift register-receiver (64) of the exposure code is connected to a common wire connection of the 3rd servo, the control input (T0) is connected to the output of the first decryption circuit (110) AND the decryption circuit (104), and the parallel information outputs are connected with od oimennymi parallel input register (66), whose data outputs are connected with similar data inputs of the digital to analog converter (68) i 3 th local servo controller, parallel data inputs of the shift register-transmitter (65) connected with the result code adjustable body homonymous position transducer output ( 108) i of the 3rd servo, the first control input (T3) is connected to the output of the fourth circuit (113) AND the decryption circuit (104), the second control input (T4) is connected to the output of the fifth circuit (115) And decryption schemes (104), the central controller (43) of the 3rd servo drive contains a shift register-transceiver (80) of the action code, a shift register-transceiver (81) of the result code, two two-input keys (87, 87), two two-input circuits (82, 83) AND, two two-input circuits (84, 85) OR, while the serial information input of the register-transceiver (80) of the exposure code is connected to the i 3rd information input of the processor matrix (35) A × A × A, and its serial information output is connected to the information input of the first key (87), the control input (U0) of which is connected to the first output of the decoder (109) of the decryption circuit (104), and the three-stable output is connected to the common wire connection of the ith servo drive, the first input of the first circuit (83) And is connected to the output of the entered decoder (88) of the address API, and the second input (SZP) is connected to the control output of the control unit (1), and the output is connected to the first input of the first circuit (85) OR, the second input (T0) of which is connected to the output of the first circuit (110) AND circuit (104) decryption, and the output is connected to the control input of the register-transceiver (80) of the exposure code I, the serial data input of transceiver register (81), the result code is connected to a common wire bond 3 i -th actuator, and its serial data output connected to the data input of the second switch (86), a control input of which is connected to the ninth (U8) output of the decoder (45) CMPC, and the three-stable output is connected to the i-th information input of the processor matrix (35) A × A × A, the first input (U8) of the second circuit (82) And connected to the control input of the second key (86), its second input (SZP) is connected to the second input of the first circuit s (83) AND, and the output is connected to the first input of the second circuit (84) OR, the second input of which is connected to the output of the fifth circuit (114) AND decryption circuit (104), and the output is connected to the control input of the code register-transceiver (81) result, each i-th group of threshold sensors (75), where i≤A 2 , consisting of A 2 of the same type of threshold sensors (75), each of which consists of a sensor sensor (78) and a two-input comparator (79), the first input of which connected to the output of the sensor sensor (78) of this threshold sensor (75), and the second input is connected to the second inputs of all omparators of this sensor matrix (5), made in the form of a square sensor matrix (5), consisting of A rows and A columns, with each sensor matrix (5) containing A A-input circuits (76) OR and A (A + 1 ) -input multiplexers (77), with the nth input, where n = 1 ... A, the mth A-input circuit (76) OR, where m = 1 ... A, is connected to the output of the comparator (79) n- threshold sensor (75) belonging to the mth row of the sensor matrix (5), and the output is connected to the (A + 1) th input of the mth (A + 1) input multiplexer (77), s-th information input , where s = 1 ... A, of the jth (A + 1) input multiplexer (77), where j = 1 ... A is connected to the output of the comparator (79) of the s-th threshold sensor (75) belonging to the 7th column of the sensor matrix (5), while each i-th sensor matrix (5) contains a local controller (4) and a central controller ( 44), interconnected by a common wire connection of this sensor matrix, while the local controller (4) contains a shift control register (71), the parallel outputs of which are connected to the information inputs of the control register (72), an A-bit shift data register (70) , two-input key (73), the information input of which is connected inen with the information serial output of the data register (70), the control input (U4) is connected to the fifth output of the decoder (114) of the decryption circuit (104), and the output is connected to a common wire connection of this sensor matrix (5), the serial information input of the shift control register (71) is connected to a common wire connection of this sensor matrix (5), and its control input (T0) is connected to the output of the first circuit (110) AND decryption circuit (104).
RU2008147160/02A 2008-11-28 2008-11-28 Device for controlling autonomous robot RU2424105C2 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
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