Соревновония Lego роботов 2.Соревновония Lego роботов 1.

Джойстики в RobotC

Аватар пользователя Овсянников Алексей Юрьевич

RobotC официально поддерживает конструкторы TETRIX и MATRIX, причем с одной интересной особенностью - он может моделировать поведение системы управления полем в соревнованиях FIRST Tech Challenge (о них подробнее будет рассказано неного позже). Так, если по правилам FTC еть режим управления роботом с помощью джойстиков, то и RobotC позволяет это сделать. К сожалению, их использование оказалос не стольк очевидным, как хотелось бы. Поэтому пришлось заглянуть в Хелп и немного разобраться. В принципе, все довольно просто, но неприятно то, что Хелп только на английском языке. поэтому я решил перевести данную главу и выкладываю здесь то, что получилось (оригинальный Хелп). Надеюсь, что кому-нибудь перевод поможет.

 

RobotC имеет два различных режима управления от джойстиков (Joystick Control) в интерактивном отладчике. "Joystick Control - Basic" – это окно отладчика, предназначенное для удаленного управления NXT с помощью USB джойстика Logitech. "Joystick Control - Game " – это полноценная станция удаленного управления, используемая, главным образом, для FIRST Tech Challenge и других соревнований, основанных на NXT или TETRIX/MATRIX.

 

 "Joystick Control - Basic"

Вы можете использовать джойстики в RobotC так:

  •      Загрузите Вашу программу и запустите отладчик;

  •      Войдите в меню «Robot»

  •      Выберите подменю "Debug Windows"

  •      Выберите "Joystick Control - Basic" чтобы открыть окно Joystick Control

При первом открытии окна Joystick Control RobotC определяет все подключенные к компьютеру USB-джойстики. Вы можете выбрать, каким из ждойстиков должен управляться робот с помощью списка внизу. Если у Вас ни одного доступного джойстика, список будет пустым и RobotC предупредит Вас "No Controllers Configured". Если RobotC по какой-то причине не определил Ваш джойстик, переподключите его и выберите "Refresh List".

Вы можете увидеть данные, передаваемые с джойстика: X1, Y1, POV, X2, Y2 и Buttons выводятся на экран сразу ниже выпадающего меню. Это дает Вам обрятную связ в реальном времени о том, какие значения передадутся на NXT с джойстика. Так же эти данные иллюстрируются белыми отметками на рисунке джойстика.

RobotC передает данные с джойстика на NXT по Bluetooth, USB или WiFi только когда открыто окно Joystick Control.

 

"Joystick Control - Game"

Второе окно Joystick Control называется "Joystick Control - Game". Это окно разработано специально для имитации соревнований FIRST Tech Challenge. Вы можете использовать окно "Joystick Control - Game" для проверки Вашей программы для FTC, которое имитирует поведение системы управления полем. В это входит переключение между Автономным и Управляемым режимами, изменения в альянсе, в который входит робот, и отключение (или пауза) Вашего робота.Эти команды можно найти справа от изображения джойстика.

Для того чтобы открыть окно "Joystick Control - Game":

  •       Перейдите в меню «Window»

  •       Выберите подменю "Menu Level"

  •       Выберите вариант "Expert"

  •       Загрузите программу и запустите отлачик

  •       Перейдите в меню “Robot”

  •       Выберите подменю "Debug Windows"

  •       Кликните вариант "Joystick Control - Game"

Как Вы можете видеть, окно имеет несколько опций окна "Joystick Control - Simple". Каждый переключатель соответствует различным «игровым режимам»:

  •      Autonomous: Ready – устанавливает компьютер в «до-автономный» режим;

  •      Autonomous: Running – запуск автономной части кода

  •      Tele OP: Ready – установка компьютера в «пост-автономный» и «до-управляемы» режим.

  •      Tele Op: Running – запуск телеуправляемой (управляемой) части кода;

  •      All Stopped: - остановка выполнения всего кода.

Так же есть выпадающее меню "Teleop Program Name", в котором можно выбрать программу, которую Вы хотите запустить на NXT в управляемом режиме.

Если Вы захотите использовать два контроллера (джойстика), установите флаг "Dual Joysticks" для расширения окна Joystick Control и отображения двух контроллеров. Вы можете подключить один и тот же контроллер как Ведущий (Primary) и Второстепенный (Secondary), но это не рекомендуется делать.