НОВОСТИ    БИБЛИОТЕКА    КАРТА САЙТА    ССЫЛКИ    О ПРОЕКТЕ  

предыдущая главасодержаниеследующая глава

7.6. Коротко о программировании математического обеспечения

Ранее уже говорилось о том, что физически роботы могут быть реализованы различно. Это относится, в частности, и к программным процессорам. Физическое разнообразие программных процессоров заставляет меня говорить о них в общих чертах, имея в виду только их общие, так сказать, логические, свойства.

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

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

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

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

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

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

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

  1. Связи по информации, выражающиеся в том, что результаты одних программ являются исходными данными для других. В коллективах алгоритмов областями дислокации передаваемых данных являются буфера, необходимо точно определить форму, в которой передаваемые данные должны быть представлены в буферах.
  2. Связи по управлению; эти связи выражаются в том, что одни программы передают управление другим, разрешают или запрещают их выполнение, производят прерывание в их выполнении и т. п.
  3. Связи по воздействию; программы связаны по воздействию, если одна из них перерабатывав код другой, например настраивает, транслирует (переводит с одного алгоритмического языка на другой) или интерпретирует ее (является ее алгоритмом выполнения).
  4. Связи по размещению; эти связи возникают между программами, которые могут одновременно находиться в одном и том же запоминающем устройстве и не должны "друг другу мешать".

Для программиста необходимы системные соглашения, описывающие связи между программами (а значит, и условия, которым программы должны удовлетворять), но в коллективе алгоритмов, в котором некоторые алгоритмы реализованы аппаратно, такие связи могут быть косвенными, являться связями программ с процессорами. Знание системных соглашений позволяет разработку математического обеспечения выполнять параллельно силами нескольких программистов.

Как только та или иная программа изготовлена (а иногда и в процессе ее разработки), нужно сразу же эту программу документировать, без чего она недоступна не только для второго разработчика, но через некоторое время - и для ее автора.

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

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

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

предыдущая главасодержаниеследующая глава











© ROBOTICSLIB.RU, 2001-2019
При копировании материалов проекта обязательно ставить ссылку на страницу источник:
http://roboticslib.ru/ 'Робототехника'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь