From efdcacd41816316c472892957996021572c38e5b Mon Sep 17 00:00:00 2001 From: NotXia <35894453+NotXia@users.noreply.github.com> Date: Thu, 8 May 2025 15:28:53 +0200 Subject: [PATCH] Add DAS multi-robot safety control --- .../distributed-autonomous-systems/das.tex | 3 + .../img/single_unicycle_map.png | Bin 0 -> 25803 bytes .../img/unicycle_model.png | Bin 0 -> 26521 bytes .../sections/_safety_controllers.tex | 151 +++++++++++++++++- 4 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 src/year2/distributed-autonomous-systems/img/single_unicycle_map.png create mode 100644 src/year2/distributed-autonomous-systems/img/unicycle_model.png diff --git a/src/year2/distributed-autonomous-systems/das.tex b/src/year2/distributed-autonomous-systems/das.tex index a025a23..085f9c7 100644 --- a/src/year2/distributed-autonomous-systems/das.tex +++ b/src/year2/distributed-autonomous-systems/das.tex @@ -45,6 +45,9 @@ \def\s{{\vec{s}}} \def\u{{\vec{u}}} \def\D{\ensuremath{\mathcal{D}}} +\def\A{{\matr{A}}} +\def\w{{\vec{w}}} +\def\R{\ensuremath{\mathbb{R}}} \begin{document} diff --git a/src/year2/distributed-autonomous-systems/img/single_unicycle_map.png b/src/year2/distributed-autonomous-systems/img/single_unicycle_map.png new file mode 100644 index 0000000000000000000000000000000000000000..feaa2348a2af756cbd8b75a52ce0b9bdb25010ee GIT binary patch literal 25803 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 literal 0 HcmV?d00001 diff --git a/src/year2/distributed-autonomous-systems/img/unicycle_model.png b/src/year2/distributed-autonomous-systems/img/unicycle_model.png new file mode 100644 index 0000000000000000000000000000000000000000..9ed6b74764c4199ddfe80383a7da224ecdebca9c GIT binary patch literal 26521 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 0$ is the distance to the barycenter. + + By differentiating w.r.t. time, the dynamics is: + \[ + \dot{\x}^\text{int} = \begin{bmatrix} + \dot{\vec{p}}_x \\ \dot{\vec{p}}_y + \end{bmatrix} + + + \rho \dot{\theta} \begin{bmatrix} + - \sin(\theta) \\ \cos(\theta) + \end{bmatrix} + \] + + \begin{figure}[H] + \centering + \includegraphics[width=0.2\linewidth]{./img/single_unicycle_map.png} + \end{figure} + + By using the unicycle model dynamics, it becomes: + \[ + \dot{\x}^\text{int} = \begin{bmatrix} + \cos(\theta) & -\rho\sin(\theta) \\ + \sin(\theta) & \rho\cos(\theta) \\ + \end{bmatrix} + \begin{bmatrix} + v \\ \omega + \end{bmatrix} + \] + + By formulating $v$ and $\omega$ as a state-feedback control with input $\u^\text{int} \in \mathbb{R}^2$ as: + \[ + \begin{bmatrix} + v \\ \omega + \end{bmatrix} + = + \begin{bmatrix} + \cos(\theta) & \sin(\theta) \\ + -\frac{1}{\rho} \sin(\theta) & \frac{1}{\rho} \cos(\theta) + \end{bmatrix} \u^\text{int} + \] + The result is a single-integrator $\dot{\x}^\text{int} = \u^\text{int}$. \end{description} \ No newline at end of file