Обучение робота выполнению работ (Глава 7 книги "Роботы и автоматизация производства"), страница 5

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

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


Рис. 7.6

Штабель строительных блоков, уложенный промышленным роботом

На рис. 7.5 представлен популярный робот для любителей, оснащенный клавиатурой для программирования, укрепленной с правой стороны, что объединяет робот, управляющую ЭВМ и средства программирования в единую компактную мобильную систему. Вообще мобильный робот нецелесообразно оснащать отдельной управляющей ЭВМ, связанной с роботом при помощи кабеля или бесконтактным способом.

Язык программирования робота, изображенного на рис. 7.5, представляет собой микропроцессорный шестнадцатеричный код, о котором рассказано в гл. 14. С точки зрения требований к памяти, техническим средствам и программному обеспечению ЭВМ, предъявляемых шестнадцатеричным языком ассемблера, этот язык является в высшей степени эффективным. В то же время он несколько утомителен своей детальностью. Любителю же, желающему посвятить свое время и усилия разработке сложных программ, упомянутый язык позволяет это сделать с наименьшими затратами и при максимальной компактности систем.

Чтобы обеспечить быстрое и легкое программирование роботов для выполнения различных задач, необходим легко усваиваемый мощный язык программирования, применяемый вместе с панелью обучения для управления роботом во время программирования и обучения. Чтобы проиллюстрировать необходимость иметь мощный язык программирования в дополнение к панели обучения, рассмотрим задание роботу сложить строительные блоки в штабель, как показано на рис. 7.6. В принципе возможно, пользуясь панелью обучения, научить робот брать по одному блоку и точно устанавливать его в требуемое место. Реализация этого метода будет зависеть от объема памяти системы управления роботом, потому что ей придется запомнить каждое движение каждого блока. Для всего штабеля программа может состоять из нескольких тысяч таких движений робота. Представьте себе ужас программиста, если смена рабочего места потребует, чтобы штабель был немного передвинут!

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

Языки программирования, разработанные для выполнения таких задач, можно легко изучить за один-два дня. Имеющие опыт в программировании обычно осваивают языки программирования для роботов за считанные часы. Некоторые из этих языков даже написаны как диалекты некоторых существующих популярных универсальных языков программирования, таких, как Бейсик. Два широко используемых языка, таких, как ВАЛ фирмы «Юнимейшн» [73] и АРМ Бейсик фирмы «Микробот» [42], выбраны для того, чтобы проиллюстрировать формат и применение языков программирования для роботов вообще.