Мой блог

Здравствуйте уважаемые читатели блога!
Рад приветствовать Вас у себя на страничке.

суббота, 10 сентября 2011 г.

Я, Робот 2

В ходе изучения различных интернет-ресурсов посвящённым созданию «домашних» роботов выяснил следующее: роботы делятся на две категории — слишком простые и чрезмерно сложные.

Слишком простые умеют только объезжать препятствия, используя при этом либо инфракрасные, либо ультразвуковые датчики расстояния. Конечно, «глазастый» робот, которые к тому же ещё и вращает своей «головой» как бы высматривая куда ему ехать, выглядит интересно. Однако при этом не стоит забывать, что это всё же не настоящее зрение и даже не имитация оного, а фикция. Конструкционно вовсе не обязательно делать датчик расстояния похожим на глаза, это уже специально для эффекта.
Роботы крайне просты, без выдумки. Ну да, ездит, ну да, объезжает препятствия. И что? Что тут такого? Не вижу смысла. Тем более что их уже и так наделано много.

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

В результате продолжительных раздумий, было решено на первых порах ограничиться следующей функциональностью робота CES-3:
  • Объезд препятствий
  • Движение к наиболее сильному источнику света
  • Реакция на шум
  • Максимальная автономность работы
Подробнее по реализации функциональностей.



Объезд препятствий. Инфракрасные датчики спереди и сзади. Статичные сзади и подвижные спереди. Подвижный передний датчик позволит более интеллектуально выбирать вариант объезда препятствия. Вращение будет реализовано с помощью дополнительно сервомотора. Статичные датчики сзади нужны для объезда препятствий путём движения назад, дабы не врезался во что-то расположенное сзади.

Движение к свету. Дабы не делать движения робота случайными, или стандартными «от препятствия до препятствия» CES-3, как и два его предшественника будут двигаться к источнику наиболее яркого света, имитируя тем самым поведение ночного мотылька, однако эту опцию нужно сделать максимально разумной. Например если Солнце окажется самым ярким источником света, а робот не в состоянии покинуть пределов комнаты, то он всё время будет двигаться к окну, натыкаться на стенку, пытаться её объехать. В общем нужно либо сделать опцию отключаемой, либо интеллектуальной, например, только в тёмное время суток. Как вариант, можно в случае невозможности сближения с источником света замирать, «любуясь» лампочкой или Солнышком. Разумеется такой подход требует чёткого определения невозможности сближения. Тут явный простор для творчества.
Для поиска наиболее яркого источника будут использованы датчики освещённости, вероятно те же, что и в CES-2. Только расположены иначе. Возможно на той же вращающейся плоскости, что и «глаза» препятствия. Опять же для большей интеллектуальности выбора направления движения.

Реакция на шум. Да, я хочу чтобы у робота был слух. При сильном шуме робот будет двигаться не к источнику света, а наоборот, в самый тёмный угол, где и замирать «прислушиваясь», а через какое-то время, «успокоившись», снова начинать поиски яркого источника света.

Максимальная автономность. Дабы снабдить поиски источника яркого света дополнительным смыслом, планирую дать роботу солнечную панель для зарядки. Это позволит добиться максимально длительного времени автономной работы. CES'ик будет заниматься привычным для многих живых существ делом — искать корм, в виде света, разумеется. Это добавит его движениям смысла.

Для реализации вышеописанного необходимо приобретение следующих компонентов:
  • Шасси. Решил остановиться на колёсном варианте, причём не мудрствуя глюкаво буду покупать готовое, что-то вроде этого, DFRobot 4WD Arduino Mobile Platform:
  • Солнечная панель. Тоже, разумеется готовую. Вот такую, Solar Cell Large - 2.5W.
Сервомотор Servo — Large Full Rotation, дающий полный фрейм вращения, для максимально большего обзора, именно к нему будут крепиться датчики расстояния и освещённости.

Ещё не вполне определился с главным — «мозгом» робота. Не решил ещё на какой платформе будет реализовано. Для того чтобы робота можно было научить тем функциям, что я запланировал, необходимо чтобы они поместились в память микроконтроллера, иначе какой в них смысл?

Пока что нацелился на Arduino Board Mega:

Хороша тем что во-первых open-source, а во-вторых, ПО работает под Линуксом. Да и 128 КБ флеш-памяти тоже играют важную роль.

  • Инфракрасный глаз робота, Sharp GP2Y0A02YK0F:
Дистанция работы датчика, от 15cm, до 150cm, что вполне удовлетворяет требованиям. Хотя, конечно, неплохо было бы докупить сенсоры для ближнего действия, установив их сзади, как уже говорилось выше, да и спереди, для обнаружения низких препятствий, как, например, крестовина офисного стула, которую главный сенсор, Sharp GP2Y0A02YK0F, просто не увидит с высоты своего положения.

  • Освещённость будет изменять датчик Analog Ambient Light Sensor:
Уже готовый фоторезистор, установленный и закреплённый. Таких нужно минимум два.


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

Комментариев нет:

Отправить комментарий