2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение06.01.2026, 13:56 
В [1] двумя способами получают уравнения движения для квадрокоптера: напрямую через уравнения Ньютона-Эйлера и косвенно по методу Эйлера-Лагранжа. Меня в данном случае интересуют уравнения для вращательных степеней свободы. Если сравнить уравнения для углов Эйлера, полученные по методу Ньютона-Эйлера и уравнения для углов Эйлера, полученные по методу Эйлера-Лагранжа, то видно, что они отличаются. Причем, этот результат не только в этой статье втречается, те же самые формулы приводятся в массе статей и видеолекций на Youtube (напр. https://www.youtube.com/watch?v=xCoFaTyn5dg).

Краткая выдержка из [1]:

$\eta=\begin{bmatrix} \varphi \\ \theta \\ \psi \end{bmatrix}$ - углы Эйлера (по порядку - крена, тангажа, рыскания)

$\nu=\begin{bmatrix} p \\ q \\ r \end{bmatrix}$ - вектор угловой скорости квадрокоптера в связанной системе координат (body frame)

$\nu = W_\eta \dot{\eta}$ - связь угловых скоростей в связанной системе координат с углами Эйлера ((4) в [1]). Соответственно $\dot{\nu} = \frac{d}{dt}(W_\eta \dot{\eta})=\dot{W_\eta} \dot{\eta} + W_\eta \ddot{\eta}$. И вот если мы теперь подставим эти два выражения в уравнение Эйлера ниже, то мы получим уравнение вращательного движения относительно углов Эйлера.

Уравнение Эйлера (для вращательных степеней свободы) в связанной системе координат (body frame) ((11) в [1]):
$\boldsymbol{I} \dot{\nu }+ \nu \times (\boldsymbol{I} \nu) + \boldsymbol{\Gamma}= \boldsymbol{\tau}$

И далее там приводится уравнение для вращательных степеней свободы ((18) в [1]), полученное по методу Эйлера-Лагранжа:
$\boldsymbol{J} \ddot{\eta}+ \boldsymbol{C}(\eta, \dot{\eta}) \dot{\eta}= \boldsymbol{\tau}$

И тут $\boldsymbol{J} = W_\eta^T \boldsymbol{I} W_\eta$, а в уравнении Эйлера член при $\ddot{\eta}$ равен $\boldsymbol{I} W_\eta$, т.е. они не совпадают (отличаются на матричный множитель $W_\eta^T$ слева).

Вопрос: В чем тут дело? Это ошибка? Если не ошибка, то эквивалентные все же это уравнения или нет?

1. https://sal.aalto.fi/publications/pdf-files/eluu11_public.pdf

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение15.01.2026, 10:27 
Насколько я вижу, здесь не разобрались с тем, что такое обобщенные силы. И что эти самые обобщенные силы вовсе не обязаны быть равны "обыкновенным" силам и моментам.

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение20.01.2026, 20:24 
Я нашел, как определяются обобщенные силы для случая, когда на тело в декартовой системе коориднат действуют силы и эти силы приложены к конкретным точкам. Но я не нашел, как определяются обобщенные силы (обобщенные моменты?) для случая, когда к телу в декартовой системе координат приложен момент.

И еще по ходу вопрос возник. Где можно посмотреть вывод уравнения $\boldsymbol{I} \dot{\nu }+ \nu \times (\boldsymbol{I} \nu) + \boldsymbol{\Gamma}= \boldsymbol{\tau}$ с гироскопическими моментами?

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение21.01.2026, 10:01 
Общий принцип: элементарная работа (или можно перейти к мощности) в обычных координатах должна быть равна элементарной работе в обобщенных координатах.

$(\vec{F}, d\vec{r}) = (\vec{F}, [\vec{\omega}\times \vec{r}]dt) = dt (\vec{F}, [\vec{\omega}\times \vec{r}])=dt (\vec{\omega}, [\vec{r}\times \vec{F}])=(\vec{\omega}dt, [\vec{r}\times \vec{F}]) = $
$= (d \vec{\theta}, \vec{\tau}) = (\vec{\tau}, d \vec{\theta})$
- выражение для элементарной "вращательной" работы, выраженной через моменты сил.

И теперь надо приравнять либо элементарные работы: $(\vec{\tau}, d \vec{\theta}) = (Q, d \vec{q})$
либо соответствующие мощности: $(\vec{\tau}, \vec{\omega}) = (Q, \dot{\vec{q}})$

Будем использовать последнее "мощностное" равенство. В обозначениях вашей статьи $\vec{q}=\vec{\eta}$ и $\vec{\omega} = W_\eta \dot{\vec{\eta}}$.

$(\vec{\tau}, \vec{\omega}) = (Q, \dot{\vec{q}}) \Leftrightarrow$
$(R \vec{\tau_B}, R W_\eta \dot{\vec{\eta}}) = (Q, \dot{\vec{\eta}}) \Leftrightarrow$
$\tau_B^T (R^T R) W_\eta \dot{\eta} = Q^T \dot{\eta} \Rightarrow$

$Q = W_\eta^T \tau_B$

Здесь $Q$ - обобщенные силы (должны стоять в уравнении (14) слева от знака равенства), $(x,y)$ - скалярное произведение.

То есть действительно в "вашей" статье похоже ошибка (если подразумеваются те же моменты), и в уравнении (18) слева от знака равенства должно быть $W_\eta^T \tau_B$, а не $\tau_B$. Видео не смотрел.

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение22.01.2026, 11:26 
Спасибо. Вроде выглядит вполне логично, так как ровно на этот множитель уравнения и отличаются, о чем я и написал с самого начала.
Но одно меня смущает, почему то во всех статьях и thesis уравнения Эйлера-Лагранжа для квадрокоптера приводятся без множителя $W_\eta^T$ перед $\tau_B$. На том видео, которое я выше привел, профессор американского университета приводит рассчет и моделирование ПИД-контроллера для квадрокоптера на основе уравнений без $W_\eta^T$. Может тут есть какая то особая тонкость? Не может же быть, чтобы поголовно все что то делали на основе ошибочных уравнений. Это же как то странно выглядит. Как же все это летает, если управляющие контроллеры синтезированы на основе ошибочных уравнений?

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение22.01.2026, 14:02 
Цитата:
Как же все это летает, если ...?

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

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение22.01.2026, 16:41 
Это студенческая работа, а не первоисточник или что-то серьёзное.

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение22.01.2026, 20:29 
Погуглил ради интереса "quadrotor и quadcopter + euler-lagrange" и то же самое по-русски, но уже в рунете.

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

Вот для примера из рунета (стр. 65):
https://sanse.ru/download/474

Но и нормальные статьи вполне можно найти:
DOI: 10.1007/s10846-009-9369-z

Вот здесь авторы похоже обнаружили то же самое, что и ТС:
Correction to the Euler Lagrange Multirotor Model with Euler Angles Generalized Coordinates
https://arxiv.org/pdf/2310.09306
...но вместо того, чтобы просто констатировать, что формализм Лагранжа в части обобщенных сил был применен с ошибкой, принялись какой-то странный огород городить... но формулу правильную в итоге выдали.

 
 
 
 Re: Квадрокоптер. Ньютон-Эйлер не равен Эйлеру-Лагранжу
Сообщение24.01.2026, 22:13 
Zahar Kartashov в сообщении #1715678 писал(а):
Но одно меня смущает, почему то во всех статьях и thesis уравнения Эйлера-Лагранжа для квадрокоптера приводятся без множителя $W_\eta^T$ перед $\tau_B$.
Думаю, это просто неряшливость в обозначениях. Люди пишут уравнения Эйлера с векторами, забывая, что компоненты в них отнесены к вращающимся осям, вмороженным в твердое тело. Я только в книге Арнольда "Математические методы классической механики" видел строгие обозначения, когда вектора с компонентами, отнесенными к "лабораторным" осям --- это одно пространство, а к вращающимся --- другое, и явно выписывается оператор преобразования оттуда сюда.

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group