SlideShare a Scribd company logo
1 of 19
Download to read offline
Программирование Lego-роботов
   Программирование моторов




                 Нижний Новгород, 2012
Содержание

•   Введение
•   Блок Move в среде NXT-G
•   Программирование моторов с блоком Move
•   Решение задач
Программирование моторов

• Наиболее используемой
  функцией робота является
  Движение.
• Двигаться может весь робот
      движение тележки
• Двигаться могут части робота
      движение манипулятора (рука,
       клешня)
      движение сенсора
Программирование моторов

• Программирование движения происходит через
  блок «Move» (Движение)




• блок «Move» можно найти в общей (Common) и в
  полной (Complete) палитрах инструментов
Программирование моторов




1.Буквы показывают, какие моторы управляются этим
  блоком
2.Стрелка указывает направление
3.Изображение спидометра изменяется в
  зависимости от мощности
4.Отображается величина, которая контролируется
  для ограничения времени работы мотора
Программирование моторов




• Для программирования моторов можно:
  1. Указать один или несколько моторов (буквы портов)
  2. Указать направление движения или остановку мотора
  3. При использовании нескольких моторов можно задать направление
     поворота.
  4. Задать мощность подаваемую на моторы
  5. Указать продолжительность движения
      двигаться бесконечно или заданное количество секунд, повернуть
       мотор на определенное количество градусов или оборотов
  6. Задать чем будет заканчиваться движение
      затормозить мотором или просто отключить питание
Программирование моторов

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

• Задание 1. Движение одним мотором.
  o Запрограммировать только один мотор у тележки
  o Пронаблюдать как тележка двигается в зависимости от того какой
    мотор мы контролируем
  o Пронаблюдать как тележка двигается в зависимости от того какое
    направление движения мотора (вперед или назад) мы выбираем

                        Мотор и направление
                   Левый мотор, движение вперед
                   Правый мотор, движение вперед
                   Левый мотор, движение назад
                   Правый мотор движение назад
Программирование моторов

• Задание 2a. Движение двумя моторами.
  o   Составить программу для робота-тележки таким образом,
      чтобы робот проехал вперед, а потом назад, вернувшись на то
      же место
  o   Изменяя мощность подаваемые на моторы, посмотрите как
      это влияет на скорость движения робота
                            Мощность
                               25%
                               50%
                               100%

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

• Задание 2b. Движение двумя моторами.
  o   Изучить доступные параметры продолжительности движения.
      Изменяйте параметры в пункте Duration:
                         Кол-во     Тип
                           1      Seconds
                          2,5     Seconds
                           5      Seconds
                           1      Rotations
                          1,5     Rotations
                           3      Rotations
                          180     Degrees
                          720     Degrees
Программирование моторов

• Задание 2c. Движение двумя моторами.
  o   Запрограммируйте робота таким образом, чтобы он проехал
      30 см. (лист альбомной бумаги) – на сколько оборотов или
      градусов необходимо повернуть колеса тележки.
Программирование моторов

• Задание 2d. Движение двумя моторами.
  o   Изучить, что произойдет, если запрограммировать робота
      ехать 3 секунды, и в то же время руками остановить двигатели
      - искусственно создать ситуацию, когда робот натолкнулся на
      препятствие и колеса провернуться не могут.
  o   Что произойдет, если запрограммировать 3 оборота и также
      заблокировать движение?

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

• Задание 2e. Движение двумя моторами.
  o   Изучить как изменение направления поворота влияет на
      движение робота.
Программирование моторов

• Задание 3. Остановка.
  o   Составить программу для тележки таким образом, чтобы
      тележка проехала вперед на максимальной скорости
      (максимальная мощность) в течение 4 оборотов
      двигателя, после окончания движения использовать
      торможение двигателем.


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

• Сложные траектории.
  o   Одной из сложностей при программировании движения
      робота является определение нужного количества оборотов
      мотора для передвижения на заданное расстояние.
  o   Например,
        На сколько нужно повернуть моторы, чтобы робот повернул
         на 90 градусов налево?
        Как разворачиваться быстрее - повернуть на 90 градусов,
         включив только один мотор, или используя максимальное
         значение направления поворота (Steering)?
        Подобрать экспериментальным путем, на сколько нужно
         повернуть моторы и какое нужно задать направление
         поворота, чтобы робот проехал полкруга с радиусом 30
         сантиметров?
Программирование моторов

• Движение по квадрату.
  o   Составьте программу для того, чтобы робот двигался по
      сторонам квадрата.
        Как бы мы действовали, если бы мы двигались подобным
         образом?
Программирование моторов

• Движение по восьмерке.
  o   Составьте программу для того, чтобы робот двигался по
      сторонам восьмерки.
  o   Одной из трудностей в этой программе является возврат в то
      же место, откуда робот начал двигаться.
Программирование моторов

• Дополнительное задание.
  o   Придумайте сложную траекторию состоящую из таких
      элементов, как прямы участки, повороты на 90 градусов,
      повороты под тупым и острым углом, «змейка». Траектория
      должна быть замкнута – робот должен вернуться в то же
      место, откуда робот начал двигаться.
  o   Запрограммируйте робота для движения по данной
      траектории.
Программирование моторов



     • Ваши вопросы?

More Related Content

More from Alexander Kolotov

Таблица соответствия робототехнических компетенций и возрастов
Таблица соответствия робототехнических компетенций и возрастовТаблица соответствия робототехнических компетенций и возрастов
Таблица соответствия робототехнических компетенций и возрастовAlexander Kolotov
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
 
Справка-обзор популярных робототехнических комплектов
Справка-обзор популярных робототехнических комплектовСправка-обзор популярных робототехнических комплектов
Справка-обзор популярных робототехнических комплектовAlexander Kolotov
 
тропинка по лесу к голубому озеру
тропинка по лесу к голубому озерутропинка по лесу к голубому озеру
тропинка по лесу к голубому озеруAlexander Kolotov
 
Робототехника с Not eXactly C. Часть I
Робототехника с Not eXactly C. Часть IРобототехника с Not eXactly C. Часть I
Робототехника с Not eXactly C. Часть IAlexander Kolotov
 
Кружок по робототехнике. Занятие #3. Программируем экран и звуки
Кружок по робототехнике. Занятие #3. Программируем экран и звукиКружок по робототехнике. Занятие #3. Программируем экран и звуки
Кружок по робототехнике. Занятие #3. Программируем экран и звукиAlexander Kolotov
 
Кружок по робототехнике. Занятие #2. Первый робот
Кружок по робототехнике. Занятие #2. Первый роботКружок по робототехнике. Занятие #2. Первый робот
Кружок по робототехнике. Занятие #2. Первый роботAlexander Kolotov
 
Promo presentation for robotics cources
Promo presentation for robotics courcesPromo presentation for robotics cources
Promo presentation for robotics courcesAlexander Kolotov
 
Кружок по робототехнике. Занятие #1. Введение
Кружок по робототехнике. Занятие #1. Введение Кружок по робототехнике. Занятие #1. Введение
Кружок по робототехнике. Занятие #1. Введение Alexander Kolotov
 
Игрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботовИгрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботовAlexander Kolotov
 

More from Alexander Kolotov (11)

Таблица соответствия робототехнических компетенций и возрастов
Таблица соответствия робототехнических компетенций и возрастовТаблица соответствия робототехнических компетенций и возрастов
Таблица соответствия робототехнических компетенций и возрастов
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехнике
 
Справка-обзор популярных робототехнических комплектов
Справка-обзор популярных робототехнических комплектовСправка-обзор популярных робототехнических комплектов
Справка-обзор популярных робототехнических комплектов
 
тропинка по лесу к голубому озеру
тропинка по лесу к голубому озерутропинка по лесу к голубому озеру
тропинка по лесу к голубому озеру
 
Робототехника с Not eXactly C. Часть I
Робототехника с Not eXactly C. Часть IРобототехника с Not eXactly C. Часть I
Робототехника с Not eXactly C. Часть I
 
Кружок по робототехнике. Занятие #3. Программируем экран и звуки
Кружок по робототехнике. Занятие #3. Программируем экран и звукиКружок по робототехнике. Занятие #3. Программируем экран и звуки
Кружок по робототехнике. Занятие #3. Программируем экран и звуки
 
Кружок по робототехнике. Занятие #2. Первый робот
Кружок по робототехнике. Занятие #2. Первый роботКружок по робототехнике. Занятие #2. Первый робот
Кружок по робототехнике. Занятие #2. Первый робот
 
Promo presentation for robotics cources
Promo presentation for robotics courcesPromo presentation for robotics cources
Promo presentation for robotics cources
 
Кружок по робототехнике. Занятие #1. Введение
Кружок по робототехнике. Занятие #1. Введение Кружок по робототехнике. Занятие #1. Введение
Кружок по робототехнике. Занятие #1. Введение
 
L^2: LEGO и Linux
L^2: LEGO и LinuxL^2: LEGO и Linux
L^2: LEGO и Linux
 
Игрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботовИгрушки на вырост. Программируем Lego-роботов
Игрушки на вырост. Программируем Lego-роботов
 

Кружок по робототехнике. Занятие #2. Программируем моторы

  • 1. Программирование Lego-роботов Программирование моторов Нижний Новгород, 2012
  • 2. Содержание • Введение • Блок Move в среде NXT-G • Программирование моторов с блоком Move • Решение задач
  • 3. Программирование моторов • Наиболее используемой функцией робота является Движение. • Двигаться может весь робот  движение тележки • Двигаться могут части робота  движение манипулятора (рука, клешня)  движение сенсора
  • 4. Программирование моторов • Программирование движения происходит через блок «Move» (Движение) • блок «Move» можно найти в общей (Common) и в полной (Complete) палитрах инструментов
  • 5. Программирование моторов 1.Буквы показывают, какие моторы управляются этим блоком 2.Стрелка указывает направление 3.Изображение спидометра изменяется в зависимости от мощности 4.Отображается величина, которая контролируется для ограничения времени работы мотора
  • 6. Программирование моторов • Для программирования моторов можно: 1. Указать один или несколько моторов (буквы портов) 2. Указать направление движения или остановку мотора 3. При использовании нескольких моторов можно задать направление поворота. 4. Задать мощность подаваемую на моторы 5. Указать продолжительность движения  двигаться бесконечно или заданное количество секунд, повернуть мотор на определенное количество градусов или оборотов 6. Задать чем будет заканчиваться движение  затормозить мотором или просто отключить питание
  • 7. Программирование моторов • Чередуя блоки управления мотором друг за другом, можно добиться сложной траектории движения робота
  • 8. Программирование моторов • Задание 1. Движение одним мотором. o Запрограммировать только один мотор у тележки o Пронаблюдать как тележка двигается в зависимости от того какой мотор мы контролируем o Пронаблюдать как тележка двигается в зависимости от того какое направление движения мотора (вперед или назад) мы выбираем Мотор и направление Левый мотор, движение вперед Правый мотор, движение вперед Левый мотор, движение назад Правый мотор движение назад
  • 9. Программирование моторов • Задание 2a. Движение двумя моторами. o Составить программу для робота-тележки таким образом, чтобы робот проехал вперед, а потом назад, вернувшись на то же место o Изменяя мощность подаваемые на моторы, посмотрите как это влияет на скорость движения робота Мощность 25% 50% 100% Помните, что при разном уровне заряда на батарейках, разная мощность будет подаваться на двигатели при одном и том же показателе Power
  • 10. Программирование моторов • Задание 2b. Движение двумя моторами. o Изучить доступные параметры продолжительности движения. Изменяйте параметры в пункте Duration: Кол-во Тип 1 Seconds 2,5 Seconds 5 Seconds 1 Rotations 1,5 Rotations 3 Rotations 180 Degrees 720 Degrees
  • 11. Программирование моторов • Задание 2c. Движение двумя моторами. o Запрограммируйте робота таким образом, чтобы он проехал 30 см. (лист альбомной бумаги) – на сколько оборотов или градусов необходимо повернуть колеса тележки.
  • 12. Программирование моторов • Задание 2d. Движение двумя моторами. o Изучить, что произойдет, если запрограммировать робота ехать 3 секунды, и в то же время руками остановить двигатели - искусственно создать ситуацию, когда робот натолкнулся на препятствие и колеса провернуться не могут. o Что произойдет, если запрограммировать 3 оборота и также заблокировать движение? Цель эксперимента - показать, что выполнение программы блокируется в ожидании поворота двигателей. Это важно помнить, при движении робота по поверхности с препятствиями или при выполнении поворотов.
  • 13. Программирование моторов • Задание 2e. Движение двумя моторами. o Изучить как изменение направления поворота влияет на движение робота.
  • 14. Программирование моторов • Задание 3. Остановка. o Составить программу для тележки таким образом, чтобы тележка проехала вперед на максимальной скорости (максимальная мощность) в течение 4 оборотов двигателя, после окончания движения использовать торможение двигателем. o Изменить программу, чтобы использовать отключение питания от мотора в качестве торможения.
  • 15. Программирование моторов • Сложные траектории. o Одной из сложностей при программировании движения робота является определение нужного количества оборотов мотора для передвижения на заданное расстояние. o Например,  На сколько нужно повернуть моторы, чтобы робот повернул на 90 градусов налево?  Как разворачиваться быстрее - повернуть на 90 градусов, включив только один мотор, или используя максимальное значение направления поворота (Steering)?  Подобрать экспериментальным путем, на сколько нужно повернуть моторы и какое нужно задать направление поворота, чтобы робот проехал полкруга с радиусом 30 сантиметров?
  • 16. Программирование моторов • Движение по квадрату. o Составьте программу для того, чтобы робот двигался по сторонам квадрата.  Как бы мы действовали, если бы мы двигались подобным образом?
  • 17. Программирование моторов • Движение по восьмерке. o Составьте программу для того, чтобы робот двигался по сторонам восьмерки. o Одной из трудностей в этой программе является возврат в то же место, откуда робот начал двигаться.
  • 18. Программирование моторов • Дополнительное задание. o Придумайте сложную траекторию состоящую из таких элементов, как прямы участки, повороты на 90 градусов, повороты под тупым и острым углом, «змейка». Траектория должна быть замкнута – робот должен вернуться в то же место, откуда робот начал двигаться. o Запрограммируйте робота для движения по данной траектории.
  • 19. Программирование моторов • Ваши вопросы?