Джон Ловин
Создаем робота-андроида своими руками
Создание электронных устройств является интересным и увлекательным занятием, а конструирование роботов может принести наибольшее удовлетворение. В этом случае вам придется создавать не только электронные схемы и узлы, но воспользоваться некоторыми другими технологиями. Создание робота включает решение следующих технологических проблем:
• система питания устройства
• моторы и сервомеханизмы для обеспечения движения и перемещения устройства
• системы чувствительных датчиков (сенсоров)
• элементы искусственного интеллекта
По каждой из этих проблем существует многочисленная специальная литература, и очевидно, что объем одной книги не позволит охватить все многообразие применяемых технологий. Тем не менее мы коснемся большинства из них, что позволит вам получить начальные представления о задаче и может послужить основой для дальнейшего самостоятельного экспериментирования.
Робототехника является развивающейся дисциплиной. Многие подходы известны уже сегодня, но вряд ли кто-нибудь сможет сказать, какие методы и технологии конструирования будут использоваться через сто лет. Как и биологические системы, робототехника развивается в соответствии с Дарвиновской моделью «естественного отбора».
Занявшись созданием роботов, вы не останетесь в одиночестве. Я был очень удивлен, когда узнал, что многие энтузиасты, государственные организации, частные фирмы, спортивные и технические клубы занимаются вопросами любительского конструирования роботов. Наиболее «продвинутой» программой по робототехнике из тех, которые я когда-либо видел, обладает американское космическое агентство НАСА. Большинство разработок можно найти в открытом доступе. Если у вас есть Интернет – воспользуйтесь любой поисковой системой (Yahoo, Exite и т. д.) по ключевому слову robotics. Вы найдете массу информации, посвященной робототехнике, на сайтах различных компаний, университетов, клубов, форумов и просто энтузиастов.
Я хотел бы выразить благодарность некоторым коллегам, оказавшим неоценимую помощь при создании этой книги: Мэтту Вагнеру, моему агенту в Waterside Productions, Скотту Грилло, помогавшему выдержать график работы, и Стефану Смиту за большую помощь в редактировании текста.
Некоторые историки считают, что началом робототехники можно считать времена античной Греции. Примерно в 270 году до н. э. греческий инженер Ктесибус создавал музыкальные органы и клепсидры (водяные часы), в которых имелись движущиеся фигуры.
Другие историки полагают, что робототехника началась с появлением механических кукол. Примерно в 1770 году Пьер Жаке-Дрю – швейцарский часовой мастер и изобретатель наручных часов изготовил три замечательные куклы. Одна из созданных им кукол «умела» писать, другая – играть на органе, а третья – рисовать картины. Эти удивительные механические куклы, предназначенные для развлечения королевской семьи, проявляли свое «искусство» при помощи рычажков, шестеренок и пружин.
Позднее, в 1898 году, Никола Тесла построил дистанционно управляемую «ныряющую» лодку. Для 1898 года это было немалым достижением, и лодка демонстрировалась в Мэдисон Сквер Гарден. Тесла планировал создать лодку, способную к автономному плаванию, но за недостатком финансирования исследования пришлось прекратить.
Слово «робот» впервые появилось в 1921 году в пьесе «Р.У.Р.» (Россумские Универсальные Роботы), написанной знаменитым чешским драматургом Карелом Чапеком. Робот по-чешски означает «рабочий». В пьесе описывались механические слуги – «роботы». Когда этих роботов наделили человеческими эмоциями, они восстали против своих хозяев и уничтожили их.
Исторически можно найти немало примеров роботов – предметов неживой природы, копирующих человеческую внешность и некоторые человеческие «функции». Таких «человекоподобных» роботов принято называть андроидами.
С легкой руки Карела Чапека роботы стали главными героями многих научно-фантастических книг и фильмов. Развитие темы «роботов» привело к появлению их многочисленных разновидностей. Наряду со старомодными «железными» людьми, появились киборги – существа частично «человеческого», а частично – «машинного» происхождения, и андроиды — роботы, имеющие человеческий облик.
Многие впервые увидели «настоящего» робота на всемирной ярмарке 1939 года. Фирма Westinghouse Electric создала робота Electro – движущегося человека. У робота Electro имелись моторчики и система приводов, позволявшие ему «двигать» ногами, руками и ртом. Робот не «умел» делать никакой полезной работы – его просто демонстрировали на сцене в компании «механической» собаки Спарко.
Применение роботов оказалось совершенно необходимым для многих производств, прежде всего потому, что стоимость «труда» робота оказалось значительно ниже стоимости такой же операции, производимой работником – человеком. Более того, робота достаточно запрограммировать один раз, и он будет совершать требуемое действие с точностью, превосходящей точность работы любого квалифицированного рабочего. С другой стороны, человек способен выполнять различные задания и с этой точки зрения является значительно более гибким. Роботы, как правило, предназначены для выполнения какой-то одной операции. Например, робота, предназначенного для сварки, вряд ли удастся «научить» считать детали в бункере.
Существующие наиболее совершенные промышленные роботы очень скоро превратятся в «динозавров». Сегодняшняя «младенческая» стадия эволюции роботов заканчивается, появляются новые, гораздо более универсальные роботы, вбирающие в себя все новые качества человеческого интеллекта.
Персональный компьютер уже произвел переворот в обществе, но «персональный» робот еще не появился. Причина очевидна – создание такого робота намного сложнее. Помимо развитого интеллекта он должен хорошо «уметь» ориентироваться и перемещаться в пространстве и осуществлять необходимые манипуляции для достижения поставленной цели.
Понятно, что гораздо проще создать «домашнего» робота, выполняющего какую-то одну работу. Например, уже сегодня существуют небольшие мобильные роботы, которые могут «самостоятельно» постричь траву на газоне. Эти роботы работают от солнечных батарей и не требуют программирования. По периметру газона закапывается провод; робот чувствует этот провод и остается внутри периметра, не выходя за его пределы.
Создание полезного персонального робота очень сложно. Вообще говоря, эта проблема выходит за рамки данной книги, да, пожалуй, и любой современной книги по робототехнике. Резонно спросить – а какова вообще тогда цель этой книги? Я надеюсь, что, прочитав эту книгу и построив несколько моделей роботов, вы приобретете необходимый опыт и сможете внести свой вклад в развитие робототехники.
Способность к созданию нового не есть необходимая принадлежность исключительно университетского диплома. Роботы создаются отнюдь не только учеными в стенах университетов и промышленных компаний. Экспериментируя и «играя» с роботами, вы можете научиться многим полезным вещам: работе искусственного интеллекта, принципам нейросетей, грамотной постановке целей, задачам «навигации», работе сенсоров и исполнительных механизмов и т. д. Первоначальное знакомство с основами робототехники может перерасти в ее серьезное изучение. И с этой точки зрения «любительская» робототехника вносит свой вклад, подчас предлагая изящные и оригинальные решения, превосходящие «профессиональные».
Как говорится в поговорке: «Семь раз отмерь – один раз отрежь». Прежде чем начать строить робота, задайте себе вопрос: «Для какой цели он предназначен? Что он будет делать и каким образом?» Моей мечтой является создание маленького робота, который бы автоматически обслуживал кошачий туалет.
Эта книга содержит необходимую информацию об электрических схемах, «чувствительных» элементах, системах, обеспечивающих движение, нейронных сетях и микроконтроллерах, которые могут потребоваться при создании робота. Но перед тем как мы приступим, рассмотрим некоторые известные и возможные будущие области применения роботов. В настоящее время наиболее совершенные роботы создаются инженерами НАСА и военными специалистами. Нетрудно догадаться, что НАСА использует роботов для исследования космического пространства и организации дистанционной передачи информации. С другой стороны, военные пытаются использовать роботов в военных целях.
НАСА регулярно посылает беспилотные автоматические станции в тех случаях, когда отправка космонавтов-исследователей не представляется возможной. Главная причина такого решения проста – экономика. Гораздо дешевле послать в космос «невозвращаемого» робота, чем человека. Космонавту требуются специальные условия: воздух для дыхания, еда, тепло и достаточное жизненное пространство. И, говоря откровенно, понятным желанием космонавта является выжить в космической экспедиции и вернуться на Землю, так сказать, «при жизни».