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

Объекты данных

  • Цель: Создать имя для новой переменной

  • Тип: Блок настроек

  • Пример: Присвоить имя новой переменной Каждое имя переменной должно быть уникальным и простым для понимания. Например, мы часто называем переменную маркера в последовательности флагом, а переменную, используемую для хранения значения, — числом. Имена переменных должны начинаться с подчеркивания или буквы и могут содержать только цифры, прописные и строчные буквы, а также символы подчеркивания. Примечание. После создания имени переменной вы можете присвоить и настроить значение, используя три доступных блока.

  • Цель: содержит информацию о переменной

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

  • Пример: включение светодиодов один за другим. Это даст команду роботу выключить все светодиоды подвеса, а затем включить светодиоды. от 1 до 8 по порядку.

Примечание. Щелкните правой кнопкой мыши переменную, чтобы переименовать или удалить ее.

  • Цель: Присвоить значение переменной

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

  • Пример: Настройка цифровых часов.

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

Примечание:

  • Важно знать разницу между переменной и списком; переменная хранит один тип данных, а список хранит строку, содержащую последовательность символов.

  • Для переменной входное значение может быть числом, переменной или данными типа переменной, но не может быть списком или типом данных списка.

  • Цель: изменить текущее значение переменной; положительные значения указывают на увеличение, а отрицательные значения указывают на уменьшение.

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

  • Примеры: Уменьшить значение переменной на 1, Преобразовать в виде восьмерки. ① Уменьшить значение переменной на 1. Присвоить переменной значение, затем настроить изменение значения.

В окне FPV вы можете видеть, что начальное значение переменной равно 2.

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

② Перевести по шаблону в виде восьмерки. На снимке экрана ниже показано альтернативная конфигурация для настройки робота на перевод по схеме цифры 8.

  • Цель: создать список и дать ему имя
  • Тип: блок настроек
  • Пример: назвать новый список

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

  • Цель: Получить все элементы в списке

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

  • Пример: Дублировать список. Убедитесь, что данные в новом списке «CopyList» и текущем «Списке» совпадают. и отображается текущее время работы.

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

  • Цель: Добавляет элемент в конец списка

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

  • Пример: Отображение кратных 5. Приведенная ниже конфигурация позволяет получать и отображать все числа, кратные (≥0) 5.

В Окно FPV, число, кратное 5, добавляется в список каждые 0,5 секунды.

Примечание. Входное значение может быть числом, переменной или данными типа переменной, но не может быть списком или данными типа списка.

  • Цель: Присвоить значения списку

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

  • Пример: Распознать человека

В окне FPV список настроен на распознавание человека и создание соответствующей информации.

Примечание.

  • Значения списка могут быть числами, списками или данными типа списка, но не могут быть переменными или данными типа переменных.

  • Вы не можете выполнять арифметические операции непосредственно со списком.

  • Цель: Удалить элемент из списка

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

  • Пример: Удалить количество людей

В окне FPV длина списка меняется с 5 на 4 после удаления первого элемента.

До:

После:

Примечание:

  • Пользователю необходимо знать серийный номер элемента перед его удалением.
  • После удаления товара количество предметов уменьшается и соответственно изменяются их серийные номера.
  • Цель: Удаляет все элементы или последний элемент из списка

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

  • Пример: Очистить список (Все элементы)

В окне FPV длина списка изменяется с 5 на 0.

До:

После :

  • Цель: вставляет элемент в определенное место в списке и перемещает последующие элементы вниз по списку

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

  • Пример: вставка таймера выполнения программы

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

До:

После:

  • Цель: заменить элемент в списке

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

  • Пример: заменить значение. В результате каждое значение в List_B будет больше соответствующего значения в List_A на 1.

Примечание. Элемент должен содержать значение, прежде чем его можно будет заменить. Например, если List_B пуст, у вас не будет элементов для его замены.

  • Цель: возвращает определенный элемент в списке

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

  • Пример: указать элемент в списке

В окне FPV ниже data2 = 7 и data3 = 5.

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

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

  • Пример: Считать значение индекса Создать список из {5, 1, 2, 1 , 7} и установите порядковый номер для первой цифры «1» на «2».

Проверить результат можно с помощью окна FPV:

  • Цель: получить общее количество элементов для списка

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

  • Пример: рассчитать количество элементов

Вы можете проверить изменения значений с помощью окна FPV. Значение длины начинается с 2 и становится 0 после удаления всех элементов.

До

после:

  • Цель: возвращает «True», когда список содержит определенное значение; в противном случае возвращается «False»

  • Возвращаемое значение: логическое значение - Пример: список, содержащий указанное значение. Если для списка установлено определенное значение, светодиоды подвеса начнут прокручиваться.

Примечание. Условие «Истина» возвращается только тогда, когда определяющий элемент соответствует условному оператору.

  • Цель: создать ПИД-регулятор и присвоить ему имя

  • Тип: блок настроек

  • Пример: назвать контроллер.

Примечание. После создания контроллера будут доступны три модуля для настройки параметров ошибок, настройки параметров и получения выходных данных. информация.

API Python:
Class: rm_ctrl.PIDCtrl()
  • Цель: установка ошибки ПИД-регулятора, которая представляет собой разницу между целевым и возвращаемым значениями.

  • Тип: блок настроек

  • Пример: следование по маркеру обзора. Удерживайте и перемещайте маркер обзора вручную, чтобы управлять движением подвеса. следовать. Это установит ошибку ПИД-регулятора, которая представляет собой разницу между центром маркера обзора и центром поля зрения робота.

Примечание. Перед запуском программы убедитесь, что маркер обзора совмещен с полем обзора робота.

API Python:

Class: rm_ctrl.PIDCtrl()

Function: set_error(error)

  • Цель: Настройка параметров ПИД; Kp – пропорциональный коэффициент, Ki – интегральный коэффициент, Kd – дифференциальный коэффициент.

  • Тип: Блок настроек

  • Пример: Следуйте маркеру обзора. Измените параметры Kp, Ki и Kd для оптимизации системы управления с обратной связью.

Примечание.

Узнайте больше о PID в приложении RoboMaster, выполнив поиск проекта «Seek & Destroy» в разделе «Дорога к мастерству».

API Python:

Class: rm_ctrl.PIDCtrl()

  • Function: set_ctrl_params(kp, ki, kd)
    • Parameters:
      • kp(float)
      • ki(float)
      • kd(float)
  • Цель: получить выходное значение для ПИД-регулятора.

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

  • Пример: следовать за маркером обзора

API Python:

Class: rm_ctrl.PIDCtrl()

  • Function:
    • get_output()
  • Return value
    • output(float)