Робот простой: 11 лучших конструкторов для самостоятельной сборки для детей

Содержание

11 лучших конструкторов для самостоятельной сборки для детей

Купить робот конструктор на Wilbo.ru

Преподавание основ робототехники для детей — отличный способ воспитывать любовь к науке и технике, которая будет расти вместе с ними по мере взросления. Веселые комплекты роботов для детей — отличный способ познакомить юных инженеров с простыми концепциями робототехники. Робототехнические проекты увеличивают творческий потенциал, учат детей следовать указаниям, а готовый продукт дает им чувство выполненного долга и уверенности. И, конечно же, у них будет классная игрушка, с которой можно будет играть, когда проект будет завершен. В мире, где мгновенное удовлетворение часто является нормой, необходимость потратить немного времени и усилий на создание игрушки поможет детям понять ценность игрушек, которые у них есть, а также увидеть принцип их действия изнутри.

Существует множество комплектов роботов для детей, начиная от программируемых роботов с дистанционным управлением и заканчивая простыми и легкими для сборки игрушками. При выборе набора роботов учитывайте возраст и уровень подготовки вашего ребенка. Ребенок, имеющий опыт в создании предметов с конструкторами, может пользоваться более сложной сборкой, в то время как новичок может наслаждаться чем-то простым и легким. Следует покупать робота, который будет надежен и долговечен, а уровень проекта подходит для вашего молодого инженера.
Если вы ищете роботизированные конструкторы- не волнуйтесь. У нас есть отличное руководство, которое поможет вам выбрать.

Купить робот конструктор на Wilbo.ru

Конструкторы самостоятельной сборки для детей

1. Robot Kit 1 (базовый набор) RoboRobo

Базовый набор Robo kit это первая ступень обучения. Рассчитан для детей от 9 лет. Этот курс помогает ученикам изучить основы робототехники и принципы электричества, электронной структуры в процессе создания своего первого робота. Также ребенок узнает о различных типах компонентов, таких как LED, зуммер, электродвигатели и основные принципы сенсоров.

Рекомендованная ОС: Windows XP / 7 / 8 /10 / Andriod / iOS . Не поддерживается Windows Vista.

Основой конструктора служит базовая плата, обрабатывающая каждую команду программы последовательно, включая обработку команд от датчиков.

Комплект конструирования и моделирования представляет собой оптимальный набор, который позволяет организовать обучение основам робототехники как в школе и в учреждениях дополнительного образования, так и в учебном процессе дома, а также для участия в соревнованиях.

Возраст: 9+

Особенности: Серьезные новички, Arduino, программирование

Купить RoboKit 1 на Wilbo.ru

2. Huna fun&bot 3

Уникальный конструктор из цветных пластиковых деталей, который собирается в одного из четырёх героев сказок.Герой оснащаетcя мотором и контролером, с помощью которого Вы заставляете игрушку двигаться!

Сами сказки вошли в комплект и располагаются с инструкциями по сборке.
В комплекте и методические пособия, которые могут быть использованы для упрощения обучения.
В наборе:
— 168 пластиковых деталей
— Материнская плата;
— 1 двигатель постоянного тока;

Инструментарий по сборке на русском языке.

Всем детям нравится играть с яркой радиоуправляемой машинной и собирать что-нибудь из конструктора.

Возраст: 6+

Особенности: Подходит для начальной подготовки, дистанционное управление, одна модель для примера собрана

Купить Конструктор HUNA Fun& Bot 3 на Wilbo.ru

3. Bioloid Premium Kit Robotis

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

Возраст: 14+

Особенности:

  • Идеальная устойчивость и сохранение положения тела при ходьбе

  • Наличие различных датчиков и портов для расширения

  • Удаленное управление с помощью радиоканала на базе протокола Bluetooth

  • Программирование на языке семейства C, а также в среде RoboPlus

  • Возможность создания разнообразных моделей роботов

Купить BIOLOID Premium Kit на wilbo.ru

4. LEGO Mindstorms EV3

Королем вселенной роботов-конструкторов должен быть LEGO Mindstorms EV3. Несмотря на то, что Lego Robotics обладает более высокой ценой, роботы Lego предлагают удивительные усовершенствования в чрезвычайно популярном мире LEGO. Со встроенными драйверами для пяти уникальных роботов EV3 можно управлять непосредственно с смартфона или запрограммировать через приложения iOS / Android и ПК / Mac.

Возраст: 10+

Особенности: LEGO любителей, программирование, профессиональный

Купить Lego Mindstorm EV3 на wilbo.ru

5. Robotis Play 600 pets

Robotis Play 600 pets — это умный, легко собираемый и недорогой электронный конструктор. Детям понравится собирать множество моделей животных. Мобильное приложение позволит справиться с моделированием даже начинающему инженеру. Все модели будут двигаться и не оставят равнодушными и взрослых.

Возраст: 5+

Особенности: Простой в использовании, низкая стоимость

Купить Robotis Play 600 pets на Wilbo.ru


6. ZOOB BOT

ZOOB BOT — Победитель конкурса NAPPA Children’s Honor. Это веселый и простой конструктор и отличное введение в робототехнику и инженерию. Робот, которого можно купить в интернет магазине, состоит из шестеренок, суставов и осей, которые просто сцепляются вместе. Набор включает инструкции для разных роботов, а также имеет потенциал для новых идей, которые позволят построить намного больше вариантов моделей. Готовый робот — приятная игрушка с подсветкой.

Возвраст: 6+

Особенности: Простой, батарея как опция, дети младшего возраста

7. Научный набор Robo Spider от компании Smithsonian

Легкая сборка роботов по инструкции и доступная цена делают этот набор робота конструктора для мальчика замечательной покупкой для новичков. Конечный продукт — классная игрушка, и в нее входит цветной плакат для детей, который можно повесить на стену.

Возраст: 8+

Особенности: Простой, для любителей насекомых, низкая стоимость.

8. Thames & Kosmos Remote Control Machines

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

Возраст: 8+

Особенности: Промежуточный, креатив, механика

9. 4M Doodling Robot4

4M Doodling Robot — классный и уникальный маленький робот. Этот недорогой комплект — относительно легкой сборки. Дети смогут наслаждаться просмотром его собственных произведений искусства. Готовый робот можно разделить и перестроить в разных конфигурациях, заставив робота рисовать разные рисунки. Это увлекательный урок в строительстве, механике и базовой робототехнике.

Возраст: 8 +

Особенности: Простые, художники, низкая стоимость

10. Kuman Project Complete Starter Kit для Arduino UNO

Полный комплект для начинающих с учебным пособием для Arduino UNO R3. Комплект для начинающих Kuman для Arduino UNO — идеальная стартовая площадка для детей, чтобы увлечь их робототехникой и программированием продвинутого уровня. С 44 компонентами и учебным на CD, полным проектов и исходного кода, комплект содержит все, что ваш ребенок должен иметь, чтобы начать создавать потрясающие вещи. От простых и забавных проектов до шедевров электронной техники. Это комплект для детей с безграничным воображением и идеями.

Возраст: 10 +

Особенности: Средний / Продвинутый, программирование, безграничные возможности

11. LEGO WEDO EDUCATION 2.0

Самый востребованный набор для конструирования роботов.  Комплект содержит учебные материалы для реализации 17 проектов по окружающему миру, биологии, географии, исследованию космоса и инженерному проектированию, работа над которыми в общей сложности может занять более 40 академических часов. Конструктор Wedo 2.0 в совокупности с программным обеспечением представляет собой готовое решение для развития научной деятельности, навыков проектирования, абстрактного мышления и грамотности изложения.  

Возраст: 6+

Особенности: подходит для начального уровня, автономность от компьютера, большее кол-во деталей и бесплатное программное обеспечение.

Купить Lego WeDo 2.0 на Wilbo.ru

Робот своими руками — Простой робот с логической микросхемой


Продолжая тему о простых роботах, рассмотрим применение логических
элементов в их электронных схемах. Использование логических микросхем
позволяет сделать поведение роботов более интересным и реализовать
более сложные алгоритмы.

В предыдущей статье «ПРОСТЕЙШИЙ РОБОТ НА ОДНОЙ МИКРОСХЕМЕ»

Такой робот может очень уверенно следовать по линии, если она не
имеет крутых поворотов. Если же скорость робота будет высокой, а
поворот резким, то вероятность схода с линии у такого робота становится
достаточно большой.

Для
того чтобы сделать робота, не «боящегося» резких поворотов, достаточно
добавить в его схему логический элемент, при этом оставив всего один
датчик.

Алгоритм движения нашего нового робота будет следующим: когда
датчик будет находиться над черным полем, то один из моторов будет
включен, а другой выключен. Таким образом, робот будет поворачиваться
до тех пор, пока датчик не перейдет на белое поле. Тогда работающий
мотор выключится, а выключенный — включится. Робот начнет
поворачиваться в другую сторону, пока датчик снова не окажется над
черной линией. Алгоритм повторится снова, и робот, слегка виляя из
стороны в сторону, начнет двигаться вдоль границы белого и черного.

Логический элемент, который мы добавим в схему робота, называется
элемент «НЕ», или «инвертор». Инвертор имеет один вход и один выход.
Когда на вход инвертора подается логическая «1» (логическая единица —
сигнал высокого уровня), то на выходе мы будем иметь логический «0»
(логический ноль — низкий уровень сигнала), а когда на вход будет подан
логический «0», то на выходе будет присутствовать логическая «1».

рассматривался робот, следующий по линии. В схеме этого робота
использовались два датчика, реализованные на фототранзисторах, которые
подключались напрямую к входам драйвера двигателей L293D. Алгоритм
движения такого робота был очень простым: когда под левым и правым
датчиком находилось белое поле, то включались оба мотора и робот
двигался вперед. Если один из датчиков попадал на черную линию,
проходящую между ними, то соответствующий мотор останавливался и робот
поворачивался, выравнивая свое положение над линией.


Обозначение элемента «НЕ» в американском
стандарте ANSI (American National Standart Institute — американский
национальный институт стандартов).


Обозначение элемента «НЕ» на схемах по
российскому ГОСТу и европейскому стандарту DIN (Deutsche Ingenieuring
Normen — немецкий инженерный стандарт). Иногда цифру «1» внутри
элемента не ставят для простоты.


Таблица истинности для логического элемента «НЕ».

Помимо
логического элемента НЕ, существуют также элементы ИЛИ и И,
обеспечивающие логическое сложение и логическое умножение
соответственно. Кроме того, часто используются комбинированные элементы
И-НЕ и ИЛИ-НЕ. Подробнее о логических элементах можно прочитать здесь.

Схема робота будет выглядеть следующим образом.

Номинал резистора R2 подбирается таким образом, чтобы обеспечить
наилучшую чувствительность датчика. О том, как это сделать см. в статье
«Сенсоры в простейшем роботе на одной микросхеме».

При подключении фототранзистора использован подтягивающий резистор R2,
так как у ТТЛ-микросхем на входе при отсутствии сигнала присутствует
высокий логический уровень (логическая «1»). Резистор, подтягивающий
вход к «земле», обеспечит низкий уровень (логический «0») при
отсутствии сигнала от фототранзистора.

Принцип работы схемы построен на инвертировании сигнала,
поступающего от фототранзистора. Когда датчик будет освещен (находится
над белым полем), фототранзистор откроется и на входе INPUT1 драйвера
моторов L293D появится сигнал высокого уровня (логическая «1»). Мотор
М1 будет вращаться. Кроме того, сигнал от фототранзистора будет подан
на вход элемента «НЕ», который превратит логическую «1» в логический
«0» и подаст его на вход INPUT4. Мотор М2 будет стоять.

Схема робота. Состояние 1 (фототранзистор освещен).

Когда робот повернется и датчик окажется над белым полем,
фототранзистор закроется и на входе INPUT1 окажется сигнал низкого
уровня (логический «0»). Мотор М1 остановится. Логический «0»
инвертируется элементом «НЕ», и на входе INPUT4 появится логическая
«1». Мотор М2 начнет вращаться.

Схема робота. Состояние 2 (фототранзистор не освещен).

Чередование состояния 1 и состояния 2 обеспечит роботу следование по границе белого и черного.

В данной схеме может быть применена логическая микросхема К155ЛН1, содержащая 6 инверторов, или ее аналог SN7404N.

Расположение логических элементов «НЕ» внутри микросхем К155ЛН1 и SN7404N.
К 14-му выводу подключают питание микросхемы (+5 вольт), к 7-му — общий провод («землю»).

Также можно применить микросхемы стандартной логики К155ЛА3 (4
элемента 2И-НЕ) или К155ЛЕ1 (4 элемента 2ИЛИ-НЕ), соединив входы у
одного из элементов и получив таким образом элемент «НЕ».

Неиспользуемые входы логической микросхемы можно соединить с
питанием через резистор с сопротивлением 1 КОм. Это обеспечит
стабильность ее работы.

Описываемый робот может быть реализован и без использования
подтягивающего резистора. В этом случае эмиттер фототранзистора можно
подключить к «земле» и использовать два элемента «НЕ».

Следует заметить, что логический элемент, помимо своего прямого
назначения, может выступать усилителем сигнала. Поэтому именно такой
вариант схемы часто используют при создании спортивных роботов для
соревнований «Гонки по линии».

Простой робот | Народное программирование

Жизнь стала немного скучной, и пришлось искать пути сделать ее веселее. Вот так и появился примитивнейший робот, реагирующий на свет. Идея взята отсюда, поэтому не буду заниматься плагиаторством, а сделаю некоторые дополнение и советы по поводу конструкции. Простейшей конструкции.


И так. В основе конструкции лежит чудо техники — микросхема L293D, которую еще часто называют драйвером двигателей для микроконтроллера. Но не стоит пугаться. Пока что. Идея работы микросхемы очень простая — она изменяет уровень выходящего напряжения в зависимости от уровня входящего сигнала. А входящим сигналом у нас будет… сам источник питания, но ток от него будет изменяться светочувствительным элемент… Вообщем, думаю, статью вверху вы прочитали.


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


Нарисовал плату, она не совсем удачная, ибо потом подпаял подстроечные резисторы, а предусмотрел постоянные,  но подаю как есть:



Подготовка пациента:



После вытравливания платы получилось вот такое чудо:



К слову сказать, мне попалась L293DD, а она предназначена для поверхностного монтажа.


В качестве светочувствительных элементов использовал фототранзисторы. Но они давали очень высокое сопротивление, пришлось регулировать. Параллельно были впаяны резисторы на 300 кОм, потом, для более тонкой подстройки, подпаяны последовательно подстроечные резисторы на 200 кОм.


Теперь о самой конструкции и как все это заставить двигаться. Под рукой оказалось фактически ничего. Поэтому вся рабочая схема была прицеплена на клей к отсеку с 4 элементами питания АА. Два двигатели от детских игрушек, благополучно спуленые с ближайшей (ну как с ближайшей…=) )  барахолки и прицеплены тоже на клей (неожидано, да? =) на диагоналях (нужно построить конструкцию так, чтобы разместить двигатели на как возможно большем расстоянии).


Сначала я пробовал установить двигатели в привычном положении и прицепить колеса, но даже самые маленькие, увы, не хотели работать без передачи. Поэтому (в стремлении до уменьшения удельного веса геморроя первой конструкции=) ) ничего не цеплять на шкив двигателя. В таком случае, надо подобрать оптимальный угол и еще кучу всего, но в результате получается вполне работающий вариант. Вот как это выглядит:



Кстати, подстроечные резисторы понадобились, чтобы подстраивать  чувствительность робота при разном освещении. Пока что с этим не все гладко — робот работает адекватно только если фоновое освещение минимальное.


Демонстрация работы (производилась в темной комнате):




 

Простой робот, как сделать в домашних условиях — фото, схема

Здесь рассказывается о том, как своими руками в домашних условиях сделать
небольшое подобие простого робота на трех колесах.

Для начала сборки такого простейшего робота своими руками  нужно найти все необходимые,
нижеперечисленные детали и компоненты:

1. Спичечный коробок

2. Два колеса со старой игрушки, или две пробки из
пластиковой бутылки

3. Два моторчика (желательно одинаковой мощности и
напряжения)

4. Выключатель

5. Переднее третье колесо, его можно взять как со старой
игрушки, так и с пластиковой бутылки

6. Светодиод можно брать по желанию, так как в этой модели
особого значения он не имеет (хотя если у вас бессонница, то свет ночью очень
даже не помешает)

7. Два гальванических элемента по полтора вольта – две
батарейки по 1.5 в

8. Изоляционная лента

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

Простейший робот своими руками в домашних условиях

Нам нужны колеса или в случае их отсутствия прикрепить к
стержням моторчиков. Конечно, лучше всего это сделать клеем, ну или вдеванием
головки в отверстие. 

Напомню, что эти действия нужно сделать на обоих моторчиках.

Еще один немало важный момент, колеса должны быть идентичны, ну иди хотя бы
одинаковых размеров. 

 

Теперь при помощи клейкой ленты нужно один из моторчиков
прикрепить к спичечной коробке.

Крепление должно быть лишь на половину размера
основы, так как на другой части будет еще и второй моторчик. 

Конечно, можно было сделать все и на одном моторчике, не
мучаясь с разными вариантами крепления, но сделать это намного сложнее.

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

Если у вас есть такие установки, то конструкции
сделать намного проще, ну а если нет, то лучше брать два моторчика. 

В этом шаге нужно подумать о питании для робота своими руками, поскольку моторчики
находятся в нижней части коробка, то на верхнюю нужно поместить батарейки,
естественно скрепив все клейкой лентой.

От двух моторчиков выходит четыре
проводника, два с одного и два с другого. Получается шесть проводков вместе с
питанием, их нужно параллельно подсоединить, добавив к питанию выключатель. 

На картинке видно плюс и минус питания. К плюсу подключены
первые два соединения, а к минусы вторые. К обратной стороне батареек припаян
выключатель.

На обратной стороне он его контакт также подключен к плюсу и
минусу.

Ну, вот в принципе и все. Теперь как вы видите на картинке
нужно скрепить все лентой, придав конструкции надежного вида, и запускать.

Будут вопросы, пишите в комментарии, всем отвечу!

Как пользоваться роботом-пылесосом Xiaomi: простая и понятная инструкция | Статьи

Роботы-пылесосы Xiaomi продаются с достаточно объемными руководствами в комплекте. Но, купив это чудо техники, многие торопятся его включить и посмотреть, как робот примется за уборку квартиры. Чтобы оградить вас от долгого и нудного чтива инструкций, мы подготовили облегченное руководство пользователя. Сейчас расскажем, как подготовить к первому запуску пылесос, как за ним ухаживать и что еще нужно знать об этих умных устройствах.


Фото: gadgets.ndtv.com

Первая зарядка пылесоса

Все предельно просто, и мы опустим такие элементарные действия, как распаковка устройства и разматывание проводов. 

  1. Подключите к розетке станцию зарядки и спрячьте излишки кабеля в соответствующем кармане.

  2. Разместите базу так, чтобы по бокам от нее было по 50 см и перед ней 100 см свободного места.

  3. Поставьте на станцию пылесос. Если все сделали правильно, сверху на нем замигают индикаторы.

  4. Если индикатор на корпусе устройства горит, не моргая, батарея заряжена и готова к работе. Нажмите кнопку включения. 

Уровень заряда ниже 20% показывается красным индикатором, менее 50% — желтым, а при достаточном заряде горит белый светодиод. 


Размеры Mi Robot позволяют ему заезжать под кровать. Фото: innrechmarket.com

Как настроить приложение для робота-пылесоса

Как управлять роботом-пылесосом Xiaomi через телефон — вопрос, интересующий почти каждого владельца Mi Robot. Существует специальное приложение Xiaomi, через которое можно задавать график уборки и другие параметры работы домашнего помощника. 

  1. Скачайте приложение Mi Home для Android или iOS.

  2. После запуска программы выберите сервер. Лучше указать Европу, США или Сингапур, так как на китайских серверах некоторые опции заблокированы. 

  3. Войдите в учетную запись или зарегистрируйтесь.

  4. В пункте добавления устройства выберите из списка Mi Robot. 

  5. На пылесосе нажмите кнопку с иконкой домика и подержите ее не менее 5 секунд до звукового сигнала. Он говорит об успешном подключении устройства к приложению.

  6. Снова выберите Mi Robot и укажите домашнюю сеть Wi-Fi.

  7. Задайте основное местоположение робота, например «Гостиная», и завершите настройку. 

Проделав эти манипуляции, вы сможете управлять пылесосом через приложение, даже находясь не дома.


MiJia 1C (белый) тоньше, чем Mi Robot Vacuum Mop P (черный), и заезжает почти под любую мебель. Фото: smartrobotreviews.com

Небольшая, но важная подготовка квартиры

Чтобы в процессе уборки не возникло проблем, лучше потратить несколько минут на небольшую подготовку комнат:

  • Все провода, в которых может запутаться Mi Robot, уберите с пола.

  • Мелкие вещи пылесос может всосать, поэтому их тоже нужно убрать.

  • Зоны, в которые пылесосу нельзя заезжать, нужно ограничить магнитными лентами (приобретаются отдельно). Конечно, можно расставить какие-либо физические барьеры, но это нерационально. 

  • Обязательно ограничьте пылесосу доступ к ступенькам, с которых он может упасть и сломаться. 

Выбираем подходящий режим уборки

В модельном ряду Xiaomi есть роботы-пылесосы с функцией влажной уборки и без нее, но все устройства без исключения имеют два основных рабочих режима: полная и частичная уборка.

Полная уборка

После сканирования рабочей зоны Mi Robot делит большие помещения на зоны и убирает их поочередно, перемещаясь по зигзагообразной траектории от стены к стене. По каждой области пылесос проходит по два раза. После уборки он возвращается на базу и заряжается. Если станцию убрали, робот вернется к точке, с которой началась уборка. Если нужно остановить ее, нажмите кнопку «Домой», после чего Mi Robot вернется на базу.


Робот-пылесос Xiaomi способен переезжать небольшие пороги. Фото: diyprojects.io

Частичная уборка

Режим пригодится, когда пылесосить везде не нужно. Например, необходимо убрать только под столом и небольшую зону вокруг него. При активации этого режима пылесос очищает площадку 1,5 на 1,5 метра. Чтобы начать такую уборку, поставьте робота в нужное место, затем нажмите кнопку «Домой» и подержите ее 5–6 секунд. После уборки пылесос возвратится на базу. 

Как пользоваться приложением для робота-пылесоса

Чтобы не переносить вручную робот-пылесос с места на место или нажимать на кнопки на корпусе при каждой уборке, используйте приложение. С его помощью вы сможете вызвать Mi Robot из соседней комнаты или вообще запустить его, пока находитесь на работе, чтобы он навел чистоту к вашему приходу.

  • Через приложение задается время уборки: например, можно настроить пылесос так, что он будет включаться каждый вторник и пятницу ровно в 15:00.

  • В приложении можно выбирать отдельные комнаты или зоны для проведения уборки.

  • Если в определенном месте остался мусор, можно переключиться на режим ручного управления. В этом случае Mi Robot превратится в радиоуправляемую машинку, которая будет двигаться в нужном вам направлении.

  • В Mi Home приходят уведомления о старте и завершении уборки.

  • В приложении собирается статистика по уборкам, их периодичности и продолжительности. Она помогает своевременно менять щетки и прочие расходники.

Уход за роботом-пылесосом, который продлит его срок службы

Постепенно пылесос засоряется волосами, шерстью и грязью, поэтому ему нужна регулярная чистка.

  • Контейнер и фильтр рекомендовано чистить каждый раз после уборки.

  • Мыть в воде фильтр не следует: его нужно вытряхивать или продувать.

  • Центральная щетка нуждается в еженедельной чистке. Боковые щетки, колеса и датчики достаточно очищать один раз в месяц.

Разумеется, все эти рекомендации условны, поэтому просто постарайтесь не запускать состояние робота-пылесоса, периодически уделяя внимание его чистке.


Фильтры и щетки легко снимаются для чистки и мойки. Фото: gearbest.com

Частые вопросы владельцев роботов-пылесосов

С Mi Robot могут возникать разные вещи, которые иногда вводят в ступор. На самом деле большинство подобных ситуаций имеют простейшие решения, если знать, как действовать.

Что делать, если робот-пылесос перестал отображаться в приложении?

Такое происходит, когда теряется связь между смартфоном и роботом, а происходит это по разным причинам: изменилась домашняя сеть, обновилась конфигурация маршрутизатора и так далее. Вам нужно в таком случае одновременно нажать кнопку питания и «Домой» и держать их до голосового оповещения о перезагрузке Wi-Fi. Если индикатор начнет медленно моргать, сброс связи прошел успешно и можно заново добавить Mi Robot в приложение.


Прорезиненные колеса обеспечивают хорошее сцепление даже со скользкими полами. Фото china-gadgets.com

Нужно ли обновлять прошивку и как?

Обновление прошивки рекомендовано, так как с ним производитель вносит определенные коррективы в работу устройства и исправляет выявленные ошибки. Обновлять версию ПО можно через приложение. Главное — подключить пылесос к станции и убедиться, что уровень заряда выше 20%. 

Что делать, если робот перестал реагировать на кнопки и не выключается?

Если Mi Robot завис и перестал реагировать на управление, попробуйте перезагрузить устройство нажатием на клавишу сброса Reset. Система будет автоматически перезагружена. При этом сбросятся все ранее установленные настройки.

Как вернуть заводские параметры, если не получается сделать сброс?

Одновременно зажмите кнопки «Домой» и Reset и держите до голосового оповещения о запуске восстановления настроек. Дождитесь завершения операции и после этого можете приступить к выставлению новых параметров. 

Почему Mi Robot перестал включаться?

Основных причин может быть три:

  1. Батарея не заряжена.

  2. Окружающая температура ниже 0°C или выше 50°C. 

  3. Пылесос сломался.

Что делать, если робот перестал заряжаться?

Помимо банальной причины, когда док-станция не подключена к розетке, есть еще одна. Коннекторы базы могли настолько сильно загрязниться (например, забиться шерстью домашнего питомца), что пропал контакт. Очистите их, и все заработает.

Как быть, если пылесос стал очень плохо убирать?

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

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

Каковы различные типы простого робота?

Простой робот — это машина, которая может двигаться самостоятельно. Он может выполнять домашние дела, выполнять производственные задания или служить развлечением для детей. Стиральные машины, автоматические автомойки и игрушки с дистанционным управлением являются примерами простых роботов и содержат различные компоненты, предназначенные для совместной работы и автоматического выполнения желаемых задач. Любители любого возраста могут приобрести комплекты роботов. Учитывая огромное количество информации, доступной в Интернете, они также могут найти текстовые и визуальные инструкции по созданию простого робота.

Управляемая программа, источник питания и датчики — это некоторые компоненты простого робота. Некоторые простые роботы остаются неподвижными. Многие программируемые бытовые приборы являются стационарными устройствами, которые позволяют потребителям стирать одежду и посуду и готовить кофе. У других стационарных роботов есть датчики, которые открывают двери, когда кому-то нужно пройти. Торговые автоматы — это еще один тип простого робота, который предоставляет продукты питания или другие товары, когда потребители вносят деньги и нажимают запрограммированные кнопки.

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

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

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




ДРУГИЕ ЯЗЫКИ

Самый простой способ объединить две строки в рамках робота .?

Учитывая две строки ‘a’ , ‘b’, каков самый простой способ объединить их и назначить новой переменной в robot framework?

Я попробовал этот простой питонский способ, но он не сработал

${var}= 'a' + 'b'

python

robotframework

robotframework-ide

Поделиться

Источник


user3170122    

03 октября 2017 в 07:56

2 ответа


  • Каков самый быстрый способ объединить две строки в Java?

    Каков самый быстрый способ объединить две строки в Java? я.е String ccyPair = ccy1 + ccy2; Я использую cyPair в качестве ключа в HashMap , и он вызывается в очень узком цикле для извлечения значений. Когда я профиль то это узкое место java.lang.StringBuilder.append(StringBuilder.java:119)…

  • Как сравнить две строки равные или нет в рамках робота

    Как сравнить две строки, равные или не равные в рамках робота. Например: ${xyz}= Get Text xpath=/html/body/div/div[2]/div[3]/div/div/div/div/h4 ${abc}= Get Text xpath=/html/body/div/div[2]/div[4]/div/div/div/div/h4 Эти значения xpath получают разные строки. Так как же сравнивать там строки равные…



27

Вы можете использовать катенат из BuiltIn .

Пример из документов:

${str1} =   Catenate    Hello   world   
${str2} =   Catenate    SEPARATOR=---   Hello   world
${str3} =   Catenate    SEPARATOR=  Hello   world
=>
${str1} = 'Hello world'
${str2} = 'Hello---world'
${str3} = 'Helloworld'

Поделиться


Oleh Rybalchenko    

03 октября 2017 в 08:02



12

Catenate -это обычный способ работы со строками, как указано в другом ответе.

Альтернативный вариант — использовать только Set Variable :

${a}=    Set Variable   First
${b}=    Set Variable   Second

${c}=    Set Variable   ${a}${b}
Log To Console    ${c}    # prints FirstSecond

${c}=    Set Variable   ${a} ${b}
Log To Console    ${c}    # prints First Second

${c}=    Set Variable   ${a}-/-${b}
Log To Console    ${c}    # prints First-/-Second

Объяснение заключается в том, что обработка RF аргументов любого ключевого слова — Set Variable в том числе, проходит через замену любой переменной ее значением. E.g. для этого вызова:

Set Variable   ${a}-/-${b}

Что примерно происходит, так это «конечное значение- это значение переменной a -/- значение переменной b «.

Поделиться


Todor Minakov    

04 октября 2017 в 04:35


Похожие вопросы:

Как вычесть число в рамках робота?

Как вычесть число в рамках робота? Какова команда для этого? Например, если я получаю счетчик, я хочу вычесть -1 и сопоставить ключевые слова с полученным значением.

Какой самый простой способ сравнить две строки, кроме одного символа?

Я новичок в java. Может ли кто-нибудь сказать мне, что это самый простой способ сравнить две строки, кроме одного символа? любить: ‘test’ ‘text’ //only one character different должен вернуть true…

В Vim, каков самый простой способ объединить все строки в файле в одну строку?

Я хочу объединить все строки в файле в одну строку. Какой самый простой способ сделать это? Мне не повезло, когда я пытался использовать подстановку ( \r\n или \n , похоже, неправильно подобраны в…

Каков самый быстрый способ объединить две строки в Java?

Каков самый быстрый способ объединить две строки в Java? я.е String ccyPair = ccy1 + ccy2; Я использую cyPair в качестве ключа в HashMap , и он вызывается в очень узком цикле для извлечения…

Как сравнить две строки равные или нет в рамках робота

Как сравнить две строки, равные или не равные в рамках робота. Например: ${xyz}= Get Text xpath=/html/body/div/div[2]/div[3]/div/div/div/div/h4 ${abc}= Get Text…

Return два значения в рамках робота

Есть ли возможность return две переменные в рамках робота? ${result1}, ${result2}= MyKeyword это не работает.

Самый простой способ объединить две строки во время компиляции с C++11

Я пытаюсь объединить две строки времени компиляции: constexpr const char* getString1() { return abababa; }; constexpr const char* getString2() { return lalalal; }; constexpr const char* getString3()…

Самый простой способ сравнения классов двух ветвей

Мы создали две ветви и одну группу разработчиков, приверженную мастер-ветви, а другую группу разработчиков, приверженную ветви разработки. За последние 2 месяца мы разработали различные требования в…

Время отклика в рамках робота

Есть ли какой-нибудь способ узнать время, необходимое для завершения каждого действия в рамках робота??? Например, я хочу повернуть экран на 90 градусов 10 раз, как рассчитать время или как…

Каков наилучший способ выполнения утверждений в рамках робота?

Я использую Robot Framework с Java. Мой вопрос таков: каков наилучший способ выполнения утверждений в рамках робота? Должен ли я импортировать JUnit (или аналогичную библиотеку) и использовать if…

Какие бывают типы простых роботов? (с иллюстрациями)

Простой робот — это машина, которая может двигаться независимо. Он может выполнять работу по дому, работать на производстве или служить развлечением для детей. Стиральные машины, автоматические автомойки и игрушки с дистанционным управлением — все это примеры простых роботов и содержат различные компоненты, которые предназначены для совместной работы и автоматического выполнения желаемых задач. Любители любого возраста могут приобрести комплекты роботов.Учитывая огромное количество информации, доступной в Интернете, они также могут найти текстовые и визуальные инструкции по созданию простого робота.

Управляемая программа, источник питания и датчики — это некоторые из компонентов простого робота.Некоторые простые роботы остаются неподвижными. Многие программируемые бытовые приборы представляют собой стационарные устройства, позволяющие потребителям стирать одежду и посуду, а также готовить кофе. У других стационарных роботов есть датчики, которые открывают двери, когда кому-то нужно пройти. Торговые автоматы — это еще один тип простых роботов, которые поставляют еду или другие товары, когда потребители кладут деньги и нажимают заранее запрограммированные кнопки.

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

Многочисленные детские игрушки — это не более чем простые конструкции роботов.Кажется, что они движутся без посторонней помощи, автомобили, грузовики и самолеты с дистанционным управлением содержат роботизированные технологии. Игрушки, которые ходят, разговаривают и взаимодействуют с детьми, содержат электронные датчики и программы, имитирующие человеческую деятельность. Другие игрушки совершают типичные движения, издают звуки и выглядят похожими на животных. Также доступны игрушки, напоминающие типичную научную фантастику, роботы-гуманоиды, способные воспроизводить звук и двигаться.

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

Учебное пособие по программированию робототехники

: как программировать простого робота

Примечание редактора: 16 октября 2018 г. эта статья была переработана для работы с новейшими технологиями.

Посмотрим правде в глаза, роботы — это круто. Они также собираются когда-нибудь править миром, и, надеюсь, тогда они пожалеют своих бедных мягкотелых создателей (также известных как разработчики робототехники) и помогут нам построить космическую утопию, наполненную изобилием. Я, конечно, шучу, но только вроде.

Стремясь хоть как-то повлиять на этот вопрос, в прошлом году я прошел курс теории управления автономными роботами, кульминацией которого стало создание симулятора робота на основе Python, который позволил мне практиковать теорию управления на простом, мобильном, программируемом устройстве. робот.

В этой статье я собираюсь показать, как использовать платформу роботов Python для разработки управляющего программного обеспечения, описать схему управления, которую я разработал для своего смоделированного робота, проиллюстрировать, как он взаимодействует с окружающей средой и достигает своих целей, а также обсудить некоторые из фундаментальные проблемы программирования робототехники, с которыми я столкнулся на этом пути.

Чтобы следовать этому руководству по программированию робототехники для начинающих, вы должны иметь базовые знания двух вещей:

  • Математика — мы будем использовать некоторые тригонометрические функции и векторы
  • Python — поскольку Python является одним из наиболее популярных базовых языков программирования роботов, мы будем использовать базовые библиотеки и функции Python.

Приведенные здесь фрагменты кода являются лишь частью всего симулятора, который опирается на классы и интерфейсы, поэтому для непосредственного чтения кода вам может потребоваться некоторый опыт в Python и объектно-ориентированном программировании.

Наконец, дополнительные темы, которые помогут вам лучше следовать этому руководству, — это знать, что такое конечный автомат и как работают датчики диапазона и энкодеры.

Проблема программируемого робота: восприятие против реальности и хрупкость управления

Основная проблема всей робототехники заключается в следующем: невозможно когда-либо узнать истинное состояние окружающей среды. Программное обеспечение для управления роботом может только угадывать состояние реального мира на основе измерений, возвращаемых его датчиками.Он может только попытаться изменить состояние реального мира посредством генерации управляющих сигналов.

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

Таким образом, одним из первых шагов в разработке системы управления является создание абстракции реального мира, известной как модель , с помощью которой можно интерпретировать показания наших датчиков и принимать решения. Пока реальный мир ведет себя в соответствии с предположениями модели, мы можем делать правильные предположения и осуществлять контроль.Однако, как только реальный мир отклонится от этих предположений, мы больше не сможем делать правильные предположения, и контроль будет утерян. Часто, когда контроль теряется, его уже невозможно восстановить. (Если его не восстановит какая-нибудь доброжелательная внешняя сила.)

Это одна из основных причин того, что программирование робототехники так сложно. Мы часто видим видеоролики, на которых новейший исследовательский робот выполняет в лаборатории фантастические трюки с ловкостью, навигацией или командной работой, и у нас возникает соблазн спросить: «Почему это не используется в реальном мире?» Что ж, в следующий раз, когда вы посмотрите такое видео, посмотрите, насколько строго контролируется лабораторная среда.В большинстве случаев эти роботы могут выполнять эти впечатляющие задачи только до тех пор, пока условия окружающей среды остаются в узких рамках его внутренней модели. Таким образом, одним из ключей к развитию робототехники является разработка более сложных, гибких и надежных моделей, и это продвижение зависит от ограничений доступных вычислительных ресурсов.

Одним из ключей к развитию робототехники является разработка более сложных, гибких и надежных моделей.

[Боковое примечание: и философы, и психологи отметили бы, что живые существа также страдают от зависимости от собственного внутреннего восприятия того, что им говорят их чувства.Многие успехи в робототехнике достигаются благодаря наблюдению за живыми существами и их реакции на неожиданные раздражители. Думаю об этом. Какова ваша внутренняя модель мира? Он отличается от муравья, а от рыбы? (Надеюсь.) Однако, подобно муравью и рыбе, он, вероятно, слишком упрощает некоторые реалии мира. Когда ваши предположения о мире неверны, вы рискуете потерять контроль над ситуацией. Иногда мы называем это «опасностью». Так же, как наш маленький робот пытается выжить в неизвестной вселенной, мы все тоже.Это мощное открытие для робототехников.]

Программируемый симулятор робота

Симулятор, который я построил, написан на Python и очень умно назван Sobot Rimulator . Вы можете найти версию 1.0.0 на GitHub. В нем не так много наворотов, но он создан для одной цели очень хорошо: обеспечивает точное моделирование мобильного робота и дает начинающему робототехнику простую основу для практики программирования программного обеспечения роботов. Хотя всегда лучше иметь настоящего робота, чтобы играть с ним, хороший симулятор робота Python намного доступнее и является отличным местом для начала.

В реальных роботах программное обеспечение, генерирующее управляющие сигналы («контроллер»), должно работать на очень высокой скорости и производить сложные вычисления. Это влияет на выбор того, какие языки программирования роботов лучше всего использовать: обычно для таких сценариев используется C ++, но в более простых робототехнических приложениях Python — очень хороший компромисс между скоростью выполнения и простотой разработки и тестирования.

Программное обеспечение, которое я написал, имитирует реального исследовательского робота под названием Khepera, но его можно адаптировать к ряду мобильных роботов с различными размерами и датчиками.Поскольку я пытался запрограммировать симулятор, максимально приближенный к возможностям реального робота, логику управления можно загрузить в настоящего робота Khepera с минимальным рефакторингом, и он будет работать так же, как моделируемый робот. Реализованные особенности относятся к Khepera III, но они могут быть легко адаптированы к новому Khepera IV.

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

В этом руководстве я буду описывать архитектуру программного обеспечения для управления роботами, которая поставляется с v1.0.0 из Sobot Rimulator , и предоставлять фрагменты из исходного кода Python (с небольшими изменениями для ясности). Тем не менее, я рекомендую вам погрузиться в источник и бездельничать. Симулятор был разветвлен и использовался для управления различными мобильными роботами, включая Roomba2 от iRobot. Точно так же, пожалуйста, не стесняйтесь разветвлять проект и улучшать его.

Управляющая логика робота ограничена следующими классами / файлами Python:

  • модели / супервайзер.py — этот класс отвечает за взаимодействие между моделируемым миром вокруг робота и самим роботом. Он развивает конечный автомат нашего робота и запускает контроллеры для вычисления желаемого поведения.
  • models / supervisor_state_machine.py — этот класс представляет различные состояния , в которых может находиться робот, в зависимости от его интерпретации датчиков.
  • Файлы в каталоге models / controllers — эти классы реализуют различное поведение робота при известном состоянии окружающей среды.В частности, в зависимости от конечного автомата выбирается конкретный контроллер.

Цель

Роботам, как и людям, нужна цель в жизни. Цель нашего программного обеспечения, управляющего этим роботом, будет очень простой: он попытается добраться до заранее определенной целевой точки. Обычно это основная функция, которой должен обладать любой мобильный робот, от автономных автомобилей до роботов-пылесосов. Координаты цели программируются в управляющем программном обеспечении до активации робота, но могут быть сгенерированы из дополнительного приложения Python, которое контролирует движения робота.Например, представьте, что он проезжает через несколько путевых точек.

Однако, чтобы усложнить ситуацию, окружение робота может быть усыпано препятствиями. Робот НЕ МОЖЕТ столкнуться с препятствием на пути к цели. Следовательно, если робот сталкивается с препятствием, ему придется найти путь, чтобы продолжить свой путь к цели.

Программируемый робот

Каждый робот имеет разные возможности и особенности управления. Давайте познакомимся с нашим смоделированным программируемым роботом.

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

Управляющие входы: датчики

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

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

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

Управляющие выходы: мобильность

Некоторые роботы передвигаются на ногах. Некоторые катятся, как мяч. Некоторые даже скользят, как змеи.

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

API

В Sobot Rimulator разделение между роботом «компьютером» и (смоделированным) физическим миром воплощено в файле robot_supervisor_interface.py , который определяет весь API для взаимодействия с датчиками и двигателями «реального робота»:

  • read_proximity_sensors () возвращает массив из девяти значений в собственном формате датчиков
  • read_wheel_encoders () возвращает массив из двух значений, указывающих общее количество тиков с начала
  • set_wheel_drive_rates (v_l, v_r) принимает два значения (в радианах в секунду) и устанавливает эти два значения для левого и правого колес.

Этот интерфейс внутренне использует объект-робот, который предоставляет данные от датчиков и возможность перемещать двигатели или колеса.Если вы хотите создать другого робота, вам просто нужно предоставить другой класс робота Python, который может использоваться с тем же интерфейсом, а остальная часть кода (контроллеры, супервизор и симулятор) будет работать из коробки!

Симулятор

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

Файл world.py — это класс Python, который представляет смоделированный мир с роботами и препятствиями внутри. Функция step внутри этого класса заботится о развитии нашего простого мира:

  • Применение правил физики к движениям робота
  • Учет столкновений с препятствиями
  • Предоставление новых значений для датчиков робота

В конце концов, он вызывает диспетчеров роботов, ответственных за выполнение программного обеспечения мозга робота.

Пошаговая функция выполняется в цикле, так что robot.step_motion () перемещает робота, используя скорость колеса, вычисленную супервизором на предыдущем шаге моделирования.

  # пошаговое моделирование через один временной интервал
def step (self):
dt = self.dt
# шаг всем роботам
для робота в self.robots:
# шаг движения робота
robot.step_motion (dt)

# применяем физические взаимодействия
self.physics.apply_physics ()

# ПРИМЕЧАНИЕ: супервизоры должны бежать последними, чтобы убедиться, что они наблюдают за «текущим» миром.
# шаг все супервизоры
для руководителя в себе.руководители:
supervisor.step (dt)

# увеличить мировое время
self.world_time + = dt
  

Функция apply_physics () внутренне обновляет значения датчиков приближения робота, чтобы супервизор мог оценить окружающую среду на текущем этапе моделирования. Те же принципы применимы к кодировщикам.

Простая модель

Во-первых, у нашего робота будет очень простая модель. Он сделает много предположений о мире. Некоторые из наиболее важных:

  • Местность всегда ровная и даже
  • Препятствий не бывает круглых
  • Колеса не пробуксовывают
  • Ничто и никогда не сможет подтолкнуть робота к
  • Датчики никогда не выходят из строя и не дают ложных показаний
  • Колеса всегда поворачиваются, когда им говорят на

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

Контур управления

Теперь мы войдем в ядро ​​нашего управляющего программного обеспечения и объясним поведение, которое мы хотим запрограммировать внутри робота. В эту структуру можно добавить дополнительные модели поведения, и вы должны попробовать свои собственные идеи после того, как закончите читать! Программное обеспечение для робототехники на основе поведения было предложено более 20 лет назад и до сих пор остается мощным инструментом для мобильной робототехники.Например, в 2007 году набор моделей поведения был использован в DARPA Urban Challenge — первом соревновании по автономному вождению автомобилей!

Робот — это динамическая система. Состояние робота, показания его датчиков и влияние его управляющих сигналов постоянно меняются. Управление ходом событий включает следующие три этапа:

  1. Подайте управляющие сигналы.
  2. Измерьте результаты.
  3. Генерировать новые управляющие сигналы, рассчитанные на то, чтобы приблизить нас к нашей цели.

Эти шаги повторяются снова и снова, пока мы не достигнем нашей цели. Чем больше раз мы сможем сделать это в секунду, тем более точным будет контроль над системой. Робот Sobot Rimulator повторяет эти шаги 20 раз в секунду (20 Гц), но многие роботы должны делать это тысячи или миллионы раз в секунду, чтобы иметь адекватный контроль. Вспомните наше предыдущее введение о разных языках программирования роботов для различных робототехнических систем и требований к скорости.

В общем, каждый раз, когда наш робот выполняет измерения с помощью своих датчиков, он использует эти измерения для обновления своей внутренней оценки состояния мира, например, расстояния от своей цели.Он сравнивает это состояние со значением ссылки того, каким хочет состояние (для расстояния он хочет, чтобы оно было равно нулю), и вычисляет ошибку между желаемым состоянием и фактическим состоянием. Как только эта информация известна, создание новых управляющих сигналов может быть сведено к задаче , минимизируя ошибку , которая в конечном итоге приведет робота к цели.

Изящный трюк: упрощение модели

Чтобы управлять роботом, которого мы хотим запрограммировать, мы должны послать сигнал левому колесу, сообщая ему, с какой скоростью поворачивать, и отдельный сигнал правому колесу, сообщая и , как быстро нужно повернуть.Назовем эти сигналы v L и v R . Однако постоянно мыслить категориями v L и v R очень громоздко. Вместо того, чтобы спрашивать: «С какой скоростью мы хотим, чтобы вращалось левое колесо, и с какой скоростью мы хотим, чтобы вращалось правое колесо?» естественнее спросить: «С какой скоростью мы хотим, чтобы робот двигался вперед, и с какой скоростью мы хотим, чтобы он поворачивался или менял свой курс?» Назовем эти параметры скоростью v и угловой (вращательной) скоростью ω (читать «омега»).Оказывается, мы можем основывать всю нашу модель на v и ω вместо v L и v R , и только после того, как мы определили, как мы хотим, чтобы наш запрограммированный робот двигался, математически преобразовывать Эти два значения в v L и v R нам нужны для фактического управления колесами робота. Это известно как моноцикл , модель управления.

Вот код Python, реализующий окончательное преобразование в супервизоре .py . Обратите внимание, что если ω равно 0, оба колеса будут вращаться с одинаковой скоростью:

  # генерировать и отправлять роботу правильные команды
def _send_robot_commands (сам):
  # ...
  v_l, v_r = self._uni_to_diff (v, омега)
  self.robot.set_wheel_drive_rates (v_l, v_r)

def _uni_to_diff (self, v, omega):
  # v = поступательная скорость (м / с)
  # омега = угловая скорость (рад / с)

  R = self.robot_wheel_radius
  L = self.robot_wheel_base_length

  v_l = ((2.0 * v) - (омега * L)) / (2.0 * R)
  v_r = ((2,0 * v) + (омега * L)) / (2,0 * R)

  вернуть v_l, v_r
  

Оценка состояния: робот, познай себя

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

  • Направление на препятствия
  • Расстояние до препятствий
  • Положение робота
  • Заголовок робота

Первые два свойства определяются показаниями датчика приближения и довольно просты.Функция API read_proximity_sensors () возвращает массив из девяти значений, по одному для каждого датчика. Мы заранее знаем, что седьмое показание, например, соответствует датчику, который указывает на 75 градусов вправо от робота.

Таким образом, если это значение показывает значение, соответствующее расстоянию 0,1 метра, мы знаем, что есть препятствие на расстоянии 0,1 метра, 75 градусов влево. Если препятствий нет, датчик вернет значение максимальной дальности 0,2 метра.Таким образом, если мы прочитаем 0,2 метра на седьмом датчике, мы предположим, что на самом деле препятствий в этом направлении нет.

Из-за того, как работают инфракрасные датчики (измерение инфракрасного отражения), возвращаемые ими числа являются нелинейным преобразованием фактического обнаруженного расстояния. Таким образом, функция Python для определения указанного расстояния должна преобразовывать эти показания в метры. Это делается в supervisor.py следующим образом:

  # обновить расстояния, указанные датчиками приближения
def _update_proximity_sensor_distances (self):
    себя.близости_sensor_distances = [0,02- (журнал (значение чтения / 3960,0)) / 30,0 для
        readval в self.robot.read_proximity_sensors ()]
  

Опять же, у нас есть конкретная модель датчика в этой среде роботов Python, в то время как в реальном мире датчики поставляются с сопутствующим программным обеспечением, которое должно обеспечивать аналогичные функции преобразования нелинейных значений в счетчики.

Определение положения и курса робота (вместе известного как поза в программировании робототехники) несколько сложнее.Наш робот использует одометрию , чтобы оценить свою позу. Вот здесь-то и появляются бегущие строки колес. Измеряя, насколько каждое колесо повернулось с момента последней итерации цикла управления, можно получить хорошую оценку того, как изменилась поза робота, — но только в том случае, если изменение небольшое. .

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

Имея наш текущий программный симулятор, мы можем позволить выполнить расчет одометрии при 20 Гц — той же частоте, что и контроллеры. Но было бы неплохо иметь отдельный поток Python, работающий быстрее, чтобы улавливать более мелкие движения тикеров.

Ниже приведена полная функция одометрии в supervisor.py , которая обновляет оценку позы робота. Обратите внимание, что поза робота состоит из координат x и y и заголовка theta , который измеряется в радианах от положительной оси X.Положительное значение x — на восток, положительное — y — на север. Таким образом, заголовок 0 указывает на то, что робот смотрит прямо на восток. Робот всегда принимает исходную позу (0, 0), 0 .

  # обновить расчетное положение робота, используя показания датчика положения колеса
def _update_odometry (самостоятельно):
  R = self.robot_wheel_radius
  N = плавающее (self.wheel_encoder_ticks_per_revolution)
  
  # считываем значения энкодера колеса
  ticks_left, ticks_right = self.robot.read_wheel_encoders ()
  
  # получить разницу в тиках с последней итерации
  d_ticks_left = ticks_left - self.prev_ticks_left
  d_ticks_right = ticks_right - self.prev_ticks_right
  
  # оценить движения колеса
  d_left_wheel = 2 * pi * R * (d_ticks_left / N)
  d_right_wheel = 2 * pi * R * (d_ticks_right / N)
  d_center = 0,5 * (d_left_wheel + d_right_wheel)
  
  # рассчитываем новую позу
  prev_x, prev_y, prev_theta = self.estimated_pose.scalar_unpack ()
  new_x = prev_x + (d_center * cos (prev_theta))
  new_y = prev_y + (d_center * sin (prev_theta))
  new_theta = prev_theta + ((d_right_wheel - d_left_wheel) / self.robot_wheel_base_length)
  
  # обновить оценку позы с новыми значениями
  self.estimated_pose.scalar_update (new_x, new_y, new_theta)
  
  # сохраняем текущий счетчик тиков для следующей итерации
  self.prev_ticks_left = ticks_left
  self.prev_ticks_right = ticks_right
  

Теперь, когда наш робот может дать точную оценку реального мира, давайте воспользуемся этой информацией для достижения наших целей.

Методы программирования роботов на Python: поведение при достижении цели

Высшая цель существования нашего маленького робота в этом руководстве по программированию — добраться до цели.Так как же заставить колеса повернуться, чтобы добраться туда? Давайте начнем с небольшого упрощения нашего мировоззрения и предположим, что на пути нет препятствий.

Это становится простой задачей и может быть легко запрограммировано на Python. Если мы пойдем вперед, глядя на цель, мы доберемся до нее. Благодаря одометрии мы знаем наши текущие координаты и направление. Мы также знаем координаты цели, потому что они были запрограммированы заранее. Поэтому, используя небольшую линейную алгебру, мы можем определить вектор от нашего местоположения к цели, как в go_to_goal_controller.py :

  # возвращает вектор курса к цели в системе отсчета робота
def calculate_gtg_heading_vector (сам):
  # получаем обратную позу робота
  robot_inv_pos, robot_inv_theta = self.supervisor.estimated_pose (). inverse (). vector_unpack ()
  
  # вычисляем вектор цели в системе отсчета робота
  цель = self.supervisor.goal ()
  goal = linalg.rotate_and_translate_vector (цель, robot_inv_theta, robot_inv_pos)
  
  возвратный гол
  

Обратите внимание, что мы получаем вектор к цели в системе отсчета робота, а НЕ в мировых координатах.Если цель находится на оси X в системе отсчета робота, это означает, что она находится прямо перед роботом. Таким образом, угол этого вектора от оси X — это разница между нашим курсом и тем курсом, которым мы хотим быть. Другими словами, это ошибка между нашим текущим состоянием и тем, каким мы хотим видеть текущее состояние. Поэтому мы хотим, чтобы отрегулировали скорость поворота ω так, чтобы угол между нашим курсом и целью изменился в сторону 0. Мы хотим минимизировать ошибку:

  # вычислить условия ошибки
theta_d = atan2 (сам.gtg_heading_vector [1], self.gtg_heading_vector [0])

# вычислить угловую скорость
omega = self.kP * theta_d
  

self.kP в приведенном выше фрагменте реализации контроллера Python является усилением управления. Это коэффициент, который определяет, насколько быстро мы поворачиваем в соотношении и к тому, насколько далеко от цели, которая стоит перед нами. Если ошибка в нашем заголовке 0 , то скорость поворота тоже 0 . В реальной функции Python внутри файла go_to_goal_controller.py , вы увидите больше аналогичных приростов, поскольку мы использовали ПИД-регулятор вместо простого пропорционального коэффициента.

Теперь, когда у нас есть угловая скорость ω , как нам определить нашу поступательную скорость v ? Хорошее общее эмпирическое правило — это то, которое вы, вероятно, знаете инстинктивно: если мы не делаем поворот, мы можем двигаться вперед на полной скорости, и чем быстрее мы поворачиваем, тем больше нам следует замедляться. Это обычно помогает нам поддерживать стабильность нашей системы и действовать в рамках нашей модели.Таким образом, v является функцией ω . В go_to_goal_controller.py уравнение:

  # вычислить поступательную скорость
# скорость равна v_max, когда omega равно 0,
# быстро падает до нуля как | omega | поднимается
v = self.supervisor.v_max () / (абс (омега) + 1) ** 0,5
  

Предлагается уточнить эту формулу, чтобы учесть, что мы обычно замедляемся, когда приближаемся к цели, чтобы достичь ее с нулевой скоростью. Как бы изменилась эта формула? Он должен каким-то образом включать замену v_max () чем-то, пропорциональным расстоянию.Хорошо, мы почти завершили единственный контур управления. Осталось только преобразовать эти два параметра модели одноколесного велосипеда в дифференциальные скорости колес и послать сигналы на колеса. Вот пример траектории робота под управлением контроллера перехода к цели без препятствий:

Как мы видим, вектор к цели является для нас эффективным ориентиром, на котором основываются наши контрольные вычисления. Это внутреннее представление о том, «куда мы хотим идти». Как мы увидим, единственное существенное различие между поведением к цели и другим поведением состоит в том, что иногда движение к цели — плохая идея, поэтому мы должны вычислить другой опорный вектор.

Методы программирования роботов на Python: поведение без препятствий

Показательный пример — движение к цели, когда в этом направлении есть препятствие. Вместо того чтобы бросаться с головой в препятствия на своем пути, давайте попробуем запрограммировать закон управления, который заставляет робота избегать их.

Чтобы упростить сценарий, давайте теперь полностью забудем о целевой точке и просто сделаем следующую нашу цель: Когда перед нами нет препятствий, двигайтесь вперед. Когда встретите препятствие, отворачивайтесь от него, пока оно не исчезнет перед нами.

Соответственно, когда перед нами нет препятствий, мы хотим, чтобы наш опорный вектор просто указывал вперед. Тогда ω будет нулевым, а v будет максимальной скоростью. Однако, как только мы обнаруживаем препятствие с помощью наших датчиков приближения, мы хотим, чтобы опорный вектор указывал в любом направлении от препятствия. Это заставит ω взлететь вверх, чтобы отклонить нас от препятствия, и заставит v упасть, чтобы убедиться, что мы случайно не натолкнемся на препятствие в процессе.

Изящный способ сгенерировать желаемый опорный вектор — это преобразовать наши девять показаний близости в векторы и получить взвешенную сумму. Когда препятствий не обнаружено, векторы будут симметрично суммироваться, в результате чего будет получен опорный вектор, указывающий прямо вперед по желанию. Но если датчик, скажем, на правой стороне улавливает препятствие, он вносит меньший вектор в сумму, и результатом будет опорный вектор, смещенный влево.

Для обычного робота с другим размещением датчиков можно применить ту же идею, но может потребоваться изменение веса и / или дополнительная осторожность, когда датчики симметричны спереди и сзади робота, поскольку взвешенная сумма может стать нуль.

Вот код, который делает это в escape_obstacles_controller.py :

  # коэффициент усиления датчика (веса)
self.sensor_gains = [1.0+ ((0.4 * абс (p.theta)) / пи)
                      для p в supervisor.proximity_sensor_placements ()]

# ...

# возвращаем вектор уклонения от препятствий в системе отсчета робота
# также возвращает векторы к обнаруженным препятствиям в системе отсчета робота
def calculate_ao_heading_vector (сам):
  # инициализировать вектор
  Препятствие_векторах = [[0.0, 0,0]] * len (self.proximity_sensor_placements)
  ao_heading_vector = [0,0, 0,0]
  
  # получаем расстояния, обозначенные показаниями сенсоров робота
  sensor_distances = self.supervisor.proximity_sensor_distances ()
  
  # вычислить положение обнаруженных препятствий и найти вектор уклонения
  robot_pos, robot_theta = self.supervisor.estimated_pose (). vector_unpack ()
  
  для i в диапазоне (len (sensor_distances)):
    # вычислить положение препятствия
    sensor_pos, sensor_theta = self.близости_sensor_placements [i] .vector_unpack ()
    vector = [sensor_distances [i], 0,0]
    vector = linalg.rotate_and_translate_vector (vector, sensor_theta, sensor_pos)
    Препятствие_вектора [i] = вектор # сохранить векторы препятствия в системе отсчета робота
    
    # накапливаем вектор курса в системе отсчета робота
    ao_heading_vector = linalg.add (ao_heading_vector,
                                 linalg.scale (вектор, self.sensor_gains [i]))
                                 
  вернуть ao_heading_vector, преподобный_вектор
  

Используя полученный в результате ao_heading_vector в качестве эталона для робота, чтобы попытаться сопоставить, вот результаты запуска программного обеспечения робота в симуляции с использованием только контроллера избегания препятствий, полностью игнорируя точку цели.Робот бесцельно подпрыгивает, но никогда не сталкивается с препятствием и даже умудряется перемещаться по очень тесным пространствам:

Методы программирования роботов на Python: гибридные автоматы (конечный автомат поведения)

До сих пор мы описали два поведения — стремление к цели и избегание препятствий — по отдельности. Оба они превосходно выполняют свои функции, но для того, чтобы успешно достичь цели в среде, полной препятствий, нам необходимо объединить их.

Решение, которое мы разработаем, относится к классу машин, который имеет в высшей степени классное обозначение гибридные автоматы .Гибридный автомат запрограммирован с несколькими различными поведениями или режимами, а также с контролирующим конечным автоматом. Конечный автомат контроля переключается из одного режима в другой в дискретные моменты времени (когда цели достигнуты или окружающая среда внезапно изменилась слишком сильно), в то время как каждое поведение использует датчики и колеса для непрерывной реакции на изменения окружающей среды. Решение было названо hybrid , потому что оно развивается как дискретным, так и непрерывным образом.

Наша платформа роботов Python реализует конечный автомат в файле supervisor_state_machine.py .

Имея два наших удобных поведения, простая логика напрашивается сама собой: Если препятствие не обнаружено, используйте поведение перехода к цели. При обнаружении препятствия переключитесь на поведение избегания препятствий до тех пор, пока препятствие не перестанет обнаруживаться.

Однако оказывается, что эта логика вызовет множество проблем. Что эта система будет иметь тенденцию делать, когда сталкивается с препятствием, так это отвернуться от него, а затем, как только она отошла от него, развернуться назад и снова столкнуться с ним.В результате получается бесконечный цикл быстрого переключения, который делает робота бесполезным. В худшем случае робот может переключаться между поведением с помощью на каждой итерации контура управления — состояние, известное как условие Зенона .

Есть несколько решений этой проблемы, и читатели, которые ищут более глубокие знания, должны проверить, например, архитектуру программного обеспечения DAMN.

Для нашего простого смоделированного робота нам нужно более простое решение: еще одно поведение, специализирующееся на задаче обойти вокруг препятствия и достичь другой стороны.

Методы программирования роботов на Python: поведение следования за стеной

Вот идея: когда мы сталкиваемся с препятствием, снимаем показания двух датчиков, которые находятся ближе всего к препятствию, и используем их для оценки поверхности препятствия. Затем просто установите наш опорный вектор параллельно этой поверхности. Продолжайте следовать по этой стене, пока A) препятствие больше не будет между нами и целью, и B) мы не приблизимся к цели, чем были в начале. Тогда мы можем быть уверены, что правильно преодолели препятствие.

Имея ограниченную информацию, мы не можем с уверенностью сказать, будет ли быстрее объехать препятствие слева или справа. Чтобы определиться, мы выбираем направление, которое сразу приблизит нас к цели. Чтобы выяснить, в каком направлении это происходит, нам нужно знать опорные векторы поведения движения к цели и поведения избегания препятствий, а также оба возможных опорных вектора следования за стеной. Вот иллюстрация того, как принимается окончательное решение (в этом случае робот решит пойти налево):

Определение опорных векторов следящей стены оказывается немного сложнее, чем опорных векторов уклонения от препятствий или движения к цели.Взгляните на код Python в follow_wall_controller.py , чтобы увидеть, как это делается.

Дизайн окончательного контроля

Окончательный дизайн управления использует поведение следящей стены почти для всех столкновений с препятствиями. Однако, если робот окажется в узком месте, опасно близко к столкновению, он переключится в режим чистого избегания препятствий, пока не окажется на более безопасном расстоянии, а затем вернется к следящей стене. После успешного преодоления препятствий робот переходит к цели.Вот диаграмма окончательного состояния, которая запрограммирована внутри supervisor_state_machine.py :

Вот робот, успешно перемещающийся в многолюдной среде, используя эту схему управления:

Дополнительная функция конечного автомата, которую вы можете попробовать реализовать, — это способ избежать круговых препятствий, переключившись на достижение цели как можно скорее вместо того, чтобы следовать за границей препятствия до конца (чего не существует для круглых объектов. !)

Твик, твик, твик: проба и ошибка

Схема управления, поставляемая с Sobot Rimulator, очень точно настроена.Потребовалось много часов, чтобы настроить одну маленькую переменную здесь и еще одно уравнение там, чтобы заставить ее работать так, как я был удовлетворен. Программирование робототехники часто связано с большим количеством простых старых проб и ошибок. Роботы очень сложны, и есть несколько способов заставить их вести себя оптимальным образом в среде симулятора роботов … по крайней мере, не намного меньше машинного обучения, но это совсем другая баня червей.

Робототехника часто связана с большим количеством простых старых проб и ошибок.

Я рекомендую вам поиграть с контрольными переменными в Sobot Rimulator, понаблюдать и попытаться интерпретировать результаты. Все изменения следующих элементов оказывают сильное влияние на поведение моделируемого робота:

  • Коэффициент усиления ошибки кПа в каждом контроллере
  • Коэффициент усиления датчика, используемый контроллером объезда препятствий
  • Расчет v как функции ω в каждом контроллере
  • Расстояние от препятствия, используемое контроллером следящей стены
  • Условия переключения, используемые supervisor_state_machine.ру
  • Практически все остальное

При отказе программируемых роботов

Мы проделали большую работу, чтобы добраться до этого момента, и этот робот кажется довольно умным. Тем не менее, если вы запустите Sobot Rimulator на нескольких случайных картах, вскоре вы найдете ту, с которой этот робот не сможет справиться. Иногда он заезжает прямо в крутые повороты и сталкивается. Иногда он просто бесконечно колеблется взад и вперед не с той стороны препятствия. Иногда его законно заключают в тюрьму без возможности достижения цели.После всего нашего тестирования и настройки иногда мы должны прийти к выводу, что модель, с которой мы работаем, просто не подходит для работы, и мы должны изменить дизайн или добавить функциональность.

Во вселенной мобильных роботов «мозг» нашего маленького робота находится на более простом конце спектра. Многие из возникающих сбоев можно было бы преодолеть, добавив в систему более совершенное программное обеспечение. Более продвинутые роботы используют такие методы, как , отображают , чтобы запоминать, где он был, и избегать повторения одних и тех же вещей снова и снова; эвристика , чтобы генерировать приемлемые решения, когда идеального решения не найдено; и машинное обучение , чтобы более точно настроить различные параметры управления, управляющие поведением робота.

Образец того, что будет дальше

Роботы уже так много делают для нас, и только в будущем они будут делать еще больше. Хотя даже базовое программирование робототехники — сложная область изучения, требующая большого терпения, это также увлекательная и очень полезная область.

В этом руководстве мы узнали, как разработать программное обеспечение реактивного управления для робота, используя язык программирования высокого уровня Python. Но есть много более сложных концепций, которые можно быстро изучить и протестировать с помощью фреймворка роботов Python, аналогичного тому, который мы здесь прототипировали.Я надеюсь, что вы подумаете об участии в формировании будущего!


Благодарность: Я хотел бы поблагодарить доктора Магнуса Эгерштедта и Жан-Пьера де ла Круа из Технологического института Джорджии за то, что они научили меня всему этому, и за их энтузиазм по поводу моей работы над Sobot Rimulator.

Как нарисовать робота

Вот три забавных и простых идеи, как нарисовать робота. Все эти простые формы отлично подходят для начинающих художников.

Есть много-много разных способов нарисовать робота, и о них написано множество детских книг.На самом деле, если вам нужно выбрать проект, который начинается с истории, тема роботов — хорошее место для начала.

Что делает их такими идеальными для младших школьников, так это то, что они основаны на очень геометрических формах. Квадратная голова, прямоугольное тело и полукруглые руки — все это знакомые формы, и их лучше всего практиковать в детском или первом классе или около того. Они служат хорошим началом рисунка, их легко украсить. Вы даже можете добавить немного разговоров о пропорциях тела, если хотите, так как руки должны быть достаточно длинными, чтобы касаться ног, и так далее.

Нельзя сказать, что старшие школьники тоже не могут повеселиться. Они могут использовать свое воображение, чтобы рисовать роботов с гораздо большим количеством деталей и, возможно, еще немного подумать о том, как они на самом деле работают. Очень детализированный робот с небольшой штриховкой в ​​нескольких углах может сделать потрясающий рисунок!

Используйте кнопку ниже, чтобы загрузить учебное пособие в формате PDF

Робот-раскраска

Материалы для рисования робота

  • Карандаш .Бренд Ticonderoga — самый надежный, создает красивые темные линии, когда они вам нужны, и их легче всего стереть. Покупка предварительно заточенных инструментов сэкономит занятым учителям много времени.
  • Ластик . Большие, которые вы можете держать в руке, работают намного лучше, чем просто ластики на кончиках карандашей, особенно при стирании остатков карандашных линий после обводки.
  • Черный Маркер Sharpie . Эти перманентные маркеры с тонким концом создают красивые черные контуры, имеют хороший наконечник для окрашивания и никогда не кровоточат при намокании.Используйте их с хорошей вентиляцией и положите под них дополнительную бумагу, чтобы защитить свои столы.
  • Пранг Мелки . Они немного мягче, чем другие мелки, поэтому иногда выглядят как масляные пастели. У них также есть несколько приятных коричневых оттенков, которых нет у Crayola, если вы не купите их большие коробки.
  • Мелки Crayola . Надежный бренд, который всегда хорошо работает. В пакете 24 есть некоторые из моих любимых золотисто-оранжевых и желтых цветов, которые кажутся немного богаче и теплее, чем у Пранга.

Инструкции по рисованию робота


Другой чертеж робота

Другой рисунок робота

Предварительный просмотр пошагового руководства по рисованию роботов


Как нарисовать робота

Вот забавный способ нарисовать блестящего серебряного робота на тускло-черном фоне. Контраст заставляет его действительно сходить со страницы.

Картина робота

Температурная краска «металлик» — один из самых недорогих способов добавить немного шика в творчество вашего ученика.А что может быть лучше, чем что-то металлическое и забавное, например, робот?

Этот урок довольно прост, поэтому учащиеся могут сразу приступить к рисованию. Они в основном делают рисунок перманентным маркером на мультимедийной бумаге и раскрашивают его металлической серебряной краской, которая довольно прозрачна. Фон — черная акварельная краска, имеющая очень матовый оттенок. Контраст тусклого и блестящего действительно выделит робота.

МАТЕРИАЛЫ

Простой робот.Первый шаг к эмпатическим роботам… | Карлос Аргуэта

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

Трехколесный дифференциал рулевого управления. Источник: wikibooks: Файл: Tanklike.png

В этом нет ничего необычного, и многие производители уже построили всевозможные такие роботы.Некоторые компании, большие и маленькие, предлагают готовые комплекты, которые каждый может приобрести и собрать самостоятельно. Поскольку изобретать велосипед не имеет смысла, я продолжил и построил свой собственный на основе другого имеющегося в продаже набора под названием Rosbots. Однако вместо того, чтобы покупать комплект (недоступный в моем районе), я купил аналогичные компоненты и построил робота в соответствии с инструкциями, представленными на сайте Rosbots.

Росботы V2. Источник: Робот-комплект ROS + OpenCV для Makers

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

Версия 1 моей исследовательской платформы. У этого парня еще нет имени.

Тем не менее, это был забавный и приятный опыт. Я действительно многому научился и могу с уверенностью сказать, что я на шаг ближе к тому, чтобы стать робототехником. Я уже упоминал, что это всего лишь тело, а мозг еще пуст? В следующем посте я расскажу о датчиках этого робота и о том, чего я ожидаю с их помощью.

11 простых и недорогих идей робототехнических проектов для детей

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

Практически для всех задач требуются элементарные предметы, хотя вам следует внимательно следить, если у вас есть дети младшего возраста. Вот 11 удивительных роботизированных проектов, которые повысят терпение, креативность и изобретательность ваших детей.

1. Прыгающий робот-лягушка

Познакомьте вашего ребенка с основами инженерного дела с помощью этого простого в реализации и увлекательного проекта. Им потребуются легкодоступные предметы, такие как четыре батарейки АА, двигатель постоянного тока, одна банка для бутылок, один держатель для батареек и палочки для мороженого.

Не требуется навыков программирования, что делает его идеальным для детей, практически не имеющих опыта работы с компьютерами. Однако лучше присматривать за детьми младшего возраста, так как они будут использовать такие инструменты, как ножницы и нож X-Acto, чтобы разрезать банку.Робот прыгает и прыгает, как лягушка, что развлечет молодых мастеров.

2. Автомобиль-робот

С помощью этого проекта позвольте детям понять простую механику их игрушечных машинок. Некоторые необходимые материалы включают две шпажки, твердый пенопласт, две батарейки AAA, соломинки и четыре крышки для бутылок для колес.

Дети могут прикрепить глазки и приспособление для чистки трубок в качестве рта, чтобы придать машине больше жизни. Такие инструменты, как термоклеевой пистолет, ножницы, ножницы и нож X-Acto, могут травмировать детей младшего возраста, поэтому лучше, если они находятся под присмотром взрослых.Результаты невероятные, вселяющие в детей чувство уверенности и выполненного долга.

Связано: Проекты Easy Electronics для начинающих

3. Wobblebot

Этот проект понравится юным энтузиастам роботов. Эта задача не только проста и увлекательна, но и не требует много времени даже для маленьких детей. Им понадобятся две батареи, картон, один держатель для батарей, пять пробок, два глазка и двигатель постоянного тока 1,5–3 В. Существуют различные конструкции воблботов, поэтому вы можете попробовать разные версии со своим ребенком в выходные дни.

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

4. Мини-робот-жучок

Дети могут превратить прищепку в мини-робота за несколько простых шагов. Им понадобятся два светодиода для светящихся глаз, литиевая батарейка типа «таблетка», один вибромотор, провода и скрепки. Все материалы легкодоступны и дешевы, поэтому на один проект вы не потратите много денег.

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

5. Четвероногий шагающий робот

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

Необходимые материалы: двигатель постоянного тока, клей, аккумулятор и держатель аккумулятора. Желательно, чтобы у детей все ноги были одинаковой длины, чтобы обеспечить роботу максимальную устойчивость при передвижении. Этот проект помогает детям понять, помимо других инженерных концепций, контроль движений ног и тела.

Этот проект, вероятно, вдохновил вашего ребенка попробовать другие поделки. Посмотрите эти потрясающие светодиодные проекты, подходящие для начинающих.

6.Propeller Car

Веселый и увлекательный проект винтового автомобиля — это то, что обязательно нужно попробовать детям, которые увлечены автомобилями. Вы можете выбирать между пенопластом, бамбуковыми палками, бальзой, жестким картоном или чем-нибудь легким, но жестким для ускорения без усилий. Кроме того, легкие и маленькие колеса лучше, чем большие, поскольку они позволяют машине быстро двигаться с максимальной скоростью.

Процесс прост, к тому же дети могут раскрасить свои любимые цвета, чтобы придать ему превосходный вид.

7. Двуногий робот

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

Обертывание лишних проводов гарантирует, что робот будет хорошо сбалансирован для быстрого движения. Лучше создать хорошо обозначенную диаграмму, чтобы сделать процесс безболезненным и увлекательным.

8. Роботизированная рука

Проект роботизированной руки — отличный способ для детей узнать о механических процессах. Возьмите прочный картон, соломку, термоклей, крупную нитку, резинку и другие канцелярские принадлежности.

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

9. Brushbot

Дети без опыта могут быстро взломать проект Brushbot, поскольку это занимает менее 20 минут. Необходимые материалы включают один вибрационный двигатель, одну зубную щетку, два проушины (необязательно), двусторонний скотч, одну батарею и очистители труб.

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

10. Wigglebot

Самое лучшее в этом проекте — это то, что все доступно в местных магазинах по приемлемым ценам. Вам понадобятся две батарейки AAA и держатели, одна одноразовая чашка, одна прищепка, двигатель постоянного тока, одна палочка для мороженого и три маркера. Глаза в Google не обязательны, поэтому вы можете позволить детям нарисовать их маркером. Удовольствие, которое дети получают, когда видят ерзающего робота, невероятно.

11. Банк роботов

В рамках этого проекта дети будут делать банк роботов из пластиковых контейнеров и других легкодоступных материалов. Большие контейнеры — отличный выбор, поскольку они дают больше места детям, которые часто экономят деньги.

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

Поддержите обучение вашего ребенка

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

Сделайте свой вклад в экологию с помощью этих 12 простых и увлекательных гаджетов

Хотите повторно использовать свою старую электронику вместо того, чтобы убирать ее в мусорное ведро? Эти проекты по переработке отходов своими руками вдохнут новую жизнь в старые технологии.

Читать далее

Об авторе

Роберт Минкофф
(Опубликовано 43 статей)

Роберт обладает способностями к письменному слову и неутолимой жаждой учиться, которую он искренне прилагает к каждому проекту, которым занимается.Его восьмилетний опыт написания внештатных писателей охватывает широкий диапазон веб-контента, обзоров технических продуктов, сообщений в блогах и SEO. Он находит технологические достижения и проекты «сделай сам» весьма увлекательными. Роберт в настоящее время является писателем в MakeUseOf, где он любит делиться стоящими идеями DIY. Смотреть фильмы — его дело, поэтому он всегда в курсе сериалов netflix.

Более
От Роберта Минкоффа

Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться

Простые инструменты технического зрения для роботов, поддерживающие сложные приложения

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

Традиционные системы технического зрения роботов имеют заслуженную репутацию дорогих и сложных в эксплуатации. Несмотря на очевидные преимущества внедрения концепции в производственные линии, стоимость и сложность, связанные с традиционными системами, по понятным причинам отпугивают многие малые и средние предприятия (СМБ) от внедрения этой полезной технологии.

Новые совместные роботизированные системы технического зрения меняют все это.Коллаборативные роботы (или коботы) — это недорогие промышленные роботы-манипуляторы, которые просты в использовании, быстро развертываются и безопасны для работы в непосредственной близости от людей. В сочетании с новым поколением простых в использовании систем технического зрения для роботов, использующих камеры 2.5D, в результате получается мощная платформа промышленного робота, которую можно использовать в широком спектре приложений на основе технического зрения, от идентификации деталей и проверки до отбора -место и контроль качества.

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

Интуитивно понятные управляющие приложения позволяют устанавливать задачи на основе технического зрения в течение нескольких часов даже пользователям, не имеющим опыта робототехники.Таким образом, приложения на основе видения, которые когда-то были исключительной прерогативой крупных компаний, впервые стали доступны и для малого и среднего бизнеса.

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

Преимущества Robot Vision

Традиционная «слепая» автоматизация требует сложного и дорогостоящего оборудования для выполнения даже самых простых задач по подбору и перемещению.Основная проблема здесь заключается в том, что объекты должны быть представлены вашим роботам каждый раз в одной и той же ориентации и в одном месте, что означает установку дорогостоящих приспособлений и приспособлений — а также оборудования, такого как чашечные питатели, — чтобы ваши роботы точно знали, где нужно разместить предмет. быть выбран расположен. Если вам нужно выбрать и разместить разные объекты в разной ориентации с быстрым временем переналадки при переключении между продуктами, то пора рассмотреть преимущества добавления роботизированного зрения на ваши производственные линии.

Robot Vision исключает затраты, связанные с добавлением нового оборудования и приспособлений. Роботизированное зрение также обеспечивает гибкость ваших операций, позволяя легко переключаться между различными продуктами, что является огромным плюсом для занятых производителей, особенно в сегодняшней требовательной индивидуальной производственной среде.

Однако не все решения технического зрения на основе коботов одинаковы. Существуют различия в технологиях камеры, стоимости и простоте использования, которые могут иметь огромное значение для конечных пользователей.

Выбор камеры

В основе каждой системы технического зрения лежит ее камера, и здесь есть три основных варианта, которые следует учитывать.

2D-камеры — самые дешевые из доступных, но и наименее универсальные. Обычно 2D-камеры определяют длину и ширину (оси X и Y), но не могут определить высоту, что ограничивает количество поддерживаемых ими приложений. С другой стороны, они надежны в этих ограничениях. С помощью некоторой умной математики производительность 2D-камер можно улучшить, но это, как правило, неудобный, трудоемкий и в некоторой степени ненужный процесс, особенно когда доступны более мощные камеры.

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

Система технического зрения Eyes сочетает в себе технологию камеры 2.5D с простотой использования. Глазам нужно сделать только одно изображение для калибровки и распознавания детали. Eyes также предоставляет функции автоматической фокусировки, которые позволяют автоматизировать работу на разных расстояниях в одном приложении. Камеры

2.5D занимают золотую середину между 2D- и 3D-камерами как с точки зрения стоимости, так и возможностей. Камеры 2.5D, способные определять высоту объектов, идеально подходят для сценариев, в которых объекты различаются по высоте и когда их необходимо сложить друг на друга.Менее дорогие, чем их 3D-аналоги, и более функциональные, чем 2D-камеры, 2.5D-камеры идеально подходят для широкого спектра приложений.

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

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

Простые технологии, сложные приложения

Итак, вы нашли правильный 2.Система технического зрения на основе камеры 5D, но сможет ли она справиться с требовательными и сложными приложениями, такими как мобильные развертывания и контроль качества? Здесь важно провести свое исследование, поскольку не все системы на основе камер 2.5D имеют дополнительные программные функции, необходимые для успешного выполнения сложных задач.

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

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

Для мобильных развертываний выберите системы технического зрения, которые поставляются с инструментами автоматической калибровки ориентира.Эти инструменты, разработанные для сокращения времени цикла установки мобильных роботов, позволяют легко развертывать системы технического зрения на мобильных роботах и ​​устанавливать с тележками, лотками и поддонами. Функции Landmark упрощают программирование мобильных роботов для перемещения от станции к станции. Те же функции можно использовать для запуска определенных операций робота; например, когда ваша система технического зрения обнаруживает прибытие мобильной тележки в свое рабочее пространство, загруженное деталями для подбора, она может легко переключиться на процедуру подбора и размещения.

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

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

Эта статья написана Кристианом Хулгардом, генеральным менеджером подразделения OnRobot Americas, Даллас, Техас. Для получения дополнительной информации посетите здесь .


Больше от SAE Media Group

Tech Briefs Magazine

Эта статья впервые появилась в октябрьском выпуске журнала Tech Briefs Magazine за октябрь 2020 года.

Читать статьи в этом выпуске
здесь.

Другие статьи из архивов читайте здесь.

ПОДПИСАТЬСЯ

Как построить простого робота | Сообщество RobotShop

Не пропустите новый, актуальный и подробный How to Build a Robot — Grand Tutorial Series

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

Рама / платформа

  1. Дерево: В зависимости от размера вашего робота, фанера может быть хорошим выбором. Фанера стоит недорого (или бесплатно), и с ней легко работать с помощью простых инструментов. Вы можете получить фанеру 1/4 «и 3/8» в магазинах бытовой техники, товаров для дома, ремесел или других товаров для дома / строительства / товаров для хобби.Вы также должны иметь возможность найти много бесплатной древесины на месте. Например, столярная мастерская может выбрасывать много дерева, которое слишком мало для их использования, но может идеально подходить для сборки корпуса робота.
  2. Алюминий: Этот материал легкий и относительно простой в обработке, его также можно найти в магазинах бытовой техники, товаров для дома, ремесел и хобби. Вы всегда должны быть очень осторожны при работе с алюминием, так как края могут быть очень острыми, и их следует отшлифовать или отпилить, чтобы скруглить их.Чем толще алюминий, тем сложнее его формировать ручными инструментами.
  3. Пластмассы: Акрил или оргстекло просты в обработке, их также можно найти во многих магазинах бытовой техники, товаров для дома, ремесел или хобби. Не следует использовать высокоскоростные инструменты, так как они расплавят пластик. При резке или сверлении используйте низкие скорости.
  4. Переоборудованные материалы: В доме есть много предметов, которые можно превратить в каркас робота. Взять, к примеру, и старый компакт-диск; Их легко найти, большинство людей получают их бесплатно по почте от AOL или Earthlink.Вместо того, чтобы выбрасывать их, вы можете использовать их для изготовления робота. Они могут быть немного хрупкими, поэтому будьте осторожны при резке или сверлении.

Двигатели

  1. Сервоприводы непрерывного вращения: Знаете ли вы, что можно использовать сервоприводы для создания реверсивных мотор-редукторов? В хобби-магазинах обычно продаются сервоприводы нескольких размеров и марок, а также сервоприводы, предназначенные для непрерывного вращения. В RobotShop даже есть микро сервоприводы с непрерывным вращением по цене <5 долларов за штуку! Если вы выберете обычные сервоприводы, вам нужно будет изменить их для использования, в сети есть много сайтов с различными методами.В сервоприводы уже встроены все схемы управления, и ими легко управлять; у них есть 3 провода, которые представляют сигнал, напряжение и землю. Пульсируя сигнальную линию, вы можете двигаться вперед, останавливаться или назад. Сервоприводы, вероятно, самый простой и дешевый способ сделать силовую установку, но, возможно, не лучший для вас.
  2. Редукторные двигатели: Их можно приобрести в дополнительных магазинах или магазинах для хобби, а также их можно приобрести в Интернете в таких магазинах, как RobotShop. Мотор-редукторы потребуют дополнительной схемы управления (обычно H-образного моста), чтобы обеспечить прямое и обратное движение и, в некоторых случаях, торможение.Мотор-редукторы могут обеспечить большую гибкость, но обычно стоят дороже по сравнению с сервоприводами. Еще один источник мотор-редукторов — это отдел игрушек в вашем местном универмаге. Вам нужны игрушки с радиоуправлением, которые имеют «дифференциальное рулевое управление», что означает, что у них есть отдельный двигатель для каждой стороны (как у танка). Чтобы повернуть налево, двигатель справа получает сигнал двигаться вперед, а левый двигатель выключен. Вы бы сделали обратное, чтобы повернуть направо. Действительно хорошие автомобили повернут направо, двигаясь назад на правом моторе и вперед на левом, что позволит транспортному средству почти повернуть на копейку.Если вы используете мотор-редукторы, вам нужно будет разработать способ установки колес. В качестве примера я буду использовать мотор-редукторы из игрушки.

Колеса

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

Мощность

Батарейки: Вам нужно будет решить, какой тип батарей использовать. Замена неперезаряжаемых батарей может быстро стать очень дорогой. Перезаряжаемые батареи действительно лучшие, и два наиболее распространенных — NiMh и LiPo, хотя есть несколько разных типов на выбор.Магазины электроники или хобби — хорошие места для поиска. Вам потребуются не только аккумуляторы, но и соответствующее зарядное устройство для их зарядки.

Источник питания: Нам понадобится регулятор напряжения, чтобы снизить напряжение с батареи до 5 вольт, необходимых для микроконтроллера и других частей мозга робота. Я расскажу об использовании двух разных регуляторов напряжения; оба доступны БЕСПЛАТНО в National Semiconductor в качестве образцов. У каждой части есть свои плюсы и минусы:

LM2825 Интегрированный источник питания 1A DC-DC Converter — это полноценный импульсный источник питания на 24-контактном DIP-корпусе, хотя он немного велик, не требует других компонентов и имеет КПД 80%.На входе требуется не менее 7 вольт, но ваши батареи прослужат намного дольше, чем с линейным регулятором.

LM2940 1A Регулятор с малым падением напряжения — это линейный стабилизатор в корпусе TO 220, для которого требуется пара конденсаторов фильтра, он не так эффективен, как LM2825, но большой плюс — ему требуется только входное напряжение 5,5 вольт, чтобы выдать регулируемые 5 вольт на выходе.

«Мозг» (он же «Микроконтроллер»)

Что касается мозга, давайте посмотрим на три разных микроконтроллера. Признаюсь, я предвзято отношусь к продуктам Basic Micro, так как уже довольно давно использую их и всегда был очень доволен продуктами и поддержкой. Atom : Atom от Basic Micro в основном совместим с Basic Stamp, но намного лучше, просто чтобы назвать несколько вещей, которые устанавливают его выше Basic Stamp:

  • 8k программного пространства
  • IDE для программирования
  • ICD для внутрисхемной отладки позволяет наблюдать за выполнением программы
  • Вычисления с плавающей запятой 32×32 бита позволяют выполнять реальные вычисления. Если вы этого не сделаете, это 5/2 = 2 для базовой марки, но для Atom 5/2 = 2,5
  • Прерывания

  • (до 14 источников) позволяют Atom остановиться там, где он находится в программе, и перейти к другой части программы, а по завершении вернуться туда, откуда он пришел, на основе события, внутреннего или внешнего.
  • Аналого-цифровой преобразователь 4 10-битный аналого-цифровой преобразователь.

Вы также можете купить 28-контактный преобразователь Atom28 и установить его на макетной плате без пайки. Basic Stamp от Parrallax — старая рабочая лошадка списка с хорошо налаженной базой пользователей и ресурсов. Их образовательные ресурсы выдающиеся, и ничто другое не сравнится с ними, у них есть учебники по робототехнике, измерениям Земли, промышленному контролю и многому другому.

PIC16F876: Программируется с помощью компилятора Mbasic, также начиная с версии Basic Micro 5.0 в основном синтаксис совместим с Atom, большая часть различий заключается в обозначении контактов с Mbasic, вы можете использовать любой из множества PIC Micro. Я предоставлю шестнадцатеричный файл программы, чтобы те, кто не хочет сейчас покупать компилятор, все еще могли собрать робота. У меня будут микросхемы PIC16F876, запрограммированные с помощью загрузчика, доступные для тех, у кого нет возможности программировать картинки. Вы можете загрузить программное обеспечение ISP-PRO Programmer V4.0.4.1 от Basic Micro, чтобы запрограммировать микросхемы с помощью загрузчика.Если вы приобретете ISP-PRO, вы сможете бесплатно изготавливать все чипы загрузчика, какие захотите.

Arduino : Самый «новый» соперник на рынке — Arduino; это открытый исходный код, и существует МНОГО разных версий. Он стал бешено популярным в сообществе робототехники и кажется невероятно универсальным. Если вы только начинаете, лучше подумать о полной плате, чем переделывать схему самостоятельно (хотя такой подход сэкономит немало денег).

Любой из вышеперечисленных микроконтроллеров — хороший выбор, так какой же выбрать? Мне лично нравится Atom, и я думаю, что он превосходит Basic Stamp.Ниже приведены цены как на модуль, так и на комплект разработчика с модулем для каждого из них. Хотя вам не нужно покупать комплект разработчика, он значительно упростит проект и действительно стоит потраченных денег не зря.
Стоимость микроконтроллера :
Базовый модуль Micro Atom $ 59,95
Атом Комбо $ 129,95
Модуль Parallax BASIC Stamp 2 $ 49.00
Стартовый комплект BS2 с советом по образованию $ 159,00
Arduino Uno 30 долларов

Вы также можете просто купить модуль и макетную плату без пайки или кусок перфорированной платы для сборки вместо платы разработки и сэкономить немного денег.Третий вариант — купить компилятор Basic; Я буду использовать 2840 Combo от Basic Micro с компилятором Pro. Эта отладочная плата позволяет использовать PIC с 28 или 40 контактами. Я буду использовать бета-версию компилятора Mbasic 5.0, которая все еще находится в стадии бета-тестирования, текущая версия — 4.0.3, но 5.0 должна быть доступна к тому времени, когда мы начнем программировать, и обновления будут бесплатными.

Ниже приведены некоторые вещи, которые делают компилятор Atom или Mbasic отличным выбором: скорость, базовые прерывания и аппаратная широтно-импульсная модуляция.Скорость очевидна; у вас никогда не может быть слишком большой скорости обработки. Второе, базовые прерывания, мы будем использовать, подключив усы, чтобы они генерировали прерывание, если что-то ударилось, и программа перейдет к подпрограмме, которая определит правильный образ действий. После того, как он завершит это корректирующее действие, он продолжит программу с того места, где она остановилась, когда было сгенерировано прерывание.

Третий вариант, аппаратная широтно-импульсная модуляция (HPWM), действительно проявит себя, если вы будете использовать мотор-редукторы вместо сервоприводов.С помощью Basic Stamp мы просто сможем включать двигатели на одной скорости, потому что у нас есть другие дела. Мы не сможем делать переменную скорость. У Atom или PIC16F876 есть два канала аппаратной широтно-импульсной модуляции (PWM), что означает, что мы можем установить ширину импульса, и она будет продолжаться до тех пор, пока мы не изменим или не остановим ее, что даст нам переменную скорость.

Для мотор-редукторов мы можем использовать ту же команду HPWM на Atom, чтобы получить переменную скорость. В базовом штампе есть команда ШИМ, но это делается с помощью программного обеспечения, и пока он делает это, штамп не может делать ничего другого, поэтому он не очень удобен для пользователя, когда дело доходит до управления двигателем с переменной скоростью, потому что мы не получим плавного движения.В этом случае все, что мы можем сделать, это включить двигатель на полную скорость.

Датчики

Мы будем использовать инфракрасные датчики предотвращения препятствий и ударов. Мы будем использовать PNA4612M, он прост в использовании и недорого, вы можете заменить инфракрасный модуль обнаружения от Radio Shack. Итак, что вам понадобится для завершения робота, как описано в этой серии статей? Материала для основы будет более чем достаточно кусок материала размером 8х8 дюймов.

Двигатели :

Для начала вам понадобится 2 мотора; либо сервоприводы, модифицированные для непрерывного вращения, либо мотор-редукторы.Вы также можете взломать игрушку, у которой есть моторы, колеса или даже ноги.

Это игрушка под названием «Боевой скарабей», которая является хорошим кандидатом для взлома, если вы хотите что-то с ногами вместо колес.

Вкратце, вам понадобятся:

  • 2 мотора + 2 колеса
  • Батареи и держатель (вы должны учитывать от 6 до 12 вольт в зависимости от того, какие двигатели и регулятор вы используете. Сервоприводы будут работать лучше всего при 6 вольтах).
  • Регулятор напряжения LM2825 или LM2940
  • Микроконтроллер, такой как ATOM, Basic Stamp, Arduino или PIC
  • Модуль инфракрасного обнаружения (вам понадобится один или несколько, мы рассмотрим их позже)
  • Вам понадобится макетная плата или макетная плата без пайки.
  • Если вы используете мотор-редукторы, вам также понадобится контроллер мотора: либо мост L293DNE Dual H с диодами, либо два полнопроходных ШИМ-драйвера 3952, которые можно приобрести у Alegro в качестве образцов.

Ссылки на бесплатные образцы :

  • http://www.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *