Similar presentations:
Футбол роботов. Управление через 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 S20
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 (через EV3Software), узнать можно через меню EV3,
пункт Brick Info
Давать уникальные имена EV3 через меню
EV3, пункт Brick Name
Первым запускать передатчик, вторым
приемник
Можно изменять коэффициенты при v и u –
изменится чувствительность джойстика
27. Благодарю за внимание!
Сергей Александрович ФилипповПрезидентский физико-математический лицей № 239
Санкт-Петербург
[email protected]