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

19
Программирование Lego-роботов Программирование моторов Нижний Новгород, 2012

Upload: alexander-kolotov

Post on 15-Jun-2015

6.844 views

Category:

Education


0 download

DESCRIPTION

This slide deck is used as the last part of the second lesson for kids who started robotics courses for the first year. It introduces kids to opportunity to program motors in NXT-G.

TRANSCRIPT

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

Программирование Lego-роботов Программирование моторов

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

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

Содержание

• Введение

• Блок Move в среде NXT-G

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

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

Программирование моторов

• Наиболее используемой функцией робота является Движение.

• Двигаться может весь робот движение тележки

• Двигаться могут части робота движение манипулятора (рука,

клешня) движение сенсора

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

Программирование моторов

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

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

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

Программирование моторов

1.Буквы показывают, какие моторы управляются этим блоком

2.Стрелка указывает направление

3.Изображение спидометра изменяется в зависимости от мощности

4.Отображается величина, которая контролируется для ограничения времени работы мотора

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

Программирование моторов

• Для программирования моторов можно: 1. Указать один или несколько моторов (буквы портов) 2. Указать направление движения или остановку мотора

3. При использовании нескольких моторов можно задать направление поворота.

4. Задать мощность подаваемую на моторы

5. Указать продолжительность движения двигаться бесконечно или заданное количество секунд, повернуть

мотор на определенное количество градусов или оборотов

6. Задать чем будет заканчиваться движение затормозить мотором или просто отключить питание

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

Программирование моторов

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

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

Программирование моторов

• Задание 1. Движение одним мотором. o Запрограммировать только один мотор у тележки

o Пронаблюдать как тележка двигается в зависимости от того какой мотор мы контролируем

o Пронаблюдать как тележка двигается в зависимости от того какое направление движения мотора (вперед или назад) мы выбираем

Мотор и направление

Левый мотор, движение вперед

Правый мотор, движение вперед

Левый мотор, движение назад

Правый мотор движение назад

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

Программирование моторов

• Задание 2a. Движение двумя моторами. o Составить программу для робота-тележки таким образом,

чтобы робот проехал вперед, а потом назад, вернувшись на то же место

o Изменяя мощность подаваемые на моторы, посмотрите как это влияет на скорость движения робота

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

Мощность

25%

50%

100%

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

Программирование моторов

• Задание 2b. Движение двумя моторами. o Изучить доступные параметры продолжительности движения.

Изменяйте параметры в пункте Duration:

Кол-во Тип

1 Seconds

2,5 Seconds

5 Seconds

1 Rotations

1,5 Rotations

3 Rotations

180 Degrees

720 Degrees

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

Программирование моторов

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

30 см. (лист альбомной бумаги) – на сколько оборотов или градусов необходимо повернуть колеса тележки.

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

Программирование моторов

• Задание 2d. Движение двумя моторами. o Изучить, что произойдет, если запрограммировать робота

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

o Что произойдет, если запрограммировать 3 оборота и также заблокировать движение?

Цель эксперимента - показать, что выполнение программы

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

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

Программирование моторов

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

движение робота.

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

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

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

Программирование моторов

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

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

Программирование моторов

• Сложные траектории. o Одной из сложностей при программировании движения

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

o Например, На сколько нужно повернуть моторы, чтобы робот повернул

на 90 градусов налево?

Как разворачиваться быстрее - повернуть на 90 градусов, включив только один мотор, или используя максимальное значение направления поворота (Steering)?

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

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

Программирование моторов

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

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

образом?

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

Программирование моторов

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

сторонам восьмерки. o Одной из трудностей в этой программе является возврат в то

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

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

Программирование моторов

• Дополнительное задание. o Придумайте сложную траекторию состоящую из таких

элементов, как прямы участки, повороты на 90 градусов, повороты под тупым и острым углом, «змейка». Траектория

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

o Запрограммируйте робота для движения по данной траектории.

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

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

Программирование моторов