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

Post on 15-Jun-2015

6.844 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

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

Программирование 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 Изменяя мощность подаваемые на моторы, посмотрите как это влияет на скорость движения робота

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

Мощность

25%

50%

100%

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

• Задание 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 Запрограммируйте робота для движения по данной траектории.

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

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

top related