Приведены примеры#

На этой странице перечислены примеры проектов, демонстрирующие управление программируемым роботом VEX AIM с помощью Python через WebSocket.

Базовый#

В каталоге basic вы найдете:

Имя файла

Описание

ai_vision_for_loops.py

В этом проекте используется корректный цикл For Loop на Python для перебора данных AI Vision с целью вычисления средней точки между оранжевой и синей бочками.

angled_moving.py

В рамках этого проекта робот перемещается под углом 45 градусов со 100% скоростью, чтобы обвести контур ромба.

colorful_square.py

В этом проекте робот движется по квадратной траектории, меняя цвет светодиода при каждом изменении цвета.

conditional_kicker.py

В рамках этого проекта робот AIM будет вращаться на 180 градусов вправо. Если робот держит в руках оранжевую бочку, он ударит её ногой; в противном случае робот ничего не будет делать.

creating_timeouts.py

Этот проект будет вращаться на месте, пока ищет оранжевую бочку. Если в течение 10 секунд бочка не будет найдена, он издаст звук «неудача» и прекратит поиск.

emoji_reaction.py

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

emoji_touch.py

В этом проекте эмодзи на экране меняются в зависимости от количества нажатий на экран, отображая разные выражения лица при каждом нажатии.

get_blue_barrel.py

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

led_color_cycle.py

В этом проекте светодиоды поочередно меняют цвет, делая паузу в одну секунду между каждым изменением.

level_detector.py

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

move_and_stop.py

В рамках этого проекта робот перемещается вперед на 300 мм и воспроизводит звук “завершения” движения после его завершения.

move_to_apriltag.py

В рамках этого проекта робот поворачивает корпус до тех пор, пока не обнаружит метку AprilTag с идентификатором 1, а затем движется в её направлении.

multi_step_pickup.py

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

musical_thread.py

В этом проекте будет воспроизводиться песня (с использованием нот) в одном потоке, а управление будет осуществляться одновременно в другом потоке.

object_detection_alert.py

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

obstacle_avoidance.py

В рамках этого проекта робот AIM будет двигаться вперед до тех пор, пока не будет обнаружен груз. После обнаружения груза робот повернет направо на 45 градусов.

screen_drawing.py

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

sensor_monitor.py

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

tap_to_start.py

В этом проекте перед перемещением на 200 мм вперед и отображением эмодзи в конце ожидается касание сенсорного экрана.

timing_events.py

Этот проект начинает движение вперед, но автоматически останавливается по истечении пяти секунд, после чего на экране появляется надпись «Время вышло!».

Передовой#

В папке advanced вы найдете:

Имя файла

Описание

aim_example_base.py

Предоставляет AimExample базовый класс, который анализирует аргументы, пытается найти IP-адрес робота AIM и инициализирует aim.Robot.

fpv.py

Этот проект позволяет пользователю управлять роботом, одновременно передавая изображения с камеры. Светодиоды загораются зеленым цветом, когда робот движется, и красным, когда робот стоит.

multiple_robots.py

В рамках этого проекта два робота движутся по квадратной траектории, меняя цвет светодиода при каждом движении.

play_sounds.py

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

save_jpg.py

Сохранение изображения в формате JPEG в файловую систему, указанную в имени файла (по умолчанию — aim_img.jpg

stream_video.py

Потоковое изображение JPEG, выводимое на экран с помощью OpenCV.