Метод идентификации параметров привода на базе дифференцируемого симулятора

Автор: Ковалев В.В., Чайковская Е.М., Давыденко Е.В., Горбачев Р.А.

Журнал: Труды Московского физико-технического института @trudy-mipt

Рубрика: Информатика и управление

Статья в выпуске: 2 (70) т.18, 2026 года.

Бесплатный доступ

В робототехнике широко распространен подход, при котором управляющие алгоритмы разрабатываются и отлаживаются в симуляторе реального мира, а затем переносятся на физических роботов. Однако качество симуляции напрямую зависит от корректности модели привода: при некорректно заданных параметрах трения и инерции поведение в симуляторе сильно расходится с реальностью. Предлагаемый метод использует дифференцируемый физический симулятор MuJoCo (MJX) и требует только данные энкодера (положение и скорость) и историю управляющих команд мотора. Дополнительные датчики или измерительные стенды не требуются. Метод протестирован на задаче идентификации динамики привода антропоморфного робота. Время оптимизации параметров составило около 1.5 мин. Использование идентифицированных параметров позволило снизить среднюю абсолютную ошибку траектории положения выходного вала в тестовых экспериментах на 64 % процентa по сравнению с моделью без учета трения. Предложенный метод позволяет существенно упростить процесс калибровки приводов в мобильных и человекоподобных роботах без необходимости в дорогих стендах.

Идентификация, симулятор, MuJoCo, MJX, трение, привод, траектория, оптимизация, калибровка, робототехника

Короткий адрес: https://sciup.org/142248249

IDR: 142248249   |   УДК: 004.942

Drive parameter identification method based on a differentiable simulator

In robotics, a common practice involves developing and debugging control algorithms in a simulated environment before deploying them to physical robots. However, the fidelity of simulation strongly depends on the accuracy of the drive model: incorrectly specified friction and inertia parameters lead to significant discrepancies between simulation and reality. The proposed method uses the differentiable physics simulator MuJoCo (MJX) and requires only encoder data (position and velocity) along with the motor command history. No additional sensors or test benches are required. The method was tested on identifying the dynamics of an anthropomorphic robot’s actuator. The parameter optimization process took approximately 1.5 min. Using the identified parameters reduced the mean absolute position error of the output shaft by 64 % compared to a model without friction. The proposed method significantly simplifies actuator calibration in mobile and humanoid robots without requiring expensive equipment. The source code and examples are publicly available, enabling reproducible and efficient drive calibration in practical robotic applications.

Текст научной статьи Метод идентификации параметров привода на базе дифференцируемого симулятора

Большинство методов обучения с подкреплением (RL) и классического управления опираются на симуляцию модели системы [1-5]. Особенно это критично для RL: даже если поведение робота в симуляции кажется успешным, при переносе на реального робота качество управления часто резко ухудшается из-за несовершенства динамической модели [4, б, 7].

Для повышения воспроизводимости и надежности в реальных условиях применяются разные методы. Наиболее распространенный в RL — domain randomization: параметры симуляции (масса, трение, усиление привода и т. д.) случайным образом варьируются в процессе обучения [5, 8]. Этот подход повышает устойчивость, но не улучшает саму модель и нередко приводит к чрезмерно «консервативным» стратегиям [9]. В результате обучение часто приводит к стратегиям с ограниченной гибкостью, стремящимся избегать рискованных или нестандартных состояний.

Как показано в работах [4, 10], качество модели привода является ключевым фактором успешного переноса управления из симуляции в реальность. Это подтверждается практикой ведущих компаний, таких как Disney [11-13], Google DeepMind [14], NVIDIA [15]. Помимо domain randomization, они уделяют серьезное внимание точной настройке моделей привода.

Существующие подходы к этому разнообразны. Например:

  • —    подбор минимального набора параметров — приведенная инерция, вязкое и сухое трение, пределы крутящего момента, коэффициенты пропорционально-дифференциального (ПД) регулятора [14];

  • —    использование сложных аналитических моделей, учитывающих не только трение и ПД-контур, но и шумы, проскальзывание, зависимость предельного крутящего момента от скорости [12];

  • —    применение нейросетевых моделей, в которых динамика каждого мотора уникальна [15]; — использование нейросетевых моделей с общей динамикой для всех приводов без индивидуализации параметров [16].

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

Проблема точного моделирования привода. Современные приводы, применяемые в шагающих и антропоморфных роботах, как правило, построены на базе бесколлекторных электродвигателей с гармоническими или планетарными редукторами и замкнутым токовым контуром [17, 18].

Экспериментальные исследования, в частности работа [19], показывают, что сила трения в приводе зависит от целого ряда факторов: температуры, внешней нагрузки ( re), угла вала ( q), скорости (ф, ускорения (q), а также свойств смазки и особенностей передачи вращения.

Наиболее широко применяемые модели трения, такие как модели Кулона, Стрибека и Люгре, учитывают лишь зависимость от скорости. Например, для классического вязкого трения Кулона используется простая зависимость:

Tf = sign(q) • fc + d • q, где fc ~ коэффициент сухого трения, d — коэффициент вязкого трения.

Учет остальных факторов представляет собой нетривиальную задачу. Например, свойства смазки изменяются не только с температурой, но и со временем эксплуатации, приводя к изменению характеристик трения. Внешняя нагрузка влияет на внутренние напряжения и деформации в передаточных элементах (например, в зубчатых зацеплениях), что также изменяет трение, причем влияние этих деформаций индивидуально для каждой конкретной конструкции мотора и редуктора.

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

Например, в работе [20] представлено шесть различных моделей, описывающих зависимость трения от внешней нагрузки. Все они представляют собой развитие и обобщение классических моделей Кулона и Стрибека. В другой работе [21] рассматривается влияние температуры на параметры трения: показано, что при изменении температуры с 24 до 30 °C статическое трение уменьшается более чем на 20 % при максимальной скорости мотора. Это подчеркивает необходимость учета температурных эффектов.

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

Таким образом, несмотря на широкое распространение классических моделей трения (Кулон, Стрибек, Люгре), для учета дополнительных эффектов — нагрузки, температуры, деградации смазки, конструктивных особенностей редуктора — применяются более сложные или индивидуально подобранные модели.

Далее мы рассмотрим методы идентификации параметров этих моделей.

2.    Подходы к идентификации параметров

Классические методы идентификации параметров привода опираются на использование измерительных стендов [17, 20, 23-25]. Как правило, стенд включает в себя мотор, соединенный с датчиком крутящего момента и энкодером. Это позволяет напрямую измерять выходной момент, угол, скорость и ускорение вала.

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

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

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

При небольшом числе параметров применимы неградиентные оптимизационные методы [12, 20], такие как генетические алгоритмы. Однако их вычислительная сложность быстро растет с увеличением размерности параметрического пространства, что делает их непрактичными для сложных моделей.

Современные подходы решают эту проблему за счет использования дифференцируемых симуляторов, которые позволяют оптимизировать сотни и даже тысячи параметров с помощью градиентных методов [26, 27]. Это направление активно развивается, так как оно устраняет необходимость в дорогостоящих измерительных стендах.

Настоящая работа направлена на развитие этого подхода, демонстрируя его применимость для идентификации динамики привода с использованием дифференцируемого симулятора MuJoCo.

Результаты работы. Ранее мы продемонстрировали, что симулятор MuJoCo в дифференцируемой реализации MJX удовлетворяет требованиям [28]:

  • —    не зависит от дорогих стендов и специальных датчиков: достаточно энкодера мотора и истории управляющих команд;

  • —    допускает модель привода произвольной сложности: как аналитическую модель с б параметрами, так и нейросетевую с сотней весов.

Основные результаты данной работы заключаются в следующем:

  • —    расширение метода идентификации на основе симуляции за счет добавления поддержки нагрузочных зависимостей трения, описанных в [19, 20];

  • —    проведение сравнительного анализа классических моделей трения (Кулон - Стрибек) наряду с современными нейросетевыми моделями для реального мотора;

  • —    демонстрация того, что данных формата «положение-скорость-управляющая команда мотора» достаточно для эффективной калибровки моделей любой сложности; для реального мотора это обеспечивает снижение средней абсолютной ошибки (МАЕ) на 64% относительно модели без учета трения, что сопоставимо с точностью стендовой калибровки [22].

  • 3.    Постановка задачи

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

Рассматривается динамическая система, состояние которой в момент времени г обозначено Si, а управляющее воздействие — сц. Пусть существует вектор параметров z* (например, инерционные и фрикционные характеристики привода), при котором симулятор точно воспроизводит динамику реального робота:

Si+1 = s'+1 = Фг* (si,ai,6),                                    (1)

где Фг* [вдадд} — интеграционная схема с шагом 6.

Оптимизационная задача. Искомый вектор z* определяется как минимум среднеквадратичного расхождения между измеренной и сгенерированной траекториями:

Е Н /     Н2     ,    S Si+1 = ф (Si,ai ,6).

||Si - Si||     S.t.     < ,

~ i=1                  К = So.

При длительном интегрировании численные погрешности накапливаются, поэтому траекторию разбивают на М сегментов длины К\ оптимизационная задача записывается как

М-1 N                            ‘           ( ‘        лч z * = arg min У У IKj - sdl2 8л- 0+1’1” г^, аг’3,^          (3)

j =0 i =1                              lS0 ,j     S0,j

Параметры 5 и V подбирают так, чтобы уменьшить влияние интеграционной ошибки и при этом сохранить достаточную информативность сегмента.

Рис. 2. Схема оптимизации. Робот проходит траекторию {s' } под управлением сц. Симулятор генерирует траекторию {s' }; ошибка е^ = Si s ' накопительно минимизируется в (2)

Допущения и ограничения:

  • —    Если модель недостаточно детализирована или в ней отсутствуют важные динамические факторы (дополнительные массы, внешние возмущения и т. д.), равенство (1) выполняется лишь приближенно.

  • —    Абсолютная идентичность траекторий, как правило, недостижима, однако метод остается работоспособным, пока Фг способна достаточно точно аппроксимировать реальные законы движения.

  • 4.    Методология
  • В этом разделе описан полный практический цикл решения задачи (3): от получения экспериментальных данных до подбора параметров модели привода и верификации результата.

Генерация обучающей выборки. Все эксперименты выполнены на двуногом роботе Mini л [29]. Из роботизированного колена был демонтирован привод HTDW-5047-36-NE с планетарным редуктором (передаточное число 36:1) и жестко закреплен на испытательном стенде рис. 1. Вал привода нагружался штангой известной массы (0.26 кг) и момента инерции (значения диагональных элементов [0.0011; 0.0011; 0] к гм2).

Проектирование генерируемой траектории. Для обучения требуется как минимум одна достаточно разнообразная траектория мотора. Мы генерируем желаемую скорость {rdes} как конечную сумму пяти гармоник Фурье:

vdes = ^Ak sin(wfcii + Щ, k=i где амплитуды A^, частоты ш^ и фазы ^^ выбираются случайно из заданных диапазонов (Amin, Amax), (шmin,штах), (0.2л) соответственно. Суммарный сигнал ограничивается максимальной допустимой скоростью мотора rmax = 4рад/с.

Интегрируя {rdes} по времени, получаем углы {Qdes}. Команда, подаваемая в низкоуровневый ПД-контур, равна ai = q^, причем коэффициенты регулятора фиксированы:

Кр = 20 [[• м/рад,      Kd = 1 Н^м^ с/рад.

Процедура измерений. При генерации реальных траекторий путем применения управляющих команд ср регистрируются состояния мотора Si, как угол qi и скорость Vi выходного звена:

Si = [qi] ■

Данные синхронизируются и ресемплируются с шагом 5 = 1мс.

Получившийся набор данных. Итоговая обучающая выборка — это упорядоченная пара «состояние-действие» в формате «положение-скорость-команда мотора»:

{(Si, a«)}i=o> где Т — число измеренных точек траекторий (в нашем случае 119 981). Отметим, что все необходимые величины доступны на каждом роботе без внешних датчиков или дорогостоящих стендов.

Выбор моделей привода. Для валидации предлагаемого подхода мы рассматриваем шесть моделей трения, расположенных по возрастающей степени сложности (табл. 1). Перечень сформирован на основе наиболее распространенных методов идентификации, изложенных в разделе 2.

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

Таблица 1

Модели трения привода, использованные в экспериментах

Название

Формула трения

Параметры

Зависимость

Baseline (no-friction)

0

Ja

MuJoCo-Default

см. док-цию MuJoCo[30]

J a, fi, d

v

MuJoCo-GridSearch

см. док-цию MuJoCo[30]

Ja, fi, d

v

Coulomb-Smooth

tanh(10 gv) \fs\ + dv

Ja, fs, 9

v

Coulomb-Stribeck

fs + dv + (fk - fs) e-^

Ja, fs, d, fk, vs

v

NeuralFriction

MLP(q, v,a, те)

веса сети

q, v, a, те

v — скорость мотора; q — угол; a — команда (желаемый угол); те — внешний момент; Ja — armature (приведенный момент инерции); d — вязкое трение; f — предел сухого трения MuJoCo; fs , fk статическое и кииетическое трение; vs — скорость Стрибека; g — коэффициент сглаживания

Baseline (no-friction). Модель без сил трения — используется как нижняя граница точности симуляции.

MuJoCo-Default. Встроенная в MuJoCo аппроксимация трения [30] с двумя слагаемыми: пределом сухого трения fi и вязкой компонентой dv.

MuJoCo-GridSearch. Аналогична модели MuJoCo-Default, но параметры Ja. f^ d подбираются перебором по равномерной сетке. Используется в качестве альтернативного способа решения оптимизационной задачи (3) для дальнейшего сравнения.

Coulomb-Smooth. Сглаженная версия кулоновского трения, устойчива при v ~ 0рад/с благодаря гиперболическому тангенсу.

Coulomb-Stribeck. Расширяет предыдущую модель эффектом Стрибека, уменьшающим силу трения при малых скоростях.

NeuralFriction. Многослойный полносвязный перцептрон (MLP) включает два скрытых слоя по 64 нейрона каждый; во всех скрытых слоях используется функция активации ReLU. На вход подается вектор х = (q, v, а, те ); модель возвращает оценку сил трения.

Итерация

Итерация

Рис. 3. Сходимость параметров аналитических моделей. На каждом подграфике показано, как изменяются значения параметров выбранной модели ( Ja. d, f, fs, fk, vs, g) в процессе градиентной оптимизации. Цветные кривые соответствуют отдельным параметрам; маркеры выделяют их оптимальные значения. Красная пунктирная линия обозначает итерацию, на которой функция ошибки достигает минимума, именно эти точки принимаются за идентифицированные параметры модели

Процесс оптимизации. На рис. 3 показана эволюция параметров четырех аналитических моделей; красная линия отмечает итерацию с минимальной функцией ошибки. Решалась оптимизационная задача (3). Датасет разбивался на 20 000 сегментов (параметр М в (3)) длиной 5 (параметр N). Все модели обучались одним и тем же оптимизатором Adam с параметрами 1г = 1е-2, Nteг = 700, batch size = 20 000. Лучшими считались параметры с наименьшей ошибкой на всем тренинговом датасете.

При инициализации параметров слишком удаленными от реалистичных значений градиенты могли переполняться, а шаг оптимизатора — становиться некорректным. Поэтому для моделей начальные значения брались вблизи нуля, кроме Coulomb—Stribeck, где параметр vs инициировали из диапазона [0.05; 0.1]рад/с (из-за деления на это число).

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

Для MuJoCo-GridSearch за «итерацию» считается один полный запуск симуляции (1000 симуляционных шагов или 1 с) с новым набором параметров. Диапазон поиска Ja, fl , d е [0.001, 0.3] и шаг сетки ^ 0.03. Из-за экспоненциального роста количества комбинаций поиск занял несколько часов против ~ 1.5 мин у градиентного подхода.

5.    Результаты сравнения моделей

Чтобы оценить точность моделей, каждую из них инициализировали в реальном состоянии Si и подавали одну и ту же фиксированную управляющую последовательность [ ср+1 ,..., ai+n] дли ной п = 3000 шагов (3 с).

Рис. 4. Сравнение траекторий симуляции и реального движения. Пунктирная линия — реальная траектория, сплошные линии — симулированные. Все модели инициализируются одинаковым реальным состоянием и получают одну и ту же управляющую последовательность

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

Модели Coulomb-Stribeck, MuJoCo-Default, NeuralFriction, и Coulomb-Smooth визуально неразличимы, поскольку их траектории тесно совпадают. Это указывает на схожесть описания динамики в этих моделях.

Для более объективного сравнения введем метрику абсолютной ошибки:

|Qi,sim 0i,real | .

Как видно из рис. 5, все модели стартуют с нулевой ошибки. Дальнейший рост зависит от того, насколько точно описаны силы трения.

Наибольшая погрешность для данной траектории наблюдается у моделей Baseline и MuJoCo-GridSearch. Поведение NeuralFriction, Coulomb-Smooth, MuJoCo-Default, и Coulomb-Stribeck практически совпадает. NeuralFriction демонстрирует сопоставимый уровень ошибки, но генерирует траекторию иной формы — ожидаемый результат, учитывая большее число входных признаков.

Время, [с]

Рис. 5. Абсолютная ошибка позиции разных моделей. Сплошные линии — скользящее среднее величины |Qi,sim — qi,real |; полупрозрачная область отображает ±а. Нулевая ошибка в начальный момент объясняется тем, что симулятор инициализируется реальным состоянием робота. Различия в накоплении ошибки иллюстрируют, насколько точно каждая модель описывает трение

Рис. 6. Средняя абсолютная ошибка на десяти траекториях. Столбцы отображают МАЕ, вертикальные отрезки — стандартное отклонение пмае для последовательностей длиной 1000 симуляционных шагов

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

Процедура генерации симуляционных данных была идентична описанной в начале раздела 5. Каждую модель инициализировали реальным состоянием Si и подавали управляющую последовательность длиной п = 1000 шагов (1с). Качество воспроизведения траекторий оценивали по МАЕ и стандартному отклонению этой величины омае-

Сводные результаты представлены на рис. бив табл. 2. На графике столбцы показывают усредненное значение МАЕ, а вертикальные линии обозначают омае-

Сравнительный анализ данных показывает.

  • —    Точность. Лучшая аналитическая модель MuJoCo-Default достигает МАЕ 0.0070 (64% по сравнению с базовой моделью без трения). Близкие результаты дают CoulombSmooth и Coulomb-Stribeck (МАЕ 0.0072 и 0.0072).

  • —    Стабильность. Минимальное стандартное отклонение наблюдается у CoulombSmooth ( 0.0039), что указывает на лучшую устойчивость при разнообразных траекториях.

  • —    Скорость оптимизации. Наш градиентный подход сходится за ~ 1.5 мин, тогда как MuJoCo-GridSearch требует ~ 1ч.

  • —    Гибкость. Нейросетевая NeuralFriction дает МАЕ 0.0072 — меньше чем на 3 % хуже, чем MuJoCo-Default, что подтверждает применимость метода к моделям с большой параметрической емкостью.

  • 6. Заключение

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

Таблица 2

Сравнение моделей трения

Модель

MAE

O’MAE

Baseline (no-friction)

0.0192

0.0079

Coulomb-Smooth

0.0072

0.0039

Coulomb-Stribeck

0.0072

0039

MuJoCo-Default

0.0070

0.0042

MuJoCo-GridSearch

0.0086

0.0053

NeuralFriction

0.0072

0.0040

В работе показано, что градиентная идентификация на основе симуляции на базе дифференцируемого MuJoCo (MJX) позволяет быстро и точно восстанавливать параметры трения и инерции моторов, используя лишь доступную информацию — «положе-ние-скорость-команда мотора». Ключевые результаты можно обобщить следующим образом.

  • —    Точность. На приводе Mini г лучшая аналитическая модель (MuJoCo-Default) снизила среднюю абсолютную ошибку (МАЕ) с 0.0192 до 0.0070 рад, то есть на 64% по сравнению с моделью без трения. Нейросетевая NeuralFriction и расширенные модели Кулона -Стрибека (МАЕ 0.0072 рад) показали ту же точность, подтверждая, что подход одинаково применим к малым и большим числам параметров.

  • —    Скорость. Градиентная оптимизация занимала в среднем 1,5 мин, тогда как неградиентные методы, описанные в [20], укладывались в < 5 мин лишь при калибровке моделей с небольшим числом параметров.

  • —    Стабильность. При проверке на десяти независимых траекториях стандартное отклонение МАЕ не превышало 0.0042 рад, что свидетельствует об устойчивости полученных моделей к разнообразным режимам работы.

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

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