Пакет: военно-морской
Распространитель состояния для основанного на управлении планирования
nav.StatePropagator
класс является интерфейсом для всех распространителей состояния, используемых с kinodynamic планировщиками пути, выведенными из nav.StateSpace
. Выведите из этого класса, если вы задаете распространителя для своей пользовательской модели движения или системы управления. Для конкретной реализации для мобильных роботов смотрите mobileRobotPropagator
объект.
Этот класс генерирует средства управления, распространяет состояние и оценивает стоимость или расстояние между состояниями. Управляемые системы используют два основных уравнения для двух шагов:
Начальное управление
[u(i),steps] = controlFcn(q(i-1),u(i-1),qTgt)
генерирует следующую команду управления от предыдущего состояния, входа управления и целевого состояния.
Распространите систему
q(i) = q(i-1) + integrate(q,u(i),steps)
распространяет q(i-1)
состояния использование сгенерированной команды
u(i)
для конкретного количества шагов. Распространитель использует фиксированный размер шага, заданный свойством ControlStepSize.
nav.StatePropagator.propagateWhileValid
метод задает интегрирование и опционально, поведение управления, и также проверяет, допустимы ли сгенерированные состояния в пространстве состояний. Чтобы пропустить валидацию состояния, используйте nav.StatePropagator.propagate
метод.
При создании экземпляра класса задайте свойство StateSpace, которое задает количество переменных состояния, границ состояния и поведения выборки распространителя. Кроме того, задайте пределы управления на создании, которое определяет значение свойства NumControlOutput.
Когда вы изменяете свойства, такие как пространство состояний, вы, возможно, должны изменить внутреннее поведение распространителя. Для этого реализуйте изменения в nav.StatePropagator.setup
метод и вызов setup(obj)
прежде, чем вызвать другие методы снова.
nav.StatePropagator
классом является handle
класс.
создает объект распространителя состояния для распространения kinodynamic системы.propagatorObj
= nav.StatePropagator(stateSpace
,stepSize
,numControlOutput
)
stateSpaceSE2
| stateSpaceDubins
| stateSpaceReedsShepp
| validatorOccupancyMap
| validatorVehicleCostmap