exponenta event banner

Расчет гравитационной динамики манипулятора в Simulink

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

Укажите две похожие модели роботов с различными ускорениями силы тяжести. Загрузите модель робота KUKA LBR в рабочее пространство MATLAB ® и создайте ее копию. Для первой модели робота lbr, укажите нормальный вектор силы тяжести, [0 0 -9.81]. Для копии, lbr2, используйте вектор силы тяжести по умолчанию, [0 0 0]. Эти модели роботов также задаются в параметрах дерева жестких тел блоков в модели.

load('exampleLBR.mat','lbr')
lbr.DataFormat = 'column';
lbr2 = copy(lbr);
lbr.Gravity = [0 0 -9.81];

Откройте модель гравитационной динамики. При необходимости перезагрузите модели роботов, указанные кодом MATLAB, с помощью кнопки обратного вызова Load Robot Models.

open_system('gravity_dynamics_model.slx')

Блок Forward Dynamics вычисляет ускорения соединения из-за силы тяжести для данного lbr конфигурация робота без начальной скорости, крутящего момента или внешней силы. Затем блок «Обратная динамика» вычисляет крутящие моменты, необходимые соединению для создания тех же самых ускорений без силы тяжести, используя lbr2 робот. Наконец, блок гравитационного крутящего момента вычисляет крутящий момент, необходимый для противодействия гравитации lbr робот.

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

См. также

Блоки

Классы

Функции

Связанные темы