Reading Notes | Optimal Estimation of Dynamic Systems (Crassidis, 2011)
John L. Crassidis, and John L. Junkins, Optimal Estimation of Dynamic Systems, CRC Press, 2011.
Corrections to the book can be found at here.
John L. Crassidis, and John L. Junkins, Optimal Estimation of Dynamic Systems, CRC Press, 2011.
Corrections to the book can be found at here.
Jonathan Ko, “Gaussian Process for Dynamic Systems”, PhD Thesis, University of Washington, 2011.
Bayes filter equation in Eq. 4.1 (p.34) has a typo (should be $\propto$, not $=$)
$p(x_t|z_{1:t},u_{1:t-1}) \propto p(z_t|x_t) \int \textcolor{red}{p(x_t|x_{t-1},u_{t-1})} \textcolor{green}{p(x_{t-1}|z_{1:t-1},u_{1:t-2})} dx_{t-1}$
The dynamics model maps the state and control $(x_t,u_t)$ to the state transition $\Delta x_t = x_{t+1} - x_t$. So, the training data is
$D_p = <(X,U),X'>$
The observation model maps from the state $x_t$ to the observation $z_t$. So, the training data is
$D_o = <X,Z>$
The resulting GP dynamics and observation models are (p.44)
$p(x_t|x_{t-1},u_{t-1}) \approx \mathcal{N}(\text{GP}_\mu([x_{t-1},u_{t-1}],D_p), \text{GP}_\Sigma([x_{t-1},u_{t-1}],D_p))$
and
$p(z_t|x_t) \approx \mathcal{N}(\text{GP}_\mu(x_t,D_o), \text{GP}_\Sigma(x_t,D_o))$
almosallam_heteroscedastic_2017
Heteroscedastic Gaussian processes for uncertain and incomplete data
Ibrahim Almosallam
PhD Thesis, University of Oxford, https://ora.ox.ac.uk/objects/uuid:6a3b600d-5759-456a-b785-5f89cf4ede6d
If you are looking at this post, it means you are also pretty much a newbie to TensorFlow
, like me, as of 2020-07-29.
Keras
is already part of TensorFlow
, so, use from tensorflow.keras import ***
, not .from keras import ***
TensorFlow backend
model.fit(..., callbacks=[EarlyStopping(monitor='val_loss', patience=5, verbose=1, mode='min', restore_best_weights=True)], ...)
TL;DR
Set all random seeds
Usetensorflow.keras
instead standalonekeras
Usemodel.predict_on_batch(x).numpy()
for predicting speed.
I use CNN for time series prediction (1D), not for image works (2D or 3D).
Keras.layers.Conv1D
的所有要点I ran across this document page of pytransform3d, and it claims:
There are two different quaternion conventions: Hamilton’s convention defines
ijk = -1
and the JPL convention (from NASA’s Jet Propulsion Laboratory, JPL) definesijk = 1
. We use Hamilton’s convention.
It’s not new to know about different definitions (mostly the sequency differs), but what is this ijk=1
definition? First time to hear about.
Then I continue diving into the reference source it provided.
Only after this, I found that the problem is not only about the sequence of the components, but about something more fundamental. So I put down this summary for my future reference.
The answer is it doesn’t matter that much. This is not a mathematical or fundamental difference.
Equations can be easily converted. Codes can be easily modified.
This is about math!
- Harold L. Hallock, Gary Welter, David G. Simpson, and Christopher Rouff, ACS without an attitude, London: Springer, 2017.
The quaternion representation is one of the best characterizations, and this chapter will focus on this representation. The presentation in this chapter follows the style of [99, 205, 219].
Will keep updating as I read more references…
还是没有搞明白为什么这就相当于重新定义了 $ij=-k$
F. Landis Markley, and John L. Crassidis, Fundamentals of Spacecraft Attitude Determination and Control, New York, NY: Springer New York, 2014.
Malcolm D. Shuster, “The nature of the quaternion”, The Journal of the Astronautical Sciences, vol. 56, Sep. 2008, pp. 359–373.
Hanspeter Schaub, and John L. Junkins, Analytical Mechanics of Space Systems (Second Edition), Reston, VA: American Institute of Aeronautics and Astronautics, 2009.
(p.107) 似乎是默认了与 Rotation matrix 顺序一致的一种，即 $ij=-k$
Probabilistic Programming & Bayesian Methods for Hackers (Version 0.1)
PyMC3 is a Python library for programming Bayesian analysis [3]. It is a fast, well-maintained library. The only unfortunate part is that its documentation is lacking in certain areas, especially those that bridge the gap between beginner and hacker. One of this book’s main goals is to solve that problem, and also to demonstrate why PyMC3 is so cool.
We assign them to PyMC3’s stochastic variables, so-called because they are treated by the back end as random number generators.
Excerpt some information about the attitude subsystem of CubeSats.
Learned something about the attitude estimation EKF used in several books and papers. Try to note something here to clarify their relationships.
The only thing I’m sure about is:
The quaternion attitude
+ gyro bias
estimator is widely used in practice.