Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
JulianHammerl authored and patkenneally committed Sep 9, 2023
1 parent 2ed5792 commit 00e4771
Show file tree
Hide file tree
Showing 5 changed files with 4 additions and 4 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@
\hline
1.0 & First Release & H. Schaub & 2019-03-28\\
\hline
1.1 & Update first module call functionality & J. Hammerl & 2023-08-07\\
\hline

\end{longtable}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ \subsection{Reset() Functionality}
\subsection{Update() Functionality}
The goal of the {\tt update()} method is to read in the current attitude control thruster force message and map these into a thruster on-time output message. Let $\Delta t_{\text{min}}$ be the minimum on-time that can be implemented with a thruster. If the requested on-time is less than $\Delta t_{\text{min}}$, then the requested thruster on-time is clipped to zero. In the following algorithm unimplemented fractional on-times less than $\Delta t_{\text{min}}$ are tracked and accumulated, providing additional pointing accuracy. For example, if the minimum on-time is 20 milli-seconds, an on-time algorithm without remainder calculation would create a deadband about the 20 milli-second control request. With the remainder logic, if 5 milli-second on-time requests are computed, these are accumulated such that every 4$^{\text{th}}$ control step a 20 milli-second burn is requested. This reduces the deadband behavior of the thruster and achieves better pointing. In this example the 5 milli-second un-implemented on-times are accumulated in the variable $\Delta t_{\text{partial}}$.

If the {\tt update()} method is called for the first time after reset, then there is no knowledge of the control period $\Delta t$. In this case the thruster on-time values are set either to 0 (on-pulsing case) or 2 seconds (off-pulsing case). After writing out this message the module is exited. This logic is essence turns off the thruster-based attitude control for one control period.

If this is a repeated call of the {\tt update()} method then the control period $\Delta t$ is evaluated by differencing the current time with the prior call time. Next a loop goes over each installed thruster to map the requested force $F_{i}$ into an on-time $t_{i}$. The following logic is used.
If the {\tt update()} method is called for the first time after reset, then there is no knowledge of the control period $\Delta t$. In this case the control period is set to 2 seconds, unless the module parameter \texttt{defaultControlPeiod} is set to a different value. If this is a repeated call of the {\tt update()} method then the control period $\Delta t$ is evaluated by differencing the current time with the prior call time. Next a loop goes over each installed thruster to map the requested force $F_{i}$ into an on-time $t_{i}$. The following logic is used.
\begin{itemize}
\item If off-pulsing is used then $F_{i}\le 0$ and we set $$F_{i} += F_{\text{max}}$$ to a reduced thrust to achieve the negative $F_{i}$ force.
\item Next, if $F_{i} < 0$ then it set to be equal to zero. This can occur if an off-pulsing request is larger than the maximum thruster force magnitude $F_{\text{max}}$.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Executive Summary
-----------------

A thruster force message is read in and converted to a thruster on-time output message. The module ensures the requested on-time is at least as large as the thruster's minimum on time. If not then the on-time is zeroed, but the unimplemented thrust time is kept as a remainder calculation. If these add up to reach the minimum on time, then a thruster pulse is requested. If the thruster on time is larger than the control period, then an on-time that is 1.1 times the control period is requested. More information can be found in the
:download:`PDF Description </../../src/fswAlgorithms/effectorInterfaces/thrFiringRemainder/_Documentation/Basilisk-thrFiringRemainder-2019-03-28.pdf>`.
:download:`PDF Description </../../src/fswAlgorithms/effectorInterfaces/thrFiringRemainder/_Documentation/Basilisk-thrFiringRemainder-2023-08-07.pdf>`.
The paper `Steady-State Attitude and Control Effort Sensitivity Analysis of Discretized Thruster Implementations <https://doi.org/10.2514/1.A33709>`__ includes a detailed discussion on the Remainder Trigger algorithm and compares it to other thruster firing methods.


Expand Down

0 comments on commit 00e4771

Please sign in to comment.