-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1420000
commit 31d9dec
Showing
7 changed files
with
139 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
Hi there, it's Junning. I'm doing a PhD in [IAS](https://www.ias.informatik.tu-darmstadt.de/) , TU Darmstadt. My current research interest is to go beyond the classic conservative model-based control theoretic approaches, build up state estimators and controllers that | ||
|
||
- Satisfies certain performance or safety criteria, go beyond asymptotical stability; | ||
- Deal with nonlinear, hybrid, non-smooth dynamics; | ||
|
||
with modern geometry, optimization and machine learning tools. The ultimate goal here is to automate daily processes and to help us focusing on necessary and better decision making. | ||
|
||
My journey of research starts at [Sensetime](https://www.sensetime.com/en), where I was doing reinforcement learning, inverse reinforcement learning. The topics include theoretical one: exploration-exploitation dilemma and application for decision making in autonomous driving. Though the research problems are interesting and my mentors are really nice, I did not learn how to properly do research and didn't find the problem that really triggers me. It was a nice experience though because I learnt one key principle from my mentor in learning everything: be honest to yourself. | ||
|
||
This website I would put on necessary | ||
|
||
|
43 changes: 43 additions & 0 deletions
43
content/Observer Design /Observer Design for Continuous-Time Dynamical Systems.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
title: Observer Design for Continuous-Time Dynamical Systems | ||
draft: false | ||
tags: | ||
- observer | ||
- state_estimation | ||
- survey | ||
--- | ||
> This note is based on Pauline Bernard's survey paper [observer Design for continuous-Time dynamical systems](https://minesparis-psl.hal.science/hal-03337138/document). I highly recommend everyone who is working in the field of observer design, state estimation to read this extremely beautiful paper. She is one of the leading figures in the field of observer design and my favorite researcher in observer design. | ||
## Overview | ||
Observer design | ||
|
||
## Problem Statement | ||
There are three ways to define a real-time state estimation problem, given a dynamical system: | ||
$$ | ||
\begin{aligned} | ||
\dot{x}=f(x),\ \ y=h(x) | ||
\end{aligned} | ||
$$ | ||
- Open loop estimation based on simulation | ||
In a probabilistic manner, $\text{argmax}_{x_0} P(x_0|y_{0:t},u_{0:t})$, estimate the initial state or current state via simulation assuming the model is known. In a stochastic sense it's doing inference, while in a deterministic manner, it's like interval estimation. | ||
- Open loop estimation based on optimization, moving horizon optimization | ||
$\hat{x}=\text{argmin}_{\hat{x}_f}\int_{t-\bar{t}}^t|Y(\hat{x}_f,t;\tau)-y(\tau)|^2d\tau$, $\bar{t}\in[0,t]$ is a window parameter. | ||
- Closed loop estimation based on dynamical systems | ||
a dynamical system $\dot{\hat{z}}=\mathcal{F}(\hat{z},y,t),\ \ \hat{x}=\mathcal{T}(\hat{z},y,t)$, which verifies $\lim_{t\to\infty}|\hat{x}(t)-x(t)|=0$. Here $\hat{z}=T(\hat{x})$ and $\mathcal{T}$ is the left-inverse of the transformation $T$ | ||
|
||
>**Remark** | ||
>- The first and second approaches are possibly equivalent in the lens of inference as optimization, note that any inference problem can be rewrite as an optimization problem. | ||
>- The third approach has some connection to the optimization perspective, because the Lyapunov function can be cast as a cost function. But the mechanism under the hood is very different because an observer include the transformation from one coordinate to another and transform it back. | ||
## Detectability, Observability and Normal Forms | ||
|
||
Distinguishability | ||
|
||
|
||
|
||
## Reference | ||
- [observer Design for continuous-Time dynamical systems](https://minesparis-psl.hal.science/hal-03337138/document) | ||
|
||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
title: Observer Design | ||
--- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
--- | ||
title: Inverse Kinematics | ||
draft: false | ||
tags: | ||
- robotics | ||
- Lie_Group | ||
- Manifold | ||
--- | ||
## Overview | ||
Inverse Kinematics is one of the fundamental tools in robotics, it accepts trajectories in cartesian space and generate trajectories in general coordinate. In this note, inverse kinematics is demonstrated with a bit of Lie group theory to ease the concept and bring in more insight of the computation. | ||
|
||
## Problem Statement | ||
With kinematics function $f$ which satisfies | ||
$$ | ||
\begin{aligned} | ||
x=f(q) | ||
\end{aligned} | ||
$$ | ||
where $x\in SE(3)$, $q\in \mathcal{S}$ belongs to a valid set of generalized coordinate. Find the corresponding $q$ for a given $x_d$. | ||
|
||
## Numerical Algorithm and Computation on SE(3) | ||
Initialize a generalized coordinate $q_0$, take the Taylor expansion of it | ||
$$ | ||
\begin{aligned} | ||
f(q_d)=f(q_0)+J_{q_0}(q_d-q_0) | ||
\end{aligned} | ||
$$ | ||
Rearrange we have | ||
|
||
$$ | ||
\begin{aligned} | ||
\Delta q=J_{q_0}^{-1}\Big(f(q_d)-f(q_0)\Big) | ||
\end{aligned} | ||
$$ | ||
|
||
We could do integration with a time parameter $\text{dt}$ | ||
|
||
$$ | ||
\begin{aligned} | ||
\dot{q}=\Delta q\ \text{dt} | ||
\end{aligned} | ||
$$ | ||
|
||
Now we have an iterative algorithm, but how to calculate it, because $f(q)\in SE(3)$ involves translation and rotation. Lie group would help! Consider $f(q_d)=\mathcal{X}_d$, and $f(q_0)=\mathcal{X}_0$, we could do $$ | ||
\begin{aligned} | ||
\Delta q=J_{q_0}^{-1}\text{Log}(\mathcal{X}_d-\mathcal{X}_0) | ||
\end{aligned} | ||
$$ which becomes a 6D vector in cartesian space. Note that here $-$ means the right subtraction because the Jacobian is define in the local frame. | ||
|
||
The idea behind is inverse kinematics is actually use the error on the $SE(3)$ manifold as a searching direction, aka a velocity, then map it back to the configuration space. Because | ||
$$ | ||
\begin{aligned} | ||
\dot{x}=J_q(q)\dot{q} | ||
\end{aligned} | ||
$$ | ||
Ideally we have to use the $\text{Exp}$ operator in configuration space to map $\dot{q}$ to $q$, but if we ignore the joint limit and velocity limit, the tangent space $\dot{q}$ share the same manifold with the configuration space $q$. | ||
|
||
Of course, there are a lot of details when implement the algorithm, e.g. | ||
- The inverse, usually pseudo inverse is used; | ||
- You could also used the left subtraction in here, but then the Jacobian must in global coordinate defined on Lie algebra; | ||
|
||
## Reference | ||
- [A micro Lie theoy for state estimation in robotics](https://arxiv.org/pdf/1812.01537) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
title: Robotics | ||
--- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,5 @@ | ||
--- | ||
title: Welcome to Quartz | ||
title: Welcome to Junning's homepage | ||
--- | ||
|
||
This is a blank Quartz installation. | ||
See the [documentation](https://quartz.jzhao.xyz) for how to get started. | ||
This is Junning's homepage, welcome! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: <% tp.file.title %> | ||
draft: false | ||
tags: | ||
--- | ||
## Overview | ||
|
||
## Problem Statement | ||
|