exponenta event banner

bus2RLSpec

Создание спецификаций данных обучения армированию для элементов шины Simulink

Описание

пример

specs = bus2RLSpec(busName) создает набор спецификаций данных обучения армированию из объекта шины Simulink ®, указанного busName. Для каждого листового элемента в соответствующей шине Simulink создается один элемент спецификации. Используйте эти спецификации для определения действий и наблюдений для среды обучения армированию Simulink.

пример

specs = bus2RLSpec(busName,Name,Value) задает параметры для создания спецификаций с использованием одного или нескольких Name,Value аргументы пары.

Примеры

свернуть все

В этом примере показано, как использовать функцию bus2RLSpec для создания объекта спецификации наблюдения из объекта шины Simulink ®.

Создайте объект шины.

obsBus = Simulink.Bus();

Создайте три элемента в шине и укажите их имена.

obsBus.Elements(1) = Simulink.BusElement;
obsBus.Elements(1).Name = 'sin_theta';
obsBus.Elements(2) = Simulink.BusElement;
obsBus.Elements(2).Name = 'cos_theta';
obsBus.Elements(3) = Simulink.BusElement;
obsBus.Elements(3).Name = 'dtheta';

Создайте объекты спецификации наблюдения с помощью объекта шины Simulink.

obsInfo = bus2RLSpec('obsBus');

Затем можно использовать obsInfo, вместе с соответствующей моделью Simulink, для создания среды обучения армированию. Пример см. в разделе Передача агента DDPG на качание вверх и балансировку маятника с сигналом шины.

В этом примере показано, как вызвать функцию. bus2RLSpec использование пар имен и значений для создания объекта спецификации действия из объекта шины Simulink ®.

Создайте объект шины.

actBus = Simulink.Bus();

Создайте один элемент в шине и укажите его имя.

actBus.Elements(1) = Simulink.BusElement;
actBus.Elements(1).Name = 'actuator';

Создайте объекты спецификации наблюдения с помощью объекта шины Simulink.

actInfo = bus2RLSpec('actBus','DiscreteElements',{'actuator',[-1 1]});

Это указывает на то, что элемент шины «исполнительного механизма» может иметь два возможных значения, -1, и 1.

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

Пример см. в разделе Передача агента DDPG на качание вверх и балансировку маятника с сигналом шины.

Входные аргументы

свернуть все

Имя объекта шины Simulink, указанное как строковый или символьный вектор.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'DiscreteElements',{'force',[-5 0 5]} устанавливает 'force' элемент шины должен быть спецификацией дискретных данных с тремя возможными значениями, -5, 0, и 5

Имя модели Simulink, указанной как разделенная запятыми пара, состоящая из 'Model' и вектор строки или символа. Укажите имя модели, когда объект шины определен в глобальном рабочем пространстве модели (например, в словаре данных) вместо рабочего пространства MATLAB ®.

Имена конечных элементов шины, для которых необходимо создать спецификации, указанные как разделенная запятыми пара, состоящая из BusElementNames' и строковый массив. Чтобы создать спецификации наблюдения для подмножества элементов в объекте шины Simulink, укажите BusElementNames. Если не указать BusElementNamesдля каждого листового элемента в шине создается спецификация данных.

Примечание

Не указывать BusElementNames при создании спецификаций для сигналов действия. Блок агента RL должен выводить сигнал полной шины.

Конечные значения для дискретных элементов шины, определяемые как разделенная запятыми пара, состоящая из 'DiscreteElements' и массив ячеек пар имя-значение. Каждая пара имя-значение состоит из имени конечного элемента шины и массива дискретных значений. Указанные дискретные значения должны быть привязаны к типу данных указанного сигнала действия.

Если дискретные значения для спецификации элемента не указаны, элемент является непрерывным.

Пример: 'ActionDiscretElements',{'force',[-10 0 10],'torque',[-5 0 5]} задает дискретные значения для 'force' и 'torque' листовые элементы сигнала действия шины.

Выходные аргументы

свернуть все

Спецификации данных для действий или наблюдений по обучению подкреплению, возвращаемые как одно из следующих:

  • rlNumericSpec объект для одного непрерывного элемента шины

  • rlFiniteSetSpec объект для одного дискретного элемента шины

  • Массив объектов спецификации данных для нескольких элементов шины

По умолчанию все спецификации данных для элементов шины: rlNumericSpec объекты. Чтобы создать дискретную спецификацию для одного или нескольких элементов шины, укажите имена элементов с помощью DiscreteElements пара имя-значение.

Представлен в R2019a