Как сделать мини робота в домашних условиях. Роботов как делать
Как Делать Робота В Домашних Условиях. Мир робототехники. informatik-m.ru
У начинающего робототехника всегда возникает два вопроса: как сделать робота и из чего сделать робота . На эти два вопроса пытается ответить этот сайт, посвященный BEAM-роботам, алгебре логики и логическим схемам роботов.
BEAM (произносится бим ) является отличной школой робототехники и электроники, так как позволяет вести освоение шаг за шагом, от простого к сложному. От создания роботов с простейшими рефлексами до систем, управляемых нейронными сетями.
При создании BEAM-существ широко применяются аналоговые технологии, позволяющие реализовать разновидности нечеткой логики, и нейронная поведенчески-ориентированная архитектура систем управления, основанная на стимул-ответных реакциях.
РОБОТЫ и БИОЛОГИЯ
BEAM-роботы являются одними из, пожалуй, самых интересных робототехнических созданий. Один из основных принципов дизайна BEAM-робота - следование природе живых существ. Таким образом, и сам BEAM-робот является, в некотором роде, почти живым существом.
Именно следование биологическим принципам при проектировании роботов наделяет эти биоморфные создания неподражаемым поведением, которое очень сложно достичь при использовании полностью цифровых устройств (процессоров и микроконтроллеров). BEAM-робот по большей части - это аналоговое устройство, использующее широкие возможности аналогового подхода.
BEAM-технология позволяет создавать простых и шустрых роботов с уникальным поведением из доступных и распространенных компонентов без необходимости сложного программирования.
Конструкция робота, выполненная с учетом анатомии насекомых, позволяет даже очень простым роботам демонстрировать достаточно интересное поведение. Насекомые выбраны в качестве одной из основных моделей в силу того, что их нервная система является одной из самых простых и эффективных относительно других живых существ. Сложное поведение может стать результатом работы всего нескольких нейронов.
Аналог и цифра
Поведение роботов должно быть приближено к поведению живых организмов, поэтому за основу берутся аналоговые принципы. Конечно же, использование микроконтроллеров не запрещается, но базовые инстинкты робота должны быть реализованы на основе независимых нейронных цепей.
СИСТЕМЫ ПОВЕДЕНИЯ
В основе нижнего слоя архитектуры BEAM-роботов лежат конструкции, обеспечивающие реализацию поведения типа стимул-реакция . Такое поведение обычно реализуется с помощью низкоуровневых нервных сетей .
Нейронная поведенчески-ориентированная архитектура - основа всего BEAM-роботостроения.
Использование аналоговых принципов позволяет реализовать системы с нечеткой логикой.
Кроме того, поведенчески-ориентированная архитектура доктора Тилдена может быть сведена до частного случая предикативной архитектуры Родни Брукса, как нейронного процесса, использующего метод предикативной (условной) реакции на стимул.
BEAM-роботы: от простого к сложному
Базовым принципом ВЕАМ-философии является эволюция роботов: развитие снизу вверх от простых конструкций к сложным системам.
Простота и красота BEAM-роботов привлекает к этому хобби людей всех возрастов и уровней образования. Уже с первых шагов даже начинающий способен создать работоспособные конструкции не учась программировать и не углубляясь в длительное освоение микропроцессорной техники. Если у вас хватает умения для того, чтобы выпрямить скрепку, то значит у вас хватит умения построить и BEAM-робота.
BEAM является лучшим путем изучения робототехники, логических схем и электроники для начинающих. А безграничные потенциалы, заложенные в BEAM-технологии, делают ее отличным хобби как для молодых конструкторов так и для зрелых людей, увлекающихся роботами. В отличие от большинства, основанных на процессорах роботов, BEAM-роботы дешевы, просты и могут быть построены любителями всего за несколько часов.
КАК СДЕЛАТЬ РОБОТА
Ответить на вопрос: Как сделать робота? в случае использования BEAM-технологий достаточно просто. Часто бывает необходима всего одна микросхема, которая служит роботу и мозгом, и силовой частью, управляющей двигателями. Большинство BEAM-роботов делают в домашних условиях. Создание самодельных роботов с использованием BEAM-технологии - одно из лучших хобби.
РОБОТОТЕХНИКА ДЛЯ НАЧИНАЮЩИХ
Стоит добавить, что BEAM-технология - лучший путь для знакомства с основами электроники. а сами BEAM-роботы являются одними из непременных участников сайтов, рассказывающих про робототехнику для начинающих.
Для того, чтобы сделать своего первого робота необходимо познакомиться всего с несколькими электронными деталями. Список этих электронных деталей для создания робота очень небольшой.
Вот собственно и все, что понадобится для создания BEAM-робота, наделенного фототропным поведением. Ваш первый робот будет реагировать на свет. Более того, следуя заложенному в него фототропизму, он будет следовать за светом.
Хотя робот очень прост, но у него будет широкий потенциал для развития. Добавив в него пару светодиодов и резисторов, Вы получите робота, способного избегать препятствия. Ваш робот уже не будет глупо упираться в стенку, а сможет миновать неожиданную преграду.
Исследование алгоритмов маршрутизации в многосегментных беспроводных сетях
Научный руководитель: к.т.н. доцент Красичков Алексей Александрович
Программирование роботов в домашних условиях
Введение
В своём индивидуальном задании я хотел бы рассказать о том, как можно весело провести время, применив полученные в университете знания на практике :). Программирование роботов, а точнее микроконтроллеров, на которых они построены, - это не сложно. Вот увидите! Начну с теории и описания всего того, что нам пригодится.
Что такое Arduino?
Arduino – аппаратная вычислительная платформа, основными компонентам которой являются простая плата ввода/вывода и среда разработки на языке Processing/Wiring. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере. Документация на аппаратную часть и программный код опубликованы под лицензией «copyleft», но разработчики выразили желание, чтобы название «Arduino» (и производные от него) было торговой маркой для официального продукта и не использовалось для производных работ без разрешения. В официальном документе об использовании названия Arduino подчеркивается, что проект открыт для всех желающих работать над официальным продуктом.
До недавнего времени создание роботов считалось очень непростой процедурой, требующей от разработчика высокой квалификации и специального образования, а также длительного времени на разработку. Но с появлением плат Arduino это занятие может позволить себе почти каждый, кто хоть немного знаком с программированием! Потому как подключение платы к компьютеру не сложнее подключения к нему, например, флешки, а запрограммировать нужные операции требуется на «упрощенном Си» в специальной интегрированной среде разработки, откуда одним нажатием кнопки мыши можно сразу же и прошить плату. Проще некуда, но обо всем по порядку.
Плата Arduino состоит из микроконтроллера Atmel AVR (ATmega328 и ATmega168 в новых версиях и ATmega8 в старых) и элементной обвязки для программирования и интеграции с другими схемами. На каждой плате обязательно присутствуют линейный стабилизатор напряжения 5 В и 16 МГц кварцевый генератор (в некоторых версиях керамический резонатор). В микроконтроллер предварительно прошит загрузчик, поэтому внешний программатор не нужен.
На концептуальном уровне все платы программируются через RS-232 (последовательное соединение), но реализация этого способа отличается от версии к версии. Текущие версии плат, программируются через USB, что осуществляется благодаря микросхеме конвертера USB-to-serial вроде FTDI FT232. В некоторых вариантах для программирования требуется подключение отдельной платы USB-to-serial или кабеля.
Проект Arduino постоянно развивается и имеет множество модификаций. На данный момент доступны 10 версий плат, но конкретно в данном проекте использовалась плата Arduino Diecimila. Она представляет собой небольшую электронную плату, ядром которой является микроконтроллер ATmega168. На плате есть: 14 цифровых входов/выходов, 6 из которых могут работать в режиме ШИМ (PWM) (а следовательно управлять аналоговыми устройствами вроде двигателей и передавать двоичные данные), 6 аналоговых входов (исходной информацией служат не логические 0/1, а значение напряжения), тактовый генератор на 16 МГц, разъёмы питания и USB, ICSP-порт (что-то вроде последовательного интерфейса для цифровых устройств), несколько контрольных светодиодов и кнопка сброса. Этого вполне достаточно, чтобы подключить плату к USB-порту компьютера, установить необходимое программное обеспечение (драйвер и среду разработки) и начать программировать.
Рисунок 1. - Внешний вид платы Arduino Diecimila.
Краткая спецификация
- Микроконтроллер: ATmega168
- Рабочее напряжение: 5 В
- Входное напряжение (рекомендуемое): 7-12 В
- Входное напряжение (пределы): 6-20 В
- Цифровые порты ввода/вывода: 14 портов (из них 6 с ШИМ-сигналом)
- Аналоговые порты ввода: 6 портов
- Ток для портов: 40 мА
- Ток для 3.3В источника: 50 мА
- ППЗУ (Flash Memory): 16 KB (из них 2 Кб используются загрузчиком)
- ОЗУ (SRAM): 1 Кб
- ПЗУ (EEPROM): 512 байт
- Тактовая частота: 16 МГц
Преимущества и недостатки
Низкая цена. Платы Arduino относительно недороги по сравнению с другими микроконтроллерными платформами. Самый дешёвый вариант модуля Arduino может быть собран вручную, но даже предварительно собранные модули Arduino стоят менее $50.
Кросс-платформенность. Программное обеспечение Arduino работает под управлением операционных систем Windows, Macintosh OS X и Linux, поскольку является открытым и работает на Java. Большинство микроконтроллерных систем ограничиваются Windows.
Простая среда программирования. Программная оболочка является простой в использовании для новичков, но достаточно гибкой для продвинутых пользователей, чтобы быстро достичь нужного результата.
Открытый исходный код. Язык может быть расширен с помощью библиотек C++, более продвинутые специалисты могут создать свой собственный инструментарий для Arduino на основе компилятора AVR C.
Открытые спецификации и схемы оборудования. Arduino основан на микроконтроллерах ATMEGA8 и ATMEGA168 от Atmel. Схемы модулей опубликованы под лицензией Creative Commons, поэтому опытные схемотехники могут создать свою собственную версию модуля для своих нужд. Даже сравнительно неопытные пользователи могут сделать макетную версию модуля, чтобы понять, каким образом он работает, и сэкономить деньги.
Что же нужно для того, чтобы сделать своего робота?
Робота можно собственноручно собрать, как это делают многие энтузиасты, но можно переработать существующего. В качестве робота подойдет любая игрушка с подвижными деталями. В моём случае – это танк, с подвижными гусеницами, приводящимися в движение встроенными моторчиками (танк имел дистанционное управление). Вот этими моторчиками я и буду управлять с помощью платы.
Важным этапом, естественно, служит получение в своё распоряжение одной из плат Arduino. В моём случае это плата Arduino Diecimila. Также для подключения платы к компьютеру необходим USB кабель любой длины стандарта A-B. Через этот кабель будет осуществляться обмен данными между компьютером и микроконтроллером, а также подача питания на плату, т.е. внешний блок питания не обязателен. Еще один компонент, который необходим для управления моторами – это плата расширения MotorShield.
Рисунок 2. - Плата расширения MotorShield и комплект деталей.
Рисунок 3. - Что и как подключать к MotorShield.
Далее нужно определиться с целями: мне нужно к имеющемуся игрушечному танку приделать дистанционное управление, но не обычное «куда нажал – туда поехал», а такое, при котором танку передавались бы координаты на воображаемом поле и он самостоятельно бы их достигал. Т.е. нужно представить, что комната (или любой другой участок, по которому будет двигаться танк) разбита на квадраты, представляющие собой систему координат. Тогда танку необходимо будет передавать координаты какого-либо квадрата и он должен будет повернуться к нему и проехать необходимое расстояние, чтобы стать в этот квадрат.
Рисунок 4. - Процесс проектирования.
Рисунок 5. - Игрушечный танк с материнской платой.
Рисунок 6. - Материнская плата явно больше платы Arduino :).
Есть танк с моторами, есть плата, есть плата расширения. Необходимо средство для передачи координат. Это будет программа на компьютере пользователя, которая будет передавать данный на танк посредством Wi-Fi связи. Должен заметить, что Wi-Fi не понятен плате, поэтому на танке присутствует еще и обычная материнская плата (позже заменена на ноутбук :) ), которая будет от адаптера Wi-Fi транслировать данные в COM-порт, через который будет связь с платой Arduino. От нее сигналы уже будут поступать на плату расширения, и моторы должны будут закрутиться. Сложно это всё только на первый взгляд. На самом деле крепится все друг к другу просто, и задача сводится к написанию двух программ: одной – для передачи данных от компьютера пользователя на Wi-Fi адаптер, другой – для обработки данных внутри микроконтроллера.
Рисунок 7. - Wi-Fi адаптер для приёма команд.
Итак, поехали!
Программу, отвечающую за обмен данными между ПК и микроконтроллером через COM-порт, писать можно на чём угодно. Пусть это будет Delphi.
Для краткости приведу исходный код только той функции, которая будет передавать танку команды, отвечающие за поворот и передвижение на нужные угол/расстояние. Функция принимает на вход текущие координаты (x0,y0), новые координаты (x1,y1) и текущий угол поворота танка alpha. Возвращать функция будет новый текущий угол. Текущие координаты и угол хранятся вне функции. Код откомментирован в нужных местах, поэтому описывать не стану.
Следующий этап - написание программы для прошивки её в плату. Синаксис языка очень прост, ведь он основан на языке C. Всё, что нам нужно, это принять данные с последовательного порта и обработать поступившую команду, включив вращение моторов танка в нужную сторону. Моторы включаются на определенное время и длительностью этого времени достигается движение на требуемое расстояние.
В программе для приёма данных используется пин №9 (TxD). Соответственно 2й контакт СОМ порта материнской платы (RxD) необходимо подключить к пину №9 на Arduino. Ещё одно требование: нужно настроить СОМ порт материнской платы на скорость 9600 бод.
Осталось только прошить эту программку в Arduino (а делается это нажатием одной кнопки в интерфейсе Arduino IDE) и можно развлекаться, засылая танк в тыл врага :).
Заключение
Конечно, можно не ограничиваться просто пересылкой координат. Можно добавить интерактивности, используя для управления танком джойстик. А используя веб-камеру, прикрепленную к башне танка, можно наблюдать за движением, сидя за компьютером. Но для этого понадобится дополнительное ПО. Но даже это не делает программирование Arduino чем-то непосильным. Работать с такой платой просто, легко, а главное - доступно! Хотя нет, главное - это получение море удовольствия как от результата, так и от самого процесса!
Рекомендуемые ссылки
www.freeduino.org - Известный во всём мире индекс знаний об Arduino и FreeduinoИсточники: http://beam-robot.ru/, http://masters.donntu.org/2009/fvti/mudzhyri/ind/index.htm
Комментариев пока нет!
informatik-m.ru
Что нужно знать, чтобы начать создавать роботов?
Сейчас появилось великое множество возможностей, которые позволяют начать создавать роботов не имея каких-то супер-пупер особенных таких знаний. И это великолепно! Потому что запускает лавину познания.
Причём начинать нужно не со знаний. Не знания должны быть паровозом. Знания это багаж, который едет в этом поезде. А что же тогда паровоз? А паровоз — это как раз незнание того, как бы так сделать, чтобы нечто делалось само собой. Строительство робота — это как раз обретение такого знания.
Чтобы не погрязнуть в примерах давайте возьмём один только пример. Самый тривиальный пример. Пусть робот перемещается по комнате не впечатываясь в стены. Что нужно знать:
1. Какой будет механика перемещений. (У большинства роботов есть механика, но бывают и бестелесные роботы, например, биржевые.) Если у вас нет знаний в этой области, то сразу начинайте их приобретать. Какие есть механизмы для перемещения, по ровной поверхности, по неровной, шагающие, на колёсах… Если на можете сделать такой механизм, найдите готовый. Разберите и соберите его заново, если это возможно.
2. Как робот будет взаимодействовать с внешним миром. Тут хорошо бы иметь знания в радиоэлектронике и/или информационных технологиях, чтобы понимать как считывать звуковые, оптические, механические сигналы, как получать информацию из сети (последнее особенно важно для бестелесных роботов). Минимальные знания уже подойдут, недостающие нужно немедленно начать восполнять. Благо вы можете использовать огромное количество модульных элементов и датчиков, сопрягаемых с уже готовыми контроллерами, которые превращают сигналы этих датчиков просто в числа. (если интересно, можно в комментариях обсудить/обменяться ссылками/адресами, где всё это приобретается)
3. (самое важное) Как робот будет думать. Надо определиться в чём заключается его «мыслительная» деятельность. Для выбранного примера это всего лишь умение в нужные моменты времени включать и выключать N электродвигателей в зависимости от измеренного расстояния до стены впереди (как минимум). Для мыслительной деятельности роботу нужен программируемый блок с микропроцессором. Есть множество готовых платформ для конструирования роботов (Arduino, Матрёшка, Strawberry Pi, Iskra, Troyka и др. Опять приглашаю в комментарии: делитесь ссылками, спрашивайте) Выбираем технику правильно Какой смартфон фотографирует лучше всего?Какой компьютер купить, чтобы было удобно играть в Minecraft часами?Как выбрать наушники?Эксперты готовы помочь с выбором!
Сразу возникает вопрос: значит надо знать программирование? Строго говоря да. Но среди перечисленных платформ есть такие, в которых программирование осуществляется в визуальной среде без использования какого-либо конкретного языка программирования. (Т.е. внимание! Не обязательно знать программирование чтобы начать. Но естественно обязательно знать, чтобы продолжить)
Вот три основных косточки, на которых надо иметь сухожилия начальных знаний и навыков, доступных даже ребёнку, и на которых потом наращивать мясо высших инженерных знаний:
- строить механизмы из конструктора — в перспективе это весь спектр «механических наук»: физика (механика), детали машин и механизмов, сопромат, гидравлика и т.п.
- знать, как обеспечивается взаимодействие с внешним миром (даже детские конструкторы сегодня снабжены модулями-датчиками) — в перспективе это программирование, сетевые протоколы, физика (электричество, оптика, акустика, радиолокация, и т.д.)
- иметь начальное представление о программировании: переменные, алгоритмы — в перспективе программирование (разные языки и парадигмы программирования), алгоритмы и структуры данных, базы данных. Выбор языка программирования не принципиален, выбор очень широк, от визуальных сред для детей, но ассемблера конкретного микропроцессора. Вы сами можете выбирать в зависимости от имеющихся знаний
Ну, и напоследок, для вдохновения посмотрите (и это не реклама, я к этому производителю не имею отношения (поделитесь другими примерами)) какие есть детские инструменты для создания роботов https://www.tinkerbots.de/
thequestion.ru
Как собрать мини робота в домашних условиях
Шагающий робот шар в домашних условиях
Ведущий канала «Учебник Мастерства» показал наглядно, как сделать шагающего мини робота. В первую очередь сделаем лапы. Две палочки от мороженого скрепляет вместе, отмеряем 6 сантиметров и сразу ставим две метки, где будут отверстия. Скальпелем удаляем всё лишнее, а место среза обрабатываем наждачкой. Бормашинкой по меткам сверлим два отверстия.
Берем еще две палочки, закрепляем скотчем, отмеряем 6 сантиметров и отрезаем ножовкой.Край закруглить не надо. На эту заготовку делаем отверстие только с одной стороны. Эти заготовки будем клеить прямо посередине полки с закругленными краями. Обратите внимание, они должны быть перпендикулярными. Заранее готовим четыре кусочка деревянные шпажки по 3 сантиметра. Вставляем в нижнее отверстие. При помощи суперклея к шпажке приклеиваем две заготовки по 8 см. Используйте линейку, чтобы соблюдать угол 90 градусов. Посмотрите, что должно получиться. Точно таким же образом делаем вторую лапу. Как видите, все понятно и в домашней обстановке несложно все это делать.
Нам еще понадобится пластиковый шарик из под игрушки. В нижней части шара с помощью ножовки делаем два углубления для деревянной шпажки. Закручиваем верхнюю участие маркером отмечаем где будет начала разреза. По резьбе раскручиваем и ещё раз отмечаем. Аккуратно между метками ножовкой делаем надрезы. Выбираем всё. Когда будем откручивать или закручивать шарик, отверстие всегда будет открытым.
Берем малооборотистый моторчик редуктор. Присоединяем к нему готовый контакт. Можно обойтись обыкновенными проводками. От чупа-чупса отрезаем кусочек ножки. Один конец хорошо нагреваем и сплющиваем. Второй конец тоже греем и одеваем на вал редуктора. В нижней части пластикового шарика отмеряем и клеем кусок палочки из под мороженого. Это будет подставка под мотор редуктор. Даем суперклея чуть-чуть затвердеть и сверху обильно наносим горячий клей. Ставим мотор и корпуса заливаем горячим клеем. Он не должен попадать на редуктор. Оставляем шар с мотором в стороне. Делаем 2 сантиметровые заготовки с отверстием посередине. Чтобы не было заусенцев, край обрабатываем наждачной бумагой. Берем линейку и делаем две отметки на расстоянии 1 см. По меткам сверлим два отверстия, скальпелем срезаем полукругом. Края обрабатываем.Продолжение на видео с пятой минуты. Здесь детально показано, как в домашних условиях сделать интересного мини робота.
Простейший робот в домашних условиях
Для изготовления простейшего нам понадобится моторчик, два куска провода, прищепка, зарядное устройство от телефона. Сначала нужно присоединить проволоку к двигателю. После этого, как клей затвердел, возьмём плоскогубцы согнем ножки. Теперь можно раздвинуть их, чтобы робот стоял более уверенно. Теперь припаяем контакты на зарядное устройство к плюсу и минусу.Далее видео канала «Без Чувств», где показано, как создать эту игрушку робота.Теперь можно тестировать этого простейшего мини робота. Чтобы он зашевелился, нацепим прищепку на ротор. Вот и всё! Робот бегает.
Мини робот из набора в домашних условиях
На канале Alphadroid рассказали, как сделать в домашних обстоятельствах мини робота.Для сборки ходячего необходимо большое количество компонентов. Была использована платформа для самостоятельной сборки «Дройдик». Помимо деталей, которые можно приобрести на радио-рынке, в наборе есть дополнительные необходимые элементы.
Смотрите видео канала Alpha Mods.Комплектация набора: панели с деталями для сборки корпуса, батарейный отсек, 4 полноценных набора сервоприводов, 30 гаек, винты и гайки М 3, 2 самореза, ультразвуковой датчик расстояния, шлейф, намагниченная отвертка, инструкция по сборке.
Корпус робота деревянный, из МДФ. В комплекте 5 пластин с деталями для корпуса, обработанные лазерным гравером. Робот оснащен ультразвуковым датчиком, это поможет ему ориентироваться в пространстве. На первых страницах инструкции нарисованы панели корпуса в масштабе 1:1. Необходимо взять реальные пластины и пронумеровать так, как это сделано на рисунке.
Первым делом необходимо взять деталь D1 и D4, а также пару винтов М3*10. Аккуратно вынимаем детали из пластины и прикручиваем друг к другу. Берем D5 и сервоприводы. Прикручиваем к D5 с помощью саморезов, которые идут в комплекте. Берем первую и вторую заготовки, соединяем с помощью D3. В деревянных деталях есть пазы, и они друг в друга вставляются. Берем гайки и располагаем в отведенные для них места. Это были ноги и ступни робота. Переходим к D2 и рукава для сервоприводов. Рукав фиксируем на планке. Планка надевается.
Проводим калибровку: проворачиваем привод в сторону, вытаскиваем планку, вставляем заново и проворачиваем снова, пока планка не упрется. Еще раз снимаем планки и надеваем в конечное положение: так чтобы D2 касалось D3, либо была максимально близка к ней. Возвращаем привода на исходное положение. На этапе калибровка завершена. Берем опору D10 и устанавливаем ее на D1 и D2. D1 зажимается с помощью контргайки не до упора. То, что сейчас установили является гнездом для сервоприводов, оставшиеся два помещаем на соответствующие гнезда. Есть планка фиксации – D11.
Калибровка: одеваем плечики и проворачиваем до упора, плечи снимаем и устанавливаем в вертикальном положении, задаем угол в 90 градусов, наконец снимаем. Ноги готовы. Для сборки головы: D7, D14 и 4 болта м3*12 мм.
izobreteniya.net