Skip to content

Commit

Permalink
Quartz sync: Jun 26, 2024, 12:50 AM
Browse files Browse the repository at this point in the history
  • Loading branch information
JunningHuang committed Jun 25, 2024
1 parent 1420000 commit 31d9dec
Show file tree
Hide file tree
Showing 7 changed files with 139 additions and 3 deletions.
12 changes: 12 additions & 0 deletions content/About Me.md
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


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)





5 changes: 5 additions & 0 deletions content/Observer Design /index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Observer Design
---


63 changes: 63 additions & 0 deletions content/Robotics/Inverse Kinematics.md
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)
5 changes: 5 additions & 0 deletions content/Robotics/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Robotics
---


5 changes: 2 additions & 3 deletions content/index.md
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!
9 changes: 9 additions & 0 deletions templates/paper note.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: <% tp.file.title %>
draft: false
tags:
---
## Overview

## Problem Statement

0 comments on commit 31d9dec

Please sign in to comment.