Включені приклади#

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

Базовий#

У каталозі basic ви знайдете:

Ім’я файлу

Опис

ai_vision_for_loops.py

У цьому проєкті використовується відповідний цикл Python For Loop для ітерації по даним 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 ID 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

Робот відтворить локальний звуковий файл, а потім кілька нот із Симфонії № 5 Бетховена.

save_jpg.py

Зберегти зображення у форматі JPEG у файлову систему, задану назвою файлу, за замовчуванням aim_img.jpg

stream_video.py

Потік зображень JPEG, використовуючи OpenCV для відображення на екрані.