Если при использовании обратной связи от датчиков ваш робот ведет себя не так, как задумано, вы можете следовать пошаговой процедуре устранения неполадок, чтобы найти и устранить неполадки. В этой статье объясняются этапы процесса устранения неполадок, а также даются советы по их использованию.
Примечание: на некоторых изображениях в этой статье показаны роботы VEX EXP. Тот же процесс применяется к роботам VEX CTE и связанным с ними датчикам.
Этапы этого процесса таковы:
- Определите проблему
- Проверьте оборудование
- Проверить программное обеспечение
- Анализируйте и применяйте данные
Определите проблему
Первым шагом при устранении неисправностей датчика является определение того, какой именно датчик является причиной проблемы. Сравните наблюдаемое поведение робота с предполагаемым поведением робота. Вызвано ли проблемное поведение датчиком? Если да, то какой датчик? Если вам нужна дополнительная информация о том, какой датчик может быть неисправен, прочитайте приведенные ниже статьи, посвященные датчикам вашего робота.
Датчики VEX CTE:
- Использование датчика расстояния с VEX CTE
- Использование оптического датчика с VEX CTE
- Использование датчика объектов с VEX CTE
Определив, какой датчик вызывает непреднамеренное поведение, можно двигаться дальше.
Проверьте оборудование
Вторым шагом является проверка оборудования робота, чтобы убедиться, что датчик может функционировать так, как задумано. Каждое из следующих факторов, связанных с оборудованием, может повлиять на функциональность вашего датчика.
Проверьте размещение датчика
Начните с определения местонахождения датчика. Не заблокирован ли датчик чем-либо, например другой частью вашей конструкции? Убедитесь, что датчик имеет достаточно места для правильной работы.
Как показано здесь, датчик объектов имеет четкую линию обзора конвейера с объектами, которые он должен обнаруживать.
Проверьте подключение датчика
Проверьте функциональность датчика, просмотрев данные, отображаемые на экране устройств VEX EXP Brain. Это поможет вам убедиться, что датчик подключен и работает.
Чтобы получить доступ к экрану устройств, действия, описанные в этой статье. После открытия экрана устройств проверьте, передает ли датчик данные.
Если датчик не передает данные, убедитесь, что датчики подключены правильно. При подключении датчиков к Smart Port вы должны услышать щелчок, когда фиксатор датчика полностью зафиксируется в порту.
При подключении датчиков к 3-проводному порту кабель должен быть полностью вставлен в правильной ориентации так, чтобы белый провод располагался как можно ближе к экрану Brain.
Вы также можете попробовать заменить используемый вами датчик на другой и посмотреть, решит ли это проблему.
Если вы что-то изменили в размещении или подключении датчика, снова протестируйте свой проект, чтобы увидеть, решило ли это проблему. Если размещение и подключение датчика не изменились, перейдите к следующему шагу, чтобы продолжить процесс устранения неполадок.
Проверить программное обеспечение
Убедившись, что датчик успешно установлен и подключен к роботу, вы можете перейти к проекту VEXcode EXP. Итерации проекта могут помочь вам гарантировать, что данные с датчика используются эффективно в вашем проекте. Следующие стратегии могут помочь вам при кодировании вашего датчика.
Если вы применили какую-либо из этих стратегий к своему проекту VEXcode EXP, протестируйте его еще раз, чтобы увидеть, решило ли это проблему.
Проверьте прошивку и конфигурацию
Начните с проверки того, что прошивка вашего EXP Brain обновлена.
Теперь, когда вы уверены, что все устройства правильно подключены к Brain, проверьте конфигурацию устройства в VEXcode EXP.
Проверьте, все ли датчики присутствуют в конфигурации. Затем проверьте, что каждый из них подключен к правильному порту.
Измените любые неверные конфигурации устройства.
Запустить пример проекта
Откройте пример проекта, в котором используется датчик, неполадки которого вы устраняете. Вы можете выбрать категорию «Датчики», чтобы отфильтровать примеры проектов.
После открытия прочтите примечание, чтобы определить, соответствуют ли функциональные возможности в примере проекта тому, что вы пытаетесь сделать с помощью датчика.
В показанном здесь примере проекта в примечании указано, что переключатель Bumper Switch используется с EXP Basebot для определения момента нажатия переключателя, чтобы робот мог прекратить движение при соприкосновении с объектом.
Запустите пример проекта и понаблюдайте за поведением робота. Затем просмотрите проект, чтобы увидеть, как данные датчиков используются для того, чтобы вызвать наблюдаемое поведение. Для облегчения работы вам, возможно, придется запустить пример проекта несколько раз.
Вы можете попробовать создать свой собственный упрощенный проект, чтобы применить к своей задаче то, чему вы научились в примере проекта.
Используйте другие инструменты VEXcode EXP
Существуют также инструменты и стратегии, которые вы можете использовать, чтобы узнать больше о кодировании датчика в VEXcode EXP. Информацию о блоках и командах панели инструментов можно получить по отдельности, воспользовавшись справкой. Вы также можете просматривать данные датчиков во время выполнения проекта, чтобы узнать больше о том, что сообщает датчик.
Помощь
Прочитайте справку по блокам или командам в примере проекта или в вашем проекте, чтобы узнать об используемых данных, о том, какие значения будет возвращать команда, и о примерах использования команды в проекте.
Прочитайте эту статью, чтобы узнать больше о доступе к справке в блоках VEXcode EXP.
Просмотрите эту статью, чтобы узнать больше о доступе к справке в VEXcode EXP Python.
Печать данных
Вы также можете распечатать данные с датчика во время работы проекта-примера или своего проекта, чтобы лучше понять, что сообщает датчик в режиме реального времени. Это поможет вам определить, какие значения, полученные от датчика, следует использовать в качестве параметров в вашем проекте.
Обратите внимание, что в проекте Blocks можно использовать отдельный блок {When started} hat, чтобы все команды печати были организованы в их собственном стеке.
Блоки VEXcode EXP
VEXcode EXP Python
VEXcode EXP C++
Выберите каждое изображение выше, чтобы увеличить его.
Печать в EXP Brain полезна, когда вы хотите увидеть, как изменяются значения по мере выполнения проекта VEXcode EXP. Это поможет вам определить, какие значения, полученные от датчика, следует использовать в качестве параметров в вашем проекте. Эти команды печати можно встроить в уже созданный вами проект VEXcode EXP, чтобы вы могли видеть, как значения датчиков изменяются в определенные моменты времени во время движения робота.
Приведенные выше примеры проектов показывают, как выводить значения из инерциального датчика в EXP Brain. Комментарии в каждом проекте объясняют ход проекта и использование каждой команды.
Блоки VEXcode EXP
VEXcode EXP Python
VEXcode EXP C++
Выберите каждое изображение выше, чтобы увеличить его.
Печать на консоли печати в VEXcode EXP рекомендуется в случае, если вы запускаете проект VEXcode EXP, в котором робот НЕ двигается. EXP Brain должен оставаться подключенным во время выполнения проекта, чтобы можно было печатать на консоли печати. Это полезно, поскольку вы можете считывать значения из окна VEXcode EXP, а не пытаться считывать данные с экрана Brain.
В этих примерах показан проект печати данных с датчика расстояния на консоль в VEXcode EXP.
Дополнительную информацию об использовании консоли печати в блоках VEXcode EXP см. в этой статье.
Дополнительную информацию об использовании консоли печати в VEXcode EXP Python см. в этой статье.
Анализ и применение данных
Затем используйте знания, полученные на предыдущих этапах, чтобы скорректировать свой первоначальный проект. Вы можете продолжать использовать такие инструменты, как справка и печать данных, чтобы иметь возможность эффективно использовать датчик для достижения своей цели.
Вы также можете задавать вопросы о своем проекте, которые помогут вам двигаться вперед. Подумайте о таких вещах:
- Используете ли вы в своем проекте значение больше < или меньше > ? Символ направлен в правильном направлении? Если вы используете знак «равно» =, попробуйте заменить его на «больше» или «меньше», чтобы использовать диапазон значений.
- Корректны ли ваши параметры? Используете ли вы данные с датчика для настройки своих параметров? Выбрали ли вы нужный вам вариант раскрывающегося списка?
- Вы проверяете условия более одного раза? Попробуйте добавить в свой проект цикл Forever, чтобы условие проверялось многократно при запуске проекта.
- Ваш проект зависает? Правильно ли заданы условия? Если вы используете вложенные циклы, попробуйте упростить свой проект, чтобы изолировать отдельные поведения.
- Влияют ли условия окружающей среды на работу датчика? Слишком ярко или слишком темно? Есть ли на пути предметы или люди? Попробуйте запустить свой проект в другом месте и посмотрите, поможет ли это.
- Вы используете последнюю версию своего проекта? Вы загрузили обновлённый проект в Brain? Обязательно загружайте проект заново каждый раз после внесения изменений.
- Вы правильно определяете цвет? Датчик сообщает о цвете, отличном от того, который используется в вашем проекте? Попробуйте изменить параметр цвета или использовать диапазон значений оттенка и посмотрите, поможет ли это.
- Вы обнаружили объект в поле зрения датчика? Помните, что поле зрения движется вместе с движением робота.
- Используете ли вы блок ожидания при проверке условия? Обязательно используйте блоки без ожидания в проекте при проверке условия. Просмотрите эту статью, чтобы узнать больше об ожидающих и не ожидающих блоках в VEXcode EXP.
- Если вы кодируете блоками, весь ли ваш стек прикреплён к блоку {When started} ? Блоки будут работать только при их подключении. Вы можете услышать щелчок, когда перетаскиваете блоки и соединяете их вместе.
Отвечая на эти вопросы, обязательно меняйте что-то одно в своем проекте за раз, тестируйте, а затем оценивайте, было ли это изменение эффективным. Регулярное тестирование проекта поможет вам легче увидеть, как ваш код связан с поведением робота. Возможно, вам придется повторить шаги процесса устранения неполадок несколько раз, чтобы решить проблему, и это нормально. Каждая итерация поможет вам узнать больше об используемом датчике и о том, как его кодировать в VEXcode EXP.