Уроки технологии
Технология Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Система

  • Начало программы

  • Цель: установка первой программы, выполняемой при включении робота

  • Тип: встроенный блок

  • Пример: перемещение вперед на 1 метр. Это позволит S1 двигаться вперед на 1 метр.

Примечание. Если блоки (кроме блоков, запускающих события, и функциональных блоков) не помещены в область «Начало», они не будут выполнены. Например, в программе, представленной ниже, S1 не сможет делать фото.

API Python:

Function: start()

Type: Main function

  • Цель: установка режима движения.

    • Режим опережения шасси: подвес следует за шасси, вращаясь вдоль оси рыскания.
    • Режим опережения подвеса: шасси следует за подвесом и вращается вдоль оси отклонения от курса.
    • Свободный режим: подвес и шасси перемещаются, не затрагивая друг друга.
  • Тип: Блок настроек

  • Примеры: Вращение с переменной скоростью, Вращение вместе, Вращение в противоположном направлении

① Вращение с переменной скоростью

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

Примечание.

  • Режим движения шасси является режимом движения S1 по умолчанию.
  • В режиме ведущего шасси, если шасси не вращается, подвес не сможет самостоятельно вращаться влево или вправо.

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

Примечание. Если в режиме управления подвесом подвес не вращается, шасси не сможет самостоятельно вращаться влево или вправо.

③ Вращение в противоположном направлении

В свободном режиме подвес и шасси вращаются в противоположных направлениях. В этом режиме вам нужно будет проверить, не мешают ли подвес и шасси движению друг друга.

Примечание.

В свободном режиме блоки «Установить шасси следовать за подвесом под углом (0)°» и «Установить подвес следовать за шасси под углом (0)°» не смогут действовать.

API Python:

Function: robot.set_mode(mode_enum)**

Parameters:

  • mode_enum(enum)
    • rm_define.robot_mode_gimbal_follow
    • rm_define.robot_mode_chassis_follow
    • rm_define.robot_mode_free
  • Цель: Запускает, приостанавливает или останавливает таймер

  • Тип: Блок выполнения

  • Пример: Время вращения. Измеряется время, необходимое шасси для совершения одного полного оборота.

Вы можете проверить детали, используя окно FPV:

Примечание:

  • При выборе «Паузы» время, отображаемое в данный момент на таймере, будет удерживаться. Таймер возобновит измерение с этого момента, когда он запустится снова. См. пример ниже, в котором t1=2 и t2=5.

  • Выберите «Стоп», чтобы остановить процесс отсчета времени. Ранее записанное время будет удалено, и при новом запуске таймер начнет измерение с нуля. Вы можете обратиться к примеру ниже, в котором t1=2 и t2=0.

API Python:

Function: tools.timer_ctrl(behavior_enum)**

Parameters:

  • behavior_enum(enum):
    • rm_define.timer_start
    • rm_define.timer_stop
    • rm_define.timer_reset
  • Цель: применение большего увеличения для визуального распознавания на больших расстояниях, что позволяет роботу более точно фокусироваться на нечетких объектах

  • Тип: блок выполнения

  • Пример: увеличение кадра камеры

Разместите маркер обзора на расстоянии 10 метров перед подвес робота и установите увеличение камеры на 4; теперь робот сможет точно распознавать маркер обзора на этом расстоянии.

Перед запуском программы увеличения кадра камеры:

После увеличения кадра камеры:

API Python:

Function: media_ctrl.zoom_value_update(value)\

Parameters:

  • value (int): [1, 4]
  • Цель: получить общее время, прошедшее с момента первого запуска таймера до текущего времени (в секундах)

  • Тип: информационный блок (тип переменной)

  • Пример: время вращения

Здесь используются переменные для измерения время, необходимое шасси для совершения одного полного оборота.

Вы можете проверить детали, используя окно FPV:

API Python:

Function: tools.timer_current()\

Return value: time_stamp(float)

  • Цель: Получить время выполнения программы (в секундах)

  • Тип: Информационный блок (тип переменной)

  • Пример: Рассчитать время выполнения программы

При этом можно получить время выполнения программы с использованием переменных. Вы можете проверить конкретные детали, используя окно FPV:

API Python:

Function: tools.run_time_of_program()

Return value: time (float)

  • Цель: получить информацию о текущем времени, включая год, месяц, день, час, минуту и ​​секунду

  • Тип: информационный блок (тип переменной)

  • Пример: сравнение значений времени, если число текущего месяца больше числа текущего дня, робот кивнет головой; если номер текущего месяца меньше или равен номеру текущего дня, робот покачает головой.

API Python:

Function: tools.get_localtime(time_enum)

Parameters:

  • time_enum (enum):
    • rm_define.localtime_year
    • rm_define.localtime_month
    • rm_define.localtime_day
    • rm_define.localtime_hour
    • rm_define.localtime_minute
    • rm_define.localtime_second

Return value: time (int)

  • Цель: указывает общее время, прошедшее с момента начала работы робота до текущего времени (в секундах).
  • Тип: информационный блок (тип переменной)
  • Пример: расчет времени работы

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

Вы можете проверить изменения данных с помощью окна FPV. Роботу потребуется сделать перерыв, когда время работы программы достигнет одного часа. (т. е. когда runTime_hour>1).

Примечание:

  • Время запуска относится к моменту включения робота.
  • Если робот перезапустится после сбоя питания, он пересчитает временную метку.
API Python:

Function: tools.get_unixtime()

Return value: time (float)