1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chauby-DMP-matlab

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

1. Введение

Данное программное обеспечение представляет собой реализацию Dynamic Movement Primitives (DMP) на языке MATLAB. DMP, или динамические движения базовых элементов, представляют собой метод декомпозиции движений на последовательность базовых элементов, которые затем суммируются с весами для получения траектории движения.

2. Динамическая система

2.1 Одноразрядная динамическая система

Дифференциальное уравнение представлено следующим образом: $$ \dot{x} = -\alpha x $$ Дифференциальное уравнение для заданной цели представлено следующим образом: $$ \begin{align} \dot{x} &= -\alpha (x-x_g)\\ &= \alpha (x_g - x) \end{align} $$ где $\alpha$ — коэффициент затухания (временная константа), $x_g$ — целевое состояние.

2.2 Двухразрядная динамическая система

Двухразрядная динамическая система представляет собой систему пружины-демпфера, схема которой представлена ниже:

Дифференциальное уравнение представлено следующим образом: $$ m\ddot{x} = -kx-c\dot{x} $$ где $m$ — масса модуля, $k$ — коэффициент пружины, $c$ — коэффициент демпфирования.

Дифференциальное уравнение для заданной цели представлено следующим образом: $$ \begin{align} m\ddot{y} &= -ky-c\dot{y} \\ m\ddot{y} &= c(-\frac{k}{c}y-\dot{y}) \\ \tau\ddot{y} &= \alpha(-\beta y -\dot{y}) \\ \tau\ddot{y} &= \alpha(-\beta (y - y^g) -\dot{y}) \\ \tau\ddot{y} &= \alpha(\beta (y^g - y) -\dot{y}) \\ \end{align} $$где $\alpha = c$, $\beta = \frac{k}{c}$, $m = \tau$, $y^g$ — заданное целевое состояние. Схема временного отклика двухразрядной динамической системы представлена ниже:

где $\tau = 1$, $\alpha = 1$, $\beta = \frac{\alpha}{4} = 0.25$, $y$, $dy$, $ddy$ — это информация о положении, скорости и ускорении кривой соответственно.

где $\tau = 1$, значения $\alpha$ и $\beta$ указаны на рисунке.

3. Dynamic Movement Primitives

Динамические движения базовых элементов (Dynamic Movement Primitives, DMP) представляют собой метод модуляции траекторий, основанный на динамических системах, который позволяет декомпозировать движения на последовательность базовых элементов и использовать их для построения траектории с помощью взвешивания базовых элементов. DMP подразделяются на дискретные DMP (discrete DMP) и ритмические DMP (rhythmic DMP).

3.1 Дискретный DMP

Его дифференциальное уравнение можно представить следующим образом:

$$ \tau \ddot{y} = \alpha(\beta(g - y) - \dot{y}) + f $$

где $f$ — это нелинейная функция, которая представляет собой нелинейное "внешнее воздействие" на динамическую систему, $f$ может быть выражена как

$$ f(x, g) = \frac{\sum^{N}{i=1} \psi_i w_i}{\sum^{N}{i=1} \psi_i} x(g - y_0) $$

где $x$ — это каноническая динамическая система, её дифференциальное уравнение можно представить следующим образом:$$ \dot{x} = -\alpha_x x $$

( y_0 ) — это начальное значение системы. ( w_i ) — это веса, ( \psi_i ) — это значения Гауссовой функции для центра ( c_i ):

$$ \psi_i = \exp(-h_i(x - c_i)^2) $$

4. Применение

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Реализация DMP на языке MATLAB, включая динамическую систему. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chauby-DMP-matlab.git
git@api.gitlife.ru:oschina-mirror/chauby-DMP-matlab.git
oschina-mirror
chauby-DMP-matlab
chauby-DMP-matlab
master