-
Описание
-
Отзывы (0)
Описание
футболист Lego EV3 инструкция по сборке
Отзывы
Отзывов пока нет.
Будьте первым, кто оставил отзыв на “футболист Lego EV3 инструкция по сборке”
Ваш адрес email не будет опубликован.
Ваша оценка *
Ваш отзыв *
Имя *
Email *
Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.
Создание робота футболиста EV3 — увлекательная задача, которая позволяет объединить знания в области робототехники, программирования и игровой механики. С помощью наборов LEGO Mindstorms EV3 вы можете создать своего собственного робота, способного играть в футбол с вами или другими роботами!
Эта пошаговая инструкция поможет вам создать робота футболиста EV3 без особых затрат и с минимальным количеством необходимых материалов. Вам понадобятся набор LEGO Mindstorms EV3, компьютер с установленным LEGO Mindstorms EV3 Software и немного креативности!
В ходе этой инструкции вы узнаете, как собрать основную конструкцию робота с помощью деталей LEGO, как подключить его к компьютеру и правильно настроить программу, чтобы ваш робот мог управлять мячом и забивать голы. Продолжайте читать и начинайте создавать своего собственного робота футболиста EV3 уже сегодня!
Содержание
- Создание робота футболиста EV3
- Сборка конструктора Lego Mindstorms EV3
- Программирование робота футболиста EV3
- Установка программного обеспечения
Создание робота футболиста EV3
Создание робота футболиста EV3 может быть увлекательной и интересной задачей. В этом разделе мы рассмотрим пошаговую инструкцию о том, как сделать своего собственного робота футболиста с использованием EV3.
Шаг 1: Соберите основу робота. Для этого вам понадобятся LEGO Mindstorms EV3 набор и инструкции к нему. Следуйте инструкциям для сборки основы робота, которая включает в себя корпус, колеса и двигатели.
Шаг 2: Подключите EV3 Smart Brick к основе робота. Убедитесь, что все соединения крепкие и надежные.
Шаг 3: Добавьте датчики. Робот-футболист будет использовать датчики для определения положения мяча и других объектов на поле. Приложите и настройте соответствующие датчики на роботе, следуя инструкциям в наборе.
Шаг 4: Программируйте робота. Используя ПО LEGO Mindstorms EV3, создайте программу для управления роботом. Включите команды для определения местоположения мяча и перемещения робота к нему, а также для забивания головы.
Шаг 5: Настройте и отладьте программу. Соедините робота с компьютером и перенесите программу на Smart Brick. Проверьте работу робота, проведя его на поле и проверив его способность определять мяч и принимать решения.
Шаг 6: Усовершенствуйте своего робота. Продолжайте экспериментировать с программой и роботом, чтобы улучшить его способность играть в футбол. Вы можете изменять алгоритмы, добавлять новые функции и экспериментировать с механикой для достижения лучших результатов.
Теперь у вас есть пошаговая инструкция о том, как создать робота футболиста EV3. Постарайтесь быть творческими и внести свои уникальные изменения в проект, чтобы сделать его еще увлекательнее!
Сборка конструктора Lego Mindstorms EV3
Сборка робота футболиста EV3 начинается с распаковки и сортировки всех деталей по типу и функциональному назначению. Убедитесь, что вам доступны все необходимые компоненты перед началом сборки.
1. Начните с сборки основы робота, также известной как база. Поместите двигатели на специально предназначенные места и закрепите их с помощью соответствующих крепежных элементов.
2. После того, как основа собрана, приступите к установке датчиков на робота. Обычно для роботов-футболистов используются ультразвуковые датчики, которые помогают роботу определить расстояние до препятствий. Установите датчики на нужной высоте и закрепите их в соответствующих отверстиях на базе робота.
3. Приступите к установке колес и передач на робота. Убедитесь, что колеса правильно смонтированы и свободно вращаются. Затем присоедините передачи к двигателям и проверьте, что они работают без проблем.
4. Далее, соедините и запрограммируйте мозг робота EV3. Мозг — это центральный блок управления роботом, который принимает команды и передает их на двигатели и датчики. Подключите мозг к базе робота и проверьте его работоспособность.
5. После того, как ваш робот собран и проведены все необходимые проверки, приступите к программированию его поведения на языке программирования, поддерживаемом EV3. Создайте программу, которая будет управлять движением робота, его реакцией на препятствия и его игровой тактикой.
6. В завершение, протестируйте вашего робота на игровом поле и внесите необходимые корректировки в его программу и механизмы, чтобы достичь наилучших результатов на поле.
Собрав робота футболиста EV3 и правильно его программировав, вы сможете создать уникального и интересного соперника или партнера для игры в футбол!
Программирование робота футболиста EV3
Для того чтобы робот футболист EV3 мог играть в футбол, необходимо написать соответствующую программу. У робота EV3 есть специальное программное обеспечение, которое позволяет его программировать.
Программирование робота EV3 включает в себя создание блок-схемы действий, которые должен выполнять робот во время игры в футбол. Эти действия включают передвижение, подачу мяча, защиту ворот и т.д.
Для программирования робота на EV3 необходимо использовать специальное программное обеспечение, например, LEGO MINDSTORMS EV3 Software. С помощью этого программного обеспечения можно создавать программы визуально, перетаскивая и соединяя блоки с различными действиями.
Программируя робота футболиста EV3, нужно учесть его аппаратные возможности, такие как двигатели и сенсоры. Например, можно использовать двигатели для передвижения робота по полю, а сенсоры для определения положения мяча и других объектов.
Для реализации логики игры можно использовать условия и циклы. Например, можно написать условие, при котором робот будет бить мяч, если он находится вблизи ворот противника. Или можно обрабатывать события, например, прослушивать сигналы от сенсоров и реагировать на них соответствующим образом.
После написания программы, ее необходимо загрузить на робота EV3 и запустить. Робот начнет выполнять инструкции, заданные в программе, и сможет сыграть в футбол.
Программирование робота футболиста EV3 является увлекательным и интересным процессом. Это позволяет развить навыки программирования, а также попрактиковаться в решении логических задач. Кроме того, программирование робота футболиста EV3 может стимулировать учеников к активной физической активности и развитию командной работы.
Установка программного обеспечения
Перед тем, как приступить к созданию робота-футболиста EV3, необходимо установить несколько программных компонентов. Вот пошаговая инструкция по установке необходимого программного обеспечения:
| Шаг 1: | Скачайте и установите LEGO MINDSTORMS EV3 Home Edition. Вы можете найти официальный сайт Lego, где доступна эта программа, и следовать инструкциям для его установки. |
| Шаг 2: | Подключите ваш робот EV3 к компьютеру с помощью USB-кабеля и включите его. |
| Шаг 3: | Запустите LEGO MINDSTORMS EV3 Home Edition и выберите опцию «Создать новый проект». |
| Шаг 4: | Выберите тип модели вашего робота. Если вы создаете футбольного робота EV3, выберите модель «Гуманоид». |
| Шаг 5: | Следуйте инструкциям по настройке модели вашего робота EV3. Это включает в себя установку сервоприводов, соединение датчиков и так далее. |
| Шаг 6: | После настройки модели, вы можете приступить к программированию робота с помощью блок-схем программирования, доступных в LEGO MINDSTORMS EV3 Home Edition. |
После завершения установки программного обеспечения вы будете готовы к созданию и программированию вашего робота-футболиста EV3. Приятного творчества!
Проектная деятельность
Войти
TLNaibov
инструкция по сборке робота-футболиста
https://education.lego.com/ru-ru/support/mindstorms-ev3/building-instruc…
Источник информации относится к проекту:
Робофутбол
- Войдите, чтобы оставлять комментарии
107061, Москва, ул 2-Пугачевская, 6А
+7 (495) 963-76-77
Обратная связь
-
Описание
-
Отзывы (0)
Описание
футболист Lego EV3 инструкция по сборке
Будьте первым, кто оставил отзыв на “футболист Lego EV3 инструкция по сборке”
Ваш адрес email не будет опубликован.
Ваша оценка *
Ваш отзыв *
Имя *
Email *
Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев.
Давненько не было вестей от нашей команды. Вы думаете что мы забросили роботов? Не дождетесь!) С середины января находимся в режиме планомерной подготовки к ВРО, снова готовимся к футболу роботов. В этом году алгоритмы машин снова переписаны заново и во многом не повторяют логику работы наших футболистов предыдущих поколений.
Учебный процесс тоже не стоял на месте, в нашей копилке теперь вот такой крупнокалиберный арсенал: «Введение в программирование (C++)» от Академии Яндекса, «Программирование на Python», «Python: основы и применение», «Введение в Linux» от Института биоинформатики, «Введение в архитектуру ЭВМ. Элементы операционных систем» от Computer Science Center.
При подготовке к соревнованиям по футболу роботов не всегда есть с кем поиграть. Часто бывает так, что оборудования для еще одной команды не хватает или те, кто смог бы с вами сыграть, в этот раз никак не могут поучаствовать. В такой ситуации нас выручают управляемые роботы-оппоненты.
Поиграть против своей автономной команды очень интересно и полезно:
- Зная слабые места своих автономных роботов можно создавать на поле такие игровые ситуации, в которых они проявятся. Это важно для отладки алгоритмов и конструкций.
- Управляя роботом ты моделируешь в голове работу некого алгоритма, который затем может быть перенесен в программу автономного игрока
- Это реальный драйв — ты играешь в игру не на экране, а в реальном мире, с полноценной физикой и красивыми текстурами. Обзор 360 градусов и высокое разрешение!
Так как мы находимся в процессе изучения языка Python, то интересной учебной задачей стала реализация такого управляемого робота-оппонента на базе ev3dev. Можно конечно «не заморачиваться» и использовать смартфон и написанное кем-то приложение, но это не наш путь. На борту у EV3 есть Bluetooth, у китайцев на Aliexpress — дешевые блютузные джойстики — почему бы не поуправлять роботом с реальных кнопок и стика? Используя стандартное ПО LEGO EV3 такую связку заставить работать невозможно, ev3dev открывает перед нами такую возможность.
Для начала сам робот. Традиционно подготовили инструкцию по сборке в Lego Digital Designer, скачать можно по ссылке. В конструкции умышленно не использовали механизм удара по мячу, чтобы у начинающих не было соблазна собрать на базе этой инструкции автономного робота.
Чтобы джойстик заработал с EV3, необходимо «спарить» устройства привычным образом, после чего в /dev/input должен появиться новый девайс:
robot@ev3dev:~$ ls /dev/input
by-path event0 event1 event2
Кроме Bluetooth-джойстика можно использовать беспроводной USB-джойстик, воткнув его USB-приемник в соответствующий порт на роботе. Беспроводная клавиатура с интерфейсом USB или Bluetooth тоже подойдет. Технически роботом можно управлять используя даже беспроводную мышку, но это вероятно не особенно удобно. Главное условие — после подключения устройства оно должно появляться в устройствах ввода, в /dev/input
Для получения данных с HID-устройств мы использовали стандартный модуль Python evdev. Ничего доустанавливать в ev3dev не требуется.
Нашу программу для робота можно скачать по ссылке. Основная фишка управления по сравнению со «смартфонным» — реализация плавного разгона и торможения, что обеспечивает комфортное управление. Выглядит программа следующим образом:
#!/usr/bin/env python3
# Подключаем модуль для управления EV3
from ev3dev.ev3 import *
# Подключаем модуль для чтения данных с HID-устройств
import evdev
# Создаем объект device, измените на ваш /dev/input/event2
device = evdev.InputDevice(‘/dev/input/event2’)
StatusGo = 0
StatusLR = 0
# Целевая скорость, робот наберет ее когда разгонится
speed = 100
# Реальная скорость, с нее робот стартует
real_speedB = 0
real_speedC = 0
speedB = 0
speedC = 0
# Признак зарершения программы (нажат акнопка Start на джойстике)
STOP = False
# Создаем объекты — моторы B и C
B = LargeMotor(‘outB’)
C = LargeMotor(‘outC’)
# Цикл пока не нажата кнопка Start на джойстике
while not STOP:
# Читаем список событий с джойстика
gen = device.read()
try:
# Для всех событий в списке
for event in gen:
# Выделяем те, которые возникли при нажатиях кнопок
if event.type == evdev.ecodes.EV_KEY:
# преобразуем такие события в строку myStr
myStr = str(event)
# если отпущена кнопка «Влево»
if myStr.find(«code 168, type 01, val 00») >= 0:
StatusLR = 0
# если нажата кнопка «Влево»
if myStr.find(«code 168, type 01, val 01») >= 0:
StatusLR = -1
# если удерживается кнопка «Влево»
if myStr.find(«code 168, type 01, val 02») >= 0:
StatusLR = -2
# если отпущена кнопка «Вправо»
if myStr.find(«code 208, type 01, val 00») >= 0:
StatusLR = 0
# если нажата кнопка «Вправо»
if myStr.find(«code 208, type 01, val 01») >= 0:
StatusLR = 1
# если удерживается кнопка «Вправо»
if myStr.find(«code 208, type 01, val 02») >= 0:
StatusLR = 2
# если отпущена кнопка «Вперед»
if myStr.find(«code 172, type 01, val 00») >= 0:
StatusGo = 0
# если нажата кнопка «Вперед»
if myStr.find(«code 172, type 01, val 01») >= 0:
StatusGo = speed*0.75
# если удерживается кнопка «Вперед»
if myStr.find(«code 172, type 01, val 02») >= 0:
StatusGo = speed
# если отпущена кнопка «Назад»
if myStr.find(«code 114, type 01, val 00») >= 0:
StatusGo = 0
# если нажата кнопка «Назад»
if myStr.find(«code 114, type 01, val 01») >= 0:
StatusGo = -1*(speed * 0.75)
# если удерживается кнопка «Назад»
if myStr.find(«code 114, type 01, val 02») >= 0:
#print («GO BREAK»)
StatusGo = -1*speed
# если нажата кнопка «Start»
if myStr.find(«code 164, type 01, val 02») >= 0:
print («BREAK! STOP PROGRAMM»)
STOP = True
# Кнопка — среднее значение скорости
if myStr.find(«code 164, type 01, val 01») >= 0:
speed = 75
# Кнопка нажата — уменьшить скорость
if myStr.find(«code 115, type 01, val 01») >= 0:
speed = speed — 5
if(speed < 5):
speed = 5
# Кнопка удерживается — уменьшить скорость
if myStr.find(«code 115, type 01, val 02») >= 0:
speed = speed — 1
if(speed < 5):
speed = 5
# Кнопка нажата — увеличить скорость
if myStr.find(«code 113, type 01, val 01») >= 0:
speed = speed + 5
if(speed > 100):
speed = 100
# Кнопка удерживается — увеличить скорость
if myStr.find(«code 113, type 01, val 02») >= 0:
speed = speed + 1
if(speed > 100):
speed = 100
except IOError:
pass
# перебрасываем статусы нажатий в мощности моторов
speedB = StatusGo
speedC = StatusGo
# Поворот влево
if(StatusLR < 0):
speedB = speedB-(25*abs(StatusLR))
speedC = speedC+(25*abs(StatusLR))
# поворот вправо
if(StatusLR > 0):
speedC = speedC-(25*StatusLR)
speedB = speedB+(25*StatusLR)
# ограничение скорости
if(speedB > 100):
speedB = 100
if(speedC > 100):
speedC = 100
if(speedB < -100):
speedB = -100
if(speedC < -100):
speedC = -100
# плавный разгон и торможение
if(abs(speedB) > 5 and abs(speedC) > 5):
real_speedB = real_speedB*0.95 + speedB*0.05
real_speedC = real_speedC*0.95 + speedC*0.05
if(speedB == 0 and speedC == 0):
real_speedB = real_speedB*0.95
real_speedC = real_speedC*0.95
if(speedB == 0 and abs(real_speedB) < 5):
real_speedB = 0
if(speedC == 0 and abs(real_speedC) < 5):
real_speedC = 0
# подаем рассчитанные мощности на моторы
B.run_forever(speed_sp=real_speedB*9)
C.run_forever(speed_sp=real_speedC*9)
# останавливаем моторы после вылета из цикла
B.stop(stop_action=»hold»)
C.stop(stop_action=»hold»)
# сигнал завершения программы
Sound.beep()
Проектная деятельность
26 дек 2018 2:38
TLNaibov
инструкция по сборке робота-футболиста
https://education.lego.com/ru-ru/support/mindstorms-ev3/building-instruc…
Источник информации относится к проекту:
Робофутбол
- Войдите, чтобы оставлять комментарии
107061, Москва, ул 2-Пугачевская, 6А
+7 (495) 963-76-77
Обратная связь
Инструкции по сборке роботов Lego Курс по программированию Ev3
1 Инструкция по сборке робота ev3 для движения по черной линии
2 Инструкция по сборке робота ev 3 для кегельринга
3 Инструкция по сборке полноприводного робота ev3 сумо
4 Инструкция по сборке мощного робота сумо ev3
5 Инструкция по сборке гусеничного робота танка ev3
6 Инструкция по сборке маневренного широкого танка ev3
7 Инструкция по сборке захвата ev3
8 Инструкция по сборке шагающего робота ev3
9 Схемы крепления датчика расстояния к роботу ev3
10 Схемы крепления датчика цвета к роботу ev3
Схемы роботов лего роботов nxt
1 Инструкция по сборке шагающего nxt робота
2 Инструкция по сборке nxt сумоиста
Поделиться
Автор работы:
Семенов Ярослав, Варварюк Анна, Володченко Полина
Учреждение:
МОУ Удельнинская гимназия
Готовая исследовательская работа по робототехнике «Робот-футболист» является продуктом поставленной перед учащимися 10 и 11 класса школы цели, создать автономных роботов-футболистов для содействия научным исследованиям в области искусственного интеллекта.
Подробнее о работе:
Проект по созданию робота при помощи конструктора LegoMindstorm, выполняющего функции футболиста, актуален, потому что представленный авторами робот в скором времени окажется способен заменить человека на футбольном поле, а вместе с тем открыть новые возможности для развития спортивной отрасли, сделав игру еще более зрелищной и увлекательной.
Предложенная автором индивидуальная исследовательская работа по робототехнике на тему «Робот-футболист» будет интересна ученикам 9, 10 и 11 класса школы, интересующимся конструированием и проектированием. В проекте описаны этапы создания конструкции робота, составлена программа для робота и определены дополнительные возможности конструкции.
Оглавление
Введение
1. Инженерные и программные решения.
2. Этапы создания проекта «Робот-футболист».
Выводы и заключения
Литература
Приложение
Введение
Робототехника стремительно входит в нашу жизнь, хотя совсем недавно роботы казались человеку фантастикой. Сегодня машины занимают особое место в разных областях нашего быта. Компьютеры, автомобили, кухонная техника — каждый день мы видим роботов, взаимодействуем с ними. Промышленные, военные, похожие на человека и животных, абсолютно уникальные — все они помогают людям.
RoboCup — международные соревнования среди роботов, первые из которых прошли в 1996 году.
Целью является создание автономных роботов-футболистов для содействия научным исследованиям в области искусственного интеллекта. Название RoboCup — сокращение от полного названия соревнования, англ. «RobotSoccerWorldCup» (Чемпионат по футболу среди роботов).
Официальная цель проекта: к середине 21-го века команда полностью автономных человекоподобных роботов-футболистов должна выиграть футбольный матч, соблюдая правила FIFA.
Пришли роботы и в школу, открывая для учеников возможности, которыми мы решили воспользоваться. Исследуя конструктор «LegoMindstorm», мы сумели создать своего собственного робота, имя которому дали «Футболист».
Роботы заменяют человека во многих отраслях нашей жизни. Машины присутствуют на заводах, на добывающих предприятиях, в транспортном обслуживании и скоро займут собственную нишу в спортивной сфере.
В России сформированы две высокотехнологичных команды человекоподобных роботов-футболистов, они будут выступать на международных соревнованиях. Движение робофутбола развито во всем мире, однако в нашей стране о нем мало что известно. Робот «Футболист» является уменьшенной копией игрока футбольной команды будущего.
Актуальность проекта состоит в том, что представленный нами робот в скором времени окажется способен заменить человека на футбольном поле, а вместе с тем открыть новые возможности для развития спортивной отрасли, сделав игру еще более зрелищной и увлекательной.
Цель проекта: создание робота, моделирующего игрока футбольной команды.
Задачи проекта:
- Создать конструкцию робота.
- Составить программу для робота.
- Определить дополнительные возможности конструкции.
Инженерные и программные решения
«Футболист» был создан на основе датского конструктора LegoMindstorm, который представляет из себя набор сопрягаемых деталей и электронных блоков для создания программируемого робота. Используемая нами модель — LEGO Mindstorms EV3, выпущенная в 2013 году, является одним из новейших конструкторов данной серии.
Основную роль в роботе играет контроллер, который принимает и обрабатывает информацию, поступающую из программы. К контроллеру через шестиканальный провод присоединяются остальные составляющие робота: три двигателя-сервопривода, два из которых служат для передвижения по полю и один для осуществления удара по мячу.
Для управления роботом используется телефон или планшет, имеющий функцию Bluetoothи установленное приложение RemoteEV3. Программа отправляется на контроллер робота через USB-кабель.
Для программирования мы выбрали приложение LegoMindstorm EV3, так как оно отлично адаптировано для роботов из конструктора LegoMindstorm.
Уровень сложности проекта:
- Конструирование — средний.
- Программирование — средний.
- Этапы создания проекта «Робот-футболист»
Подготовительный этап
- выбор темы проекта
- определение актуальности проекта
- определение необходимого объёма знаний для осуществления проекта
- составление плана работы по реализации проекта.
Конструкторский этап
- выбор оптимального варианта выполнения проекта;
- сбор робота по собственной схеме;
- доработка конструкции, предложенной в комплекте;
- изучение возможностей робота и среды программирования.
Технологический этап
Выполнение проекта:
- внесение изменений в основную микросхему
- программирование:
Заключительный этап
Окончательное воссоздание моделиробота «Футболиста», который может выполнять функции игрока футбольной команды.
Выводы и перспективы
Даже сложные проекты, постаравшись, может воплотить в жизнь любой человек, будь то ребенок или взрослый. Занятие робототехникой помогает нам развить логику и моторику, а также познакомиться с основными принципами программирования и сборки.
В будущем мы сможем создать еще более сложного и современного робота, который будет отличаться своей многофункциональностью и многозадачностью.
Литература
- Интернет.
- «Первый шаг в робототехнике» Д. Т. Колосов М: БИНОМ, Лаборатория знаний, 2012.
- Мирошина Т.Ф, Соловьева Л.Е, Могилёва А.Ю, Перфильева Л.П. Образовательная робототехника в начальной школе / Челябинск: Взгляд, 2011. — 152 с.
Приложение.Образовательная практика

Если страница Вам понравилась, поделитесь в социальных сетях:
На этой странице собраны инструкции по сборке роботов или механизмов из стартового образовательного набора LEGO MINDSTORMS Education EV3 (45544)
. Кроме инструкций вы найдёте здесь видео, показывающие возможности собранных моделей, и демонстрационные программы. Для некоторых моделей даны рекомендации, с помощью каких приложений можно дистанционно управлять роботами и как настраивать эти приложения.
Робот с большими картонными колёсами
Если вы горите желанием сделать робота с большими колёсами из образовательного набора LEGO Mindstorms EV3 (45544), но у вас нет таких колёс, не расстраивайтесь. Вы можете изготовить их самостоятельно из толстого гофрированного картона. Как сделать робота с большими картонными колёсами, чтобы колёса нормально крутились и не отваливались, я предлагаю вам прочитать в этой статье.
Робот-художник EV3 Print3rbot
Мне очень понравился проект робота-художника EV3 Print3rbot, в котором, к сожалению, используются нестандартные детали, которые нужно печатать на 3D-принтере. Я решил собрать такого же робота, но используя детали только из образовательного набора LEGO Mindstorms EV3 (45544). И у меня это получилось, правда, пришлось добавить ещё резинок.
Роботом, собранным из конструктора LEGO Mindstorms EV3, вы легко можете управлять дистанционно от первого лица. Для этого вам дополнительно понадобится два смартфона, с установленным приложением RoboCam на один из них. Давайте познакомимся подробнее с приложением RoboCam и научимся им пользоваться.
Обнаружение лица на EV3
Используя конструктор LEGO MINDSTORMS EV3 и веб-камеру, вы сможете провести эксперимент по обнаружению лиц в помещении. Для эксперимента подойдёт любой колёсный робот EV3, который умеет вращаться на месте, и на который вы сможете закрепить веб камеру. Робот будет сканировать помещение, поворачиваясь вокруг, а, увидев лица, будет останавливаться и дёргаться столько раз, сколько лиц увидел.
Слежение за объектом на EV3
С помощью веб-камеры и образовательного набора конструктора LEGO MINDSTORMS Education EV3 (45544) вполне можно сделать робота, отслеживающего двигающийся объект. Робот сможет не только поворачивать камеру в сторону объекта, но и выдерживать определённую дистанцию до него, т.е. подъехать поближе, если объект удаляется от камеры, или отъехать подальше, если объект приближается. О том, как это сделать поговорим в этой статье.
Гимнаст EV3
Гимнаста выполняющего различные упражнения на турнике сделать достаточно просто, если у вас есть образовательный конструктор LEGO MINDSTORMS Education EV3 (45544). Я научил гимнаста выполнять три упражнения, а вы можете научить его и другим различным трюкам.
Гоночная машина формула 1 EV3
Гоночную машину, имитирующую болид формулы 1, можно сделать с помощью образовательного набора LEGO MINDSTORMS Education EV3 (45544). В машине сидит водитель и держится за руль. Машина дистанционно управляется с Android-смартфона.
Мойщик пола LEGO EV3
Робот мойщик пола передвигается за счёт поворотов двух дисков параллельно полу. С помощью резинок на диски можно закрепить смоченные моющим раствором тряпки и тогда ваш пол станет немного чище.
Робот с клешнёй LEGO EV3
Этот робот с клешнёй умеет не только хватать, но и приподнимать предметы. И оба эти действия он делает с помощью всего одного мотора. А за счёт резиновых кончиков клешни, робот может приподнимать даже скользкие предметы. Ну и конечно, то, что робот схватил, он может перевезти на другое место.
Селеноход из конструктора LEGO EV3
Селеноход – это луноход, созданный российской командой для участия в конкурсе Google Lunar X PRIZE. В настоящий момент проект закрыт, но интересная конструкция с не менее интересной системой передвижения по лунной поверхности остались. С помощью стартового образовательного набора LEGO MINDSTORMS Education EV3 (45544) возможно собрать модель Селенохода, который будет передвигаться по такому же принципу и так же поднимать и опускать «голову».
Собираем часы со стрелками из конструктора LEGO EV3
В базовом образовательном наборе LEGO Mindstorms Education EV3 (45544) оказалось достаточно шестерёнок и других деталей, чтобы собрать часы с часовой и минутной стрелками. Кроме того, что часы точно отображают время, они издают звуковой сигнал каждый час.
Приводная платформа EV3 на гусеничном ходу
В образовательном наборе конструктора Mindstorms Education EV3 всё обучение робототехники в классе ведётся с помощью приводной платформы, на колёсном ходу. Мне же захотелось сделать точно такую же платформу, чтобы на неё точно также можно было установить все датчики, но только, чтобы она передвигалась с помощью гусениц.
Было объявлено о проведении в рамках областных отборочных соревнований на фестиваль «РобоМир-2014» еще одной новой номинации — «Футбол роботов». Поэтому мы открываем на нашем блоге новый цикл статей, посвященных этим состязаниям.
Итак, немного предыстории… Самым масштабным на сегодняшний день мероприятием, на котором роботы соревнуются в футболе, является RoboCup (от англ. «Robot Soccer World Cup»
— Чемпионат по футболу среди роботов), который проводится ежегодно с 1993 года. Официальной целью проекта является перспектива создания к середине 21-ого века человекоподобных роботов-футболистов, способных выиграть футбольный матч у людей по правилам FIFA. Одной из номинаций этого масштабного мероприятия является
RoboCup Junior Australia (RCJA) GEN II Robot Soccer — то
что интересует нас, любителей собирать роботов из конструкторов Lego Mindstorms, больше всего.
Помимо RoboCup, в робо-футбол играют по тем же правилам и на World Robot Olympiad , где наши соотечественники в последние годы добиваются высоких результатов и даже заняли 1 место в старшей возрастной категории на олимпиаде в Малайзии в 2012 году.
Стоит отметить, что состязания роботов-футболистов всегда вызывают особый интерес на любых мероприятиях, где он проводится и никогда не обходится без внимания зрителей. Ведь, кому же будет безынтересно понаблюдать в действии работу самого настоящего искусственного интеллекта!
Теперь вниманию всех заинтересовавшихся! Что же нужно для того, чтобы принять участия в такого рода состязаниях?
Во-первых, конструктор Lego Mindstorms любого из поколений: RCX, NXT или EV3. Набор деталей конечно же индивидуален для каждого робота, но набор электронных компонентов обязательно должен включать в себя: программируемый блок и три двигателя — без этого никуда. Обычно для такого рода соревнований достаточным является Базовый + Ресурсный наборы Lego Mindstorms Education (у каждого из поколений существуют такие наборы).
Во-вторых, специальные датчики. Для игры в робо-футбол ОБЯЗАТЕЛЬНЫМ является использование датчика Компас и ИК-датчика. Остальные датчики можно использовать по усмотрению участников, но стоит отметить, что использовать можно только датчики официально разрешенные к использованию на соревнованиях в которых вы собрались участвовать (уточняйте в правилах). Обычно правила допускают использование любых датчиков, входящих в комплекты Lego Mindstorms NXT, RCX или EV3, а также некоторой продукции сертифицированного производителя HiTechic (например,
NSK1042 — NXT IRSeeker V2 ,
NMC1034 — NXT Compass Sensor).
В-третьих, специальное игровое поле и мяч. Если с игровым полем все более ли менее понятно — в правилах всегда подробно указываются размеры и цвета, на основе чего Вы можете либо сами подготовить поле, либо заказать его на мебельной фабрике, то с мячом все немного сложнее. Дело в том, что для того, чтобы робот мог играть в футбол, он должен каким-либо образом «видеть» этот мяч, а иначе вся игра превратиться в беспорядочные и совершенно необоснованные движения моделей и о каком-либо «искусственном интеллекте» уже не может быть и речи. Именно поэтому правила соревнований требуют от участников использование ИК-датчика — для того чтобы он смог «увидеть» специальный
Давненько не было вестей от нашей команды. Вы думаете что мы забросили роботов? Не дождетесь!) С середины января находимся в режиме планомерной подготовки к ВРО, снова готовимся к футболу роботов. В этом году алгоритмы машин снова переписаны заново и во многом не повторяют логику работы наших футболистов предыдущих поколений.
Учебный процесс тоже не стоял на месте, в нашей копилке теперь вот такой крупнокалиберный арсенал: «Введение в программирование (C++)» от Академии Яндекса, «Программирование на Python», «Python: основы и применение», «Введение в Linux» от Института биоинформатики, «Введение в архитектуру ЭВМ. Элементы операционных систем» от Computer Science Center.
При подготовке к соревнованиям по футболу роботов не всегда есть с кем поиграть. Часто бывает так, что оборудования для еще одной команды не хватает или те, кто смог бы с вами сыграть, в этот раз никак не могут поучаствовать. В такой ситуации нас выручают управляемые роботы-оппоненты.
Поиграть против своей автономной команды очень интересно и полезно:
- Зная слабые места своих автономных роботов можно создавать на поле такие игровые ситуации, в которых они проявятся. Это важно для отладки алгоритмов и конструкций.
- Управляя роботом ты моделируешь в голове работу некого алгоритма, который затем может быть перенесен в программу автономного игрока
- Это реальный драйв — ты играешь в игру не на экране, а в реальном мире, с полноценной физикой и красивыми текстурами. Обзор 360 градусов и высокое разрешение!
Так как мы находимся в процессе изучения языка Python, то интересной учебной задачей стала реализация такого управляемого робота-оппонента на базе ev3dev. Можно конечно «не заморачиваться» и использовать смартфон и написанное кем-то приложение, но это не наш путь. На борту у EV3 есть Bluetooth, у китайцев на Aliexpress — дешевые блютузные джойстики — почему бы не поуправлять роботом с реальных кнопок и стика? Используя стандартное ПО LEGO EV3 такую связку заставить работать невозможно, ev3dev открывает перед нами такую возможность.
Для начала сам робот. Традиционно подготовили инструкцию по сборке в Lego Digital Designer, скачать можно по ссылке. В конструкции умышленно не использовали механизм удара по мячу, чтобы у начинающих не было соблазна собрать на базе этой инструкции автономного робота.
Чтобы джойстик заработал с EV3, необходимо «спарить» устройства привычным образом, после чего в /dev/input должен появиться новый девайс:
robot@ev3dev:~$ ls /dev/input
by-path event0 event1 event2
Кроме Bluetooth-джойстика можно использовать беспроводной USB-джойстик, воткнув его USB-приемник в соответствующий порт на роботе. Беспроводная клавиатура с интерфейсом USB или Bluetooth тоже подойдет. Технически роботом можно управлять используя даже беспроводную мышку, но это вероятно не особенно удобно. Главное условие — после подключения устройства оно должно появляться в устройствах ввода, в /dev/input
Для получения данных с HID-устройств мы использовали стандартный модуль Python evdev. Ничего доустанавливать в ev3dev не требуется.
Нашу программу для робота можно скачать по ссылке. Основная фишка управления по сравнению со «смартфонным» — реализация плавного разгона и торможения, что обеспечивает комфортное управление. Выглядит программа следующим образом:
#!/usr/bin/env python3
# Подключаем модуль для управления EV3
from ev3dev.ev3 import *
# Подключаем модуль для чтения данных с HID-устройств
import evdev
# Создаем объект device, измените на ваш /dev/input/event2
device = evdev.InputDevice(‘/dev/input/event2’)
StatusGo = 0
StatusLR = 0
# Целевая скорость, робот наберет ее когда разгонится
speed = 100
# Реальная скорость, с нее робот стартует
real_speedB = 0
real_speedC = 0
speedB = 0
speedC = 0
# Признак зарершения программы (нажат акнопка Start на джойстике)
STOP = False
# Создаем объекты — моторы B и C
B = LargeMotor(‘outB’)
C = LargeMotor(‘outC’)
# Цикл пока не нажата кнопка Start на джойстике
while not STOP:
# Читаем список событий с джойстика
gen = device.read()
try:
# Для всех событий в списке
for event in gen:
# Выделяем те, которые возникли при нажатиях кнопок
if event.type == evdev.ecodes.EV_KEY:
# преобразуем такие события в строку myStr
myStr = str(event)
# если отпущена кнопка «Влево»
if myStr.find(«code 168, type 01, val 00») >= 0:
StatusLR = 0
# если нажата кнопка «Влево»
if myStr.find(«code 168, type 01, val 01») >= 0:
StatusLR = -1
# если удерживается кнопка «Влево»
if myStr.find(«code 168, type 01, val 02») >= 0:
StatusLR = -2
# если отпущена кнопка «Вправо»
if myStr.find(«code 208, type 01, val 00») >= 0:
StatusLR = 0
# если нажата кнопка «Вправо»
if myStr.find(«code 208, type 01, val 01») >= 0:
StatusLR = 1
# если удерживается кнопка «Вправо»
if myStr.find(«code 208, type 01, val 02») >= 0:
StatusLR = 2
# если отпущена кнопка «Вперед»
if myStr.find(«code 172, type 01, val 00») >= 0:
StatusGo = 0
# если нажата кнопка «Вперед»
if myStr.find(«code 172, type 01, val 01») >= 0:
StatusGo = speed*0.75
# если удерживается кнопка «Вперед»
if myStr.find(«code 172, type 01, val 02») >= 0:
StatusGo = speed
# если отпущена кнопка «Назад»
if myStr.find(«code 114, type 01, val 00») >= 0:
StatusGo = 0
# если нажата кнопка «Назад»
if myStr.find(«code 114, type 01, val 01») >= 0:
StatusGo = -1*(speed * 0.75)
# если удерживается кнопка «Назад»
if myStr.find(«code 114, type 01, val 02») >= 0:
#print («GO BREAK»)
StatusGo = -1*speed
# если нажата кнопка «Start»
if myStr.find(«code 164, type 01, val 02») >= 0:
print («BREAK! STOP PROGRAMM»)
STOP = True
# Кнопка — среднее значение скорости
if myStr.find(«code 164, type 01, val 01») >= 0:
speed = 75
# Кнопка нажата — уменьшить скорость
if myStr.find(«code 115, type 01, val 01») >= 0:
speed = speed — 5
if(speed < 5):
speed = 5
# Кнопка удерживается — уменьшить скорость
if myStr.find(«code 115, type 01, val 02») >= 0:
speed = speed — 1
if(speed < 5):
speed = 5
# Кнопка нажата — увеличить скорость
if myStr.find(«code 113, type 01, val 01») >= 0:
speed = speed + 5
if(speed > 100):
speed = 100
# Кнопка удерживается — увеличить скорость
if myStr.find(«code 113, type 01, val 02») >= 0:
speed = speed + 1
if(speed > 100):
speed = 100
except IOError:
pass
# перебрасываем статусы нажатий в мощности моторов
speedB = StatusGo
speedC = StatusGo
# Поворот влево
if(StatusLR < 0):
speedB = speedB-(25*abs(StatusLR))
speedC = speedC+(25*abs(StatusLR))
# поворот вправо
if(StatusLR > 0):
speedC = speedC-(25*StatusLR)
speedB = speedB+(25*StatusLR)
# ограничение скорости
if(speedB > 100):
speedB = 100
if(speedC > 100):
speedC = 100
if(speedB < -100):
speedB = -100
if(speedC < -100):
speedC = -100
# плавный разгон и торможение
if(abs(speedB) > 5 and abs(speedC) > 5):
real_speedB = real_speedB*0.95 + speedB*0.05
real_speedC = real_speedC*0.95 + speedC*0.05
if(speedB == 0 and speedC == 0):
real_speedB = real_speedB*0.95
real_speedC = real_speedC*0.95
if(speedB == 0 and abs(real_speedB) < 5):
real_speedB = 0
if(speedC == 0 and abs(real_speedC) < 5):
real_speedC = 0
# подаем рассчитанные мощности на моторы
B.run_forever(speed_sp=real_speedB*9)
C.run_forever(speed_sp=real_speedC*9)
# останавливаем моторы после вылета из цикла
B.stop(stop_action=»hold»)
C.stop(stop_action=»hold»)
# сигнал завершения программы
Sound.beep()




























