Робот для футбола ev3 инструкция по сборке

Вратарь Lego EV3 инструкция скачать в формате PDF

Идея создать механический вариант футбольного голкипера возникла у профессора, доктора Михаэля тен Хомпеля, руководителя Фраунгоферовского института логистики (IML, г. Дортмунд, Германия), накануне чемпионата мира по футболу 2006 года. В результате получился «робот», обладающий реакцией, лучше чем у самого «крутого» вратаря Бундеслиги, и скоростью движения, сравнимой с гоночными болидами «Формулы 1». Простая процедура пенальти трансформировалась в увлекательный научный проект.

В состав системы входят две камеры, которые отслеживают траекторию летящего по направлению к воротам мяча и передают данные о его положении на вычислитель каждые 1/50 сек. Каждая из камер делает по 60 снимков в секунду и компьютер, основываясь на полученных от двух разнесенных в пространстве камер данных, вырабатывает координаты мяча в трехмерной системе координат и после этого выдает соответствующие команды на блок управления редуктором, который и переводит фигуру искусственного «вратаря» в положение, необходимое для отражения удара.

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

Давненько не было вестей от нашей команды. Вы думаете что мы забросили роботов? Не дождетесь!) С середины января находимся в режиме планомерной подготовки к ВРО, снова готовимся к футболу роботов. В этом году алгоритмы машин снова переписаны заново и во многом не повторяют логику работы наших футболистов предыдущих поколений.

Учебный процесс тоже не стоял на месте, в нашей копилке теперь вот такой крупнокалиберный арсенал: «Введение в программирование (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()

Товары

1 — 30 из 57

Начало | Пред. |

1

2
|

След. |
Конец

?>

X
Сайт может собирать метаданные пользователя (cookie, данные об IP-адресе и местоположении).
Если, прочитав это сообщение, вы остаетесь на нашем сайте, это означает, что вы не возражаете против использования этих технологий.

LEGO, логотип LEGO, Minifigure (Минифигурка), DUPLO и MINDSTORMS являются торговыми марками и/или охраняемой авторским правом собственностью LEGO Group.
©2023 The LEGO Group. Все права защищены. Использование этого вебсайта подтверждает ваше согласие с этим.



Проектная деятельность

Войти

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

Схемы роботов и инструкции по сборке роботов 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», мы сумели создать своего собственного робота, имя которому дали «Футболист».

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

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

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

Цель проекта: создание робота, моделирующего игрока футбольной команды.

Задачи проекта:

  1. Создать конструкцию робота.
  2. Составить программу для робота.
  3. Определить дополнительные возможности конструкции.

Инженерные и программные решения

«Футболист» был создан на основе датского конструктора LegoMindstorm, который представляет из себя набор сопрягаемых деталей и электронных блоков для создания программируемого робота. Используемая нами модель — LEGO Mindstorms EV3, выпущенная в 2013 году, является одним из новейших конструкторов данной серии.

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

Для управления роботом используется телефон или планшет, имеющий функцию Bluetoothи установленное приложение RemoteEV3. Программа отправляется на контроллер робота через USB-кабель.

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

Уровень сложности проекта:

  • Конструирование — средний.
  • Программирование — средний.
  • Этапы создания проекта «Робот-футболист»

Подготовительный этап

  • выбор темы проекта
  • определение актуальности проекта
  • определение необходимого объёма знаний для осуществления проекта
  • составление плана работы по реализации проекта.

Конструкторский этап

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

Технологический этап

Выполнение проекта:

  • внесение изменений в основную микросхему
  • программирование:

робот футболист 1

Заключительный этап

Окончательное воссоздание моделиробота «Футболиста», который может выполнять функции игрока футбольной команды.

Выводы и перспективы

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

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

Литература

  1. Интернет.
  2. «Первый шаг в робототехнике» Д. Т. Колосов М: БИНОМ, Лаборатория знаний, 2012.
  3. Мирошина Т.Ф, Соловьева Л.Е, Могилёва А.Ю, Перфильева Л.П. Образовательная робототехника в начальной школе / Челябинск: Взгляд, 2011. — 152 с.

Приложение.Образовательная практика

робот футболист 2

робот футболист 3

робот футболист 4

робот футболист 5

Если страница Вам понравилась, поделитесь в социальных сетях:

На этой странице собраны инструкции по сборке роботов или механизмов из стартового образовательного набора LEGO MINDSTORMS Education EV3 (45544). Кроме инструкций вы найдёте здесь видео, показывающие возможности собранных моделей, и демонстрационные программы. Для некоторых моделей даны рекомендации, с помощью каких приложений можно дистанционно управлять роботами и как настраивать эти приложения.

Стартовый набор LEGO Mindstorms EV3

Пушка EV3

Имея под рукой образовательный набор LEGO Mindstorms EV3 (45544) и шарики для пинг-понга вполне можно собрать пушку, стреляющую шариками. Пушкой можно управлять со смартфона с помощью приложения RoboCam.

Робот с большими картонными колёсами

Если вы горите желанием сделать робота с большими колёсами из образовательного набора LEGO Mindstorms EV3 (45544), но у вас нет таких колёс, не расстраивайтесь. Вы можете изготовить их самостоятельно из толстого гофрированного картона. Как сделать робота с большими картонными колёсами, чтобы колёса нормально крутились и не отваливались, я предлагаю вам прочитать в этой статье.

Робот-художник EV3 Print3rbot

Мне очень понравился проект робота-художника EV3 Print3rbot, в котором, к сожалению, используются нестандартные детали, которые нужно печатать на 3D-принтере. Я решил собрать такого же робота, но используя детали только из образовательного набора LEGO Mindstorms EV3 (45544). И у меня это получилось, правда, пришлось добавить ещё резинок.

Управление роботом LEGO Mindstorms EV3 от первого лица

Роботом, собранным из конструктора 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 всё обучение робототехники в классе ведётся с помощью приводной платформы, на колёсном ходу. Мне же захотелось сделать точно такую же платформу, чтобы на неё точно также можно было установить все датчики, но только, чтобы она передвигалась с помощью гусениц.

Понравилась статья? Поделить с друзьями:
  • Пионер автомагнитола руководство скачать
  • Лизобакт инструкция по применению взрослым таблетки цена для рассасывания инструкция
  • Система охлаждения deepcool gammaxx l240 v2 инструкция
  • Раскоксовка двигателя шумой инструкция по применению
  • Азитромицин инструкция по применению для детей антибиотик