Как делают роботов
Как делают роботов
Хочу стать инженером и собрать робота. У меня получится?
Можно подумать, что робототехника — занятие для умников и выпускников физтеха, но это не так. На самом деле простых роботов строят даже младшие школьники, поэтому вам это тоже под силу. Вместе с благотворительным фондом Олега Дерипаски «Вольное дело», реализующим программу по робототехнике для школьников, подростков и студентов, мы сделали простой гид для начинающих инженеров (впрочем, взрослым он тоже вполне может пригодиться). Объясняем, как собрать своего первого робота.
Что мне потребуется?
В первую очередь — микроконтроллер. Он станет мозгом будущего робота. Можно сказать, что микроконтроллер — это крошечный компьютер, размещенный на одной микросхеме. У него есть процессор, оперативная и постоянная память и даже периферийные устройства: интерфейсы ввода и вывода данных, различные таймеры, передатчики, приспособления, которые инициируют работу двигателей. Набор устройств зависит от конкретной модели. Именно микроконтроллер будет получать информацию от внешнего мира через датчики движения, фотокамеры и прочие приспособления, анализировать ее и побуждать робота совершать в ответ какие-то действия.
Микроконтроллер нужно будет установить на печатную плату, запитать его, подсоединить все необходимые устройства (датчики, лампочки, двигатели), а еще собрать из подручных материалов корпус робота. Все детали, которые для этого нужны, можно купить в любом магазине радиотехники.
Если у вас нет профильного образования или опытного наставника, который подробно объяснит, что именно и в какой последовательности устанавливать (и как пользоваться паяльником!), готовьтесь к долгой и кропотливой работе: придется перерыть интернет вдоль и поперек и испортить множество деталей.
Я в ужасе и собираюсь передумать. Нельзя попроще?
Можно. Специально для тех, кто никогда не держал в руках паяльник, но очень хочет попробовать себя в робототехнике, существуют специальные наборы-конструкторы, позволяющие сделать всё то же самое, но быстрее. Самый известный и популярный — Arduino. Его главное преимущество в том, что это не просто игрушка, а целая экосистема: множество обучающих материалов и инструкций, видеокурсы, огромное пользовательское комьюнити — можно задать любой вопрос от новичкового до самого продвинутого. Есть и другие платформы — например, совсем простой конструктор Mindstorms от Lego.
Составы наборов могут быть очень разными, но в каждом есть готовая печатная плата с уже установленным микроконтроллером и всеми дополнительными деталями, которые нужны для решения простых типовых задач. Обычно плату можно напрямую подключить к компьютеру через USB. А дальше среда разработки от производителя поможет сразу же сделать первые шаги в программировании роботов. Например, заставить мигать лампочку на плате.
Теперь всё зависит от вас. Можно, используя готовую плату, реализовать собственный несложный проект: например, сделать машинку, которая движется и останавливается по команде, или гирлянду для новогодней елки. Можно купить набор, уже включающий в себя всё, что нужно для постройки робота определенного типа, и потренироваться на нем. Плюс этого варианта: все детали в наборе подготовлены так, чтобы вы могли соединить их без паяльника или других инструментов.
Участники программы «Робототехника», которую поддерживает фонд Олега Дерипаски «Вольное дело», уже через несколько лет обучения могут создавать куда более сложные проекты и придумывают инженерные решения для самых разных задач. Например, разрабатывают системы для автоматической сортировки мусора. Если вам кажется, что всё это очень сложно, вы правы, но научиться этому может каждый.
У меня в школе была двойка по физике, и вообще я гуманитарий. Мне нужно что-то выучить, прежде чем приступать?
Штурмовать учебники необязательно. Конечно, школьная физика пригодилась бы, но если вы ее забыли, не переживайте — вспомните по ходу дела. Для начала просто погуглите, что такое ток, сопротивление, закон Ома, конденсатор, транзистор — пара десятков статей дадут вам базовые представления о радиотехнике, и этого хватит на первое время. Позже вы легко найдете в сети всю информацию, которая вам понадобится. И усвоите ее на практике — гораздо лучше, чем из учебника.
А программировать надо уметь?
Если умеете, создание первого робота окажется, возможно, даже слишком легким делом. Если не умеете — отличный повод научиться. Дело в том, что программирование робота — штука очень наглядная: вот вы написали код и сразу же загорелась лампочка. Вам нужно, чтобы ваш робот разворачивался, когда до стены осталось меньше 5 см, значит, в программе надо прописать такое условие, всё логично. Именно поэтому детей часто начинают учить программированию на примере робототехники: здесь вместо скучных абстракций сразу получается осязаемый результат в реальном мире. На этом принципе строится обучение по программе «Робототехника». Все участники сразу же могут применить полученные знания на практике.
Меня случайно не убьет током?
Самая вероятная неприятность — некоторое количество испорченных деталей, которые вы попытаетесь подсоединить не так и не туда. Но переживать не стоит: все необходимые расходники недороги, а их поломка тоже важная часть обучения.
Мой робот сможет защитить меня от врагов? Ну или хотя бы тапочки принести?
Самый первый — вряд ли. Точнее, нет ничего невозможного, но для начала лучше поставить перед собой цель попроще. Например, на базе того же Arduino можно собрать самых разных движущихся роботов: они могут ездить просто вперед-назад, по сложной заданной траектории или по нарисованной линии. Робот, который самостоятельно объезжает препятствия или как-то еще меняет свое поведение при приближении к разным объектам, тоже посильная задача. Еще первый робот вполне сможет включать и выключать что-нибудь, ориентируясь на уровень освещенности, совершать какие-то действия в определенный момент, заданный таймером, или по нажатию кнопки.
Умение собирать роботов как-то пригодится мне в жизни?
Да, еще как. Вы неизбежно научитесь программировать. Причем будете в состоянии не просто писать код, который что-то как-то делает, но и понимать всю цепочку, по которой набранные вами на клавиатуре символы преобразуются в действия целого механизма. Уметь программировать в наше время почти так же полезно, как знать английский язык: пригодится, даже если вы маркетолог или продавец мороженого.
Знание робототехники при желании позволит вам здорово усовершенствовать быт и даже сделать свое жилище «умным», не покупая дорогих готовых решений. Световой будильник? Запросто. Лампы с датчиками движения? Да легко. Чайник, который начинает кипятиться, получив СМС, и передает кондиционеру сигнал охлаждать, а пылесосу пылесосить? Не так легко, но вполне реализуемо.
Где можно узнать больше о роботах?
Можно пройти один из многочисленных, в том числе совершенно бесплатных онлайн-курсов. Можно выбрать курс, посвященный Arduino, — как, например, этот от МФТИ, или начать с Lego. А можно не привязываться к конкретной платформе и учиться робототехнике в целом — например, на этом курсе от Бауманки. Ну а если вы знаете английский, буквально вся Coursera с программами по робототехнике от ведущих мировых университетов к вашим услугам.
А если мне понравится и я захочу сделать это своей профессией? Куда податься?
Самое очевидное решение — в программисты. Причем не обязательно туда, где работают непосредственно с «железом»: навыки, полученные во время занятий робототехникой, пригодятся в любой сфере — от промышленного до веб-программирования.
Если возникнет желание связать свою дальнейшую судьбу именно с роботами, придется получить соответствующее высшее образование. Специальность «Робототехника и мехатроника» уже появилась во многих технических вузах — в Москве это МГТУ имени Баумана, МИФИ, МЭИ, МИРЭА. Подойдет и факультет радиотехники: большинство нынешних специалистов по робототехнике получали именно такое образование.
Как собрать робота самостоятельно в домашних условиях: от простого к сложному
Роботы заменяют людей на производстве и в быту, трудятся в опасных условиях. Андроиды, напоминающие человека, работают, как правило, в качестве промоутеров, а промышленные машины настроены на точное выполнение функций. Их разработкой занимаются специалисты.
Домашних же мастеров интересует вопрос, как сделать робота из подручных средств. Оригинальные механизмы можно сконструировать самостоятельно и запрограммировать на реализацию несложных задач.
Робот, реагирующий на источник света
Для быстрого сбора механизмов используются предметы, которые можно найти дома. Это моторчики и батарейки из детских игрушек, проволока, солнечные аккумуляторы от старых калькуляторов, светодиоды. Дополнительно потребуются фиксаторы (клей, изолента), отвертка и другие инструменты из домашней мастерской.
Перед началом работы следует определить, какие функции возьмет на себя готовый механизм. За 15 минут можно собрать робота, который ищет источник света. При включении лампы он будет двигаться к ней, а при перемещении фонаря — следовать за потоком лучей.
Необходимые инструменты и детали
При сборке конструкции простого робота своими руками потребуются:
Для проделывания отверстий на картоне потребуется шило, а фиксатором элементов послужит термопластичный клей (из термопистолета). Для работы также понадобится паяльник и жесткая проволока, которую заменит разогнутая скрепка.
Процесс сборки
Готовые детали следует разложить на рабочем столе и включить паяльник. Первоначально собирают плату, для чего подготавливают текстолитовую или картонную основу со сторонами от 4 до 5 см. На ней должна уместиться схема, батарейки, двигатели и крепеж переднего колеса.
Первоначально запаивают датчики с учетом полярности подсоединения фотодиодов и фототранзисторов. Их размещают по углам платы с одного края, располагая так, чтобы они смотрели в разные стороны. Это передняя часть робота, его «глаза».
Поодаль от переднего края фиксируют транзисторы, запаивая их так, чтобы маркировка располагалась на стороне правого колеса.
К 3 соединенным батарейкам подпаивают провода и определяют на плате 2 точки их схождения (плюс и минус). Удобно продеть в края платы витую пару, запаять концы к транзисторам и датчикам, вывести петлю и к ней подпаять батарейки.
Двигатели устанавливают в конце шасси с противоположной стороны платы. Управляющий моторчик крепят напротив управляемой системы. Это необходимо, чтобы робот поворачивался на свет.
Сборку электрики начинают от отрицательного полюса батарейки к положительному контакту по всей схеме. Взяв часть витой пары, припаивают отрицательный контакт датчиков к минусу батарей, и в это же место добавляют коллекторы транзисторов.
Второй фотоэлемент припаивают небольшим куском провода к транзисторной базе. Остальные ножки присоединяют к моторчикам. Для проверки правильности сборки используют тестер полярности напряжения.
После сборки проводят тестирование. Для этого включают схему и подносят ее к источнику света, поворачивая сначала одним, затем другим чувствительным элементом.
Когда все сделано правильно, двигатели на плате вращаются, меняя скорость в зависимости от степени освещения.
Если устройство не работает, проверяют правильность подключения контактов. В схеме каждый из датчиков отвечает за работу колес — правый за левое, и наоборот. Если это не так, корректируют полярность включения моторов.
Далее осуществляют сборку устройства. Первым делом изготавливают боковые колеса, склеив крышки между собой полой частью внутрь. Для их фиксации просверливают небольшые отверстия, используя миниатюрную дрель с насадками. В колесо продевают проволоку (бывшую скрепку) и закрепляют ее концы между фотодатчиками на плате.
На последнем этапе проверяют работу механизма, используя источники освещения разной интенсивности. Колеса робота должны ехать вперед. Если система работает, зафиксированные на плате моторчики и батарейки закрепляют термоклеем.
После приступают к изучению возможностей робота и расширению его функционала. Например, ставят задачу, чтобы он ездил по заданной траектории.
Робот, различающий препятствия
Перед сборкой интеллектуального устройства обдумывают его внешний вид и принцип передвижения. Оптимальный вариант – использование гусеничной цепи (как в танке).
Такими роботами легче управлять, и они способны передвигаться по любому типу поверхности. Снять гусеницы, моторчик и редуктор можно с игрушечного танка.
Инструменты и запчасти
Перед созданием робота следует подготовить:
Работа с платой
Для обеспечения питания микроконтроллера подбирают стабилизатор напряжения. Оптимальный выбор – микросхема L7805, дающая на выходе стабильные 5 В. Дополнением к ней идут конденсаторы для сглаживания напряжения и диоды, защищающие от переполюсовки.
Далее осматривают корпус контроллера MK-Dip и выделяют в нем узлы:
Управление двигателями
В приспособлении используется микросхема L293D со встроенными диодами, которые защищают систему от перегрузки. Она имеет 2 канала, что позволяет подключить сразу 2 двигателя. Моторчики на плате запрещено присоединять напрямую к МК. Контакт обеспечивается с помощью ключевых транзисторов.
Во время работы возможен нагрев микроэлектронного устройства. Для отведения тепла предусмотрены ножки GND, которые следует распаивать на контактной площадке.
Установка датчиков препятствий
Ориентирование робота в пространстве обеспечивает простой инфракрасный датчик. Он состоит из диода, способного излучать в инфракрасном диапазоне, и фототранзистора для приема лучей. В отсутствии преграды перед механизмом транзистор закрыт.
При его приближении к мебели, стене, элементы улавливают тепло. Транзистор открывается, что активирует течение тока по цепи и побуждает устройство изменять траекторию движения.
Датчики устанавливают на передней части платы, подключая их с помощью проводов к основной схеме. По бокам от основы располагают гусеничный механизм.
Прошивка робота
Для работы устройства требуется программа, которая позволит снимать показания с датчиков и управлять двигателями. Простым роботам ее пишут с использованием языка программирования Си. Он представляет собой набор функций, вызывающих друг друга для дополнения.
Прописывая команды, следует учесть, что по инструкции у робота 2 датчика. Если на 1 из фототранзисторов поступает свет от инфракрасного диода, механизм начинает движение назад, отъезжая от препятствия. Он разворачивается и снова едет вперед.
Наличие преград следует проверять справа и слева, что прописывается с помощью команд. Алгоритм работы можно усовершенствовать, задав командную строку, что делать при возникновении угрозы прямого столкновения.
Улучшить готовый механизм позволит энкодер, который распознает положение робота в пространстве. Для информативности в дальнейшем устанавливается дисплей, на котором будет отображаться отладочная информация, расстояние до препятствий и другие нужные сведения.
Роботы для детей
Робототехника позволяет школьникам развивать творческие навыки и знакомить с техническими терминами. Освоив принципы конструирования lego-роботов (как правило, в школах робототехники используют для обучения lego-платформы), дети учатся разбираться в новых технологиях и осваивают азы востребованной профессии.
Ребятам будет интересно самостоятельно построить или поучаствовать в сборке:
Полезные роботизированные устройства для начинающих
Первые шаги в робототехнике можно начать:
Необходимые навыки
Для изготовления роботов новичкам потребуются следующие навыки:
Познакомившись с азами программирования, можно переходить к созданию самодельных роботов-пылесосов, мойщиков бассейнов и окон в доме. Применение роботам можно найти и в других сферах жизни.
Как сделать робота?
Сделать робота очень просто Давайте разберемся, что же потребуется чтобы создать робота в домашних условиях, для того чтобы понять основы робототехники.
Наверняка, насмотревшись фильмов про роботов, тебе не раз хотелось построить своего боевого товарища, но ты не знал с чего начать. Конечно, у тебя не получится построить двуногого терминатора, но мы и не стремимся к этому. Собрать простого робота может любой, кто умеет правильно держать паяльник в руках и для этого не нужно глубоких знаний, хотя они и не помешают. Любительское роботостроение мало чем отличается от схемотехники, только гораздо интереснее, потому что тут так же затронуты такие области, как механика и программирование. Все компоненты легкодоступны и стоят не так уж и дорого. Так что прогресс не стоит на месте, и мы будем его использовать в свою пользу.
Введение
Итак. Что же такое робот? В большинстве случаев это автоматическое устройство, которое реагирует на какие-либо действия окружающей среды. Роботы могут управляться человеком или выполнять заранее запрограммированные действия. Обычно на роботе располагают разнообразные датчики (расстояния, угла поворота, ускорения), видеокамеры, манипуляторы. Электронная часть робота состоит из микроконтроллера (МК) – микросхема, в которую заключён процессор, тактовый генератор, различная периферия, оперативная и постоянная память. В мире существует огромное количество разнообразных микроконтроллеров для разных областей применения и на их основе можно собирать мощных роботов. Для любительских построек широкое применение нашли микроконтроллеры AVR. Они, на сегодняшний день, самые доступные и в интернете можно найти много примеров на основе этих МК. Чтобы работать с микроконтроллерами тебе нужно уметь программировать на ассемблере или на Cи и иметь начальные знания в цифровой и аналоговой электронике. В нашем проекте мы будем использовать Cи. Программирование для МК мало чем отличается от программирования на компьютере, синтаксис языка такой же, большинство функций практически ничем не отличаются, а новые довольно легко освоить и ими удобно пользоваться.
Что нам нужно
Для начала наш робот будет уметь просто объезжать препятствия, то есть повторять нормальное поведение большинства животных в природе. Всё что нам потребуется для постройки такого робота можно будет найти в радиотехнических магазинах. Решим, как наш робот будет передвигаться. Самым удачным я считаю гусеницы, которые применяются в танках, это наиболее удобное решение, потому что гусеницы имеют большую проходимость, чем колёса машины и ими удобнее управлять (для поворота достаточно вращать гусеницы в разные стороны). Поэтому тебе понадобится любой игрушечный танк, у которого гусеницы вращаются независимо друг от друга, такой можно купить в любом магазине игрушек по разумной цене. От этого танка тебе понадобится только платформа с гусеницами и моторы с редукторами, остальное ты можешь смело открутить и выкинуть. Так же нам потребуется микроконтроллер, мой выбор пал на ATmega16 – у него достаточно портов для подключения датчиков и периферии и вообще он довольно удобный. Ещё тебе потребуется закупить немного радиодеталей, паяльник, мультиметр.
Делаем плату с МК
В нашем случае микроконтроллер будет выполнять функции мозга, но начнём мы не с него, а с питания мозга робота. Правильное питание – залог здоровья, поэтому мы начнём с того, как правильно кормить нашего робота, потому что на этом обычно ошибаются начинающие роботостроители. А для того, чтобы наш робот работал нормально нужно использовать стабилизатор напряжения. Я предпочитаю микросхему L7805 – она предназначена, чтобы на выходе выдавать стабильное напряжение 5В, которое и нужно нашему микроконтроллеру. Но из-за того, что падение напряжения на этой микросхеме составляет порядка 2,5В к нему нужно подавать минимум 7,5В. Вместе с этим стабилизатором используются электролитические конденсаторы, чтобы сгладить пульсации напряжения и в цепь обязательно включают диод, для защиты от переполюсовки.
Теперь мы можем заняться нашим микроконтроллером. Корпус у МК — DIP (так удобнее паять) и имеет сорок выводов. На борту имеется АЦП, ШИМ, USART и много другого, что мы пока использовать не будем. Рассмотрим несколько важных узлов. Вывод RESET (9-ая нога МК) подтянут резистором R1 к «плюсу» источника питания – это нужно делать обязательно! Иначе твой МК может непреднамеренно сбрасываться или, проще говоря – глючить. Так же желательной мерой, но не обязательной является подключение RESET’а через керамический конденсатор C1 к «земле». На схеме ты так же можешь увидеть электролит на 1000 мкФ, он спасает от провалов напряжения при работе двигателей, что тоже благоприятно скажется на работе микроконтроллера. Кварцевый резонатор X1 и конденсаторы C2, C3 нужно располагать как можно ближе к выводам XTAL1 и XTAL2.
О том, как прошивать МК, я рассказывать не буду, так как об этом можно прочитать в интернете. Писать программу мы будем на Cи, в качестве среды программирования я выбрал CodeVisionAVR. Это довольно удобная среда и полезна новичкам, потому что имеет встроенный мастер создания кода.
Управление двигателями
Не менее важным компонентом в нашем роботе является драйвер двигателей, который облегчает нам задачу в управлении им. Никогда и ни в коем случае нельзя подключать двигатели напрямую к МК! Вообще мощными нагрузками нельзя управлять с микроконтроллера напрямую, иначе он сгорит. Пользуйтесь ключевыми транзисторами. Для нашего случая есть специальная микросхема – L293D. В подобных несложных проектах всегда старайтесь использовать именно эту микросхему с индексом «D», так как она имеет встроенные диоды для защиты от перегрузок. Этой микросхемой очень легко управлять и её просто достать в радиотехнических магазинах. Она выпускается в двух корпусах DIP и SOIC. Мы будем использовать в корпусе DIP из-за удобства монтажа на плате. L293D имеет раздельное питание двигателей и логики. Поэтому саму микросхему мы будем питать от стабилизатора (вход VSS), а двигатели напрямую от аккумуляторов (вход VS). L293D выдерживает нагрузку 600 мА на каждый канал, а этих каналов у неё два, то есть к одной микросхеме можно подключить два двигателя. Но, чтобы перестраховаться, мы объединим каналы, и тогда потребуется по одной микре на каждый двигатель. Отсюда следует, что L293D сможет выдержать 1.2 А. Чтобы этого добиться нужно объединить ноги микры, как показано на схеме. Микросхема работает следующим образом: когда на IN1 и IN2 подаётся логический «0», а на IN3 и IN4 логическая единица, то двигатель вращается в одну сторону, а если инвертировать сигналы – подать логический ноль, тогда двигатель начнёт вращаться в другую сторону. Выводы EN1 и EN2 отвечают за включение каждого канала. Их мы соединяем и подключаем к «плюсу» питания от стабилизатора. Так как микросхема греется во время работы, а установка радиаторов проблематична на этот тип корпуса, то отвод тепла обеспечивается ногами GND — их лучше распаивать на широкой контактной площадке. Вот и всё, что на первое время тебе нужно знать о драйверах двигателей.
Датчики препятствий
Чтобы наш робот мог ориентироваться и не врезался во всё, мы установим на него два инфракрасных датчика. Самый простейший датчик состоит из ик-диода, который излучает в инфракрасном спектре и фототранзистор, который будет принимать сигнал с ик-диода. Принцип такой: когда перед датчиком нет преграды, то ик-лучи не попадают на фототранзистор и он не открывается. Если перед датчиком препятствие, тогда лучи от него отражаются и попадают на транзистор – он открывается и начинает течь ток. Недостаток таких датчиков в том, что они могут по-разному реагировать на различные поверхности и не защищены от помех — от посторонних сигналов других устройств датчик, случайно, может сработать. От помех может защитить модулирование сигнала, но пока мы этим заморачиватся не будем. Для начала, и этого хватит.
Прошивка робота
Чтобы оживить робота, для него нужно написать прошивку, то есть программу, которая бы снимала показания с датчиков и управляла двигателями. Моя программа наиболее проста, она не содержит сложных конструкций и всем будет понятна. Следующие две строки подключают заголовочные файлы для нашего микроконтроллера и команды для формирования задержек:
Следующие строки условные, потому что значения PORTC зависят от того, как ты подключил драйвер двигателей к своему микроконтроллеру:
Если на фототранзистор попадает свет от ик-диода, то на ноге микроконтроллера устанавливается лог. «0» и робот начинает движение назад, чтобы отъехать от препятствия, потом разворачивается, чтобы снова не столкнуться с преградой и затем опять едет вперёд. Так как у нас два датчика, то мы проверяем наличие преграды два раза – справа и слева и потому можем узнать с какой стороны препятствие. Команда «delay_ms(1000)» указывает на то, что пройдёт одна секунда, прежде чем начнёт выполняться следующая команда.
Заключение
Я рассмотрел большинство аспектов, которые помогут тебе собрать твоего первого робота. Но на этом робототехника не заканчивается. Если ты соберёшь этого робота, то у тебя появится куча возможностей для его расширения. Можно усовершенствовать алгоритм робота, как например, что делать, если препятствие не с какой-то стороны, а прямо перед роботом. Так же не помешает установить энкодер – простое устройство, которое поможет точно располагать и знать расположение твоего робота в пространстве. Для наглядности возможна установка цветного или монохромного дисплея, который может показывать полезную информацию – уровень заряда аккумулятора, расстояние до препятствия, различную отладочную информацию. Не помешает и усовершенствование датчиков – установка TSOP (это ик-приёмники, которые воспринимают сигнал только определённой частоты) вместо обычных фототранзисторов. Помимо инфракрасных датчиков существуют ультразвуковые, стоят подороже, и тоже не лишены недостатков, но в последнее время набирают популярность у роботостроителей. Для того, чтобы робот мог реагировать на звук, было бы неплохо установить микрофоны с усилителем. Но по-настоящему интересным, я считаю, установка камеры и программирование на её основе машинного зрения. Есть набор специальных библиотек OpenCV, с помощью которых можно запрограммировать распознавание лиц, движения по цветным маякам и много всего интересного. Всё зависит только от твоей фантазии и умений.
ATmega16 в корпусе DIP-40>
L7805 в корпусе TO-220
L293D в корпусе DIP-16 х2 шт.
резисторы мощностью 0,25 Вт номиналами: 10 кОм х1 шт., 220 Ом х4 шт.
конденсаторы керамические: 0.1 мкФ, 1 мкФ, 22 пФ
конденсаторы электролитические: 1000 мкФ х 16 В, 220 мкФ х 16В х2 шт.
диод 1N4001 или 1N4004
кварцевый резонатор на 16 МГц
ИК-диоды: подойдут любые в количестве двух штук.
фототранзисторы, тоже любые, но реагирующие только на длину волны ик-лучей
О моём роботе
В данный момент мой робот практически завершён.
На нём установлена беспроводная камера, датчик расстояния (и камера и этот датчик установлены на поворотной башне), датчик препятствия, энкодер, приёмник сигналов с пульта и интерфейс RS-232 для соединения с компьютером. Работает в двух режимах: автономном и ручном (принимает сигналы управления с пульта ДУ), камера также может включаться/выключаться дистанционно или самим роботом для экономии заряда батарей. Пишу прошивку для охраны квартиры (передача изображения на компьютер, обнаружение движений, объезд помещения).
Создаем робота в домашних условиях
Наверняка, насмотревшись фильмов про роботов, тебе не раз хотелось построить своего боевого товарища, но ты не знал с чего начать. Конечно, у тебя не получится построить двуногого терминатора, но мы и не стремимся к этому. Собрать простого робота может любой, кто умеет правильно держать паяльник в руках и для этого не нужно глубоких знаний, хотя они и не помешают. Любительское роботостроение мало чем отличается от схемотехники, только гораздо интереснее, потому что тут так же затронуты такие области, как механика и программирование. Все компоненты легкодоступны и стоят не так уж и дорого. Так что прогресс не стоит на месте, и мы будем его использовать в свою пользу.
Введение
Итак. Что же такое робот? В большинстве случаев это автоматическое устройство, которое реагирует на какие-либо действия окружающей среды. Роботы могут управляться человеком или выполнять заранее запрограммированные действия. Обычно на роботе располагают разнообразные датчики (расстояния, угла поворота, ускорения), видеокамеры, манипуляторы. Электронная часть робота состоит из микроконтроллера (МК) – микросхема, в которую заключён процессор, тактовый генератор, различная периферия, оперативная и постоянная память. В мире существует огромное количество разнообразных микроконтроллеров для разных областей применения и на их основе можно собирать мощных роботов. Для любительских построек широкое применение нашли микроконтроллеры AVR. Они, на сегодняшний день, самые доступные и в интернете можно найти много примеров на основе этих МК. Чтобы работать с микроконтроллерами тебе нужно уметь программировать на ассемблере или на Cи и иметь начальные знания в цифровой и аналоговой электронике. В нашем проекте мы будем использовать Cи. Программирование для МК мало чем отличается от программирования на компьютере, синтаксис языка такой же, большинство функций практически ничем не отличаются, а новые довольно легко освоить и ими удобно пользоваться.
Что нам нужно
Для начала наш робот будет уметь просто объезжать препятствия, то есть повторять нормальное поведение большинства животных в природе. Всё что нам потребуется для постройки такого робота можно будет найти в радиотехнических магазинах. Решим, как наш робот будет передвигаться. Самым удачным я считаю гусеницы, которые применяются в танках, это наиболее удобное решение, потому что гусеницы имеют большую проходимость, чем колёса машины и ими удобнее управлять (для поворота достаточно вращать гусеницы в разные стороны). Поэтому тебе понадобится любой игрушечный танк, у которого гусеницы вращаются независимо друг от друга, такой можно купить в любом магазине игрушек по разумной цене. От этого танка тебе понадобится только платформа с гусеницами и моторы с редукторами, остальное ты можешь смело открутить и выкинуть. Так же нам потребуется микроконтроллер, мой выбор пал на ATmega16 – у него достаточно портов для подключения датчиков и периферии и вообще он довольно удобный. Ещё тебе потребуется закупить немного радиодеталей, паяльник, мультиметр.
Делаем плату с МК
Схема робота
В нашем случае микроконтроллер будет выполнять функции мозга, но начнём мы не с него, а с питания мозга робота. Правильное питание – залог здоровья, поэтому мы начнём с того, как правильно кормить нашего робота, потому что на этом обычно ошибаются начинающие роботостроители. А для того, чтобы наш робот работал нормально нужно использовать стабилизатор напряжения. Я предпочитаю микросхему L7805 – она предназначена, чтобы на выходе выдавать стабильное напряжение 5В, которое и нужно нашему микроконтроллеру. Но из-за того, что падение напряжения на этой микросхеме составляет порядка 2,5В к нему нужно подавать минимум 7,5В. Вместе с этим стабилизатором используются электролитические конденсаторы, чтобы сгладить пульсации напряжения и в цепь обязательно включают диод, для защиты от переполюсовки.
Теперь мы можем заняться нашим микроконтроллером. Корпус у МК — DIP (так удобнее паять) и имеет сорок выводов. На борту имеется АЦП, ШИМ, USART и много другого, что мы пока использовать не будем. Рассмотрим несколько важных узлов. Вывод RESET (9-ая нога МК) подтянут резистором R1 к «плюсу» источника питания – это нужно делать обязательно! Иначе твой МК может непреднамеренно сбрасываться или, проще говоря – глючить. Так же желательной мерой, но не обязательной является подключение RESET’а через керамический конденсатор C1 к «земле». На схеме ты так же можешь увидеть электролит на 1000 мкФ, он спасает от провалов напряжения при работе двигателей, что тоже благоприятно скажется на работе микроконтроллера. Кварцевый резонатор X1 и конденсаторы C2, C3 нужно располагать как можно ближе к выводам XTAL1 и XTAL2.
О том, как прошивать МК, я рассказывать не буду, так как об этом можно прочитать в интернете. Писать программу мы будем на Cи, в качестве среды программирования я выбрал CodeVisionAVR. Это довольно удобная среда и полезна новичкам, потому что имеет встроенный мастер создания кода.
Плата моего робота
Управление двигателями
Не менее важным компонентом в нашем роботе является драйвер двигателей, который облегчает нам задачу в управлении им. Никогда и ни в коем случае нельзя подключать двигатели напрямую к МК! Вообще мощными нагрузками нельзя управлять с микроконтроллера напрямую, иначе он сгорит. Пользуйтесь ключевыми транзисторами. Для нашего случая есть специальная микросхема – L293D. В подобных несложных проектах всегда старайтесь использовать именно эту микросхему с индексом «D», так как она имеет встроенные диоды для защиты от перегрузок. Этой микросхемой очень легко управлять и её просто достать в радиотехнических магазинах. Она выпускается в двух корпусах DIP и SOIC. Мы будем использовать в корпусе DIP из-за удобства монтажа на плате. L293D имеет раздельное питание двигателей и логики. Поэтому саму микросхему мы будем питать от стабилизатора (вход VSS), а двигатели напрямую от аккумуляторов (вход VS). L293D выдерживает нагрузку 600 мА на каждый канал, а этих каналов у неё два, то есть к одной микросхеме можно подключить два двигателя. Но, чтобы перестраховаться, мы объединим каналы, и тогда потребуется по одной микре на каждый двигатель. Отсюда следует, что L293D сможет выдержать 1.2 А. Чтобы этого добиться нужно объединить ноги микры, как показано на схеме. Микросхема работает следующим образом: когда на IN1 и IN2 подаётся логический «0», а на IN3 и IN4 логическая единица, то двигатель вращается в одну сторону, а если инвертировать сигналы – подать логический ноль, тогда двигатель начнёт вращаться в другую сторону. Выводы EN1 и EN2 отвечают за включение каждого канала. Их мы соединяем и подключаем к «плюсу» питания от стабилизатора. Так как микросхема греется во время работы, а установка радиаторов проблематична на этот тип корпуса, то отвод тепла обеспечивается ногами GND — их лучше распаивать на широкой контактной площадке. Вот и всё, что на первое время тебе нужно знать о драйверах двигателей.
Датчики препятствий
Чтобы наш робот мог ориентироваться и не врезался во всё, мы установим на него два инфракрасных датчика. Самый простейший датчик состоит из ик-диода, который излучает в инфракрасном спектре и фототранзистор, который будет принимать сигнал с ик-диода. Принцип такой: когда перед датчиком нет преграды, то ик-лучи не попадают на фототранзистор и он не открывается. Если перед датчиком препятствие, тогда лучи от него отражаются и попадают на транзистор – он открывается и начинает течь ток. Недостаток таких датчиков в том, что они могут по-разному реагировать на различные поверхности и не защищены от помех — от посторонних сигналов других устройств датчик, случайно, может сработать. От помех может защитить модулирование сигнала, но пока мы этим заморачиватся не будем. Для начала, и этого хватит.
Первый вариант датчиков моего робота
Прошивка робота
Чтобы оживить робота, для него нужно написать прошивку, то есть программу, которая бы снимала показания с датчиков и управляла двигателями. Моя программа наиболее проста, она не содержит сложных конструкций и всем будет понятна. Следующие две строки подключают заголовочные файлы для нашего микроконтроллера и команды для формирования задержек:
Следующие строки условные, потому что значения PORTC зависят от того, как ты подключил драйвер двигателей к своему микроконтроллеру:
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
Значение 0xFF означает, что на выходе будет лог. «1», а 0x00 – лог. «0».
Следующей конструкцией мы проверяем, есть ли перед роботом препятствие и с какой оно стороны:
Если на фототранзистор попадает свет от ик-диода, то на ноге микроконтроллера устанавливается лог. «0» и робот начинает движение назад, чтобы отъехать от препятствия, потом разворачивается, чтобы снова не столкнуться с преградой и затем опять едет вперёд. Так как у нас два датчика, то мы проверяем наличие преграды два раза – справа и слева и потому можем узнать с какой стороны препятствие. Команда «delay_ms(1000)» указывает на то, что пройдёт одна секунда, прежде чем начнёт выполняться следующая команда.
Заключение
Я рассмотрел большинство аспектов, которые помогут тебе собрать твоего первого робота. Но на этом робототехника не заканчивается. Если ты соберёшь этого робота, то у тебя появится куча возможностей для его расширения. Можно усовершенствовать алгоритм робота, как например, что делать, если препятствие не с какой-то стороны, а прямо перед роботом. Так же не помешает установить энкодер – простое устройство, которое поможет точно располагать и знать расположение твоего робота в пространстве. Для наглядности возможна установка цветного или монохромного дисплея, который может показывать полезную информацию – уровень заряда аккумулятора, расстояние до препятствия, различную отладочную информацию. Не помешает и усовершенствование датчиков – установка TSOP (это ик-приёмники, которые воспринимают сигнал только определённой частоты) вместо обычных фототранзисторов. Помимо инфракрасных датчиков существуют ультразвуковые, стоят подороже, и тоже не лишены недостатков, но в последнее время набирают популярность у роботостроителей. Для того, чтобы робот мог реагировать на звук, было бы неплохо установить микрофоны с усилителем. Но по-настоящему интересным, я считаю, установка камеры и программирование на её основе машинного зрения. Есть набор специальных библиотек OpenCV, с помощью которых можно запрограммировать распознавание лиц, движения по цветным маякам и много всего интересного. Всё зависит только от твоей фантазии и умений.
Список компонентов:
Код прошивки:
void main(void)
<
//Настраиваем порты на вход
//Через эти порты мы получаем сигналы от датчиков
DDRB=0x00;
//Включаем подтягивающие резисторы
PORTB=0xFF;
//Настраиваем порты на выход
//Через эти порты мы управляем двигателями
DDRC=0xFF;
//Главный цикл программы. Здесь мы считываем значения с датчиков
//и управляем двигателями
while (1)
<
//Едем вперёд
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
if (!(PINB & (1
О моём роботе
В данный момент мой робот практически завершён.
На нём установлена беспроводная камера, датчик расстояния (и камера и этот датчик установлены на поворотной башне), датчик препятствия, энкодер, приёмник сигналов с пульта и интерфейс RS-232 для соединения с компьютером. Работает в двух режимах: автономном и ручном (принимает сигналы управления с пульта ДУ), камера также может включаться/выключаться дистанционно или самим роботом для экономии заряда батарей. Пишу прошивку для охраны квартиры (передача изображения на компьютер, обнаружение движений, объезд помещения).
По пожеланиям выкладываю видео:
UPD. Перезалил фотографии и сделал небольшие поправки в тексте.
Статья была опубликована мною в журнале «Хакер» за август 2009 года.
Как создаются роботы, способные пройти там же, где и мы
Чтобы приносить пользу людям, роботам нужно научиться ходить так же, как мы
Роботы уже много десятилетий умеют ходить на двух ногах. Сегодня наиболее передовые гуманоидные роботы могут шагать по плоским и наклонным поверхностям, подниматься и спускаться по ступеням и пробираться по пересечённой местности. Некоторые даже умеют прыгать. Но, несмотря на этот прогресс, роботы с ногами до сих пор не могут сравниться по ловкости, эффективности и надёжности с людьми и животными.
Существующие шагающие роботы жрут энергию и слишком много времени тратят на тренировки. Слишком часто они отказывают и ломаются. Чтобы стать роботизированными помощниками, о которых мы так давно мечтали, эти машинам придётся научиться ходить так, как мы.
Нам обязательно нужно создать роботов с ногами, поскольку наш мир предназначен для ног. Мы проходим через узкие места, мы обходим препятствия, мы поднимаемся и спускаемся по ступенькам. Роботам на колёсах или гусеницах тяжело передвигаться в тех местах, которые мы приспособили для наших тел.
И у многих гуманоидных роботов действительно есть ноги, выглядящие так же, как наши – с бёдрами, коленями, лодыжками и ступнями. Но на этом всё сходство заканчивается. Если, к примеру, сравнить силу, с которой робот давит на землю, с такой же у человека, выяснится, что часто они сильно отличаются. Большая часть гуманоидных роботов, происходящих от ранних примеров промышленных роботизированных захватов, контролируют конечности так, чтобы они точно двигались по заданным траекториям. Однако передвижение на двух ногах требует не столько контроля положения, сколько контроля силы, и подразумевает большой диапазон гибкости и эластичности – известной в робототехнике, как податливость [compliance] – позволяющий справляться с неожиданными контактами.
Многие исследовательские группы пытаются создавать менее жёстких роботов, способных двигаться более динамичным, человекоподобным образом. Наиболее известным среди таких проектов, наверное, будет Atlas от Boston Dynamics, гуманоид, способный бегать по жёсткой и мягкой почве, перепрыгивать через брёвна и даже делать сальто назад. Но опять-таки, сравнивая движение самых сложных роботов с животными, мы видим, что машины не дотягивают.
Чего же нам недостаёт? Технология – не самая большая проблема: моторы достаточно мощные, материалы достаточно прочные, компьютеры достаточно быстрые. Ограничением, видимо, служит наше понимание того, как работает ходьба.
Роботы Кэсси (слева) и Диджит от Agility Robotics
В Лаборатории динамической робототехники при Орегонском университете я руководил группой исследователей, пытавшихся разобраться в базовых принципах ходьбы и применить эти открытия к роботам. Я также сооснователь и технологический директор компании Agility Robotics, стартапа, находящегося в Олбани (Орегон), изучающего вопросы коммерческого использования ходящих роботов. В 2017 году мы открыли миру Кэсси, двуногую платформу, которую мы продали нескольким исследовательским группам. Вскоре наш новый робот сможет выйти в мир: у Диджита ноги похожи на ноги Кэсси, однако у него есть датчики и пара рук, которую он использует для стабилизации, а в будущем – и для манипуляций.
Как в лаборатории, так и в компании, мы работаем над созданием будущего, в котором роботы смогут пройти везде, где могут люди. Я считаю, что роботы с динамическими ногами когда-нибудь смогут помогать ухаживать за престарелыми людьми у них дома, участвовать в спасательных операциях при пожарах и землетрясениях, и доставлять посылки на дом. Роботы с ногами также позволят создать экзоскелеты и протезы, которые помогут увеличить мобильность людей с ограниченными возможностями. Они, наконец, привнесут в реальность роботов из научной фантастики.
Некоторые птицы бегают лучше, чем летают, или даже вообще не летают. Страусы, индейки, цесарки и перепела не могут парить, как ястреб, но быстро передвигаются пешком. Мы с коллегами из лаборатории и с Моникой Дэйли из Королевского ветеринарного колледжа при Лондонском университете провели бесчисленные часы за наблюдением шагающих и бегающих по лаборатории птиц. Мы хотим понять, как эти животные способны двигаться так проворно и эффективно – и ведь большая часть этих пернатых машин работает на семенах!
В одном эксперименте цесарка бежит по дорожке, а потом наступает на яму, замаскированную кусочком салфетки. Животное не знало, что наступит в яму глубиной примерно в половину длины ноги, однако оно не споткнулось, а его нога вытянулась и приспособилась к углублению на бегу. В данном процессе происходит нечто примечательное: мозгу птицы не нужно чувствовать и реагировать на возмущение, поскольку её ноги справляются с этим сами.
Это даёт важную идею для разработчиков роботов: если вы сначала создадите робота, а потом решите запрограммировать его на ловкие движения, у вас ничего не получится. Как в случае с цесаркой, ловкость робота по большей части будет происходить от механических свойств его тела, от того, что робототехники называют пассивной динамикой. И ею пренебрегают в большинстве проектов по разработке роботов с ногами. Тщательно разрабатывая пассивную динамику робота параллельно с программной начинкой, сводя их в интегрированную систему, вы увеличиваете шансы на появление робота, приближающегося по характеристикам к животному.
Стоит отметить, что, хотя мы и черпаем вдохновение у животных, мы не воспроизводим форму стопы птицы или конструкцию мускулов и костей в ноге человека. Мы хотим понять физику движения животных и вывести из неё абстрактную математическую модель, которую можно понять, проверить в компьютерных симуляциях, и воплотить в реальных роботах. Поскольку при создании роботов мы используем металл и электронику вместо костей и мозгов, они могут сильно отличаться от животного, используя при этом такую же физику.
Одна из простейших математических моделей описывает точечную массу (туловище), соединённую с парой идеальных пружин (ноги). Эта модель пружина-масса, конечно, упрощённая; она напоминает человечка из чёрточек и не учитывает наличие у ног суставов, или то, что ступни не касаются земли в изолированных точках. И всё же модель пружина-масса может выдавать неожиданные результаты. В симуляциях она может воспроизвести почти все походки, которые используют люди и животные для шага и бега.
Первые шаги: ноги робота ATRIAS не похожи на человеческие, но он был первой машиной, демонстрировавшей походку, похожую на человеческую
Для проверки модели пружина-масса мы разработали двуногого робота ATRIAS, чьё имя является акронимом нашего основного предположения: Assume The Robot Is A Sphere [представим, что робот – это сфера]. Идея была в том, что пассивная динамика робота может как можно точнее воссоздавать модель точечной массы с пружинными ногами.
Каждая нога делается из лёгких углеволоконных стержней, собранных в параллелограмм, известный, как шарнирный четырёхзвенник. Подобная структура минимизирует массу ног и их инерцию, приближая систему к модели пружина-масса. Верхнюю часть ног мы оборудовали фиберглассовыми пружинами, физически реализующими «пружину» модели, обрабатывающими соударения с землёй и хранящими механическую энергию.
Сначала ATRIAS едва мог стоять, и мы поддерживали его при помощи верхней привязи. Но мы совершенствовали контроллер, отслеживающий скорость и наклон тела, и робот сначала начал делать первые шаги, а потом свободно ходить по лаборатории. Затем ATRIAS научился восстанавливаться после возмущений – в одном из экспериментов мои студенты швырялись в него мячами. Ещё мы отвезли ATRIAS на университетское футбольное поле, ускорили его до максимальной скорости в 7,6 км/ч, и затем быстро остановили.
Чтобы лучше понять, что делал робот, представьте, что вам завязали глаза, вы ходите на ходулях, а ваше туловище завёрнуто в ковёр, и вы не можете использовать руки для балансировки. Вы можете только шагать дальше – это и делал ATRIAS. Он даже мог справляться с препятствиями, например, с кучей дров на пути.
И, хотя ловкость была важной составляющей, также было очень важно экономично расходовать энергию. Мы подтвердили экономичность робота, измерив параметр, известный, как стоимость перемещения [cost of transport, COT]. Он определяется, как отношение энергопотребления (мощности) к произведению веса на скорость, и используется для сравнения энергоэффективности перемещения животных и машин. Чем ниже СОТ, тем лучше. У шагающего человека СОТ равен 0,2, а у обычного гуманоидного робота этот показатель гораздо больше – от 2 до 3, по некоторым прикидкам. Наши эксперименты показали, что у ATRIAS в шагающем режиме СОТ равен 1,13, что демонстрирует эффективность динамических роботов. И в самом деле, питаясь от нескольких литий-полимерных аккумуляторов – таких, что используются в машинках на радиоуправлении – ATRIAS мог бы проработать примерно час.
Мы также измерили силу, с которой робот давит на землю. Мы поставили ATRIAS весом в 72,5 кг (примерно как средний человек) на силовую платформу – этот инструмент часто используется в спортивной медицине для оценки походки человека через измерение сил реакции. При ходьбе робота мы записывали данные по силам. Затем место ATRIAS занял один из моих студентов, и мы записали его шаги. Построив график зависимости реакции опоры по времени, мы увидели, что он точно совпадает с графиком робота. Насколько нам известно, это наиболее реалистичная реализация динамики человеческой походки у роботов на сегодня.
Результаты подтвердили, что простую динамическую систему пружина-масса можно реализовать у робота. Она обладает множеством полезных свойств, таких, как эффективность, надёжность и гибкость, и добирается до сути ходьбы. Настало время создавать следующего робота.
Для передвижения по сложной местности Кэсси использует пять моторов и по две пружины на каждой ноге
Кэсси, как и ATRIAS, динамический шагающий робот. Мы оптимизировали все аспекты его дизайна с тем, чтобы создать надёжного и способного робота, пригодного для коммерциализации. И мы поставили высокую планку: мы хотели, чтобы Кэсси могла бегать по лесу, ходить по пересечённой местности и работать по нескольку часов от батареи без поддерживающего подвеса.
Кэсси строится на тех же концепциях, что использовались для ATRIAS, но мы решили сделать ей совершенно новые ноги. Раньше мы использовали два мотора для питания каждого четырёхзвенника на каждой ноге. Такая схема минимизирует их массу, но есть и недостаток: во время ходьбы один мотор тормозил другой, что приводило к потерям энергии. При работе над Кэсси мы изучали другие конфигурации ног, чтобы устранить этот эффект. Новая схема позволяет сделать моторы меньше, и робот стал ещё эффективнее, чем ATRIAS.
Важно отметить, что конфигурация ног Кэсси стала результатом этого анализа. То, что нога напоминает ногу страуса или другого теропода, может говорить о том, что мы находимся на правильном пути, но мы не стремились создать робота, который после покрытия его оперением смог бы затеряться в стае эму.
У каждой ноги Кэсси есть пять осей движения – или степеней свободы, говоря по-робототехнически – и каждой управляет свой мотор. У бёдер есть три степени свободы, как у наших, что позволяет ноге поворачиваться в любом направлении. У двух других моторов оси находятся в колене и ступне. У Кэсси есть дополнительные степени свободы в голени и лодыжке; они пассивные, и не контролируются моторами, а приделаны к пружинам, что позволяет роботу двигаться по сложной местности, неподвластной плоскостопным гуманоидам.
Новые ноги Кэсси потребовали создания более сложного низкоуровневого контроллера, чем был у ATRIAS. ATRIAS вытягивал ногу, просто прикладывая равные по силе и противоположные по направлению крутящие моменты с обоих моторов. У Кэсси передвижение ноги в определённом направлении требует расчёта разных крутящих моментов для разных моторов. Для этого контроллер должен учитывать инерцию ног и динамику моторов и коробок передач.
Контролер Кэсси использует запланированные шаги и динамическую балансировку
Да, задача контроллера стала сложнее, но этот метод позволяет эффективнее ходить и использовать более широкий спектр поведения. Кэсси может идти со скоростью до 5 км/ч, используя один из первых контроллеров. Энергопотребление разнится от 100 Вт (стоя) до 300 Вт (в движении), и на литий-ионной батарее она может работать 5 часов. Также новые ноги позволяют Кэссии лавировать так, как этого не мог ATRIAS. А благодаря мотору в суставе ступни она может стоять, без необходимости постоянно двигаться, так, как это делал ATRIAS.
Также Кэсси весит всего 31 кг, в два раза меньше, чем ATRIAS. Двух Кэсси можно загрузить в багажник машины менее чем за минуту. А ещё она более надёжная: её части сделаны из алюминия и углеволокна, а защитный корпус из прочного пластика акрил-поливинилхлорида, защищает её от столкновений и падений.
Пока что Кэсси не умеет бегать по лесу. Но мы водили её на улицу, без страховки, и она ходит по земле, траве и павшим листьям. Сейчас мы изучаем вопрос интеграции динамического поведения робота с планированием движений, что позволяет ей, к примеру, подниматься по ступенькам. Мы также работаем над ещё одной возможностью, которая сделает роботов типа Кэсси более полезными: над руками.
У Диджита есть ноги, как и у Кэсси, но ещё у него есть туловище с датчиками внутри и пара рук, помогающих ему с мобильностью и балансом.
Диджит – прямой потомок Кэсси. У него похожие ноги, но мы добавили ему туловище с датчиками внутри и пару рук. Они специально сделаны для того, чтобы помогать ему с мобильностью и балансом, и качаются в соответствии с походкой. Они также позволяют Диджиту поддержать себя при падении и переиориентировать своё тело, чтобы встать.
У Диджита есть кое-что ещё, чего нет у Кэсси: встроенное восприятие. Мы добавили ему множество датчиков, включая лидар в верхней части тела. Датчики помогают ему собирать данные, что позволяет роботу передвигаться в мире, полном препятствий, например, в захламлённых комнатах и по ступеням, и полагаться на стабильную динамику только в неожиданных ситуациях и при ошибках датчиков.
Диджиту, и роботу с ногами, который появится после него, предстоит ещё многому научиться. Но мы убеждены, что они изменят мир. Их влияние может сравниться с автомобилями в плане изменения стиля жизни людей, закономерностей дорожного движения и схем городов, где эти роботы обещают преобразовать логистику и доставку посылок.
В недалёком будущем, когда появятся робомобили, у производителей автомобилей и компаний, обеспечивающих совместные поездки, типа Lyft и Uber, будут свои огромные парки из машин, перевозящих людей, и максимум трафика будет приходиться на час пик, прямо как сегодня. Но чем будут заниматься эти машины поздно ночью и в середине дня? Они могут не простаивать, а перевозить посылки из автоматических складов до вашей двери. Однако эти машины смогут доехать только до тротуара – без человека доставить посылку до двери довольно сложно. И тут вступают в дело шагающие роботы. Они будут ездить в таких автомобилях и проходить последние несколько метров. И хотя колёса и крылья могут исполнять часть этих ролей, в мире, предназначенном для двуногих, ни одна другая платформа для передвижения не будет столь гибкой, как робот на ногах.
Диджит учиться ходить по разной местности и подниматься по ступеням, чтобы однажды он смог доставлять посылки прямо до двери
Роботы-доставщики будут частью всё более автоматизируемой системы логистики, где посылки от производителя сразу доставляются до вашей двери. Эта система уменьшит стоимость доставки так, что посылки доставлять будет дешевле, чем покупать их в крупных, хорошо освещённых, подогреваемых складах с доступом человека. Мелкооптовые магазины станут ненужными. Люди, конечно, смогут наслаждаться покупками некоторых вещей. Но ежедневные продукты будут доставлять роботы, экономя вам время и деньги.
Двуногие роботы смогут проникнуть в наши дома и офисы. Они могут ходить по ступеням и в заставленных помещениях, взаимодействовать с людьми на безопасном уровне глаз и на человеческом масштабе, что позволит нам достойно стареть в наших домах. Они помогут таскать вещи и будут работать как устройства удалённого присутствия, что позволит членам семьи и друзьям использовать робота для того, чтобы общаться с людьми удалённо и составлять им компанию.
Роботы на ногах смогут пробираться туда, где людям находиться опасно. Они будут прыгать с парашютом в лесные пожары для сбора данных в реальном времени, бежать в горящие здания в поисках жителей, заходить на территорию катастроф, таких, как атомная станция Фукусима, изучая труднодоступные территории. Они будут регулярно инспектировать внутренние части гидроэлектростанций и заброшенных шахт, чтобы этого не пришлось делать нам.
Чтобы попасть в это будущее, нам нужно решить множество проблем. Но я убеждён, что сообщество робототехников может сделать эту технологию практичной. Это будет один маленький шаг для робота и огромный скачок для всего человечества.
Как создать Боевого робота. Краткое руководство
Привет, Пикабу! На связи Лига Боевых Роботов. Сегодня у меня для вас краткое руководство по созданию боевых ботов. Этот материал написан на основе статьи от наших зарубежных коллег, написанной на английском языке. С оригиналом можно ознакомиться по этой ссылке.
Это не точный перевод. Мы убрали откровенную «воду» и добавили полезную информацию по теме. В данной статье основное внимание уделяется именно основам создания роботов, а не их устройству.
Выбор типа робота
О существующих типах боевых роботов и о весовых категориях можно прочесть в нашей статье «Боевые роботы. Типы и весовые категории». Там содержится вся информация, необходимая для выбора типа вашего первого робота. Настоятельно рекомендуем ознакомиться с ней перед прочтением этой статьи. Так же присоединяйтесь в нашему сообществу в ВК. Мы добавили несколько альбомов с фотографиями роботов в разных весовых категориях в качестве примеров.
Теперь, когда вы выбрали тип робота, вы готовы начать проектирование и сборку!
Шаг 1: Мозговой штурм
· Найти и изучить все известные примеры таких роботов.
· Попробуйте найти несколько видео, где можно будет посмотреть, как эти роботы показывают себя в бою.
Вещи, на которых нужно сосредоточиться во время мозгового штурма:
3. Система привода
4. Общая форма корпуса
Во время мозгового штурма нужно записывать абсолютно все идеи, которые приходят вам в голову, просто для того, чтобы их не забыть. Возможно, большинство из этих идей вы не сможете применить при создании одного единственного робота, к тому же, некоторые идеи могут конфликтовать с другими. Но вполне возможно, что вы сможете реализовать эти идеи позже, когда решите собирать следующего бота, либо когда будете работать в команде над большим проектом. Кстати об этом. Создание действительно хорошего и эффективного робота – это, чаще всего, именно командная работа. В особенности это относится к средним и тяжёлым весовым категориям.
С этого шага уже начинается проектирование робота. Первым делом можно прикинуть примерные размеры корпуса. Здесь можно отталкиваться от уже существующих роботов того же типа, и находящихся в той же весовой категории. Делаем первый эскиз:
После того, как вы создали эскиз вашего бота, пора переходить к следующему этапу.
Пора создать более подробные эскизы, или даже чертежи. Чтобы не создавать бота, в которого вы потом не сможете запихнуть желаемую начинку, на этом этапе желательно уже иметь на руках все основные комплектующие, такие как моторы, регуляторы и аккумуляторы, или хотя бы знать их размеры и вес. Тут всё взаимосвязано. К сожалению, мы ограничены стандартными моторами, редукторами и аккумуляторами. Да, их выпускается множество видов, самых разных размеров и форм, но очень часто, для определённой весовой категории, используется всего несколько типов моторов т.к. они подходят лучше всего. А производители аккумуляторов, например, не станут подстраиваться под нас, и делать на заказ несколько единиц аккумуляторной батареи нужного нам размера и веса. Это нам нужно отталкиваться от размеров и веса стандартных комплектующих.
На этом же этапе нужно определиться с материалами, из которых мы будем собирать робота. Как я уже говорил, каждый робот должен вписываться в выбранную весовую категорию, это основное требование. При создании роботов в различных весовых категориях используются множество различных материалов. В лёгких весовых категория, таких как «Жук» (1,5 кг.) и «Хобби» (5,4 кг.), часто используются алюминий, карбон, нейлон и пластиковые детали, напечатанные на 3D принтере. А в более тяжёлых категориях в основном используются износостойкие стали и титан. Подробнее о материалах мы будем рассказывать в наших статьях, посвящённых определённым весовым категориям.
Здесь я могу предложить использовать таблицу, которую я составил, основываясь на книге по созданию боевых роботов. Эта книга написана командой RioBotz в далёком 2009 году, создателями робота Минотавр, которого вы могли видеть на шоу «BattleBots». Книга доступна только на английском языке, но зато она распространяется бесплатно и её может скачать любой желающий. В этой книге просто уйма полезной информации. К сожалению, у нас пока нет ресурсов, чтобы перевести её на русский. Если вы владеете английским, или сможете осилить машинный перевод (который, к слову, вполне читабелен) то обязательно прочтите эту книгу. Книгу в оригинале можно скачать в нашей группе в разделе документы, или скачать с официального сайта.
Так вот, по поводу таблицы. Здесь представлены все основные весовые категории, ограничения по весу в каждой из них, а так же распределение веса по всем основным узлам. В книге это называется правилом «30,30,25,15». Подобное распределение веса между узлами позволяет собрать достаточно эффективного и сбалансированного бота. Обратите внимание, что в США и Англии максимальный вес для некоторых категорий отличается.
Для облегчения дальнейшего проектирования можно сделать наброски, на которых будут изображены отдельные узлы, конструкцию которых нужно продумать заранее.
Так же на общем чертеже можно прикинуть расположение структурных элементов и крепёжных отверстий в деталях. Нужно подумать над тем, из каких отдельных деталей и узлов будет состоять бот, и как всё это будет собираться в единое целое.
Шаг 4: Выбор моторов
При выборе мотора нужно учитывать 3 момента:
Характеристики мотора (ТТХ двигателя, которые заложены производителем, и которые нельзя изменить).
Дизайн вашего робота (форма и размеры вашего бота, которые вы можете изменить)
Свойства мотора, от которых нужно отталкиваться:
Размеры двигателя – это тоже важный момент. Чем больше размеры моторов, которые вы используете, тем больше будет корпус робота, который сможет их вместить. А чем больше корпус – тем тоньше будет броня, которую вы сможете себе позволить, ведь робот должен вписываться в ограничения по весу для своей категории.
Вес. Здесь всё аналогично предыдущему пункту. Чем тяжелее моторы, тем меньше веса вы сможете выделить на остальные части робота.
Обратите внимание, что некоторые продавцы указывают вес упаковки с мотором, а не самого мотора.
Кроме того, имейте ввиду, что большинство (если не все) характеристик мотора, которые указывает продавец или производитель, являются теоретическим максимумом. Скорее всего, на деле все характеристики будут ниже заявленных, но их всё ещё можно использовать для предварительных расчётов.
Характеристики вашего бота, которые вы можете изменять:
Итоговые характеристики, которые вам нужно знать:
Кинетическая энергия (Дж)
Шаг 5: Создание 3D моделей в программе САПР
Этот шаг нужно выполнять одновременно с подбором моторов и других комплектующих.
Помните, что большинство деталей для роботов, особенно тяжёлых, часто изготавливаются на заказ. Если вы создали деталь, которую можно изготовить из большого бруска алюминия, например, но большая часть материала ( 50% и более) при этом будет превращена ЧПУ фрезером в стружку, то такие детали будут обходиться довольно дорого. Иногда лучше пересмотреть подход и попробовать оптимизировать процесс изготовления или упростить саму деталь, чтобы для её изготовления требовалось как можно меньше материала.
Вот несколько советов по созданию 3D моделей:
Расставляйте размеры таким образом, чтобы в любой момент можно было вернуться к самым первым шагам и изменить их. Для этого все размеры должны быть расставлены вручную, и не должны зависеть друг от друга там, где этого не требуется.
Используйте готовые 3D модели стандартных частей, таких как моторы, регуляторы и прочее, для своих сборок. Модели типовых деталей, которые используются чаще всего, можно найти в сети и таким образом сэкономить время.
Не забудьте указывать в свойствах детали материал, из которого она должна быть изготовлена, и его плотность. Это поможет легко вычислить точный вес детали ещё на этапе проектирования. Если этого не делать, то при постройке робота можно обнаружить, что вы едва собрали его наполовину, а его вес уже превышает максимально допустимый. Зная вес каждой детали в процессе проектирования, вы можете изменить её размеры, или вырезать окна облегчения, чтобы снизить вес, если это потребуется. Таким образом, даже не имея на руках основных деталей, таких как моторы, регуляторы и аккумуляторы, но зная их размеры и вес (указанные производителем) вы уже можете приступать к проектированию корпуса для вашего робота. Когда вы закончите сборку робота в программе, вам останется дождаться доставки всех деталей, проверить их размеры и вес и, если всё сходится, то можно будет приступать к изготовлению.
Шаг 6: Сборка проекта в программе САПР
Как только 3D модели всех деталей созданы, пора переходить к их сборке в единое целое. Важно создать полную сборку со всеми деталями, чтобы убедиться, что всё собирается и работает так, как и задумано. Далее небольшой список советов:
· Удостоверьтесь, что вес всех деталей, необходимых для сборки робота ниже, чем максимально возможный в той весовой категории, в которой будет выступать ваш бот.
· Учитывайте вес деталей, которые могут отсутствовать в сборке. Это могут быть провода, разъёмы, винты и прочие мелочи.
· Создайте сборки отдельных узлов робота, чтобы вы могли работать над несколькими из них параллельно.
· Не назначайте деталям случайные цвета и текстуры. Это может усложнить восприятие цельного проекта. Например, если деталь должна быть изготовлена из стали, то у неё должен быть соответствующий цвет и фактура.
· Не стоит недооценивать время, которое придётся потратить на сборку. Очень часто проблемы возникают уже после того, как всё собрано в единое целое, и на их устранение тоже может потребоваться время.
· Не вносите все поправки в одну единственную сборку, лучше сохраните несколько вариантов. Это позволит вернуться к старым версиям при необходимости.
После создания (или даже во время) сборки можно начать составлять список материалов и комплектующих. В такой список могут входить следующие пункты:
· Размеры стандартных листов материалов, которые можно купить, и размеры листов, которые необходимы вам для изготовления тех или иных деталей.
· Список и количество всех типовых деталей необходимых для сборки (помимо электроники), которые можно купить, такие как винты, подшипники, ремни и прочее.
· Ссылки на источники, где можно приобрести все необходимые материалы.
· Все необходимые замечания, связанные с деталями и материалами, просто чтобы не забыть.
Наличие такого списка позволит вам как можно быстрее приступить к созданию робота, сразу после завершения проектирования.
Шаг 7: Обзор проекта
Если вы создаёте робота в команде, а не в одиночку, то вероятно вам нужно будет продемонстрировать свой проект остальным товарищам, особенно, если вы новичок, а для создания бота будут использоваться материалы и оборудование, которые принадлежат всей команде. Ваши коллеги и наиболее опытные члены команды будут задавать вам вопросы по поводу вашего проекта, укажут на недостатки в конструкции и посоветуют, как их можно исправить. Критика вашего первого проекта может показаться излишне суровой, но не забывайте о том, что эти люди просто пытаются помочь вам создать лучшего бота. Проекты тяжёлых роботов обычно проходят 3-5 проверок до того, как они будут одобрены, т.к. тяжёлые роботы – самые дорогие в производстве, и любые ошибки в проектировании могут обойтись очень дорого. Так же важно делать заметки и записи во время таких проверок, просто чтобы не забыть все советы по устранению проблем.
Шаг 8: Постройка
Вот и всё, теперь вы готовы воплощать ваш проект «в металле». Во время сборки настоящего робота у вас может возникнуть необходимость внести небольшие изменения в конструкцию по тем или иным причинам. Очень сложно учесть все нюансы при моделировании на компьютере. Не забудьте внести эти изменения в вашу сборку в программе САПР, когда робот будет закончен.
8 постов 181 подписчик
Правила сообщества
Запрещено хамство и оскорбления, уважайте чужой опыт и труд.
@KorvinWorkshop привет! Я с деловым предложением
У нас на Пикабу есть Лига роботов. Лига роботов посты в нее регулярно падают, но админ неактивен с 2017 года. Не хочешь ли ты либо взять себе это сообщество, либо слить с твоим и тогда несколько расширить тематику?
Куда как интереснее создать не боевого робота, «боевые качества » которого могут только рассмешить, а создать робота для общения с клиентами.
На стойку, бара, например.
Чтобы развлекал и завлекал клиентов. Может быть и наливал.
Боевые роботы. Типы и весовые категории
Всем привет! Сегодня хотелось бы поговорить о типах боевых роботов и о весовых категориях.
Если эта тема Вам интересна, то советую прочесть и другие посты в нашем сообществе Лига Боевых Роботов.
Итак. Существует множество основных типов вооружения боевых ботов. Перечислим основные и самые популярные из них.
На фото: Робот «Overhaul» (США).
На фото: Робот «Quantum» (Англия)
Молот (Hammer). Робот с молотом. Либо с лёгким и быстрым, либо с медленным, но тяжёлым.
На фото: Робот «Shatter!» (США)
Поднимала\Подъёмник (Lifter). Такой робот оборудован подъёмным механизмом, которым он может приподнять и перевернуть вражеского бота (Зачастую и себя самого, при необходимости).
На фото: Робот «DUCK!» (США)
Опрокидыватель (Flipper). Робот оборудован пневматической (реже гидравлической) системой, которая выстреливает опрокидывающий ковш (или клин) вверх, что позволяет перевернуть противника.
На фото: Робот «Hydra» с гидравлической системой (США)
Существует разновидность «Опрокидывателя» под названием «Запускатель» (Launcher) – Это настолько мощный «опрокидыватель», что он может не только перевернуть противника, но и подбросить его в воздух. Хотя, то же самое могут сделать и многие «флипперы».
На фото: Робот «Bronco» с пневматической системой (США)
И вот здесь не всё понятно. И «Бронко» и «Гидра» могут подбросить противника, но относятся создателями шоу «Battlebots» к разным типам. Вероятно, это одно и то же, просто разные участники используют разные названия. Хотя, возможно, это именно современные «Опрокидыватели» стали настолько мощными, что превратились в «Запускателей».
Мультибот. Это участник, на стороне которого сражаются сразу несколько лёгких роботов, суммарный вес которых не должен превышать максимальный в этой весовой категории.
На фото: Роботы «The Four Horsemen» (Англия)
Пила (Sawbot). Робот, оборудованный пилой. Такие роботы редко наносят серьёзные повреждения противнику, но зато часто высекают гигантские снопы искр, которые могут впечатлить судей.
На фото: Робот «Skorpios» (США)
На фото: Робот «Minotaur» (Бразилия)
Спиннер с вертикальным брусом (Spinner – Bar Vertical). Очень популярный сегодня тип вооружения. Напоминает робота – пилу. Но вместо диска по металлу или бетону, здесь устанавливается небольшая пластина (даже скорее длинный брусок металла) из высокопрочной стали. Формы и размеры пластин существенно различаются.
На фото: Робот «Bite Force» (США) Чемпион 2015, 2018 и 2019 годов.
На фото: Робот «Rainbow» (Россия) Участник Battlebots 2019.
На фото: Робот «Gigabyte» (США)
Теперь о весовых категориях. В США и Европе (в Англии, если точнее) есть своя организация, регламентирующая изготовление ботов и проведение соревнований. В США это «SPARC», а в Англии – «FRA». Если знаете английский, то сможете найти на сайтах этих организаций очень много полезной информации.
Начнём с США. Весовые категории, одобренные организацией «SPARC»:
Fairyweight (Фея) – 0.15 кг. (0,33 lb)
Beetleweight (Жук) – 1.4 кг. (3 lb)
Mantisweight (Богомол) – 2.7 кг. (6 lb)
Hobbyweight (Хобби) – 5.4 кг. (12 lb)
Dogeweight (Пёс\Собака) – 6.8 кг. (15 lb)
Featherweight (Перо\Пушинка) – 14 кг. (30 lb)
Lightweight (Лёгкий) – 27 кг. (60 lb)
Middleweight (Средний) – 54 кг. (120 lb)
Heavyweight (Тяжёлый) – 100 кг. (220 lb)
Alt Heavyweight Class (Альтернативный тяжёлый) – 110 кг. (250 lb)
На шоу «Battlebots» в США и на «Битвах роботов» в России сражаются именно роботы в категории до 110 кг.
Теперь весовые категории, одобренные Английской ассоциацией «FRA» (Fighting Robots Association):
Beetleweight (Жук) – 1.5 кг.
Featherweight (Перо\Пушинка) – 13.6 кг.
Lightweight (Лёгкий) – 30 кг.
Middleweight (Средний) – 55 кг.
Heavyweight (Тяжёлый) – 110 кг.
Как видите, в Англии весовых категорий почти вдвое меньше. Вес немного отличается и есть отличия в определении класса «Antweight».
Вскоре мы переведём и опубликуем правила обеих Ассоциаций. Всё же опыт коллег нам сейчас просто необходим. Я думаю, что самый простой вариант – это внести необходимые поправки (если таковые потребуются) и просто принять на вооружение один из регламентов. Тот регламент, что существует для «Битвы роботов», которая ежегодно проводится в России, не совсем подходит. Просто потому, что это регламент конкретного мероприятия, а не Ассоциации создателей боевых ботов, которой у нас пока нет. К тому же, в существующем регламенте «Битвы роботов» обговорены только общие моменты, и он касается только тяжёлых ботов весом до 110 кг. Нам же нужен регламент, по которому можно будет создавать роботов во всех весовых категориях. Человек, который захочет создать робота должен быть уверен, что если он собрал робота по всем правилам, то его примут на любом чемпионате.
Единственное, я бы добавил в наш список категорию Hobbyweight (Хобби) – 5,4 кг.
Думаю, что для начала нужно сосредоточиться именно на лёгких классах – 1.5 кг, 5.4 кг. и 13.6 кг. Ну и 150 грамм, конечно же. Первым делом новичку желательно собрать робота именно в этой весовой категории. Обходится он очень дёшево, и собрать такого миниатюрного бота можно буквально за день – два, особенно если под рукой есть 3D принтер.
В одной из следующих статей я постараюсь сделать небольшой обзор ботов в некоторых весовых категориях. Из чего они сделаны, какие комплектующие используются чаще всего и во сколько всё это обходится.
Как сделать робота своими руками в домашних условиях?
Компания Google осуществила детскую мечту многих людей и создала конструктор, из которого можно самостоятельно собрать робота. Причем речь идет не о безделушке с мотором и парой лампочек, потому что при должном старании конструктор будет обладать чем-то вроде искусственного интеллекта. Корпус робота можно сделать из бумаги, причем схема доступна бесплатно и ее нужно просто распечатать, вырезать и собрать. На начальном этапе программировать тоже не нужно, потому что исходный код тоже можно скачать. Правда для робота нужно будет купить «мозг» и специальное устройство, чтобы он мог обучаться новым командам. Выглядит так, что сборка робота займет много времени, но компания позиционирует свой конструктор как нечто простое и быстрое в освоении. Давайте изучим новую идею Google и выясним, насколько это правда?
Робот ALTO, которого можно собрать самому
Робот с искусственным интеллектом своими руками
Конструктор был представлен подразделением Google Creative Lab. Робот называется ALTO, что является сокращением от «A Little Teachable Object» (маленький обучаемый объект). Проект создан для того, чтобы люди смогли собрать робота на дому и получили базовые знания о машинном обучении. Машинным обучением называется умение искусственного интеллекта самостоятельно вырабатывать навыки выполнения новых задач. В ходе сборки робота ALTO, люди должны понять, как научить робота самостоятельно понимать и выполнять задачи. По крайней мере, компания Google на это надеется.
Интересный факт: ученые уверены, что в будущем большую часть ручного труда будут выполнять роботы. Чтобы не остаться без работы, людям необходимо уже сейчас изучать программирование, ведь роботами должен кто-то управлять. Так что знать, что такое машинное обучение и как оно работает, важно всем. И робот ALTO, возможно, сможет быстро ознакомить людей с этой темой.
Схема для создания корпуса робота из бумаги и исходный код программы для его работы можно найти на сайте Experiments with Google (кнопка Get the code). Но это еще не все, потому что для создания робота нужна электроника, которую нужно купить:
Coral USB Accelerator и Raspberry Pi 4
Знаете ли вы, что роботов можно создавать даже изо льда? Посмотреть на такого робота можно по этой ссылке.
Программирование робота
Для обучения робота нужно будет использовать платформу TensorFlow, которая включает в себя инструменты для тренировки нейронных сетей (можно сказать, для создания искусственного интеллекта). Звучит сложно, да и цена устройства Coral USB Accelerator и компьютера Raspberry Pi 4 может озадачить. Но ведь речь идет о достаточно серьезном устройстве, в ходе создания которого человек получает навыки, которые могут пригодиться ему в высокотехнологичном будущем. Знание английского тоже обязательно, потому что инструкция по сборке робота ALTO и его настройке выложены на GitHub и не переведены на русский.
Робот ALTO может распознавать предметы и многое другое — главное, научить его этому
Представители Google считают, что робота можно научить выполнению самых разных задач. Самая простая из них — распознавание предметов. Если перед камерой робота поставить яблоко, он может поднять левую руку. А если поставить банан — правую. Это только самые банальные примеры, а на деле, полученные в ходе сборки робота знания, должны помочь в создании более навороченных устройств. Глядишь, кто-нибудь сможет даже разработать собственный робот-пылесос или создать охранную систему с распознаванием лиц.
Если вам интересны новости науки и технологий, подпишитесь на наш канал в Яндекс.Дзен. Там вы найдете материалы, которые не были опубликованы на сайте!
Многие люди ассоциируют будущее именно с роботами. Считается, что когда-нибудь они смогут ходить по улицам наравне с людьми и это будет вполне привычным явлением. На данный момент на улицах можно встретить разве что роботов-курьеров, и то редко. Одного из самых интересных роботов для доставки посылок недавно представила компания Hyundai. Он стал очень обсуждаемым — в чем заключается его главная особенность, можно почитать в этом материале.
DIY: делаем боевого робота в домашних условиях. Часть 1
Мы с командой делаем робота для участия в Битве Роботов. Наш робот называется «Большой Брат», и он смотрит на тебя! Смотрит, настигает и разносит вдребезги. Хищный нрав и мощные кинетические орудия делают его идеальной машиной для убийства. Он уже здесь, он рядом — беги!
Это краткая история разработки боевого робота в домашних условиях. Осторожно трафик! Много изображений.
Описание конкурса
Мы принимаем участие в конкурсе «Бронебот 2015: Осенний разогрев» (http://www.bronebot.ru/). Бои роботов — это популярное шоу в Великобритании и США уже более 25 лет. В Москве будет проводиться в первый раз. Приезжает судить Питер Редмонд, президент Ирландской Федерации Боев Роботов, Вице-президент Английской Федерации Боев Роботов, создатель спецэффектов «Top Gear» и «Игр Престолов». Когда нам предложили участвовать в конкурсе мы согласились без вопросов, хотя зря…
Времени очень мало, но мы стараемся изо всех сил.
Ниже представлена информация для конструкторов по созданию роботов-участников боёв Бронебот.
1.5. Летающие роботы запрещены.
2.1. Напряжение питания роботов не должно превышать 36 Вольт.
2.2. Все электрические соединения должны сделаны качественно и на должном уровне изолированы. Кабели должны быть проложены с минимальным шансом быть разорванными.
2.3. Аккумуляторы должны быть полностью изолированные и не содержать жидкостей. Соединения аккумуляторов должны быть полностью изолированными.
2.4. Двигатели внутреннего сгорания запрещены.
3.1. Давление в гидравлических линиях не должно превышать 204 атм (3000 psi/20.4 mps).
3.2. Гидравлические жидкости должны находиться в надежных емкостях внутри робота. Все гидравлические линии должны быть проложены с минимальным шансом быть поврежденными.
4.1. Давление в пневматеческих линиях не должно превышать 68 атм (1000 psi/6.8 mps).
4.2. Пневматические емкости должны быть подлежащего качества, промышленного производства. Давление в них должно соответствовать спецификации производителя.
4.3. Пневматические емкости должны быть закреплены внутри робота и защищены от повреждений.
4.4. Газы для пневматики должны быть невоспламеняющимися или инертными, например, воздух, углекислый газ, аргон, азот.
4.5. Должна быть предусмотрена возможность спустить давление в системе без разбора конструкции.
5.4. Вращающие диски из закаленной стали и лезвия, которые при поломке образовывают осколки, запрещены.
5.5. Длина лезвийштыков не должна превышать 20 см.
6.1. Используемые частоты должны быть разрешены законодательством РФ.
6.2. Робот не должен обладать автономностью. Все управление должно осуществляться исключительно с пульта оператора.
6.3. Все системы роботов должны быть отключаться при потере управляющего сигнала.
6.4. Стабильность управления должна быть продемонстрирована Организаторам заранее для допуска к участию.
6.5. Для избежания конфликтов частоты между роботами участники должны иметь два набора “передатчик-приемник”, работающих на разных частотах.
Арена
Бои будут проходить на специальной пуленепробиваемой сцене 10х10 метров со скошенными углами, т.е. фактически это восьмиугольник.
Другие роботы
Большинство роботов имеют богатый опыт участия в соревнованиях, но это только делает задачу выиграть у них еще интересней.
Наша команда
Краткое описание робота
Так же из фич: Отделяемая часть робота, и пилы.
Каркас, форма, сборка
Колеса со строительного рынка
Двигатели
У нас была очень большая надежда на шаговые двигатели Nema 43. По заявленным характеристикам они нам подходили, мы варили под них раму. При подключении оказалось, что справится с какой-либо нагрузкой они не смогут. В срочном порядке пришлось искать другое решение. Мы нашли двигатели 36В 500Вт и уже переделали раму под них.
Радиоуправление
Радиуправление происходит через 8-канальную радиоаппаратуру для основного оператора, 4 канальную аппаратура для оператора орудий и 2-канальную аппаратуру отделяемой части.
Обработкой ШИМ-сигнала с пульта занимается Arduino (Душа моего робота-газонокосилки). Проблема с обработкой заключалась в том, что на подсчет ШИМ-сигнала с 8 каналов уходит много времени. Выполняя это в основном цикле программы, оказывалось невозможно отправлять на драйверы двигателей адекватное количество пульсов для движения. Решением было выведение работы с шаговиками в функцию запускаемую по таймеру и изменением параметров таймера в основном цикле. Сейчас уже оказывается все это не нужно, коллекторными двигателями мы управляем через драйвер, на который будем подавать ШИМ, который смело можно изменять в основном цикле программы.
Пневмосистема
Пневмосистема в разборе:
Главной идеей было использовать для каждого двуходового цилиндра по 4 клапана, которые перекрестно соединены. Когда мы открываем клапан для наполнения цилиндра с одной стороны открываем для стравливания клапан с противоположной стороны.
Для управления клапанами решили использовать такой модуль с 8 реле, которых как раз хватает для 16 попарно-соединенных клапана, т.е. для 4 цилиндров.
Орудия
Главный молот. Над дизайном главного молота-кирки думаем и спорим.
В качестве пил мы решили использовать двигатели кошения и ножи от Robomow. Во-первых ножи сделаны из прочной стали, а двигатели дают хороший момент и количество оборотов. Во-вторых Robomow согласились нас спонсировать ими.
Как сделать робота своими руками: схемы, проекты и подробная инструкция как создать робота (115 фото и видео)
Сегодня в списке детских предпочтений плюшевый медведей и зайцев потеснил новый персонаж – робот. Магазинные полки ломятся от огромного количества разных моделей киборгов, андроидов, трансформеров.
Однако стоят «умные машины» весьма прилично. Поэтому всё больше родителей предпочитают сделать робота из подручных средств своими руками.
Краткое содержимое обзора:
Нюансы создания роботов
Из чего можно сделать робота своими руками? Это зависит от того, кто будет этим заниматься.
Если ребёнок, то его родителям следует предложить ему внимательно просмотреть модели из ненужных коробок, картона, бумаги, спичечных коробков, сигаретных пачек, пластиковых бутылок, съедобной мастики, чтобы выбрать подходящий вариант.
Маме легче создать для ребёнка вязаного или съедобного киборга. А если созданием робота планирует заняться папа, то чадо может рассчитывать на более сложную конструкцию, например, получить высокотехничного андроида.
Бумажный робот
Также вам потребуется цветной принтер. Создание подобной поделки учит ребёнка быть терпеливым, усидчивым и аккуратным. Ничего сложно в процессе изготовления здесь нет.
Вязаный робот Биби
Это ещё один ответ на вопрос, как легко сделать робота своими руками. Такая поделка обязательно понравится вашему ребёнку, ведь это герой известного среди детей мультсериала «Смешарики».
Подберите в Интернете понравившуюся схему и приступайте к вязанию. В антенну вставьте проволоку. Так её станет можно загибать.
Картон понадобится при изготовлении ножек. В конце работы не забудьте аккуратно отрезать нитки и заправить их внутрь.
Робот из спичечных коробков
Такая самоделка до неприличия проста в изготовлении, но очень симпатична. Она создаётся из девяти коробков, цветной бумаги и клея.
Коробки нужно обклеить цветной бумагой и сформировать из них фигурку робота. Не забудьте прорисовать лицо фломастером, и прикрепить антенны из спичек.
Мобильный робот
Вот мы и рассмотрели самые популярные способы, как сделать робота ребенку своими руками.
Главное, что следует запомнить – в изготовлении подобных поделок нет ничего трудного.
Как создают робота, который захочет изменить мир?
Компьютерный ученый Кристоф Солдж пытается устранить необходимость в правилах, которые управляют поведением роботов. Его стратегия — дать им цель: сделать нас более могущественными. Кристоф работает в Game Innovation Lab при Нью-Йоркском университете. Саша Маслов взяла интервью у Солджа для Quanta Magazine, из которого мы узнаем, что нам, возможно, вовсе не стоит пытаться удержать неудержимый поток технологической сингулярности.
Кристоф Солдж создает роботов будущего
Знаменитые три закона робототехники Айзека Азимова — ограничения поведения андроидов и автоматов, необходимые для обеспечения безопасности человечества — также были незавершенными.
Три закона робототехники
Конечно, в этих законах можно найти множество противоречий и лазеек (чем, собственно, пользовался и сам Азимов). В наш нынешний век продвинутого программного обеспечения с машинным обучением и автономной робототехникой, определение и внедрение железной этики искусственного интеллекта стало актуальной проблемой для таких организаций, как Институт исследований машинного интеллекта и OpenAI.
Зачем нужны роботы
Кристоф Солдж предпринял другой подход. Вместо того чтобы «сверху-вниз» навязывать философские определения того, как должны или не должны вести себя искусственные агенты, Солдж и его коллега Даниэль Полани исследуют путь «снизу-вверх», или «что робот должен делать в первую очередь», как написали в своей статье «Расширение прав как замена трем законам робототехники». «Расширение прав», концепция, рожденная на стыке кибернетики и психологии, описывает внутреннюю мотивацию агента к одновременному сопротивлению и работе в условиях окружающей среды. «Как организм, он хочет выжить. Он хочет оставить след в мире», объясняет Солдж. Пылесос Roomba, запрограммированный на поиск зарядной станции при разрядке батарей, — это рудиментарный пример «расширенных прав»: чтобы продолжать функционировать в мире, он должен получить заряд и продолжить собственное существование, то есть выжить.
Расширение прав может прозвучать как рецепт для получения того самого результата, которого боятся сторонники безопасного искусственного интеллекта вроде Ника Бострома: мощной автономной системы, обеспокоенной только удовлетворением собственных интересов и сходящей с ума в процессе этого. Но Солдж, изучающий человеко-машинные социальные взаимодействия, задается вопросом: что будет, если агент с расширенными правами «также будет заниматься расширением прав другого? Нужно, чтобы робот не просто хотел оставаться в рабочем состоянии — нужно, чтобы он также хотел поддерживать своего человеческого партнера».
Солдж и Полани поняли, что теория информации предлагает способ воплотить это взаимное расширение в математическую базу, которую возьмет на вооружение не-философствующий искусственный агент. «Одним из недостатков трех законов робототехники является то, что они основаны на языке, а язык в высокой степени двусмысленный», говорит Солдж. «Мы пытаемся найти что-то, что на самом деле можно будет исполнить».
Некоторые технологи считают, что ИИ — это большая, даже катастрофическая угроза существованию людей. А вы?
Я воздержусь. То есть я правда считаю, что в настоящее время существует страх перед роботами и растущим влиянием ИИ. Но, думаю, в краткосрочной перспективе мы, вероятно, будем больше озабочены возможной переменой рабочих мест, процесса принятия решений, утратой демократии, потерей конфиденциальности. Не знаю, насколько вероятно появление неудержимого ИИ в ближайшее время. Но даже если ИИ будет контролировать систему здравоохранения и выдавать рецепты, нам стоит подумать об этических вопросах, возникающих в процессе его работы.
Каким образом концепция расширения прав поможет нам справиться с этими проблемами?
Я думаю, что идея расширения прав заполняет нишу. Она не даст агенту позволить человеку умереть, но как только вы сможете удержаться на этом пороге, она будет поддерживать намерение создавать дополнительные возможности для выражения человека и влияния на мир. В одной из книг Азимова роботы просто в конечном итоге поместят всех людей в безопасные контейнеры. Это было бы нежелательно. Если наша способность влиять на мир будет постоянно улучшаться, я думаю, это будет гораздо более интересная для достижения цель.
Вы проверяли свои идеи виртуальных агентов в видеоигровой среде. Что произошло?
Агент, мотивированный собственными расширенными правами, уклонится от снаряда и не упадет в яму, в общем избежит любую ситуацию, которая может привести его к утрате мобильности, смерти или повреждению таким образом, чтобы уменьшить его операциональность. Он просто будет держаться.
Роботы заменят людей
В связке с игроком-человеком, который также наделен расширенными правами, мы увидели, что виртуальный робот будет поддерживать определенную дистанцию, чтобы не препятствовать движению человека. Он не заблокирует вас, не станет на проходе, чтобы вы не могли пройти. Он будет держаться максимально близко к вам, чтобы иметь возможность помочь. Это приводит к поведению, при котором он может и брать инициативу, и следовать за чужой.
Традиционный подход к созданию роботов уже устарел
К примеру, мы создали сценарий, в котором у нас был лазерный барьер, опасный для человека, но безопасный для робота. Если человек в этой игре приближается к лазерам, у робота появляется больше стимулов для блокировки лазера. Стимул усиливается, когда человек становится прямо перед барьером, словно намереваясь его пересечь. И робот фактически блокирует лазер, становясь перед человеком.
Проявляли ли эти агенты какое-либо непреднамеренное поведение, подобное тому, что вытекает из трех законов в книге Азимова?
Нам нужно было это исправить, поэтому мы смоделировали так называемое предположение о доверии. По сути, компаньон-агент действует, исходя из предположения, что человек будет выбирать только те действия, которые не станут ограничивать расширенные права самого агента — пожалуй, это более подходящая для компаньона модель.
Мы также заметили, что если в игре у вас было, скажем, 10 очков здоровья, компаньон не особо переживал, если вы теряли восемь или девять этих очков — он мог даже выстрелить в вас разочек, просто шутки ради. И тогда мы поняли, что есть разрыв между миром, в котором мы живем, и моделью в компьютерной игре. Как только мы смоделировали ограничения способности, вызванные потерей здоровья, проблема исчезла. Ее также можно было решить, создав не такую близорукую модель, которая могла бы просчитывать действия еще на пару шагов в будущее. Если бы агент мог заглянуть дальше в будущее, он увидел бы, что иметь больше очков здоровья может быть полезным для будущих событий.
Принимая во внимание, что смена количества очков здоровья никак на сказывается на моих расширенных правах, агент решает: «Стреляю я в него, не стреляю — какая разница?». И иногда стреляет. Что, конечно, является проблемой. Я не хочу случайных выстрелов в игроков. Мы добавили исправление, чтобы виртуальный робот чуть больше беспокоился о вашем состоянии, чем о своем.
Как вы делаете эти концепции точными?
Если рассматривать агентов как системы управления, их можно разложить на информационные составляющие: в мире что-то происходят и так или иначе тебя касается. Мы говорим об информации не как о вещах, которые вы воспринимаете, а как о воздействиях любого рода — это может быть вещество, что-то протекающее между миром и вами. Может быть температура или питательные вещества в вашем теле. Любая вещь, которая пересекает границу между миром и агентом, переносит в себе информацию. Точно так же агент может влиять на внешний мир самыми разными способами, также выводя в него информацию.
Можно рассматривать этот поток как пропускную способность канала, это концепция из теории информации. У вас могут быть широкие полномочия, расширенные права, если вы способны предпринимать различные действия, которые приводят к различным результатам. Если что-то пойдет не так, вы лишитесь своих полномочий, потому что утрата способности соответствует количественному уменьшению пропускной способности канала между вами и окружающей средой. Это основная идея.
Что умеет робот будущего
Сколько должен знать агент, чтобы его расширенные полномочия действовали в полной мере?
Расширенные права имеют преимущества в том, что их можно применять даже тогда, когда вы не обладаете полным знанием. Агент действительно нуждается в модели того, как его действия будут влиять на мир, но ему не нужно полное понимание мира и всех его тонкостей. В отличие от некоторых подходов, которые пытаются смоделировать все в мире, насколько это возможно, в нашем случае нужно лишь выяснить, как ваши действия влияют на ваше же восприятие. Не нужно узнавать все обо всем; нужен лишь агент, который исследует мир. Он что-то делает и пытается понять, как его действия влияют на мир. Модель растет, а агент все лучше и лучше понимает, куда простираются границы его полномочий.
Вы проверяли его в виртуальной среде. Почему не в реальном мире?
Главным препятствием масштабирования этой модели и тому, чтобы поместить ее в реального робота, является сложность расчета пропускной способности канала агента и человека в такой богатой среде, как реальный мир, надолго вперед. Всем этим процессам еще только предстоит стать эффективными. Я оптимистично настроен, но пока эта проблема остается чисто вычислительной. Поэтому мы проверяем работу системы в компьютерной игре, в упрощенной форме.
Похоже, расширение прав и возможностей, в идеале, сделает наши машины мощными служебными собаками.
Я даже знаю некоторых робототехников, которые сознательно моделируют поведение компаньона на основе собак. Думаю, если роботы будут относиться к нам, как наши собаки, в этом будущем все мы сможем ужиться.