write chapter_3
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# 3.2 Модель позиционирования
|
||||
|
||||
Модель позиционирования описывает положение и ориентацию беспилотного летательного аппарата в трёхмерном пространстве. Класс `Position` (файл `position.py`) инкапсулирует все параметры состояния БПЛА и операции над ними.
|
||||
|
||||
\section{Параметры позиции}
|
||||
|
||||
Позиция БПЛА характеризуется следующими параметрами:
|
||||
|
||||
\begin{itemize}
|
||||
\item $x$, $y$ — координаты в горизонтальной плоскости (пиксели карты)
|
||||
\item $z$ — масштаб изображения (уровень приближения)
|
||||
\item $yaw$ — угол рыскания (поворот вокруг вертикальной оси)
|
||||
\item $pitch$ — угол тангажа (поворот вокруг поперечной оси)
|
||||
\item $roll$ — угол крена (поворот вокруг продольной оси)
|
||||
\end{itemize}
|
||||
|
||||
\section{Матрица гомографии}
|
||||
|
||||
Матрица гомографии связывает координаты точек на двух изображениях одной и той же плоскости. Для БПЛА гомография описывает преобразование между последовательными кадрами видеопоследовательности.
|
||||
|
||||
Матрица гомографии вычисляется как:
|
||||
|
||||
\begin{equation}
|
||||
H = K_{out} \cdot R \cdot T \cdot K_{in}^{-1}
|
||||
\end{equation}
|
||||
|
||||
где $K_{in}$ и $K_{out}$ — матрицы внутренних параметров камеры, $R$ — матрица вращения, $T$ — матрица трансляции.
|
||||
|
||||
\section{Матрица вращения}
|
||||
|
||||
Матрица вращения представляет собой комбинацию поворотов вокруг трёх осей:
|
||||
|
||||
\begin{equation}
|
||||
R = R_x(roll) \cdot R_y(pitch) \cdot R_z(yaw)
|
||||
\end{equation}
|
||||
|
||||
Элементарные матрицы поворота имеют вид:
|
||||
|
||||
\begin{equation}
|
||||
R_x(\gamma) = \begin{pmatrix}
|
||||
1 & 0 & 0 \\
|
||||
0 & \cos\gamma & -\sin\gamma \\
|
||||
0 & \sin\gamma & \cos\gamma
|
||||
\end{pmatrix}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}
|
||||
R_y(\theta) = \begin{pmatrix}
|
||||
\cos\theta & 0 & \sin\theta \\
|
||||
0 & 1 & 0 \\
|
||||
-\sin\theta & 0 & \cos\theta
|
||||
\end{pmatrix}
|
||||
\end{equation}
|
||||
|
||||
\begin{equation}
|
||||
R_z(\psi) = \begin{pmatrix}
|
||||
\cos\psi & -\sin\psi & 0 \\
|
||||
\sin\psi & \cos\psi & 0 \\
|
||||
0 & 0 & 1
|
||||
\end{pmatrix}
|
||||
\end{equation}
|
||||
|
||||
\section{Применение гомографии к позиции}
|
||||
|
||||
Метод `iapply` позволяет обновить позицию БПЛА на основе найденной матрицы гомографии. Алгоритм включает:
|
||||
|
||||
\begin{enumerate}
|
||||
\item Декомпозицию гомографии на компоненты $R$ и $t$
|
||||
\item Вычисление оптимальной трансформации
|
||||
\item Обновление координат и углов ориентации
|
||||
\end{enumerate}
|
||||
|
||||
Трансформация координат выполняется с учётом фокусного расстояния камеры:
|
||||
|
||||
\begin{equation}
|
||||
x_{new} = x_{old} - T_x \cdot K_{focus}
|
||||
\end{equation}
|
||||
\begin{equation}
|
||||
y_{new} = y_{old} + T_y \cdot K_{focus}
|
||||
\end{equation}
|
||||
|
||||
\section{Операции над позицией}
|
||||
|
||||
Класс `Position` поддерживает арифметические операции:
|
||||
|
||||
\begin{itemize}
|
||||
\item Умножение на скаляр — масштабирование координат
|
||||
\item Деление на скаляр — обратное масштабирование
|
||||
\item Копирование — создание полной копии состояния
|
||||
\end{itemize}
|
||||
|
||||
Эти операции используются при интерполяции траекторий и преобразовании координат.
|
||||
5
dissertation/chapter_3/3.2_position_model/readme.md
Normal file
5
dissertation/chapter_3/3.2_position_model/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 3.2 Модель позиционирования
|
||||
|
||||
## Содержание раздела
|
||||
|
||||
Описание модели позиционирования находится в файле 3.2_position_model.md
|
||||
Reference in New Issue
Block a user