Если ваш робот при использовании обратной связи от датчиков ведет себя не так, как предполагалось, вы можете выполнить пошаговую процедуру устранения неполадок, чтобы найти и устранить проблемы. В этой статье будут объяснены этапы процесса устранения неполадок и приведены советы по их использованию.
Этапы этого процесса следующие:
- Определите проблему
- Проверьте оборудование
- Проверьте программное обеспечение
- Анализируйте и применяйте данные
Определите проблему
Первым шагом к устранению неполадок вашего датчика является определение того, какой датчик вызывает проблему. Сравните наблюдаемое поведение робота с предполагаемым поведением робота. Вызвано ли проблемное поведение датчиком? Если да, то какой датчик? Если вам нужна дополнительная информация, чтобы определить, какой датчик может быть проблемой, прочитайте приведенные ниже статьи, посвященные датчикам вашего робота.
Датчики VEX V5:
- Использование датчика расстояния V5
- Использование GPS-датчика V5
- Использование инерциального датчика V5
- Использование оптического датчика V5
- Использование датчика вращения V5
- Использование 3-проводного бамперного переключателя V5, концевого выключателя v2 &
- Использование 3-проводного светодиодного индикатора V5
- Использование 3-проводного датчика освещенности V5
- Использование устройства отслеживания 3-проводной линии V5
- Использование 3-проводного потенциометра V5
После того, как вы определили, какой датчик вызывает непредвиденное поведение, вы можете двигаться дальше.
Проверьте оборудование
Второй шаг — проверить аппаратное обеспечение робота, чтобы убедиться, что датчик может работать должным образом. Каждая из следующих проблем с аппаратным обеспечением может повлиять на функциональность вашего датчика.
Проверьте расположение датчика.
Начните с осмотра места расположения датчика на вашем роботе. Датчик заблокирован чем-нибудь, например, другой частью вашего робота? Убедитесь, что датчик имеет достаточно места для правильной работы.
Как показано здесь, оптический датчик имеет четкую линию обзора объекта, который он должен обнаружить.
Проверьте подключение датчика
Проверьте функциональность датчика, просмотрев данные, представленные на экране «Устройства» на VEX V5 Brain. Это поможет вам убедиться, что датчик подключен и работает.
Чтобы получить доступ к экрану «Устройства», действия, описанные в этой статье. После открытия экрана «Устройства» проверьте, отображается ли датчик в правильном расположении порта и сообщает ли он данные. Здесь оптический датчик обнаруживается в интеллектуальном порту 11.
Если датчик не передает данные, убедитесь, что датчики подключены правильно. При подключении датчиков к интеллектуальному порту вы должны услышать щелчок, когда фиксатор датчика полностью войдет в порт.
При подключении датчиков к 3-проводному порту кабель должен быть полностью вставлен в правильной ориентации так, чтобы белый провод был ближе всего к экрану Brain.
Вы также можете попробовать заменить используемый датчик на другой, чтобы посмотреть, решит ли это вашу проблему.
Если вы изменили что-то в размещении датчика или его подключении, проверьте свой проект еще раз, чтобы увидеть, решило ли это проблему. Если расположение и подключение датчика не изменились, перейдите к следующему шагу, чтобы продолжить процесс устранения неполадок.
Проверить программное обеспечение
После того, как вы убедитесь, что датчик установлен на роботе и успешно подключен к нему, вы можете перейти к проекту VEXcode V5. Повторение проекта может помочь вам убедиться в том, что данные с датчика эффективно используются в вашем проекте. Следующие стратегии могут помочь вам в кодировании датчика.
Если вы примените любую из этих стратегий к своему проекту VEXcode V5, протестируйте свой проект еще раз, чтобы увидеть, решило ли это проблему.
Проверьте прошивку и конфигурацию
Для начала убедитесь, что прошивка вашего V5 Brain обновлена до последней версии.
Прочтите эту статью, чтобы узнать больше об обновлении прошивки V5 Brain.
Теперь, когда вы уверены, что все устройства правильно подключены к Brain, проверьте конфигурацию устройств в VEXcode V5.
Убедитесь, что все датчики присутствуют в конфигурации. Затем убедитесь, что каждый из них подключен к правильному порту.
Измените любые неправильные конфигурации устройства.
Запустите пример проекта
Откройте пример проекта, в котором используется датчик, неисправность которого вы устраняете. Вы можете выбрать категорию «Обнаружение», чтобы отфильтровать примеры проектов.
Для получения дополнительной информации о примерах проектов и шаблонах V5 Blocks эту статью.
Для получения дополнительной информации о примерах проектов и шаблонах Python V5 . эту статью.
Для получения дополнительной информации о примерах проектов и шаблонах V5 C++ эту статью.
После открытия прочитайте примечание, чтобы определить, соответствует ли функциональность примера проекта тому, что вы пытаетесь сделать с датчиком.
В примере проекта, показанном здесь, примечание указывает, что состояние нажатого бамперного выключателя или концевого выключателя будет напечатано на экране Brain. В этом случае True указывает на нажатие, а False указывает на отсутствие нажатия.
Запустите пример проекта и понаблюдайте за поведением робота. Затем посмотрите на проект, чтобы увидеть, как данные датчиков используются для того, чтобы вызвать наблюдаемое поведение. Чтобы помочь в этом, вы можете запустить пример проекта несколько раз.
Возможно, вы захотите попытаться создать свой собственный упрощенный проект, чтобы применить к своей задаче то, что вы узнали из примера проекта.
Используйте другие инструменты VEXcode V5
Существуют также инструменты и стратегии, которые вы можете использовать, чтобы помочь вам узнать больше о кодировании вашего датчика в VEXcode V5. Вы можете узнать о блоках или командах на панели инструментов индивидуально, используя справку. Вы также можете просматривать данные датчиков во время выполнения проекта, чтобы узнать больше о том, что сообщает датчик.
Помощь
Прочтите справку по блокам или командам в примере проекта или в вашем проекте, чтобы узнать об используемых данных, о том, какие значения будет сообщать команда, а также о примерах использования команды в проекте.
Прочтите эту статью, чтобы узнать больше о доступе к справке в блоках VEXcode V5.
Прочтите эту статью, чтобы узнать больше о доступе к справке в VEXcode V5 Python.
Прочтите эту статью, чтобы узнать больше о доступе к справке в VEXcode V5 C++.
Печать данных
Вы также можете распечатать данные с датчика во время выполнения примера проекта или вашего проекта, чтобы лучше понять, о чем сообщает датчик в режиме реального времени. Это может помочь вам определить, какие значения, сообщаемые датчиком, использовать в качестве параметров в вашем проекте.
Обратите внимание, что в проекте Blocks можно использовать отдельный блок со шляпкой {When started} , чтобы все команды печати были организованы в отдельный стек.
| Блоки VEXcode V5 |
| VEXcode V5 Python |
# Начало кода проекта
# Увеличьте размер шрифта для удобства чтения на экране Brain
brain.screen.set_font(FontType.MONO40)
while True:
# Каждая итерация цикла будет очищать экран
brain.screen.clear_screen()
# После очистки экрана установите курсор печати обратно в верхний левый угол
brain.screen.set_cursor(1, 1)
# Выведите метку и значение расстояния до объекта на одной строке
brain.screen.print("Расстояние (мм): ")
brain.screen.print(distance_19.object_distance(MM))
brain.screen.next_row()
wait(0.5, SECONDS) |
| VEXcode V5 С++ |
int main() {
// Увеличьте размер шрифта для удобства чтения на экране Brain
Brain.Screen.setFont(mono40);
while (true) {
// Каждая итерация цикла очищает экран
Brain.Screen.clearScreen();
// После очистки экрана установите курсор печати обратно в верхний левый угол
Brain.Screen.setCursor(1, 1);
// Выведите метку и значение расстояния до объекта на одной строке
Brain.Screen.print("Расстояние (мм): %.2f", Distance19.objectDistance(mm));
Brain.Screen.newLine();
wait(0.5, seconds);
}
} |
|
Печать на V5 Brain полезна, когда вы хотите видеть, как изменяются значения во время выполнения проекта VEXcode V5. Это может помочь вам определить, какие значения, сообщаемые датчиком, использовать в качестве параметров в вашем проекте. Эти команды печати могут быть встроены в уже созданный вами проект VEXcode V5, чтобы вы могли видеть, как значения датчиков меняются в определенное время во время движения робота. В приведенных выше примерах проектов показано, как распечатать значения из датчика расстояния в мозг V5. Комментарии в каждом проекте объясняют ход проекта и использование каждой команды. |
| Блоки VEXcode V5 |
| VEXcode V5 Python |
# Начало кода проекта
# Сброс датчика вращения до 0 в начале проекта
rotation_15.set_position(0, DEGREES)
while True:
# Вывести метку и значение расстояния до объекта на одной строке
print("Положение (градусы): ", end="")
print(rotation_15.position(DEGREES))
# Дождаться вывода значения, затем повторить цикл
wait(0.5, SECONDS) |
| VEXcode V5 С++ |
int main() {
// Сбрасываем датчик вращения на 0 в начале проекта
Rotation15.setPosition(0.0, degrees);
while(true) {
// Выводим метку и значение расстояния до объекта на одной строке
printf("Position (degrees): %.2f\n", Rotation15.position(degrees));
// Ждем вывода значения, затем повторяем цикл
wait(0.5, seconds);
}
} |
|
Печать в консоль печати в VEXcode V5 рекомендуется в тех случаях, когда в проекте VEXcode V5 робот НЕ перемещается. V5 Brain должен оставаться подключенным во время выполнения проекта, чтобы можно было печатать на консоли печати. Это выгодно, поскольку вы можете читать значения из окна VEXcode V5, а не пытаться читать данные с экрана Brain. В этих примерах показан проект печати данных с датчика вращения на консоль в VEXcode V5. Дополнительную информацию об использовании консоли печати в блоках VEXcode V5 см. в этой статье. |
Анализируйте и применяйте данные
Затем используйте то, что вы узнали на предыдущих шагах, для корректировки исходного проекта. Вы можете продолжать использовать такие инструменты, как справка и печать данных, чтобы эффективно использовать датчик для достижения своей цели.
Вы также можете задавать вопросы о своем проекте, которые помогут вам двигаться вперед. Подумайте о таких вещах, как:
- Используете ли вы в своем проекте число больше < или меньше > ? Направлен ли символ в правильном направлении? Если вы используете «равно =», попробуйте заменить его на «больше» или «меньше», чтобы использовать диапазон значений.
- Ваши параметры верны? Используете ли вы данные датчика для настройки параметров? Вы выбрали нужный вам вариант раскрывающегося списка?
- Вы проверяете условия более одного раза? Попробуйте добавить в проект цикл Forever, чтобы условие неоднократно проверялось при запуске проекта.
- Ваш проект застрял? Правильно ли заданы ваши условия? Если вы используете вложенные циклы, попробуйте упростить проект, чтобы изолировать отдельные варианты поведения.
- Влияют ли условия окружающей среды на датчик? Слишком светло или слишком темно? Есть ли на пути предметы или люди? Попробуйте запустить проект в другом месте и посмотрите, поможет ли это.
- Вы используете самую последнюю версию своего проекта? Вы загрузили в Мозг свой обновлённый проект? Обязательно перезагружайте проект каждый раз, когда вносите изменения.
- Правильно ли вы определяете цвет? Датчик сообщает цвет, отличный от того, который указан в вашем проекте? Попробуйте изменить параметр цвета или использовать диапазон значений оттенка, чтобы посмотреть, поможет ли это.
- Обнаруживаете ли вы объект в поле зрения датчика? Помните, что поле зрения перемещается вместе с движением робота.
- Используете ли вы блок ожидания при проверке условия? Обязательно используйте в проекте блоки без ожидания при проверке условия. Прочитайте эту статью, чтобы узнать больше о блоках ожидания и неожидающих блоках в VEXcode V5.
- Если вы кодируете блоками, весь ваш стек прикреплен к {When started} шляпному блоку? блока будут работать только тогда, когда они соединены. Вы можете услышать звук щелчка, когда перетаскиваете блоки и соединяете их вместе.
Отвечая на эти вопросы, обязательно меняйте что-то в своем проекте за раз, тестируйте его, а затем оценивайте, было ли это изменение эффективным. Частое тестирование вашего проекта поможет вам легче увидеть, как ваш код связан с поведением робота. Возможно, вам придется повторить шаги процесса устранения неполадок несколько раз, чтобы решить вашу проблему, и это нормально. Каждая итерация поможет вам узнать больше об используемом датчике и о том, как его закодировать в VEXcode V5.