Читать «Полный справочник по С++» онлайн - страница 453

Герберт Шилдт

Рис. Б.1. Простой, но эффективный экспериментальный робот (фото Кена Кайзера (Ken Kaiser))

Этот робот создан на основе шасси игрушечного танка Hobbico Ml Abrams R/C. (Я обнаружил, что шасси игрушечных танков и автомобилей прекрасно подходят для создания роботов.) Я удалил все внутренние детали танка, включая приемник и средства управления скоростью, сохранив лишь моторчик. Танк Hobbico очень хорошо подходит для создания роботов, поскольку имеет крепкое шасси, хороший моторчик, может нести большой вес, и его колеса не отваливаются. Благодаря тракам он имеет нулевой радиус поворота и может перемещаться по неровной поверхности. Шасси имеет примерно 18 дюймов в длину и приблизительно 8 дюймов в ширину.

Итак, опустошив шасси, я стал добавлять к нему следующие компоненты. Для обеспечения бортового управления я использовал простой, но мощный микропроцессор BASIC Stamp 2 компании Parallax, Inc. (). Микросхема RS-232, видеокамера и передатчик также производятся компанией Parallax. Беспроводной передатчик RS-232 и передатчик видеосигналов действуют в радиусе 300 футов. Моторчик танка я снабдил устройством управления скоростью. Устройства такого типа применяются в скоростных гоночных автомобилях. Они управляются микропроцессором BASIC Stamp.

Вот как работает мой робот. Удаленный компьютер запускает основную программу управления роботом. Эта программа управляет основными системами его жизнедеятельности: устройствами технического зрения, средствами контроля и пространственной ориентации. Она может разучивать серию движений, а затем воспроизводить их. Удаленный компьютер передает роботу команды управления движением (через беспроводную связь на основе микросхемы RS-323). Микропроцессор BASIC Stamp получает эти команды и выполняет их. Например, получив команду “вперед”, микропроцессор BASIC Stamp посылает соответствующие сигналы электронному контроллеру скорости, связанному с двигателем. Выполнив команду, робот возвращает подтверждение. Таким образом, обмен информацией между удаленным компьютером и роботом является двусторонним, и робот может подтверждать выполнение каждой команды.

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

Недавно я начал работу над механической рукой робота. Ее прототип показан на рис. Б.2. Хотя экспериментаторам и любителям робототехники доступны несколько коммерческих устройств, выполняющих функцию руки робота, я решил создать свою собственную модель, которая была бы сильнее и могла поднимать более тяжелые объекты. Механическая рука использует шаговый двигатель, вмонтированный в ее основу. Он позволяет выдвигать и вращать устройство захвата. Рука управляется своим собственным микропроцессором Stamp. Таким образом, основной контроллер робота просто передает команды управления рукой второму контроллеру. Это позволяет роботу и его механической руке выполнять параллельные операции, предотвращая перегрузку основного контроллера.