Электронная библиотека » Джон Ловин » » онлайн чтение - страница 20


  • Текст добавлен: 14 ноября 2013, 04:35


Автор книги: Джон Ловин


Жанр: Зарубежная образовательная литература, Наука и Образование


сообщить о неприемлемом содержимом

Текущая страница: 20 (всего у книги 22 страниц)

Шрифт:
- 100% +
Принцип работы интерфейса

Рука-манипулятор имеет пять двигателей постоянного тока. Соответственно нам потребуются 10 шин входа/выхода для управления каждым двигателем, включая направление вращения. Параллельный (принтерный) порт IBM PC и совместимых машин содержит только восемь шин ввода/вывода. Для увеличения числа шин управления в интерфейсе руки робота используется ИС 74LS164, которая является преобразователем последовательного кода в параллельный (SIPO). При использовании всего двух шин параллельного порта D0 и D1, по которым посылается последовательный код в ИС, мы можем получить восемь дополнительных шин ввода/вывода. Как уже говорилось, можно создать восемь шин ввода/вывода, но в данном интерфейсе используются пять из них.

Когда последовательный код поступает на вход ИС 74LS164, на выходе ИС появляется соответствующий параллельный код. Если бы выходы ИС 74LS164 были непосредственно подключены к входам управляющих транзисторов, то отдельные функции руки-манипулятора включались и выключались бы в такт посылке последовательного кода. Очевидно, что такая ситуация является недопустимой. Чтобы избежать этого, в схему интерфейса введена вторая ИС 74LS373 – управляемый восьмиканальный электронный ключ.

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

После передачи последовательного пакета информации в ИС 74LS164 с вывода D2 параллельного порта подается разрешающий сигнал на ИС 74LS373. Это позволяет передать информацию уже в параллельном коде с входа ИС 74LS174 на ее выходные шины. Состоянием выходных шин управляются соответственно транзисторы TIP 120, которые, в свою очередь, управляют функциями руки-манипулятора. Процесс повторяется при подаче каждой новой команды на руку-манипулятор. Шины параллельного порта D3-D7 управляют непосредственно транзисторами TIP 125.

Подключение интерфейса к руке-манипулятору

Питание роботизованной руки-манипулятора осуществляется от источника питания 6 В, состоящего из четырех D-элементов, расположенных в основании конструкции. Интерфейс PC питается также от этого источника 6 В. Источник питания является биполярным и выдает напряжения ±3 В. Питание на интерфейс подается через восьмиконтактный разъем Molex, присоединенный к основанию манипулятора.

Присоедините интерфейс к руке-манипулятору при помощи восьмижильного кабеля Molex длиной 75 мм. Кабель Molex присоединяется к разъему, расположенному в основании манипулятора (см. рис. 15.8). Проверьте правильность и надежность вставки разъема. Для соединения платы интерфейса с компьютером используется кабель типа DB25 длиной 180 см, имеющийся в наборе. Один конец кабеля присоединяется к порту принтера. Другой конец соединяется с разъемом DB25 на плате интерфейса.

Рис. 15.8. Соединение РС интерфейса с рукой-роботом


В большинстве случаев к порту принтера штатно подключен принтер. Чтобы не заниматься присоединением и отключением разъемов каждый раз, когда вы хотите использовать манипулятор, полезно приобрести двухпозиционный блок переключателя шин принтеров A/B (DB25). Присоедините разъем интерфейса манипулятора к входу А, а принтер – к входу В. Теперь вы можете использовать переключатель для соединения компьютера либо с принтером, либо с интерфейсом.

Установка программы под Windows 95

Вставьте дискету 3,5" с меткой «Disc 1» в дисковод для флоппи-дисков и запустите программу установки (setup.exe). Программа установки создаст директорию с именем «Images» на жестком диске и скопирует необходимые файлы в эту директорию. В Start меню появится иконка Images. Для запуска программы щелкните по иконке Images в стартовом меню.

Работа с программой под Windows 95

Соедините интерфейс с портом принтера компьютера при помощи кабеля DB 25 длиной 180 см. Соедините интерфейс с основанием руки-манипулятора. До определенного времени держите интерфейс в выключенном состоянии. Если в это время включить интерфейс, то сохранившаяся в порту принтера информация может вызвать движения руки-манипулятора.

Щелкнув два раза по иконке Images в стартовом меню, запустите программу. Окно программы показано на рис. 15.9. При работе программы красный светодиод на плате интерфейса должен мигать. Примечание: чтобы светодиод начал мигать, включение питания интерфейса не требуется. Скорость мигания светодиода определяется скоростью работы процессора вашего компьютера. Мерцание светодиода может оказаться очень тусклым; для того чтобы это заметить, вам, возможно, придется уменьшить освещенность в комнате и сложить ладони «колечком» для наблюдения за светодиодом. Если светодиод не мигает, то, возможно, программа обращается по ошибочному адресу порта (порт LPT). Для переключения интерфейса на другой адрес порта (LPT порт), зайдите в окно меню установки адреса порта принтера (Printer Port Options box), расположенного в правом верхнем углу экрана. Выберите другую опцию. Правильная установка адреса порта вызовет мигание светодиода.

Рис. 15.9. Скриншот программы РС интерфейса под Windows


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

Создание script-файла

Для программирования движений и автоматизированных последовательностей действий руки-манипулятора используются script-файлы. Script-файл содержит список временных команд, управляющих движениями руки-манипулятора. Создать script-файл очень просто. Для создания файла кликните по функциональной клавише program. Эта операция позволит войти в моду «программирования» script-файла. Нажимая на функциональные клавиши, мы будем управлять движениями руки, как мы уже делали, но при этом информация команд будет записываться в желтую script-таблицу, расположенную в нижнем левом углу экрана. Номер шага, начиная с единицы, будет указан в левой колонке, а для каждой новой команды он будет увеличиваться на единицу. Тип движения (функции) указан в средней колонке. После повторного щелчка функциональной клавиши выполнение движения прекращается, а в третьей колонке появляется значение времени выполнения движения от его начала до окончания. Время выполнения движения указывается с точностью до четверти секунды. Продолжая таким же образом, пользователь может запрограммировать в script-файл до 99 движений, включая паузы во времени. Затем script-файл можно сохранить, а в дальнейшем загрузить из любой директории. Выполнение команд script-файла можно циклически повторить до 99 раз, для чего необходимо ввести количество повторов в окно Repeat и нажать Start. Для окончания записи в script-файл нажмите клавишу Interactive. Эта команда переведет компьютер обратно в интерактивный режим.

«Оживление» предметов

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

Ограничения области применения

Если вы хотите достичь профессионального уровня выполнения автоматизированных действий или «оживления» предметов, то, так сказать, для поддержания марки, точность позиционирования при выполнении движений в каждый момент времени должна приближаться к 100 %.

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

Поиск исходного положения

Можно усовершенствовать работу устройства, добавив в него схему обратной связи, которая отслеживает положение руки-манипулятора. Эта информация может быть введена в компьютер, что позволит определить абсолютное положение манипулятора. С такой системой позиционной обратной связи возможна установка положения руки-манипулятора в одну и ту же точку в начале выполнения каждой последовательности команд, записанных в script-файле.

Для этого существует много возможностей. В одном из основных методов позиционный контроль в каждой точке не предусмотрен. Вместо этого используется набор концевых выключателей, которые соответствуют исходной «стартовой» позиции. Концевые выключатели определяют точно только одну позицию – когда манипулятор доходит до положения «старт». Чтобы это сделать, необходимо установить последовательность концевых выключателей (кнопок) таким образом, чтобы они замыкались, когда манипулятор достигает крайнего положения в том или ином направлении. Например, один конечный выключатель можно установить на основании манипулятора. Выключатель должен срабатывать только тогда, когда рука-манипулятор достигнет крайнего положения при вращении по часовой стрелке. Другие конечные выключатели нужно установить на плечевом и локтевом сочленении. Они должны срабатывать при полном разгибании соответствующего сочленения. Еще один выключатель устанавливается на кисти и срабатывает, когда кисть поворачивается до упора по часовой стрелке. Последний концевой выключатель устанавливается на захвате и замыкается при его полном открывании. Чтобы поставить манипулятор в исходное положение, каждое возможное движение манипулятора осуществляется в сторону, необходимую для замыкания соответствующего концевого выключателя до тех пор, пока этот выключатель не замкнется. После того как достигнуто начальное положение для каждого движения, компьютер будет точно «знать» истинное положение руки-манипулятора.

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

В некоторых последовательностях знание только исходного положения оказывается недостаточным, например при поднятии яйца без риска раздавить его скорлупу. В подобных случаях необходима более сложная и точная система позиционной обратной связи. Сигналы с датчиков могут быть обработаны с помощью АЦП. Полученные сигналы могут быть использованы для определения значений таких параметров, как положение, давление, скорость и вращающий момент. В качестве иллюстрации можно привести следующий простой пример. Представьте, что вы прикрепили небольшой линейный переменный резистор к узлу захвата. Переменный резистор установлен таким образом, что перемещение его движка вперед и назад связано с открытием и закрытием захвата. Таким образом, в зависимости от степени открывания захвата меняется сопротивление переменного резистора. После проведения калибровки, с помощью измерения текущего сопротивления переменного резистора можно точно установить угол раскрытия зажимов захвата.

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

Система ручного управления интерфейсом

После того как вы убедитесь, что интерфейс работает правильным образом, вы можете с помощью 8-контактного плоского разъема подключить к нему блок ручного управления. Проверьте положение подключения 8-контактного разъема Molex к головке разъема на плате интерфейса, как показано на рис. 15.10. Аккуратно вставьте разъем до его надежного соединения. После этого рукой-манипулятором можно управлять с ручного пульта в любой момент времени. Не имеет значения, соединен ли интерфейс с компьютером или нет.

Рис. 15.10. Подключение ручного управления

Программа DOS управления с клавиатуры

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

Голосовое управление рукой-манипулятором

B голосовом управлении рукой-манипулятором используется набор распознавания речи (УРР), который был описан в гл. 7. В этой главе мы изготовим интерфейс, связывающий УРР с рукой-манипулятором. Этот интерфейс также предлагается в виде набора компанией Images SI, Inc.

Схема интерфейса для УРР показана на рис. 15.11. В интерфейсе использован микроконтроллер 16F84. Программа для микроконтроллера выглядит следующим образом:


‘Программа интерфейса УРР

Symbol PortA = 5

Symbol TRISA = 133

Symbol PortB = 6

Symbol TRISB = 134

Poke TRISA, 255

Poke TRISB, 240

Start:

Peek PortB, B0

If bit4 = 0 then trigger ‘Если запись в триггер разрешена, читать схе

му УРР

Goto start ‘Повторение

trigger:

pause 500 ‘Ожидание 0,5 с

Peek PortB, B0 ‘Чтение кода BCD

If bit5 = 1 then send ‘Выходной код

goto start ‘Повторение

send:

peek PortA, b0 ‘Чтение порта А

if bit4 = 1 then eleven ‘Число есть 11?

poke PortB, b0 ‘Выходной код

goto start ‘Повторение

eleven:

if bit0 = 0 then ten

poke portb, 11

goto start ‘Повторение

ten:

poke portb,10

goto start ‘Повторение

end


Рис. 15.11. Схема контроллера УРР для руки-робота


Обновление программы под 16F84 можно бесплатно загрузить из http://www.imagesco.com

Программирование интерфейса УРР

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

Таблица 15.1
Список деталей для интерфейса PC

• (5) Транзистор NPN TIP120

• (5) Транзистор PNP TIP 125

• (1) ИС 74164 преобразователь кода

• (1) ИС 74LS373 восемь ключей

• (1) Светодиод красный

• (5) Диод 1N914

• (1) Гнездо разъема Molex на 8 контактов

• (1) Кабель Molex 8-жильный длиной 75 мм

• (1) Двухпозиционный переключатель

• (1) Разъем уголковый типа DB25

• (1) Кабель DB 25 1,8 м с двумя разъемами М – типа.

• (1) Печатная плата

• (10) Резистор 100 кОм, 0,25 Вт

• (3) Резистор 15 кОм, 0,25 Вт

• (1) ИС регулятор напряжения 7805


Все перечисленные детали входят в комплект набора.

Список деталей для интерфейса распознавания речи

• (5) Транзистор NPN TIP 120

• (5) Транзистор PNP TIP 125

• (1) ИС 74154 4/16 – декодер

• (1) ИС 4011 логический элемент ИЛИ-НЕ

• (1) ИС 4049 – 6 буферов

• (1) ИС 741 операционный усилитель

• (1) Резистор 5,6 кОм, 0,25 Вт

• (1) Резистор 15 кОм, 0,25 Вт

• (1) Головная часть разъема Molex 8 контактов

• (1) Кабель Molex 8 жил, длина 75 мм

• (10) Резистор 100 кОм, 0,25 Вт

• (1) Резистор 4,7 кОм, 0,25 Вт

• (1) ИС регулятор напряжения 7805

• (1) ИС PIC 16F84 микроконтроллер

• (1) Кварцевый резонатор 4,0 МГц

• Набор интерфейса руки-манипулятора

• Набор для изготовления руки манипулятора компании OWI

• Интерфейс распознавания речи для руки-манипулятора

• Набор устройства распознавания речи


Детали можно заказать в:

Images, SI, Inc.

39 Seneca Loop

Staten Island, NY 10314

(718) 698-8305

Глава 16
Кисть руки – андроида

В этой главе мы попробуем изготовить андроидную или человекоподобную кисть руки. Для приведения в движение пальцев этой руки мы будем использовать воздушные мышцы, описанные в гл. 3.

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

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

Безусловно, как и для любого пневматического устройства, для работы мышцы требуется сжатый воздух. Сжатый воздух не столь доступен, как электрический ток. Когда я впервые решил попробовать сделать воздушную мышцу, я думал, что создание небольшого устройства, вырабатывающего сжатый воздух, может оказаться проблемой. Как оказалось, я ошибался. Простую воздушную систему можно сделать, потратив всего лишь $25,00, а небольшая электрическая пневмосистема обойдется в $50,00.

При использовании электричества для сжатия воздуха суммарный КПД устройства падает. Однако воздушная мышца потребляет для работы очень небольшое количество воздуха, поэтому можно создать резервуар для его хранения. Мышца очень быстро реагирует на подачу воздуха и имеет короткий рабочий цикл. Небольшая мышца весом всего 10 г способна поднять вес около 6,5 кг.

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

Если в устройстве используются одна или две мышцы, то они могут легко управляться «вручную». Если имеется пять или шесть воздушных мышц, то для их последовательной или одновременной активации управление «вручную» становится затруднительным. В этом случае мы применяем компьютерное управление. Можно использовать компьютер IBM PC или подходящий PIC микроконтроллер. Схема интерфейса для любого компьютера сохраняется неизменной. В этой главе мы будем использовать IBM PC. Управление воздушной мышцей с помощью компьютера (порт принтера IBM или совместимый) через параллельный порт PC добавит примерно $25,00 к стоимости конструкции воздушной мышцы.

Преимущества воздушной мышцы

• Малый вес. Воздушная мышца длиной 150 мм с подводящей воздушной трубкой диаметром 4 мм и длиной 450 мм весит приблизительно 10 г.

• Сокращение. Воздушная мышца длиной 150 мм сокращается примерно на 25 мм (около 25 % без учета длины креплений).

• Мощность. Развивает силу порядка 200 г при давлении воздуха 3 кгс. Отношение развиваемой мощности к весу может достигать 400:1.

• Гибкость. Мягкая и гибкая конструкция, которая может быть изогнута вдоль искривленной поверхности без нарушения ее работоспособности.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Следующая
  • 0 Оценок: 0

Правообладателям!

Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.


Популярные книги за неделю


Рекомендации