Устранение неполадок датчиков IQ (2-го поколения)

Если ваш робот при использовании обратной связи от датчиков ведет себя не так, как предполагалось, вы можете выполнить пошаговую процедуру устранения неполадок, чтобы найти и устранить проблемы. В этой статье будут объяснены этапы процесса устранения неполадок и приведены советы по их использованию. 

Этапы этого процесса следующие:

  1. Определите проблему
  2. Проверьте оборудование
  3. Проверьте программное обеспечение
  4. Анализируйте и применяйте данные

Определите проблему

Первым шагом к устранению неполадок вашего датчика является определение того, какой датчик вызывает проблему. Сравните наблюдаемое поведение робота с предполагаемым поведением робота. Вызвано ли проблемное поведение датчиком? Если да, то какой датчик? Если вам нужна дополнительная информация, чтобы определить, какой датчик может быть проблемой, прочитайте приведенные ниже статьи, посвященные датчикам вашего робота.

Датчики VEX IQ (2-го поколения):

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


Проверить оборудование

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

Проверьте размещение датчика

Простая сборка Clawbot, едущего по полю. У робота есть прикрепленный оптический датчик, который подсвечивается и указывает на красный куб перед ним.

Начните с осмотра места расположения датчика на вашем роботе. Датчик заблокирован чем-нибудь, например, другой частью вашего робота? Убедитесь, что датчик имеет достаточно места для правильной работы.

Как показано здесь, оптический датчик имеет четкую линию обзора объекта, который он должен обнаружить.

Проверьте подключение датчика

Экран Brain отображается в меню «Устройства» с выбранным устройством Touch LED.

Проверьте функциональность датчика, просмотрев данные, отображаемые на экране «Устройства» устройства VEX IQ (2-го поколения). Это поможет вам убедиться, что датчик подключен и работает.

Чтобы получить доступ к экрану «Устройства», выполните действия, описанные в этой статье.

Схема мозга (2-го поколения), подключенного к датчику расстояния (2-го поколения).

Когда откроется экран «Устройства», проверьте, передает ли датчик данные.

Если нет, убедитесь, что датчики подключены правильно. При подключении датчиков вы должны услышать щелчок, когда фиксатор датчика полностью войдет в порт.

Вы также можете попробовать заменить используемый датчик на другой, чтобы посмотреть, решит ли это вашу проблему.

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


Проверить программное обеспечение

Как только вы определите, что датчик установлен и успешно подключен к роботу, вы можете перейти к следующему проекту VEXcode IQ. Повторение проекта может помочь вам убедиться в том, что данные с датчика эффективно используются в вашем проекте. Следующие стратегии могут помочь вам в кодировании датчика.

Если вы примените любую из этих стратегий к своему проекту VEXcode IQ, протестируйте свой проект еще раз, чтобы увидеть, решило ли это проблему.

Проверьте прошивку и конфигурацию

Меню устройств VEXcode IQ с длинным списком подключенных устройств. Это меню можно использовать для проверки правильности подключения каждого датчика и его конкретного порта на модуле Brain.

Теперь, когда вы уверены, что все устройства правильно подключены к Brain, проверьте конфигурацию устройств в VEXcode IQ.

Убедитесь, что все датчики присутствуют в конфигурации. Затем убедитесь, что каждый из них подключен к правильному порту.

Измените любые неправильные конфигурации устройства.

Запустите пример проекта

Меню примеров проектов блоков VEXcode с множеством проектов из разных категорий на выбор. Выделена категория «Ощущение».

Откройте пример проекта, в котором используется датчик, неисправность которого вы устраняете. Вы можете выбрать категорию «Обнаружение», чтобы отфильтровать примеры проектов.

Дополнительную информацию о примерах проектов и шаблонах блоков IQ см. в этой статье.

Дополнительную информацию о примерах проектов и шаблонах IQ Python см. в этой статье.

Дополнительную информацию о примерах проектов и шаблонах IQ C++ см. в этой статье.

VEXcode IQ с примером проекта, открытым из категории «Датчики», включая стек блоков кода и заметку с описанием проекта. Примечание выделено.

После открытия прочитайте примечание, чтобы определить, соответствует ли функциональность примера проекта тому, что вы пытаетесь сделать с датчиком.

В примере проекта, показанном здесь, примечание указывает, что датчик расстояния используется для обнаружения объекта, чтобы робот мог прекратить движение, как только объект будет достигнут.

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

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

Используйте другие инструменты VEXcode IQ

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

VEXcode IQ с открытым меню «Справка» и выбранным блоком заголовка «Диск». Описания блока и способы его использования приведены вместе с изображениями примеров использования.

Помощь

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

Прочтите эту статью, чтобы узнать больше о доступе к справке в блоках VEXcode IQ.

Прочтите эту статью, чтобы узнать больше о доступе к справке в VEXcode IQ Python.

Прочтите эту статью, чтобы узнать больше о доступе к справке в VEXcode IQ C++.

Печать данных

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

Обратите внимание, что в проекте Blocks можно использовать отдельный блок со шляпкой {When started} , чтобы все команды печати были организованы в отдельный стек.

Блоки VEXcode IQ
Проект блоков VEXcode IQ, который использует блок «При запуске» для печати данных датчиков в реальном времени во время выполнения проекта. Проект имеет блок «Когда начато», за которым следуют 4 блока в цикле «Навсегда». В цикле сначала идет блок комментариев, который гласит: «Вывести значение крена инерционного датчика на мозг», а затем перейти к следующей строке. Далее блок Print считывает печать BrainInertial ориентации рулона на Brain и устанавливает курсор на следующую строку. Далее следует блок комментариев: «Подождите, пока выведется значение, затем повторите цикл». Наконец, блок ожидания читает ожидание 0,1 секунды.
VEXcode IQ Python
while (True):
Brain.screen.set_font(FontType.MONO40)
Brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
Brain.screen.next_row()
wait(0,1, СЕКУНДЫ)
VEXcode IQ C++
int main() 
{
while(true)
{
Brain.Screen.setFont(mono40);
Brain.Screen.print(BrainInertial.orientation(крен, градусы));
Brain.Screen.newLine();
ожидание (0,1 секунды);
} }

Печать в IQ Brain полезна, если вы хотите увидеть, как значения изменяются во время работы проекта VEXcode IQ. Это может помочь вам определить, какие значения, сообщаемые датчиком, использовать в качестве параметров в вашем проекте. Эти команды печати могут быть встроены в уже созданный вами проект VEXcode IQ, чтобы вы могли видеть, как значения датчиков меняются в определенные моменты времени во время движения робота. 

В приведенных выше примерах проектов показано, как распечатать значения из инерционного датчика в IQ Brain. Комментарии в каждом проекте объясняют ход проекта и использование каждой команды.

Блоки VEXcode IQ VEXcode IQ Python

Проект блоков VEXcode IQ, который использует блок «При запуске» для печати данных датчиков в реальном времени во время выполнения проекта. Проект имеет блок «Когда начато», за которым следуют 4 блока в цикле «Навсегда». В цикле сначала идет блок комментариев, который гласит: «Вывести значение датчика расстояния на консоль», а затем перейти к следующей строке. Далее блок печати считывает расстояние объекта Distance5 в мм на консоли и устанавливает курсор на следующую строку. Далее следует блок комментариев: «Подождите, пока выведется значение, затем повторите цикл». Наконец, блок ожидания читает ожидание 0,1 секунды.

while (True):
печать (distance_7.object_distance (MM))
ожидание (0,1, СЕКУНДЫ)
VEXcode IQ C++
int main() 
{
while (true)
{
printf(Distance7.objectDistance(mm));
printf("\n");
ожидание (0,1 секунды);
} }

Печать на консоли печати в VEXcode IQ рекомендуется при запуске проекта VEXcode IQ, в котором робот НЕ перемещается. IQ Brain должен оставаться подключенным во время выполнения проекта, чтобы можно было печатать на консоли печати. Это выгодно, поскольку вы можете считывать значения из окна VEXcode IQ, а не пытаться читать данные с экрана Brain.

В этих примерах показан проект печати данных с датчика расстояния (2-го поколения) на консоль в VEXcode IQ. 

Дополнительную информацию об использовании консоли печати в блоках VEXcode IQ см. в этой статье.

Дополнительную информацию об использовании консоли печати в VEXcode IQ Python см. в этой статье.


Анализируйте и применяйте данные

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

Вы также можете задавать вопросы о своем проекте, которые помогут вам двигаться вперед. Подумайте о таких вещах, как:

  • Используете ли вы в своем проекте число больше < или меньше > ? Направлен ли символ в правильном направлении? Если вы используете «равно =», попробуйте заменить его на «больше» или «меньше», чтобы использовать диапазон значений.
  • У тебя правильные параметры? Используете ли вы данные датчика для настройки параметров? Вы выбрали нужный вам вариант раскрывающегося списка?
  • Вы проверяете условия более одного раза? Попробуйте добавить в проект цикл Forever, чтобы условие неоднократно проверялось при запуске проекта.
  • Ваш проект застрял? Правильно ли заданы ваши условия? Если вы используете вложенные циклы, попробуйте упростить проект, чтобы изолировать отдельные варианты поведения.
  • Влияют ли условия окружающей среды на датчик? Слишком светло или слишком темно? Есть ли на пути предметы или люди? Попробуйте запустить проект в другом месте и посмотрите, поможет ли это.
  • Вы используете самую последнюю версию своего проекта? Вы загрузили в Мозг свой обновлённый проект? Обязательно перезагружайте проект каждый раз, когда вносите изменения.
  • Правильно ли вы определяете цвет? Датчик сообщает цвет, отличный от того, который указан в вашем проекте? Попробуйте изменить параметр цвета или использовать диапазон значений оттенка, чтобы посмотреть, поможет ли это.
  • Обнаруживаете ли вы объект в поле зрения датчика? Помните, что поле зрения перемещается вместе с движением робота.
  • Используете ли вы блок ожидания при проверке условия? Обязательно используйте в проекте блоки без ожидания при проверке условия. Прочтите эту статью, чтобы узнать больше об ожидающих и неожидающих блоках в VEXcode IQ.
  • Если вы кодируете блоками, весь ваш стек прикреплен к {When started} шляпному блоку? блока будут работать только тогда, когда они соединены. Вы можете услышать звук щелчка, когда перетаскиваете блоки и соединяете их вместе.

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

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: