Управление через Bluetooth. Футбол роботов
План занятия
Соединение устройств
Передача данных по каналу Bluetooth
Основные команды
Приемник и передатчик
Отправка различных сигналов
Управление скоростью вращения колеса
Дополнительное задание
Управление положением мотора (пропорциональный регулятор)
Дополнительное задание - 3
Управление двумя моторами (с помощью двух датчиков касания)
Кодирование значений двух датчиков касания и раскодирование сообщения
Управление двумя моторами (с помощью двух датчиков касания)
Управление двумя моторами (с помощью трех датчиков касания)
Управление двумя моторами (с помощью двух моторов)
Структура отправляемого сообщения
Управление двумя моторами (с помощью двух моторов)
Управление двумя моторами (Удаленное регулирование)
Управление двумя моторами (Удаленное регулирование)
Управление двумя моторами с дополнительным режимом
Управление двумя моторами с дополнительным режимом
Управление двумя моторами с дополнительным режимом
Футболист с ударным механизмом
Управление тремя моторами с ударом
Полезные советы
Благодарю за внимание!
3.60M
Категория: ИнформатикаИнформатика

Футбол роботов. Управление через Bluetooth

1. Управление через Bluetooth. Футбол роботов

С.А.Филиппов,
Президентский физико-математический лицей №239

2. План занятия

Передача данных
Основные команды TRIK Studio
Управление одним мотором
Кодирование информации
Управление двумя моторами
Беспроводной регулятор
Стандарты для робота

3. Соединение устройств

Загрузить прошивку 1.09E (Через менеджер прошивок EV3)
Изменить имя устройства EV3 на уникальное (s239f01 и др.)
Включить Bluetooth на EV3 (в левом верхнем углу появится
значок “ “)
Хотя бы для одного из устройств установить видимость: Visibility
(в левом верхнем углу появится значок “<“)
Соединение устанавливается вручную через Connection –
Search (лучше только с одного к другому)
Ввести стандартный пароль 1234 (или изменить, если
требуется)
После подключения в левом верхнем углу появится значок “>“
Отключить Visibility, чтобы не мешать другим
После разрыва подключения найти сопряженный контроллер в
Connections

4. Передача данных по каналу Bluetooth

Соединение устанавливается вручную
Одно сообщение передает одно число
Диапазон передаваемых целых чисел:
–231... 231 – 1
–2 млрд … 2 млрд
4 байта на число
Полученное число автоматически появляется в
почтовом ящике принимающего EV3

5. Основные команды

Отправить сообщение
Принять сообщение
Сообщение – переменная или
константа для отправки
Не указывать имя получателя
Переменная – в нее будет
записано принятое значение
Тип сообщения
Целое
Дробное
Логическое
Строка

6. Приемник и передатчик

Выбрать двух роботов, один из которых со звуком
На второй EV3 установить датчик касания
Не указывать имя получателя
Передатчик
Приемник

7. Отправка различных сигналов

Установить
на робота
два датчика
касания
Придумать
программу
приемника

8. Управление скоростью вращения колеса

Рычаг на EV3-передатчике задает скорость
вращения колеса на приемнике
Вывод на экран для проверки

9. Дополнительное задание

Изменить только программу приемника

10. Управление положением мотора (пропорциональный регулятор)

Передается значение энкодера управляющего мотора с
промежутками не менее 30 мс
На управляемый мотор второго EV3 подается управляющее
воздействие u с большей частотой
u=k*(m-encoderA)

11. Дополнительное задание - 3

На приемнике установить редуктор 5:1
Обеспечить синхронное движение рычага
передатчика и стрелы приемника

12. Управление двумя моторами (с помощью двух датчиков касания)

Каждый датчик
вырабатывает
значение
0 – отпущен
1 – нажат
Моторы либо
вращаются (100), либо
останавливаются (0)

13. Кодирование значений двух датчиков касания и раскодирование сообщения

S1 S2
0
0
1
1
0
1
0
1
S1*2+S2
-> m
m//2
m%2
m//2*100
m%2*100
0
1
2
3
0
0
1
1
0
1
0
1
0
0
100
100
0
100
0
100

14. Управление двумя моторами (с помощью двух датчиков касания)

Значения
датчиков
кодируются в
одно число
Letter=sensor1*2+
sensor2
Полученное
сообщение
декодируется
motorB=m//2*100
motorC=m%2*100

15. Управление двумя моторами (с помощью трех датчиков касания)

Доработайте передатчик, чтобы по нажатию
третьего датчика робот ехал назад
Если sensor3 нажат,
Letter = - Letter
Придумайте, как записать это формулой?
Letter=(sensor1*2+sensor2)*(x)
Какое выражение написать вместо x?
Полученное сообщение декодируется тем же
способом, но при нажатом датчике sensor3 дает
отрицательные значения

16. Управление двумя моторами (с помощью двух моторов)

Энкодеры
управляющих моторов
вырабатывают
значения в пределах
-128..127
Мощность
управляемых моторов
соответствуют
показаниям энкодеров

17. Структура отправляемого сообщения

18. Управление двумя моторами (с помощью двух моторов)

Показания энкодеров кодируются в одно
положительное число
Letter=(encoderA+128)*256+(encoderB+128)-128*257
Letter=encoderA*256+encoderB
Полученное сообщение декодируется
motorB=(m+128*257)//256-128
motorC=(m+128*257)%256-128

19. Управление двумя моторами (Удаленное регулирование)

Энкодеры управляющих
моторов передают два
значения
v – скорость -128..127
u – управляющее
воздействие -128..127
Мощность управляемых
моторов регулируется
формулами
motorB = v – u
motorC = v + u

20. Управление двумя моторами (Удаленное регулирование)

Показания энкодеров записываются в одно число
L=(encoderA+128)*256+(encoderB+128)-128*257
Полученное сообщение декодируется
v= (m+128*257)//256-128
u= (m+128*257)%256-128

21. Управление двумя моторами с дополнительным режимом

Возможности
использования
датчика касания
Переключение режимов
ускорения и
маневрирования
Удар по мячу третьим
мотором
Датчик sensor1 нажат – 1,
отпущен – 0

22. Управление двумя моторами с дополнительным режимом

Показания энкодеров и датчика кодируются в одно число
Для датчика используется младший бит
L=(encoderA+128)*256+(encoderB+128)//2*2+sensor1- 128*257

23. Управление двумя моторами с дополнительным режимом

Для датчика используется младший бит
L=(encoderA+128)*256+(encoderB+128)//2*2+sensor1-128*257
Полученное сообщение декодируется
v= (m+128*257)//256-128
u= (m+128*257)%256//2*2-128
k= (m+128*257)%2
v=v*(k+1)
u=u*(2-k)//2
На основании значения k принимается решение о
дополнительном действии

24. Футболист с ударным механизмом

Должен поместиться в цилиндр 22х22см
в состоянии удара по мячу

25. Управление тремя моторами с ударом

В зависимости от нажатия датчика приводится в действие третий мотор
Повторный удар возможен только после завершения предыдущего

26. Полезные советы

Прошивка не ниже v1.09 (через EV3
Software), узнать можно через меню EV3,
пункт Brick Info
Давать уникальные имена EV3 через меню
EV3, пункт Brick Name
Первым запускать передатчик, вторым
приемник
Можно изменять коэффициенты при v и u –
изменится чувствительность джойстика

27. Благодарю за внимание!

Сергей Александрович Филиппов
Президентский физико-математический лицей № 239
Санкт-Петербург
[email protected]
English     Русский Правила