Управление роботом LEGO Mindstorms EV3 от первого лица




Роботом, собранным из конструктора LEGO Mindstorms EV3, вы легко можете управлять дистанционно от первого лица. Для этого вам дополнительно понадобится два смартфона, с установленным приложением RoboCam на один из них. Давайте познакомимся подробнее с приложением RoboCam и научимся им пользоваться.

Статья описывает новые возможности, появившиеся в первой версии версии 1.0 приложения RoboCam. Все статьи посвященные приложению RoboCam вы можете найти здесь. Приложение RoboCam можно установить из магазина Google Play.
Сначала давайте посмотрим видео, где показан робот, управляемый от первого лица, которого я назвал Исследователь EV3. Помимо того, что робот может ездить в любом направлении, он умеет поднимать и опускать голову, т.е. рамку, к которой прикреплён смартфон. А это значит, что вы сможете смотреть не только по сторонам, но и вверх/вниз.
Что нужно для проведения эксперимента?
Чтобы повторить эксперимент, который вы видите на видео, вам нужно следующее:
- Робот, собранный из конструктора LEGO Mindstorms EV3.
- Android-смартфон с камерой и установленным на него приложением RoboCam. Поддерживается Android 2.3 и выше. В смартфоне как минимум должна быть хотя бы одна камера, а также модули Bluetooth и Wi-Fi.
- Смартфон или планшет с современным браузером с поддержкой HTML5. Хорошо подходят и протестированы браузеры Google Chrome, Яндекс.Браузер, Firefox и Opera последних версий. Операционная система в принципе может быть любой (Android, iOS или Windows), но полноценные тесты проводились только на Android. У смартфона или планшета должен быть как минимум сенсорный экран (желательно с распознаванием не менее 2-точек касания) и модуль Wi-Fi.
Дальше в статье я буду давать теорию и описывать шаги, которые вам нужно сделать, чтобы повторить эксперимент.
Схема подключения
Сначала, давайте посмотрим, как все перечисленные выше устройства подключены друг к другу. Лучше всего это иллюстрирует рисунок снизу.

Как вы видите, приложение RoboCam установлено на смартфон 1. Этот смартфон прикрепляется к роботу и подключен к нему через Bluetooth. От смартфона 1 к EV3 идут команды управляющие моторами, обратно поступает информация с датчиков.
2-й смартфон или планшет, подключается к смартфону 1 через Wi-Fi. Смартфон 1 и смартфон или планшет 2 должны быть подключены к одному роутеру. От смартфона или планшета 2 идут координаты джойстиков на смартфон 1, а обратно идёт видеопоток с камеры.
Как происходит управление EV3
Чтобы лучше понять, как происходит управление роботом EV3, посмотрим следующую схему.

Когда вы начинаете прикасаться к джойстикам A и B, смартфон или планшет 2 передаёт координаты прикосновений смартфону 1, который преобразует их в команды для моторов EV3. Каким образом координаты будут преобразованы, зависит от настроек приложения RoboCam. Подробнее о настройках мы поговорим ниже.
Собираем робота
Чтобы повторить эксперимент, прежде всего, вам нужно собрать робота, которым вы будете управлять. Это может быть простой двухколёсный робот, робот-автомобиль или робот со сложным механизмом передвижения. По большому счёту не важно, каким будет ваш робот, ведь программа RoboCam гибко настраивается, и вы сможете управлять с её помощью роботом любой конструкции. Главное чтобы вы смогли закрепить на своём роботе смартфон таким образом, чтобы камера была направлена вперёд, по ходу движения.
Начинать я рекомендую с простой модели. Если у вас образовательный набор LEGO Mindstorms EV3, то вы можете собрать Исследователя EV3, которого вы видите на фото и видео в начале статьи. Вот схема сборки Исследователя EV3:

Инструкция для сборки робота исследователя EV3 из базового образовательного набора конструктора LEGO Mindstorms Education EV3 (45544).
В версии 2: рамка закреплена прочнее и не отваливается.
Готовим Android-смартфон и приложение RoboCam
Приложение RoboCam работает на смартфонах или планшетах под управлением операционной системы Android 2.3 и выше. Обязательным является наличие у устройства любой встроенной камеры и модулей Bluetooth и WiFi. Приложение бесплатное, вы можете установить его с помощью магазина Google Play. Вот страничка приложения RoboCam. Для установки нажмите кнопку «УСТАНОВИТЬ», и примите требуемые разрешения, нажав на кнопку «ПРИНЯТЬ».
После установки откройте приложение. В Android 6 и выше, вы сразу увидите запрос на разрешение использовать камеру. Камера нам обязательно нужна, поэтому нажмите «РАЗРЕШИТЬ».

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

Зелёная кнопка слева отвечает за запуск и остановку сервера RoboCam, который нужен для подключения смартфона или планшета 2, см. схему выше. Одновременно кнопка показывает, работает сервер или нет. На картинке фон кнопки белый, это значит, что сервер не работает. Об этом же говорит подсказка сверху. Вы можете в любой момент запустить или остановить сервер, нажав на эту кнопку.
Средняя кнопка пурпурного цвета отвечает за подключение к роботу EV3. Одновременно кнопка показывает, подключен ли смартфон к роботу или нет. На картинке, фон кнопки белый, это значит, что робот не подключен. У этой кнопки тоже есть подсказка, прямо под кнопкой, где в верхней строке отображается состояние подключения (на картинке это надпись «EV3 не подключен»), а в нижней строке – название текущих настроек робота (на картинке это «Исследователь EV3»).
Кнопка справа открывает настройки программы RoboCam. Если вы будете использовать моего Исследователя EV3, то дополнительно ничего настраивать не надо, т.к. сразу после первого запуска приложения по умолчанию будут выбраны настройки с названием «Исследователь EV3». Если робот у вас другой, то сначала придётся поковыряться в настройках. Но об этом поговорим ниже.
Запуск сервера RoboCam и подключение к нему
Сразу скажу, что совсем неважно, что вы сделаете раньше, запустите сервер RoboCam или подключите смартфон к роботу. Это можно сделать в любом порядке.
Итак, после того как приложение установлено на смартфон 1 (см. схемы выше) и открыто, вы можете запустить сервер RoboCam. Для этого нажмите на зелёную копку слева, при этом кнопка начнёт мигать, а в подсказке будет написано «Инициализация сервера RoboCam. ». Через некоторое время, после того как сервер запустится, фон кнопки окрасится в зелёный цвет, а в подсказке будет написано «Сервер RoboCam работает».

Если смартфон ещё не подключен к вашему Wi-Fi-роутеру (как у нас на картинке), то пора это сделать. После подключения в верхней подсказке во второй строке отобразится адрес для подключения к серверу RoboCam. При включении сервера нет разницы, что включать сначала, сервер RoboCam или Wi-Fi.

Теперь вы можете подключиться к серверу RoboCam. Для этого возьмите второй смартфон или планшет (я буду использовать планшет), убедитесь, что он подключен к тому же Wi-Fi-роутеру, откройте браузер и перейдите на страничку с адресом, который показан в подсказке в приложении RoboCam (на картинке это «http://192.168.1.153:8088»). Браузер нужно использовать один из тех, про которые было написано выше. Если вы всё сделали правильно, то в браузере загрузится страничка для ввода логина и пароля. Введите здесь логин и пароль и нажмите кнопку «Войти». Если после установки вы ничего не меняли в настройках, то по умолчанию установлен логин «admin» и пароль «123».

После этого откроется основная страничка сервера RoboCam, на которой вы увидите картинку с камеры смартфона 1 (см. схему выше).

Как видите ориентация смартфона 1 – портретная, а моего планшета – альбомная. Вы можете перевернуть смартфон 1 так, чтобы он тоже был в альбомной ориентации. При этом картинка в на планшете автоматом поменяется на альбомную.
Обратите внимание, что ориентация не меняется, если вы заблокировали смартфон 1.

Чтобы теперь сделать изображение на весь экран, нажмите на значок
справа сверху на странице. Так уберутся все ненужные нам кнопочки, закладки браузера и т.д., а изображение с камеры станет крупнее.

Подключение RoboCam к EV3
Прежде чем подключать приложение RoboCam к EV3 убедитесь, что у вашего робота EV3 и смартфона включён Bluetooth и что они спарены. Также убедитесь, что моторы подключены именно к тем портам, которые указаны в настройках робота. Название текущих настроек написано в подсказке к средней кнопке во второй строке, на картинке ниже, это «Исследователь EV3». Если вы собрали Исследователя EV3 по моей схеме (см. выше) и после установки приложения RoboCam не меняли настройки, то будьте уверены, что всё настроено правильно. Подробно о настройках будет написано ниже.

Итак, если всё готово, нажмите на центральную пурпурную кнопку. Если у вас на смартфоне Bluetooth оказался выключен, то вы увидите запрос на его включение. Нажмите «Да».

Дальше вы увидите, что кнопка начнёт мигать, а вместо подсказки появится список спаренных через Bluetooth устройств. Выберите здесь вашего робота EV3 (на картинке – это «EV3», но у вас в настройках EV3 может быть выставлено другое имя).

После этого приложение подключится к EV3.

Если в это время клиент подключен к серверу RoboCam, то вы увидите, как появятся джойстики (прямоугольный и круглый джойстики на картинке снизу). После этого вы сразу можете управлять роботом.

В настройках по умолчанию для Исследователя EV3 у вас будут два джойстика: круглый и вертикальный (см. картинку выше). Вертикальным джойстиком управляется рамка-держатель смартфона, а круглым – движения робота. Иконка с изображением ладони сверху справа, меняет джойстики местами, чтобы быстро переключать управление для левши и правши. Подробнее о джойстиках будет написано ниже.
Остановка сервера RoboCam и отключение EV3
После того как вы закончили управлять роботом перед тем как закрыть приложение RoboCam рекомендуется остановить сервер RoboCam и отключить EV3 от смартфона. Это можно делать в любом порядке. Для того чтобы остановить сервер нажмите на зелёную кнопку слева. После этого фон кнопки станет белым, а подсказка покажет «Сервер RoboCam выключен». Чтобы отключить EV3, нажмите на центральную пурпурную кнопку. После этого фон кнопки станет белым, а на подсказке в верхней строке вы увидите надпись «EV3 не подключен». При этом моторы остановятся или примут первоначальное положение в зависимости от настроек.
Настройки сервера RoboCam
Чтобы перейти в настройки, нажмите на серую кнопку справа.

Настройки разделены на 2 части: настройки сервера и настройки робота. Сначала давайте посмотрим, что есть в настройках сервера. Выберите «Сервер».

Настройки сервера делятся на 2 группы: настройки камеры и настройки безопасности. В настройках камеры можно выбрать камеру (фронтальную или тыловую), размер изображения и качество JPEG. Чем меньше вы установите размер изображения, тем плавнее и быстрее будет передача видео клиенту, но ухудшится качество картинки. Аналогично влияет передачу видео и качество JPEG: чем лучше качество JPEG (90 и более процентов), тем лучше картинка, но медленнее скорость, и наоборот, чем хуже качество JPEG (40 и менее процентов), тем быстрее скорость, но хуже картинка. Выберите то, что оптимально для вас.

В настройках безопасности вы можете поменять имя и пароль водителя (по умолчанию – имя «admin» и пароль – «123»). Также по умолчанию включены наблюдатели. Наблюдатели могут параллельно с вами видеть изображение с камеры, но не могут управлять роботом. Для наблюдателя также можно задать имя и пароль (по умолчанию здесь используется имя «guest» и пароль «123»). Чтобы выключить наблюдателей, уберите галку «Разрешить наблюдателей».

Количество водителей и наблюдателей не ограничено, однако подключение более одного водителя может вызвать конфликты при одновременном управлении и передаче видео потока. Не рекомендуется подключаться к серверу RoboCam более одного водителя. Большое количество наблюдателей может также негативно сказаться на передаче видео. Желательно уменьшить количество наблюдателей до минимума или вообще отключить эту функцию.
После изменения настроек, вы можете сохранить их, нажав на кнопку «СОХРАНИТЬ» справа сверху или выйти без сохранения, нажав на кнопку «ОТМЕНА» или стрелку слева сверху. После сохранения настроек сервера клиенты могут быть отключены, и нужно будет подключаться снова.
Список настроек роботов
Вторая часть настроек программы RoboCam – это настройки роботов. Нажмите «Робот», чтобы перейти к списку настроек роботов.

В списке настроек роботов вы можете увидеть настройки для всех ваших роботов. Вы в любой момент можете добавить или удалить настройки нажав, соответственно, кнопку «ДОБАВИТЬ» или «УДАЛИТЬ» сверху справа. А сразу под кнопками вы можете увидеть текущие настройки. С помощью этого пункта происходит переключение между настройками для ваших роботов. Теперь давайте посмотрим настройки Исследователя EV3. Для этого выберите в списке «Исследователь EV3».

В самом верху указана общая информация: название робота и описание. Название и описание отображаются в списке, чтобы вы могли легко найти нужные настройки. Также название отображается в основном экране программы под центральной кнопкой, с помощью которой вы подключаетесь к EV3. Ниже идут настройки джойстиков.

Всего вы можете настроить до 4-х джойстиков, но одновременно на экране у клиента будет видна только одна пара джойстиков 1-2 или 3-4. Однако если вы будете использовать джойстик 1 и 3, то они всё равно не будут видны одновременно, т.к. относятся к разным парам, и вы будете видеть либо джойстик 1, либо джойстик 3. Видимость каждого джойстика включается галочкой «Видимость». Если вы включили 2 пары джойстиков, то на экране клиента появится кнопка
для переключения между парами.
Итак, в настройках вы можете увидеть группы «Джойстик 1», «Джойстик 2», «Джойстик 3» и «Джойстик 4». В каждой из них собраны настройки для одного джойстика. Давайте посмотрим настройки для «Джойстика 1». Галочка «Видимость», как вы уже поняли, показывает или прячет джойстик. Если галочка не установлена, то и настройки для этого джойстика будут спрятаны.
Чуть ниже в выпадающем списке «Форма» вы можете выбрать форму джойстика, а вместе с формой и его характеристики. Доступны следующие формы джойстиков: вертикальная, горизонтальная, круглая, квадратная, стрелки, вертикальные стрелки и горизонтальные стрелки. Вот как выглядят перечисленные джойстики:

Вертикальный джойстик воспринимает только высоту прикасания к нему, т.е. ему всё равно, прикоснулись вы к нему левее или правее, главное на какой высоте. Координата касания для него будет в пределах от -100 в самой нижней точке до 100 в самой высокой точке с 0 посередине.
Горизонтальный джойстик работает аналогично, но по горизонтали. Для него всё равно, на какой высоте происходит касание, главное слева или справа. Здесь координата касания вычисляется по горизонтали от -100 в самой левой точке до 100 в самой правой точке с 0 посередине.
Круглый и квадратный джойстики похожи. Здесь определяются координаты касания по горизонтальной и вертикальной осям, также в пределах от -100 до 100 с 0 по центру. Но в круглом джойстике касания не могут выйти за пределы круга. Т.е. если точка касания находится за пределом круга, то будет взята точка, находящаяся на пересечении линии от точки касания до центра круга с окружностью. Нагляднее это видно на рисунке ниже.

Джойстики-стрелки не чувствительны к точке касания, главное, к какой стрелке вы прикасаетесь. Если вы касаетесь стрелки вверх, то считается, что координата джойстика по вертикали будет 100, а по горизонтали 0. Для стрелки вниз, горизонтальная координата джойстика также будет 0, а вертикальная превратится в -100. Аналогично со стрелками влево и вправо: вертикальная координата джойстика будет равна 0, а горизонтальная будет соответственно -100 и 100.
Сразу под формой выбирается тип джойстика в выпадающем списке «Тип». Здесь можно выбрать одно из следующих значений: «Независимые моторы», «Руление 1», «Руление 2» и «Почтовый ящик».
Джойстики с типами «Руление 1» и «Руление 2» позволяют управлять роботом с двумя независимыми ведущими колёсами, таким как Исследователь EV3. Координаты прикосновения к таким джойстикам будут автоматически трансформироваться в команды двигателям. Для джойстика нужно будет только выбрать, на каком порту будет левое, а на каком правое колёса. Но об этом будет написано чуть ниже.
«Руление 1» позволит управлять двухколёсным роботом, как автомобилем. Здесь вы не сможете развернуть робота на месте. Чем ближе касание к центру по вертикали, тем ниже скорость. «Руление 2» позволяет роботу крутиться на месте.
Джойстик с типом «Независимые моторы» преобразует горизонтальную координату касания в команды мотору независимо от вертикальной координаты. Для джойстика нужно будет указать, какой мотор будет управляться при изменении горизонтальной координаты, а какой при изменении вертикальной координаты. Этот тип джойстика можно использовать для управления машиной, у которой один мотор поворачивает руль, а второй мотор крутит ведущие колёса. В этом случае изменение горизонтальной координаты нужно настроить на вращение первого мотора, а изменение вертикальной координаты – на вращение второго мотора.
Джойстик с типом «Почтовый ящик» будет просто передавать координаты прикосновения в почтовые ящики EV3. Чтобы ваш робот ожил, вам нужно будет написать программу для EV3, которая будет обрабатывать эти координаты. С помощью джойстика такого типа вы можете сделать более сложные модели управления роботом, т.к. можете реализовать свой собственный алгоритм преобразования координат снятых с джойстика в команды моторам. Например, вы сможете сделать управление Гиробоем EV3. Джойстик 1 передаёт координаты в почтовые ящики с именами x и y, джойстик 2 – в почтовые ящики w и z, джойстик 3 – в почтовые ящики a и b и джойстик 4 – в почтовые ящики c и d.
Следующие две настройки «Окончание прикосновения (для горизонтальной оси)» и «Окончание прикосновения (для вертикальной оси)» определяют, что будет происходить, когда вы перестали прикасаться к джойстику. Здесь можно выбрать один из двух вариантов: «Возвращаться к нулю» или «Сохранять позицию». Возвращение к нулю имеет смысл использовать в большинстве ситуаций, например, если вам нужно чтобы робот остановился, когда вы перестали прикасаться к джойстику, как раз подходит вариант «Возвращаться к нулю». Вариант с сохранением позиции будет полезен, когда нужно помнить последнюю координату касания. Этот вариант используется, например, для наклона рамки Исследователя EV3. Эта настройка доступна для всех форм джойстика кроме джойстиков-стрелок.
Если вы используете тип джойстика «Независимые моторы», «Руление 1» или «Руление 2», то ниже вы найдёте настройки портов для этого джойстика. Порты, которыми будет управлять джойстик можно добавлять и удалять. Для этого есть кнопки «ДОБАВИТЬ» и «УДАЛИТЬ». Количество портов не ограничено. Снизу на первом рисунке показаны настройки для джойстика с типом «Независимые моторы», а на втором рисунке для джойстика с типами «Руление 1» и «Руление 2». Как видите, есть небольшая разница.

Давайте пробежимся по настройкам портов. Настройка «Ось джойстика» появляется только для джойстика с типом «Независимые моторы». Варианта здесь два: «Горизонтальная» и «Вертикальная». Если вы выбрали «Горизонтальная», то мотор будет реагировать только при изменении координаты прикосновения по горизонтальной оси, а если выбрали «Вертикальная» — то на прикосновения по вертикальной оси.
Настройка «Мотор» появляется только для джойстика с типом «Руление 1» или «Руление 2». Здесь вы выбираете между «Левый» и «Правый».
Настройка «Модуль EV3» понадобится, если вы собрали робота с использование нескольких модулей EV3, соединённых в «гирлянду». Здесь можно выбрать номер модуля от 1 до 4. Если у вас используется только один модуль EV3, то здесь всегда должна быть 1.
Настройкой «Номер порта» вы можете выбрать порт мотора от A до D.
Настройка «Изменяемое значение» появляется только для джойстика с типом «Независимые моторы». Здесь возможно два варианта: «Мощность мотора» и «Угол поворота мотора». Если вы выбрали «Мощность мотора», то джойстик будет влиять на мощность мотора, т.е. чем дальше от центра джойстика вы касаетесь, тем быстрее будет крутиться мотор. Если вы выбрали «Угол поворота мотора», то джойстик будет влиять на угол поворота мотора, т.е. чем дальше от центра джойстика вы касаетесь, тем на больший угол повернётся мотор. В этом случае мощность для мотора будет настраиваться настройкой «Мощность». Чем больше будет эта цифра, тем быстрее мотор будет реагировать на изменение координаты касания, и тем лучше он будет держать угол.
Установка галочки «Инвертировать» позволит инвертировать вычисленную мощность или угол, а «Коэффициент» увеличить или уменьшить вычисленное значение.
При установке галочки «Тормозить», моторы будут останавливаться быстро, т.е. будут тормозить. При снятии этой галочки моторы будут некоторое время крутиться по инерции до полной остановки.
Вот собственно и все настройки, которые есть в программе RoboCam. Если что-то непонятно, пишите в комментариях.
Подключение без роутера
Теперь немного трюков, которые могут сделать использование приложения RoboCam немного удобнее. Если поблизости нет роутера, например, если вы находитесь на улице, вы можете организовать подключение между смартфоном 1 и смартфоном или планшетом 2 напрямую. Для этого вам нужно включить точку доступа на смартфоне 1 (точка доступа в системе Android обычно включается в настройках сетевых подключений). После включения смартфон 1 превратится в роутер W-Fi и вы без проблем сможете подключить к нему планшет или смартфон 2. Вот так схематично будет выглядеть подключение.

Адрес сервера RoboCam вы сможете точно так же узнать из подсказки к кнопке. В большинстве случаев, для такой точки доступа адрес всегда будет http://192.168.43.1:8088.

Использование смартфона 1 как джойстик
Есть ещё один трюк, который вы можете проделать с приложением RoboCam. На смартфоне 1 (на котором у вас установлено приложение RoboCam) запустите сервер, подключитесь к роботу, а затем на этом же смартфоне запустите браузер (естественно такой, который поддерживает HTML5) и перейдите по адресу http://localhost:8088. Вы увидите страничку для ввода логина и пароля. Войдите как водитель. После входа вы увидите джойстики и сможете управлять роботом. Правда в этом случае изображение с камеры передаваться не будет. Wi-Fi можно отключить.

Надеюсь, я дал достаточное количество информации о том, как можно использовать приложение RoboCam. Если остались вопросы по программе или есть предложения, можете оставлять их в комментариях к этой статье или в сообществе RoboCam.
Как управлять роботом ev3 с телефона
Управление с телефона через Bluetooth моделями Lego EV3 Mindstorm

Во-первых нужно создать подходящего робота на базе двух моторов с рулевым управлением и средним мотором, как на фото выше. Можно сделать гоночный болид с управлением влево-вправо с помощью среднего мотора.

В состав стандартных наборов обычно входят два Больших мотора (сервомотора, серводвигателя) и один Средний мотор. Большой мотор содержит в себе встроенный датчик вращения с разрешением в 1 градус для точного контроля угла вращения. Большой мотор оптимизирован для приводных механизмов роботизированных платформ различных видов и назначений.
- Скорость вращения большого мотора 160 – 170 оборотов в минуту
- Вращающий момент 20 ньютон/метр
- Пусковой момент 40 ньютон/метр, то есть медленнее, но мощнее. Еще вращающий момент называют крутящий момент или момент силы
Большой мотор поддерживает автоматическую идентификацию с программным обеспечением EV3. Двигатели можно соединять с любыми выходными портами A, B, C, D. По умолчанию большие моторы подключаются к портам B и C.

Средний мотор — это достаточно точный мотор, который реагирует на команды более точно и быстро, чем большой мотор. Его размер меньше чем у большого мотора и нет встроенного редуктора, за счет этого его мощность не очень большая. Он также содержит в себе встроенный датчик вращения с разрешением в 1 градус для точного контроля угла вращения. Средний мотор чаще всего используется для каких-либо захватов, различных типов передач.
- Скорость вращения среднего мотора 250 – 260 оборотов в минуту
- Его вращающий момент 8 ньютон/метр
- Пусковой момент 12 ньютон/метр, то есть работает быстрее, но с меньшей мощностью
Средний мотор также поддерживает автоматическую идентификацию с программным обеспечением EV3. Как и большой мотор EV3 его можно соединять с любыми выходными портами A, B, C, D. По умолчанию средний мотор подключаются к порту А.

Основы сборки моделей Lego EV3, по ссылке здесь- https://www.lego.com/ru-ru/service/buildinginstructions. (И, смотрите комментарии к статье, приложится pdf — документ, Инструкция). Но часто собрав по инструкции изделие, наши ребята уже импровизируют и собирают нечто свое, но очень прикольное и интересное.
Когда соберете подобного робота, необходимо Программное обеспечение LEGO MINDSTORMS Education EV3. По поиску его не трудно найти, но оно громоздкое, поэтому выкладывать здесь не буду. А дальше подключаете вашего робота-машину через USB к компьютеру и включаете его. Запущенная программа LEGO MINDSTORMS Education EV3, должна его обнаружить.
Прежде чем начинать программировать подключение по Блютуз, вам необходимо скачать на телефон или планшет с Play Market, Microsoft Store или с AppStore следующую программу: EV3 Numeric Pad Plus. Запущенная она выглядит вот так:

Подключение к нашему роботу на базе Lego EV3 Mindstorm в программе происходит следующим образом. Во-первых при запуске спросит разрешение включить Блютуз, необходимо включить. Дальше на роботе в меню, находим опцию Bluetooth и ставим галочку на включение, так же проверьте должна стоять галка на опции Visible. Переходим к телефону и нажимаем кнопку Connect. Ждем, и если все правильно подключаемся к роботу, по умолчанию должно выйти имя робота — EV3 (00:16:53:52:C1:3D — эти символы адрес, он у всех разный).

Принцип работы приложения EV3 Numeric Pad следующий: когда вы касаетесь голубого прямоугольника и водите по нему пальцем, вы тем самым передвигаете по нему красную мишень. В это время приложение постоянно передаёт координаты мишени (по осям X и Y) модулю EV3. Координата по оси X – передаётся в диапазоне от -100 до 100 в почтовый ящик с именем «x», а координата по оси Y – тоже передаётся в диапазоне от -100 до 100, но в почтовый ящик с именем «y» (слева сверху отображаются текущие числа переданные EV3). Такая же ситуация с нижней сине-зеленой полоской, но данный только передаются в почтовый ящик «z». Ну и следуя этой логике начинаем выставлять команды в своей программе для робота. Мы с ребятами ставим блок подключение через Блютуз, а затем бесконечный цикл. Все делаем по минимуму пока, главное чтобы заработало. Совершенству нет предела и программе лоск наводить потом можно так же бесконечно, в зависимости от ваших потребностей.

Продолжить можно с помощью блока на Синей вкладке — «Подключение через Bluetooth».

Мы упростили задачу и сделали движение вперед-назад с помощью блока на Оранжевой вкладке Переключатель. Выбираем условие — Обмен сообщениями → Сравнение → Числовое значение. Обязательно меняем заголовок сообщения с «abc» на «у». Подвигайте на телефоне в программе EV3 Numeric Pad Plus пальцем вверх-вниз по оси, и вы увидите, как меняется значение в левом верхнем углу. Значит когда значение «y» > 0 значит нам следует ехать вперед, ставим блок Рулевое управление с направлением вперед. Если «у»<0 ставим такой же блок в нижнюю часть Переключателя, НО обороты ставим -1, т.е. он едет назад у нас. См.рисунок.

Аналогичная ситуация с поворотами, т.е. передвижением пальца на телефоне по оси «х». Если х<0 то поворот влево, если x>0 то вправо.

Нам осталось прописать команды для среднего мотора, для которого идут данные в ящик «z». Замечу сразу, если вы не рассчитаете обороты мотора, то встретив препятствие и не выполнив до конца команду, робот подвиснет, и пока не остановите его, другие команды выполняться не будут.

Вот у вас получилась самая простенькая программа, которая позволяет управлять моделью Lego EV3 через Bluetooth.

Стандартный робот под управлением блютуз. Можно сделать и другие модельки, гоночного болида.
Управление EV3
Для того, чтобы лучше понимать принципы работы модуля Lego EV3, нужно освоить управление блоком EV3. Микрокомпьютер Lego EV3 является пунктом управления, при помощи которого можно приводить в действие созданных вами роботов.

После включения микроконтроллера EV3 можно увидеть на экране его меню. На экране видно, что происходит внутри блока и теперь доступно использование интерфейса микрокомпьютера EV3, который содержит четыре окна.
При помощи интерфейса микроконтроллера EV3 можно выполнять множество функций. Это может быть просмотр значений датчиков, включение и выключение программ, написание программ и так далее.
Управление EV3 при помощи интерфейса модуля EV3
Управлять модулем EV3 можно при помощи его интерфейса. Меню микрокомпьютера EV3 содержит четыре закладки слева направо:
- Лобби
- Выбор файла
- Приложения
- Настройки
Переключение между закладками меню выполняется при помощи четырех кнопок, которые расположены вокруг центральной. Кнопка «назад», расположенная вверху слева позволяет отменять или возвращаться на действие, которое было раньше.

переключение между закладками модуля
Кнопка «Назад» на микрокомпьютере EV3 не принадлежит к кнопкам управления модулем. Нажатие кнопки «Назад» прерывает выполнение программы. Еще она служит для выключения микроконтроллера. Чтобы выключить модуль кнопку «Назад» нужно нажимать до тех пор, пока не будет показано меню завершения работы.

По умолчанию выбирается вариант «прервать Х». Правой кнопкой передвигаемся на вариант «Принять V», нажимаем кнопку в центре блока кнопок для подтверждения, загорается красная подсветка и микрокомпьютер выключается через двадцать — тридцать секунд. Если нажать вариант «Принять X», то вернемся в окно с запуска последнего действия.
Также в верхняя часть экрана включает в себя:
- Слева значки состояния беспроводного соединения;
- Посередине название модуля;
- Справа подключение по USB к другому устройству и уровень зарядки батареи.
Лобби
В закладке лобби показаны все программы, которые были запущены. Если была запущена программа Demo, то ее можно увидеть на экране.

Выбор файла
Это закладка для работы с файловой системой, где можно получать доступ и управлять файлами в микропроцессоре EV3, включая те файлы, которые хранятся на SD-карте. Файлы сгруппированы по папкам проектов. Эти проекты кроме программных файлов, также включают в себя звуки и изображения, использующиеся в этих проектах.
Файлы можно перемещать или удалять. В этом помогает навигатор по файлам. Программы, которые были созданы при помощи среды программирования блока, сохраняются в отдельной папке. На новом модуле находится только папка с программой Demo. Программа запускается после выделения файла нажатием на центральную кнопку.
Управление EV3 при помощи приложений
На модуль EV3 предварительно установлены приложения, готовые к использованию. В программном обеспечении микроконтроллера EV3 есть возможность для создания своих собственных приложений. После загрузки в микрокомпьютер EV3 эти приложения отображаются в закладке «Приложения».

Более подробно закладка приложения будет освещена в отдельной статье.
Управление EV3 закладка «Настройки»
Эта закладка позволяет просматривать и изменять различные общие настройки модуля EV3. Здесь можно изменять параметры подключения, звука, спящего режима и другие.

Управление роботом LEGO Mindstorms EV3 от первого лица





Роботом, собранным из конструктора LEGO Mindstorms EV3, вы легко можете управлять дистанционно от первого лица. Для этого вам дополнительно понадобится два смартфона, с установленным приложением RoboCam на один из них. Давайте познакомимся подробнее с приложением RoboCam и научимся им пользоваться.

Статья описывает новые возможности, появившиеся в первой версии версии 1.0 приложения RoboCam. Все статьи посвященные приложению RoboCam вы можете найти здесь. Приложение RoboCam можно установить из магазина Google Play.
Сначала давайте посмотрим видео, где показан робот, управляемый от первого лица, которого я назвал Исследователь EV3. Помимо того, что робот может ездить в любом направлении, он умеет поднимать и опускать голову, т.е. рамку, к которой прикреплён смартфон. А это значит, что вы сможете смотреть не только по сторонам, но и вверх/вниз.
Что нужно для проведения эксперимента?
Чтобы повторить эксперимент, который вы видите на видео, вам нужно следующее:
- Робот, собранный из конструктора LEGO Mindstorms EV3.
- Android-смартфон с камерой и установленным на него приложением RoboCam. Поддерживается Android 2.3 и выше. В смартфоне как минимум должна быть хотя бы одна камера, а также модули Bluetooth и Wi-Fi.
- Смартфон или планшет с современным браузером с поддержкой HTML5. Хорошо подходят и протестированы браузеры Google Chrome, Яндекс.Браузер, Firefox и Opera последних версий. Операционная система в принципе может быть любой (Android, iOS или Windows), но полноценные тесты проводились только на Android. У смартфона или планшета должен быть как минимум сенсорный экран (желательно с распознаванием не менее 2-точек касания) и модуль Wi-Fi.
Дальше в статье я буду давать теорию и описывать шаги, которые вам нужно сделать, чтобы повторить эксперимент.
Схема подключения
Сначала, давайте посмотрим, как все перечисленные выше устройства подключены друг к другу. Лучше всего это иллюстрирует рисунок снизу.

Как вы видите, приложение RoboCam установлено на смартфон 1. Этот смартфон прикрепляется к роботу и подключен к нему через Bluetooth. От смартфона 1 к EV3 идут команды управляющие моторами, обратно поступает информация с датчиков.
2-й смартфон или планшет, подключается к смартфону 1 через Wi-Fi. Смартфон 1 и смартфон или планшет 2 должны быть подключены к одному роутеру. От смартфона или планшета 2 идут координаты джойстиков на смартфон 1, а обратно идёт видеопоток с камеры.
Как происходит управление EV3
Чтобы лучше понять, как происходит управление роботом EV3, посмотрим следующую схему.

Когда вы начинаете прикасаться к джойстикам A и B, смартфон или планшет 2 передаёт координаты прикосновений смартфону 1, который преобразует их в команды для моторов EV3. Каким образом координаты будут преобразованы, зависит от настроек приложения RoboCam. Подробнее о настройках мы поговорим ниже.
Собираем робота
Чтобы повторить эксперимент, прежде всего, вам нужно собрать робота, которым вы будете управлять. Это может быть простой двухколёсный робот, робот-автомобиль или робот со сложным механизмом передвижения. По большому счёту не важно, каким будет ваш робот, ведь программа RoboCam гибко настраивается, и вы сможете управлять с её помощью роботом любой конструкции. Главное чтобы вы смогли закрепить на своём роботе смартфон таким образом, чтобы камера была направлена вперёд, по ходу движения.
Начинать я рекомендую с простой модели. Если у вас образовательный набор LEGO Mindstorms EV3, то вы можете собрать Исследователя EV3, которого вы видите на фото и видео в начале статьи. Вот схема сборки Исследователя EV3:

Инструкция для сборки робота исследователя EV3 из базового образовательного набора конструктора LEGO Mindstorms Education EV3 (45544).
В версии 2: рамка закреплена прочнее и не отваливается.
Готовим Android-смартфон и приложение RoboCam
Приложение RoboCam работает на смартфонах или планшетах под управлением операционной системы Android 2.3 и выше. Обязательным является наличие у устройства любой встроенной камеры и модулей Bluetooth и WiFi. Приложение бесплатное, вы можете установить его с помощью магазина Google Play. Вот страничка приложения RoboCam. Для установки нажмите кнопку «УСТАНОВИТЬ», и примите требуемые разрешения, нажав на кнопку «ПРИНЯТЬ».
После установки откройте приложение. В Android 6 и выше, вы сразу увидите запрос на разрешение использовать камеру. Камера нам обязательно нужна, поэтому нажмите «РАЗРЕШИТЬ».

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

Зелёная кнопка слева отвечает за запуск и остановку сервера RoboCam, который нужен для подключения смартфона или планшета 2, см. схему выше. Одновременно кнопка показывает, работает сервер или нет. На картинке фон кнопки белый, это значит, что сервер не работает. Об этом же говорит подсказка сверху. Вы можете в любой момент запустить или остановить сервер, нажав на эту кнопку.
Средняя кнопка пурпурного цвета отвечает за подключение к роботу EV3. Одновременно кнопка показывает, подключен ли смартфон к роботу или нет. На картинке, фон кнопки белый, это значит, что робот не подключен. У этой кнопки тоже есть подсказка, прямо под кнопкой, где в верхней строке отображается состояние подключения (на картинке это надпись «EV3 не подключен»), а в нижней строке – название текущих настроек робота (на картинке это «Исследователь EV3»).
Кнопка справа открывает настройки программы RoboCam. Если вы будете использовать моего Исследователя EV3, то дополнительно ничего настраивать не надо, т.к. сразу после первого запуска приложения по умолчанию будут выбраны настройки с названием «Исследователь EV3». Если робот у вас другой, то сначала придётся поковыряться в настройках. Но об этом поговорим ниже.
Запуск сервера RoboCam и подключение к нему
Сразу скажу, что совсем неважно, что вы сделаете раньше, запустите сервер RoboCam или подключите смартфон к роботу. Это можно сделать в любом порядке.
Итак, после того как приложение установлено на смартфон 1 (см. схемы выше) и открыто, вы можете запустить сервер RoboCam. Для этого нажмите на зелёную копку слева, при этом кнопка начнёт мигать, а в подсказке будет написано «Инициализация сервера RoboCam. ». Через некоторое время, после того как сервер запустится, фон кнопки окрасится в зелёный цвет, а в подсказке будет написано «Сервер RoboCam работает».

Если смартфон ещё не подключен к вашему Wi-Fi-роутеру (как у нас на картинке), то пора это сделать. После подключения в верхней подсказке во второй строке отобразится адрес для подключения к серверу RoboCam. При включении сервера нет разницы, что включать сначала, сервер RoboCam или Wi-Fi.

Теперь вы можете подключиться к серверу RoboCam. Для этого возьмите второй смартфон или планшет (я буду использовать планшет), убедитесь, что он подключен к тому же Wi-Fi-роутеру, откройте браузер и перейдите на страничку с адресом, который показан в подсказке в приложении RoboCam (на картинке это «http://192.168.1.153:8088»). Браузер нужно использовать один из тех, про которые было написано выше. Если вы всё сделали правильно, то в браузере загрузится страничка для ввода логина и пароля. Введите здесь логин и пароль и нажмите кнопку «Войти». Если после установки вы ничего не меняли в настройках, то по умолчанию установлен логин «admin» и пароль «123».

После этого откроется основная страничка сервера RoboCam, на которой вы увидите картинку с камеры смартфона 1 (см. схему выше).

Как видите ориентация смартфона 1 – портретная, а моего планшета – альбомная. Вы можете перевернуть смартфон 1 так, чтобы он тоже был в альбомной ориентации. При этом картинка в на планшете автоматом поменяется на альбомную.
Обратите внимание, что ориентация не меняется, если вы заблокировали смартфон 1.

Чтобы теперь сделать изображение на весь экран, нажмите на значок
справа сверху на странице. Так уберутся все ненужные нам кнопочки, закладки браузера и т.д., а изображение с камеры станет крупнее.

Подключение RoboCam к EV3
Прежде чем подключать приложение RoboCam к EV3 убедитесь, что у вашего робота EV3 и смартфона включён Bluetooth и что они спарены. Также убедитесь, что моторы подключены именно к тем портам, которые указаны в настройках робота. Название текущих настроек написано в подсказке к средней кнопке во второй строке, на картинке ниже, это «Исследователь EV3». Если вы собрали Исследователя EV3 по моей схеме (см. выше) и после установки приложения RoboCam не меняли настройки, то будьте уверены, что всё настроено правильно. Подробно о настройках будет написано ниже.

Итак, если всё готово, нажмите на центральную пурпурную кнопку. Если у вас на смартфоне Bluetooth оказался выключен, то вы увидите запрос на его включение. Нажмите «Да».

Дальше вы увидите, что кнопка начнёт мигать, а вместо подсказки появится список спаренных через Bluetooth устройств. Выберите здесь вашего робота EV3 (на картинке – это «EV3», но у вас в настройках EV3 может быть выставлено другое имя).

После этого приложение подключится к EV3.

Если в это время клиент подключен к серверу RoboCam, то вы увидите, как появятся джойстики (прямоугольный и круглый джойстики на картинке снизу). После этого вы сразу можете управлять роботом.

В настройках по умолчанию для Исследователя EV3 у вас будут два джойстика: круглый и вертикальный (см. картинку выше). Вертикальным джойстиком управляется рамка-держатель смартфона, а круглым – движения робота. Иконка с изображением ладони сверху справа, меняет джойстики местами, чтобы быстро переключать управление для левши и правши. Подробнее о джойстиках будет написано ниже.
Остановка сервера RoboCam и отключение EV3
После того как вы закончили управлять роботом перед тем как закрыть приложение RoboCam рекомендуется остановить сервер RoboCam и отключить EV3 от смартфона. Это можно делать в любом порядке. Для того чтобы остановить сервер нажмите на зелёную кнопку слева. После этого фон кнопки станет белым, а подсказка покажет «Сервер RoboCam выключен». Чтобы отключить EV3, нажмите на центральную пурпурную кнопку. После этого фон кнопки станет белым, а на подсказке в верхней строке вы увидите надпись «EV3 не подключен». При этом моторы остановятся или примут первоначальное положение в зависимости от настроек.
Настройки сервера RoboCam
Чтобы перейти в настройки, нажмите на серую кнопку справа.

Настройки разделены на 2 части: настройки сервера и настройки робота. Сначала давайте посмотрим, что есть в настройках сервера. Выберите «Сервер».

Настройки сервера делятся на 2 группы: настройки камеры и настройки безопасности. В настройках камеры можно выбрать камеру (фронтальную или тыловую), размер изображения и качество JPEG. Чем меньше вы установите размер изображения, тем плавнее и быстрее будет передача видео клиенту, но ухудшится качество картинки. Аналогично влияет передачу видео и качество JPEG: чем лучше качество JPEG (90 и более процентов), тем лучше картинка, но медленнее скорость, и наоборот, чем хуже качество JPEG (40 и менее процентов), тем быстрее скорость, но хуже картинка. Выберите то, что оптимально для вас.

В настройках безопасности вы можете поменять имя и пароль водителя (по умолчанию – имя «admin» и пароль – «123»). Также по умолчанию включены наблюдатели. Наблюдатели могут параллельно с вами видеть изображение с камеры, но не могут управлять роботом. Для наблюдателя также можно задать имя и пароль (по умолчанию здесь используется имя «guest» и пароль «123»). Чтобы выключить наблюдателей, уберите галку «Разрешить наблюдателей».

Количество водителей и наблюдателей не ограничено, однако подключение более одного водителя может вызвать конфликты при одновременном управлении и передаче видео потока. Не рекомендуется подключаться к серверу RoboCam более одного водителя. Большое количество наблюдателей может также негативно сказаться на передаче видео. Желательно уменьшить количество наблюдателей до минимума или вообще отключить эту функцию.
После изменения настроек, вы можете сохранить их, нажав на кнопку «СОХРАНИТЬ» справа сверху или выйти без сохранения, нажав на кнопку «ОТМЕНА» или стрелку слева сверху. После сохранения настроек сервера клиенты могут быть отключены, и нужно будет подключаться снова.
Список настроек роботов
Вторая часть настроек программы RoboCam – это настройки роботов. Нажмите «Робот», чтобы перейти к списку настроек роботов.

В списке настроек роботов вы можете увидеть настройки для всех ваших роботов. Вы в любой момент можете добавить или удалить настройки нажав, соответственно, кнопку «ДОБАВИТЬ» или «УДАЛИТЬ» сверху справа. А сразу под кнопками вы можете увидеть текущие настройки. С помощью этого пункта происходит переключение между настройками для ваших роботов. Теперь давайте посмотрим настройки Исследователя EV3. Для этого выберите в списке «Исследователь EV3».

В самом верху указана общая информация: название робота и описание. Название и описание отображаются в списке, чтобы вы могли легко найти нужные настройки. Также название отображается в основном экране программы под центральной кнопкой, с помощью которой вы подключаетесь к EV3. Ниже идут настройки джойстиков.

Всего вы можете настроить до 4-х джойстиков, но одновременно на экране у клиента будет видна только одна пара джойстиков 1-2 или 3-4. Однако если вы будете использовать джойстик 1 и 3, то они всё равно не будут видны одновременно, т.к. относятся к разным парам, и вы будете видеть либо джойстик 1, либо джойстик 3. Видимость каждого джойстика включается галочкой «Видимость». Если вы включили 2 пары джойстиков, то на экране клиента появится кнопка
для переключения между парами.
Итак, в настройках вы можете увидеть группы «Джойстик 1», «Джойстик 2», «Джойстик 3» и «Джойстик 4». В каждой из них собраны настройки для одного джойстика. Давайте посмотрим настройки для «Джойстика 1». Галочка «Видимость», как вы уже поняли, показывает или прячет джойстик. Если галочка не установлена, то и настройки для этого джойстика будут спрятаны.
Чуть ниже в выпадающем списке «Форма» вы можете выбрать форму джойстика, а вместе с формой и его характеристики. Доступны следующие формы джойстиков: вертикальная, горизонтальная, круглая, квадратная, стрелки, вертикальные стрелки и горизонтальные стрелки. Вот как выглядят перечисленные джойстики:

Вертикальный джойстик воспринимает только высоту прикасания к нему, т.е. ему всё равно, прикоснулись вы к нему левее или правее, главное на какой высоте. Координата касания для него будет в пределах от -100 в самой нижней точке до 100 в самой высокой точке с 0 посередине.
Горизонтальный джойстик работает аналогично, но по горизонтали. Для него всё равно, на какой высоте происходит касание, главное слева или справа. Здесь координата касания вычисляется по горизонтали от -100 в самой левой точке до 100 в самой правой точке с 0 посередине.
Круглый и квадратный джойстики похожи. Здесь определяются координаты касания по горизонтальной и вертикальной осям, также в пределах от -100 до 100 с 0 по центру. Но в круглом джойстике касания не могут выйти за пределы круга. Т.е. если точка касания находится за пределом круга, то будет взята точка, находящаяся на пересечении линии от точки касания до центра круга с окружностью. Нагляднее это видно на рисунке ниже.

Джойстики-стрелки не чувствительны к точке касания, главное, к какой стрелке вы прикасаетесь. Если вы касаетесь стрелки вверх, то считается, что координата джойстика по вертикали будет 100, а по горизонтали 0. Для стрелки вниз, горизонтальная координата джойстика также будет 0, а вертикальная превратится в -100. Аналогично со стрелками влево и вправо: вертикальная координата джойстика будет равна 0, а горизонтальная будет соответственно -100 и 100.
Сразу под формой выбирается тип джойстика в выпадающем списке «Тип». Здесь можно выбрать одно из следующих значений: «Независимые моторы», «Руление 1», «Руление 2» и «Почтовый ящик».
Джойстики с типами «Руление 1» и «Руление 2» позволяют управлять роботом с двумя независимыми ведущими колёсами, таким как Исследователь EV3. Координаты прикосновения к таким джойстикам будут автоматически трансформироваться в команды двигателям. Для джойстика нужно будет только выбрать, на каком порту будет левое, а на каком правое колёса. Но об этом будет написано чуть ниже.
«Руление 1» позволит управлять двухколёсным роботом, как автомобилем. Здесь вы не сможете развернуть робота на месте. Чем ближе касание к центру по вертикали, тем ниже скорость. «Руление 2» позволяет роботу крутиться на месте.
Джойстик с типом «Независимые моторы» преобразует горизонтальную координату касания в команды мотору независимо от вертикальной координаты. Для джойстика нужно будет указать, какой мотор будет управляться при изменении горизонтальной координаты, а какой при изменении вертикальной координаты. Этот тип джойстика можно использовать для управления машиной, у которой один мотор поворачивает руль, а второй мотор крутит ведущие колёса. В этом случае изменение горизонтальной координаты нужно настроить на вращение первого мотора, а изменение вертикальной координаты – на вращение второго мотора.
Джойстик с типом «Почтовый ящик» будет просто передавать координаты прикосновения в почтовые ящики EV3. Чтобы ваш робот ожил, вам нужно будет написать программу для EV3, которая будет обрабатывать эти координаты. С помощью джойстика такого типа вы можете сделать более сложные модели управления роботом, т.к. можете реализовать свой собственный алгоритм преобразования координат снятых с джойстика в команды моторам. Например, вы сможете сделать управление Гиробоем EV3. Джойстик 1 передаёт координаты в почтовые ящики с именами x и y, джойстик 2 – в почтовые ящики w и z, джойстик 3 – в почтовые ящики a и b и джойстик 4 – в почтовые ящики c и d.
Следующие две настройки «Окончание прикосновения (для горизонтальной оси)» и «Окончание прикосновения (для вертикальной оси)» определяют, что будет происходить, когда вы перестали прикасаться к джойстику. Здесь можно выбрать один из двух вариантов: «Возвращаться к нулю» или «Сохранять позицию». Возвращение к нулю имеет смысл использовать в большинстве ситуаций, например, если вам нужно чтобы робот остановился, когда вы перестали прикасаться к джойстику, как раз подходит вариант «Возвращаться к нулю». Вариант с сохранением позиции будет полезен, когда нужно помнить последнюю координату касания. Этот вариант используется, например, для наклона рамки Исследователя EV3. Эта настройка доступна для всех форм джойстика кроме джойстиков-стрелок.
Если вы используете тип джойстика «Независимые моторы», «Руление 1» или «Руление 2», то ниже вы найдёте настройки портов для этого джойстика. Порты, которыми будет управлять джойстик можно добавлять и удалять. Для этого есть кнопки «ДОБАВИТЬ» и «УДАЛИТЬ». Количество портов не ограничено. Снизу на первом рисунке показаны настройки для джойстика с типом «Независимые моторы», а на втором рисунке для джойстика с типами «Руление 1» и «Руление 2». Как видите, есть небольшая разница.


Давайте пробежимся по настройкам портов. Настройка «Ось джойстика» появляется только для джойстика с типом «Независимые моторы». Варианта здесь два: «Горизонтальная» и «Вертикальная». Если вы выбрали «Горизонтальная», то мотор будет реагировать только при изменении координаты прикосновения по горизонтальной оси, а если выбрали «Вертикальная» — то на прикосновения по вертикальной оси.
Настройка «Мотор» появляется только для джойстика с типом «Руление 1» или «Руление 2». Здесь вы выбираете между «Левый» и «Правый».
Настройка «Модуль EV3» понадобится, если вы собрали робота с использование нескольких модулей EV3, соединённых в «гирлянду». Здесь можно выбрать номер модуля от 1 до 4. Если у вас используется только один модуль EV3, то здесь всегда должна быть 1.
Настройкой «Номер порта» вы можете выбрать порт мотора от A до D.
Настройка «Изменяемое значение» появляется только для джойстика с типом «Независимые моторы». Здесь возможно два варианта: «Мощность мотора» и «Угол поворота мотора». Если вы выбрали «Мощность мотора», то джойстик будет влиять на мощность мотора, т.е. чем дальше от центра джойстика вы касаетесь, тем быстрее будет крутиться мотор. Если вы выбрали «Угол поворота мотора», то джойстик будет влиять на угол поворота мотора, т.е. чем дальше от центра джойстика вы касаетесь, тем на больший угол повернётся мотор. В этом случае мощность для мотора будет настраиваться настройкой «Мощность». Чем больше будет эта цифра, тем быстрее мотор будет реагировать на изменение координаты касания, и тем лучше он будет держать угол.
Установка галочки «Инвертировать» позволит инвертировать вычисленную мощность или угол, а «Коэффициент» увеличить или уменьшить вычисленное значение.
При установке галочки «Тормозить», моторы будут останавливаться быстро, т.е. будут тормозить. При снятии этой галочки моторы будут некоторое время крутиться по инерции до полной остановки.
Вот собственно и все настройки, которые есть в программе RoboCam. Если что-то непонятно, пишите в комментариях.
Подключение без роутера
Теперь немного трюков, которые могут сделать использование приложения RoboCam немного удобнее. Если поблизости нет роутера, например, если вы находитесь на улице, вы можете организовать подключение между смартфоном 1 и смартфоном или планшетом 2 напрямую. Для этого вам нужно включить точку доступа на смартфоне 1 (точка доступа в системе Android обычно включается в настройках сетевых подключений). После включения смартфон 1 превратится в роутер W-Fi и вы без проблем сможете подключить к нему планшет или смартфон 2. Вот так схематично будет выглядеть подключение.

Адрес сервера RoboCam вы сможете точно так же узнать из подсказки к кнопке. В большинстве случаев, для такой точки доступа адрес всегда будет http://192.168.43.1:8088.

Использование смартфона 1 как джойстик
Есть ещё один трюк, который вы можете проделать с приложением RoboCam. На смартфоне 1 (на котором у вас установлено приложение RoboCam) запустите сервер, подключитесь к роботу, а затем на этом же смартфоне запустите браузер (естественно такой, который поддерживает HTML5) и перейдите по адресу http://localhost:8088. Вы увидите страничку для ввода логина и пароля. Войдите как водитель. После входа вы увидите джойстики и сможете управлять роботом. Правда в этом случае изображение с камеры передаваться не будет. Wi-Fi можно отключить.

Надеюсь, я дал достаточное количество информации о том, как можно использовать приложение RoboCam. Если остались вопросы по программе или есть предложения, можете оставлять их в комментариях к этой статье или в сообществе RoboCam.
Мастер – класс «Управление роботом с помощью планшета, смартфона».
В последнее время возрастает интерес со стороны государства к проблеме развития научно-технического творчества детей. Поэтому в Концепции развития дополнительного образования, принятой в сентябре 2014 г., дополнительное образование детей рассматривается как одно из приоритетных сфер инновационного развития России и должно соответствовать целям опережающего развития.
Таким требованиям отвечает LEGO-конструирование и робототехника.
Еще Конфуций говорил: «Скажи мне — и я забуду, покажи мне — и я запомню, дай мне сделать — и я пойму». Это наиболее применимо именно к использованию робототехники и теме нашего мастер-класса.
А сейчас немного о нас. В нашем центре реализуются направления: Легоконструирование с 2011 года и Робототехника с января 2016 г. Созданы условия для развития научно-технического творчества учащихся: кабинет оборудован наборами образовательных конструкторов LEGO MINDSTORMS edication EV 3: базовый и ресурсный наборы и программным обеспечением как инструментом для обучения учащихся конструированию, моделированию и компьютерному программированию.
Мы выстраиваем образовательную траекторию учащихся, начиная с 1 по 9 класс. В объединении занимаются более 80 мальчишек.
На уровне начального общего образования учащиеся занимаются легоконструированием по ДОП «Легоконструирование» для детей 7-10 лет.
На занятиях используется игровая и проектная деятельность. Слово «проект» удачно вписалось в систему работы. Дети имеют возможность проявить свою индивидуальность, реализовать свои творческие задумки, фантазию, выразить свое видение мира. Учитывая развитие современного образования, в программу включены занятия с выходом в интернет, мультимедийные презентации. В своей работе использую программу LEGO DigitalDesigner – это удобный виртуальный конструктор, позволяющий создавать различные ЛЕГО объекты как с нуля, так и разбирать или дополнять уже готовые предлагаемые конструкции, что очень нравится детям.
На уровне основного общего образования для детей 10-16 лет усложняется как уровень моделирования, так и уровень программирования роботов.
Безусловно, помимо основных занятий, мы проводим другие различные мероприятия, позволяющие привлечь интерес к данному направлению: соревнования по робототехнике, выставки работ из легоконструктора, викторины, мастер-классы по конструированию и программированию роботов, где юные таланты соревнуются и делятся собственным опытом.
Непосредственными участниками образовательного процесса являются не только учащиеся, но и родители.
Традиционным стало мероприятие совместно с родителями «ЛЕГО — БУМ!», которое вот уже в течение 3 лет проходит в атмосфере заинтересованности и плодотворного сотрудничества.
В прошлом году в рамках творческого отчета ребята 7 класса приняли участие в образовательном Форуме «Радуга творчества», где выступили перед родителями и своими сверстниками на тему: «ПОЧЕМУ Я ЗАНИМАЮСЬ ТЕМ, ЧЕМ ЗАНИМАЮСЬ!». И защитили проект «Робот Центрик», который встречал ребят, родителей, гостей и открывал творческий отчет «Весеннее настроение — 2018!» в конце учебного года.
Мы понимаем, что для развития технической направленности, увеличения охвата детей программами технического творчества недостаточно ресурсов одного нашего учреждения, поэтому на районном форуме ПДО мы предложили расширять партнерство с организациями и учреждениями района по вопросам развития технического творчества и внесли предложение — создать сообщество педагогов по работотехнике для дальнейшего развития этого направления в районе.
Последующим шагом — мы зарегистрировались как участники комплекса учебно-тренировочных и спортивных мероприятий всероссийской программы «Робототехника: инженерно-технические кадры инновационной России».
Одним из основных направлений работы является подготовка к робототехническим соревнованиям и участие в них. Соревнования – это не только подведение промежуточных итогов, но и явный и неявный обмен опытом, выработка вариативности профессиональных навыков, умения работать в команде над общей задачей. Это систематическая подготовка к районным, республиканским и всероссийским соревнованиям, где мы являемся постоянными участниками и призерами.
И сегодня на мастер-классе хочется поделиться опытом по управлению роботом с помощью планшета, смартфона.
