-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
331 lines (331 loc) · 27.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
<!doctype html><html lang=en dir=ltr><meta charset=utf-8>
<meta name=viewport content="width=device-width">
<title>Jinjie LI</title>
<meta name=generator content="Hugo Eureka 0.9.0">
<link rel=stylesheet href=/css/eureka.min.css>
<script defer src=/js/eureka.min.js></script>
<link rel=preconnect href=https://fonts.gstatic.com crossorigin>
<link rel=preload href="https://fonts.googleapis.com/css2?family=Lora:wght@400;600;700&family=Noto+Serif+SC:wght@400;600;700&display=swap" as=style onload="this.onload=null,this.rel='stylesheet'">
<link rel=stylesheet href=https://cdn.jsdelivr.net/gh/highlightjs/[email protected]/build/styles/solarized-light.min.css media=print onload="this.media='all',this.onload=null" crossorigin>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/[email protected]/build/highlight.min.js crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/gh/highlightjs/[email protected]/build/languages/dart.min.js crossorigin></script>
<script defer type=text/javascript src=/js/fontawesome.min.4cba50a6308ebe5a68c469565d0964bcda040e1c707108d21524bd0c2b81e542553ecc6a53f4f4663750806da0c81d28.js integrity=sha384-TLpQpjCOvlpoxGlWXQlkvNoEDhxwcQjSFSS9DCuB5UJVPsxqU/T0ZjdQgG2gyB0o></script>
<link rel=stylesheet href=https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css integrity=sha384-AfEj0r4/OFrOo5t7NnNe46zW/tFgW6x/bCJG8FqQCEo3+Aro6EYUG4+cU+KJWu/X media=print onload="this.media='all',this.onload=null" crossorigin>
<script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js integrity=sha384-g7c+Jr9ZivxKLnZTDUhnkOnsh30B4H0rpLUpJ4jAIKs4fnJI+sEnkvrMWph2EDg4 crossorigin></script>
<script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js integrity=sha384-mll67QQFJfxn0IYznZYonOWZ644AWYC+Pt2cHqMaRhXVrursRwvLnLaebdGIlYNa crossorigin></script>
<script>document.addEventListener("DOMContentLoaded",function(){renderMathInElement(document.body,{delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}]})})</script>
<script defer src=https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js integrity="sha256-Zmpaaj+GXFsPF5WdPArSrnW3b30dovldeKsW00xBVwE=" crossorigin></script>
<link rel=preconnect href=https://www.google-analytics.com crossorigin>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-TMF0SGGT5M"></script>
<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date),gtag('config','G-TMF0SGGT5M')</script>
<link rel=icon type=image/png sizes=32x32 href=/images/icon_hu3bc56a1f268dd5fcad0decc4ab38c1f8_17446_32x32_fill_box_center_3.png>
<link rel=apple-touch-icon sizes=180x180 href=/images/icon_hu3bc56a1f268dd5fcad0decc4ab38c1f8_17446_180x180_fill_box_center_3.png>
<meta name=description content="Eureka is a elegant and powerful theme for Hugo.">
<meta property="og:title" content="Jinjie LI">
<meta property="og:type" content="website">
<meta property="og:image" content="/images/icon.png">
<meta property="og:url" content="/">
<meta property="og:description" content="Eureka is a elegant and powerful theme for Hugo.">
<meta property="og:locale" content="en">
<meta property="og:locale:alternate" content="zh">
<meta property="og:site_name" content="Jinjie LI">
<meta property="og:updated_time" content="2018-10-21T00:00:00+00:00">
<meta property="article:section" content>
<link rel=alternate type=application/rss+xml href=/index.xml title="Jinjie LI">
<body class="flex flex-col min-h-screen">
<header class="fixed flex items-center w-full min-h-16 ps-scrollbar z-50 bg-secondary-bg shadow-sm">
<div class="w-full max-w-screen-xl mx-auto"><script>let storageColorScheme=localStorage.getItem("lightDarkMode");((storageColorScheme=='Auto'||storageColorScheme==null)&&window.matchMedia("(prefers-color-scheme: dark)").matches||storageColorScheme=="Dark")&&document.getElementsByTagName('html')[0].classList.add('dark')</script>
<nav class="flex items-center justify-between flex-wrap px-4 py-4 md:py-0">
<a href=/ class="me-6 text-primary-text text-xl font-bold">Jinjie LI</a>
<button id=navbar-btn class="md:hidden flex items-center px-3 py-2" aria-label="Open Navbar">
<i class="fas fa-bars"></i>
</button>
<div id=target class="hidden block md:flex md:grow md:justify-between md:items-center w-full md:w-auto text-primary-text z-20">
<div class="md:flex md:h-16 text-sm md:grow pb-4 md:pb-0 border-b md:border-b-0">
<a href=/#about class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">About</a>
<a href=/#research class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Research</a>
<a href=/#projects class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Projects</a>
<a href=/#talks class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Talks</a>
<a href=/#misc class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Misc.</a>
<a href=/posts class="block mt-4 md:inline-block md:mt-0 md:h-(16-4px) md:leading-(16-4px) box-border md:border-t-2 md:border-b-2 border-transparent me-4">Blogs</a>
</div>
<div class=flex>
<div class="relative pt-4 md:pt-0">
<div class="cursor-pointer hover:text-eureka" id=lightDarkMode>
<i class="fas fa-adjust"></i>
</div>
<div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-30" id=is-open>
</div>
<div class="absolute flex flex-col start-0 md:start-auto end-auto md:end-0 hidden bg-secondary-bg w-48 rounded py-2 border border-tertiary-bg cursor-pointer z-40" id=lightDarkOptions>
<span class="px-4 py-1 hover:text-eureka" name=Light>Light</span>
<span class="px-4 py-1 hover:text-eureka" name=Dark>Dark</span>
<span class="px-4 py-1 hover:text-eureka" name=Auto>Auto</span>
</div>
</div>
<div class="relative pt-4 ps-4 md:pt-0">
<div class="cursor-pointer hover:text-eureka" id=languageMode>
<i class="fas fa-globe"></i>
<span class=ps-1>English</span>
</div>
<div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-30" id=is-open-lang>
</div>
<div class="absolute flex flex-col start-0 md:start-auto end-auto md:end-0 hidden bg-secondary-bg w-48 rounded py-2 border border-tertiary-bg cursor-pointer z-40" id=languageOptions>
<a class="px-4 py-1 hover:text-eureka" href=/>English</a>
<a class="px-4 py-1 hover:text-eureka" href=/zh/>简体中文</a>
</div>
</div>
</div>
</div>
<div class="fixed hidden inset-0 opacity-0 h-full w-full cursor-default z-0" id=is-open-mobile>
</div>
</nav>
<script>let element=document.getElementById('lightDarkMode');storageColorScheme==null||storageColorScheme=='Auto'?document.addEventListener('DOMContentLoaded',()=>{window.matchMedia("(prefers-color-scheme: dark)").addEventListener('change',switchDarkMode)}):storageColorScheme=="Light"?(element.firstElementChild.classList.remove('fa-adjust'),element.firstElementChild.setAttribute("data-icon",'sun'),element.firstElementChild.classList.add('fa-sun')):storageColorScheme=="Dark"&&(element.firstElementChild.classList.remove('fa-adjust'),element.firstElementChild.setAttribute("data-icon",'moon'),element.firstElementChild.classList.add('fa-moon')),document.addEventListener('DOMContentLoaded',()=>{getcolorscheme(),switchBurger(),switchLanguage()})</script>
</div>
</header>
<main class="grow pt-16">
<div class="ps-scrollbar bg-secondary-bg">
<div class="max-w-screen-xl mx-auto">
<div id=about class="lg:w-3/4 mx-auto px-6 md:px-8 xl:px-12 py-12">
<div class="flex flex-col md:flex-row items-center justify-center mb-12">
<div class="flex-none w-48 mx-auto md:ms-0 md:me-8 md:pe-8 md:border-e">
<img src=/imgs/lijinjie.png class=rounded-full alt=Avatar>
</div>
<div class="grow mt-4 md:mt-0">
<div class="text-3xl py-4">Jinjie LI (李谨杰)</div>
<div class="w-3/12 xl:w-2/12 border-b"></div>
<div class="flex items-center pt-4">
<i class="fas fa-user"></i>
<div class="flex flex-wrap">
<span class=ps-4>PhD Student</span>
<a href=https://www.u-tokyo.ac.jp/en/ class=ps-4>The University of Tokyo</a>
</div>
</div>
<div class="py-8 text-lg leading-normal">
Research Interests: Robotics, Model Predictive Control, Aerial Manipulation
</div>
</div>
<div class="flex md:flex-col justify-center items-end ms-8">
<div class="pb-2 pe-4 md:pe-0 pt-4 md:pt-0">
<a href="https://scholar.google.com/citations?hl=en&user=S_5A5pkAAAAJ"><i class="fas fa-graduation-cap"></i></a>
</div>
<div class="pb-2 pe-4 md:pe-0 pt-4 md:pt-0">
<a href=mailto:[email protected]><i class="fas fa-envelope"></i></a>
</div>
<div class="pb-2 pe-4 md:pe-0 pt-4 md:pt-0">
<a href=https://github.com/Li-Jinjie><i class="fab fa-github"></i></a>
</div>
</div>
</div>
<div class=content>
<h2 id=about-me>About Me</h2>
<p>Greetings! I am currently a first-year PhD student in the <a href="https://www2.mech.t.u-tokyo.ac.jp/?lang=en">Department of Mechanical Engineering</a> at <a href=https://www.u-tokyo.ac.jp/en/>The University of Tokyo</a>, supervised by <a href=http://www.jsk.t.u-tokyo.ac.jp/~chou/><i>Lecturer</i> Moju ZHAO</a>.</p>
<p>My research interest lies in optimization-based control with applications in aerial manipulation, aiming to make aerial robots function as flying hands rather than just eyes.</p>
<p>I obtained an M.Sc. in Control Science and Engineering (2023) and a B.Eng. in Automation (2020) from <a href=https://ev.buaa.edu.cn/>Beihang University</a>. Please refer to my <a href=/pdfs/CV_Jinjie_Li.pdf target=_blank>CV</a> for more information.</p>
<h3 id=news>News</h3>
<ul>
<li><em>Jan. 2025</em> : One paper has been accepted to ICRA 2025!</li>
<li><em>Aug. 2024</em> : Invited as a reviewer for RA-L!</li>
<li><em>Aug. 2024</em> : <a href="https://ieeexplore.ieee.org/document/10659124?source=authoralert">One paper</a> has been accepted to RA-L! A great beginning for my PhD journey.</li>
<li><em>May 2024</em> : Participated in ICRA 2024 (Yokohama, Japan)! One poster was presented!</li>
</ul>
<details>
<summary><b>Old News</b></summary>
<ul>
<li><i>Apr. 2024</i> : Invited as a reviewer for IROS 2024! </li>
<li><i>Dec. 2023</i> : Participated in CDC 2023 (Singapore), my first in-person conference! One paper was presented!</li>
<li><i>Nov. 2023</i> : Gave a talk at <a href=https://www.dynsyslab.org/cdc-2023-workshop-on-benchmarking-reproducibility-and-open-source-code-in-controls/>CDC Workshop on Benchmarking, Reproducibility, and Open-Source Code in Controls</a></li>
<li><i>Oct. 2023</i> : Invited as a reviewer for ICRA 2024!</li>
<li><i>Oct. 2023</i> : Admitted to the University of Tokyo as a PhD student, advised by Dr. Moju ZHAO!</li>
<li><i>July 2023</i> : One paper has been accepted to CDC 2023!
<li><i>June 2023</i> : Graduated from Beihang University with a Master's degree!</li>
<li><i>Apr. 2023</i> : Invited as a reviewer for CDC 2023!</li>
<li><i>Apr. 2023</i> : One paper has been accepted to ICRA 2023 workshop “The Role of Robotics Simulators for Unmanned Aerial Vehicles”!</li>
<li><i>Jan. 2023</i> : One paper has been accepted to ICRA 2023!</li>
</ul>
</details>
<h2 id=research>Research</h2>
<style>*{box-sizing:border-box}.text_column{float:left;width:calc(100% - 310px);padding:0}.gif_column{float:right;width:300px;padding:0}@media screen and (max-width:760px){.text_column{width:100%}.gif_column{width:100%;text-align:center}}</style>
<style>.title{font-size:1.2em;font-weight:700}</style>
<div class=text_column>
<span class=title><b>Servo Integrated Nonlinear Model Predictive Control for Overactuated Tiltable-Quadrotors<br></b></span>
 ▪️  <b>Jinjie Li</b>, Junichiro Sugihara, Moju Zhao<br>
 ▪️  <i>IEEE Robotics and Automation Letters (<b>RA-L</b>)</i><br>
🕗 Oct. 2023 - Aug. 2024<br>
🔗 [<a href=https://arxiv.org/abs/2405.09871>paper</a>] [<a href="https://youtu.be/8_pYdeuQnC0?si=JWOmK2JlZoobJ9iC">video</a>]
</div>
<div class=gif_column>
<img src=/imgs/beetle_nmpc.gif alt=Beetle-NMPC>
</div>
<p>To the best of the authors’ knowledge, this is the first time an actuator-level NMPC is verified on a real tiltable-quadrotor.</p>
<details>
<summary><b>Abstract</b></summary>
Utilizing a servo to tilt each rotor transforms quadrotors from underactuated to overactuated systems, allowing for independent control of both attitude and position, which provides advantages for aerial manipulation. However, this enhancement also introduces model nonlinearity, sluggish servo response, and limited operational range into the system, posing challenges to dynamic control. In this study, we propose a control approach for tiltable-quadrotors based on nonlinear model predictive control (NMPC). Unlike conventional cascade methods, our approach preserves the full dynamics without simplification. It directly uses rotor thrust and servo angle as control inputs, where their limited working ranges are considered input constraints. Notably, we incorporate a first-order servo model within the NMPC framework. Simulation reveals that integrating the servo dynamics is not only an enhancement to control performance but also a critical factor for optimization convergence. To evaluate the effectiveness of our approach, we fabricate a tiltable-quadrotor and deploy the algorithm onboard at 100 Hz. Extensive real-world experiments demonstrate rapid, robust, and smooth pose-tracking performance.
</details>
<br>
<div class=text_column>
<span class=title><b>Learning-Based MPC for Close Formation Tracking of Quadrotors<br></b></span>
 ▪️  <b>Jinjie Li</b>, Liang Han, Haoyang Yu, et al.<br>
 ▪️  <i>IEEE Conference on Decision and Control (<b>CDC23</b>); Master’s Thesis</i><br>
🕗 Nov. 2021 - May 2023<br>
🔗 [<a href=https://arxiv.org/abs/2304.07794>paper</a>] [<a href=/pdfs/master_thesis_zh.pdf target=_blank>thesis_zh</a>] [<a href=https://github.com/Li-Jinjie/ndp_nmpc_qd>code</a>]
</div>
<div class=gif_column>
<img src=/imgs/NDP-NMPC.gif alt=NDP-NMPC>
</div>
<p>The downwash effect caused by other agents is a unique problem for aerial robotics and is hard to model. How could aerial robots observe the downwash effect and integrate it into the state-of-the-art trajectory tracking framework?</p>
<details>
<summary><b>Abstract</b></summary>
Swarm aerial robots are required to maintain close proximity to successfully traverse narrow areas in cluttered environments. However, this movement is affected by the downwash effect generated from other quadrotors in the swarm. This aerodynamic effect is highly nonlinear and hard to describe through mathematical modeling. Additionally, the existence of the downwash disturbance can be predicted based on the states of neighboring quadrotors. If this prediction is considered, the control loop can proactively handle the disturbance, resulting in improved performance.
<p>To address these challenges, we propose an approach that integrates a Neural network Downwash Predictor with Nonlinear Model Predictive Control (NDP-NMPC). The neural network is trained with spectral normalization to ensure robustness and safety in uncollected cases. The predicted disturbances are then incorporated into the optimization scheme in NMPC, which enforces constraints to ensure that states and inputs remain within safe limits. We also design a quadrotor system, identify its parameters, and implement the proposed method on board. Finally, we conduct a prediction experiment to validate the safety and effectiveness of the network. In addition, a real-time trajectory tracking experiment is performed with the entire system, demonstrating a 75.37% reduction in tracking error in height under the downwash effect.</p>
</details>
<br>
<div class=text_column>
<span class=title><b>Development of a Data-Oriented Programming 3D Simulator for Heterogeneous Mobile Robots<br></b></span>
 ▪️  <b>Jinjie Li</b>, Liang Han, Haoyang Yu, et al.<br>
 ▪️  <i>ICRA 2023 Workshop on <q>The Role of Robotics Simulators for Unmanned Aerial Vehicles</q></i><br>
🕗 Sept. 2020 - Mar. 2023<br>
🔗 [<a href=https://imrclab.github.io/workshop-uav-sims-icra2023/papers/RS4UAVs_paper_8.pdf>paper</a>] [<a href=https://imrclab.github.io/workshop-uav-sims-icra2023/papers/RS4UAVs_poster_8.pdf>poster</a>] [<a href=https://github.com/Li-Jinjie/dop_sim>code</a>]
</div>
<div class=gif_column>
<img src=/imgs/triangle_sim.gif alt="triangle sim">
</div>
<p>Develop a simulation platform for mobile robotics based on data-oriented programming, supporting the simulation of over 1000 nodes.</p>
<details>
<summary><b>Abstract</b></summary>
Large-scale simulation with realistic nonlinear dynamic models is crucial for algorithms development for swarm robotics. However, existing platforms are mainly developed based on Object-Oriented Programming (OOP) and either use simple kinematic models to pursue a large number of simulating nodes or implement realistic dynamic models with limited simulating nodes. In this paper, we develop a simulator based on Data-Oriented Programming (DOP) that utilizes GPU parallel computing to achieve large-scale swarm robotic simulations. Specifically, we use a multi-process approach to simulate different kinds of agents and leverage PyTorch with GPU to simulate one kind of agents with a large number to achieve large-scale parallel computing for swarm robotics. We test our approach using a nonlinear quadrotor model and demonstrate that this DOP approach can maintain almost the same computational speed when quadrotors are less than 5,000. We also provide two examples to demonstrate the functionality of the platform.
</details>
<br>
<div class=text_column>
<span class=title><b>Indoor Localization for Quadrotors using Invisible Projected Tags<br></b></span>
 ▪️  <b>Jinjie Li</b>, Liang Han, Zhang Ren<br>
 ▪️  <i>IEEE International Conference on Robotics and Automation (<b>ICRA22</b>)</i><br>
🕗 May 2021 - Feb. 2022<br>
🔗 [<a href=https://youtu.be/wKmIjXNx7yY>oral</a>] [<a href=https://arxiv.org/abs/2203.00356>paper</a>] [<a href=https://youtu.be/nOV_zPmYvCs>video</a>]
</div>
<div class=gif_column>
<img src=/imgs/IPT.gif alt=IPT>
</div>
<p>This work proposes a real-time centimeter-level indoor localization method based on invisible projected tags (IPT).</p>
<details>
<summary><b>Abstract</b></summary>
Augmented reality (AR) technology has been introduced into the robotics field to narrow the visual gap between indoor and outdoor environments. However, without signals from satellite navigation systems, flight experiments in these indoor AR scenarios need other accurate localization approaches. This work proposes a real-time centimeter-level indoor localization method based on psycho-visually invisible projected tags (IPT), requiring a projector as the sender and quadrotors with high-speed cameras as the receiver. The method includes a modulation process for the sender, as well as demodulation and pose estimation steps for the receiver, where screen-camera communication technology is applied to hide fiducial tags using human vision property. Experiments have demonstrated that IPT can achieve accuracy within ten centimeters and a speed of about ten FPS. Compared with other localization methods for AR robotics platforms, IPT is affordable by using only a projector and high-speed cameras as hardware consumption and convenient by omitting a coordinate alignment step. To the authors' best knowledge, this is the first time screen-camera communication is utilized for AR robot localization.
</details>
<h2 id=projects>Projects</h2>
<div class=text_column>
<span class=title><b>Formation Control for Quadrotors with Dyna-Q Algorithm and AprilTag Localization<br></b></span>
 ▪️  <i>Bachelor’s Thesis</i>, <u>Outstanding Bachelor’s Thesis Award</u><br>
🕗 Dec. 2019 - June 2020<br>
🔗 [<a href=/pdfs/bachelor_thesis_zh.pdf target=_blank>thesis_zh</a>] [<a href=https://github.com/Li-Jinjie/gazebo_drone_tutorials>code</a>]
</div>
<div class=gif_column>
<img src=/imgs/formation_control.gif alt="formation control">
</div>
<p>The thesis contains three parts. (1) The fiducial tags on the ground are captured for visual positioning, and the results are combined with IMU to improve reliability and accuracy; (2) Dyna-Q reinforcement learning algorithm is implemented to train a multi-quadrotor system for formation control; (3) The algorithms are verified in a ROS/Gazebo-based simulation platform. The thesis is ranked <b>No.1</b> in my major.</p>
<details>
<summary><b>Abstract</b></summary>
In recent years, the vigorous development of computer vision and artificial intelligence has created opportunities for more intelligent drones. This thesis implements the fiducial-tag positioning method and the Dyna-Q reinforcement learning algorithm in a multi-quadrotor formation control system. This combination improves the autonomy and anti-interference of quadrotors in complex environments.
<br>
<br>
The thesis contains three parts. For the first part, the basic principles of visual positioning are studied. Then, the basic knowledge of computer vision is applied to achieve camera calibration, tags detection, decoding, and pose solving to obtain pose data. Next, the pose data is integrated with an inertial measurement unit (IMU) to provide continuous and accurate positions in the sparse-tag scenario. For the second part, the formation problem is decomposed into a target tracking task and a collision avoidance task, which are designed as Markov Decision Processes (MDPs), respectively. Then the Dyna-Q algorithm is utilized for training these tasks. Finally, the positioning and formation control task of five drones are completed in a ROS/Gazebo-based simulation platform, achieving less than 3cm formation error.
</details>
<br>
<div class=text_column>
<span class=title><b>Design of Heavy Load and High Maneuverability Aircrafts<br></b></span>
 ▪️  <i>China Aeromodelling Design Challenge (CADC)</i>, <u>Leader of the Composite Material Team & Pilot</u><br>
🕗 July 2017 - Oct. 2018<br>
🔗 [<a href=/pdfs/BMFA_August_2021_p22-26.pdf target=_blank>BMFA News Magazine report</a>] [<a href=/posts/3kg/>tech details & video</a>] [<a href=/posts/solar_aircraft/>pilot training & video</a>]
</div>
<div class=gif_column>
<img src=/imgs/3kg.gif alt=aeromodelling>
</div>
<p>Designed and produced the composite part of a 5m-wingspan aircraft with the maximum load of 24kg, the maximum take-off weight of 27.5kg, and the nominal airspeed of 15m/s. Applied the carbon-PMI-carbon sandwich structure to make the 130g-weighted single wing beam, outer twined with the Kevlar line; utilized carbon and glass fiber reinforced polymer (CGFRP) to make D-box structure, increasing the torsional rigidity to 261.07%. Won the <b>top three places</b> in the 2018 CADC (Time-limited Airdrop Project), <b>the best record in history</b>. Served as the pilot of solar aircrafts as well.</p>
<br>
<div class=text_column>
<span class=title><b>Development of a Water Heater with a Settable Temperature Controller<br></b></span>
 ▪️  <i>Course: Fundamentals of Analog Electronics</i>, <u>Team Leader</u><br>
🕗 Feb. 2018 - June 2018<br>
🔗 [<a href="https://www.youtube.com/watch?v=2ZQEtcWF97I">video</a>] [<a href=/posts/water_tank/>details</a>] [<a href=https://github.com/Li-Jinjie/Design-of-Settable-Constant-Temperature-Controller>code & PCB</a>]
</div>
<div class=gif_column>
<img src=/imgs/water_tank_short.gif alt="water heater">
</div>
<p>Developed a physical temperature control system for a water heater from scratch, which could set and maintain the temperature between 50°C ~ 100°C. The system was controlled via Bluetooth, powered by 220V, and was able to warm up or cool down to a specified temperature in 5 minutes. Ranked <b>No.1</b> in the class.</p>
<h2 id=talks>Talks</h2>
<ul>
<li>
<p>2023.12 - <strong>Conference Presentation</strong> - [<a href=/pdfs/CDC23_Oral_Jinjie.pdf target=_blank>slides</a>]</p>
<blockquote>
<p>Nonlinear MPC for Quadrotors in Close-Proximity Flight with Neural Network Downwash Prediction,<br>
CDC, 2023</p>
</blockquote>
</li>
<li>
<p>2023.12 - <strong>Conference Presentation</strong> - [<a href=/pdfs/CDC23_WorkShop_Jinjie.pdf target=_blank>slides</a>] [<a href="https://youtu.be/UYdkRnGr8eM?si=8eTKfDeqOQu1nYnJ&t=11802" target=_blank>recording</a>]</p>
<blockquote>
<p>The Open-Source Development of UTokyo Aerial Robot Team: From Hardware to Software,<br>
CDC Workshop on Benchmarking, Reproducibility, and Open-Source Code in Controls, 2023</p>
</blockquote>
</li>
<li>
<p>2022.04 - <strong>Introduction & Advanced Topic of Zotero</strong> - [<a href=/pdfs/20220430_Intro_Zotero.pdf target=_blank>slides</a>]</p>
</li>
<li>
<p>2022.03 - <strong>Conference Presentation</strong> - [<a href=/pdfs/ICRA22_Oral_Jinjie.pdf target=_blank>slides</a>] [<a href="https://youtu.be/wKmIjXNx7yY?si=J5-n_s9jgJW9rBhL" target=_blank>recording</a>]</p>
<blockquote>
<p>Indoor Localization for Quadrotors using Invisible Projected Tags, ICRA, 2022</p>
</blockquote>
</li>
</ul>
<details>
<summary><b>Past Literature Sharings</b></summary>
<ul>
<li>
<p>2022.12 - <strong>Literature Sharing</strong> - [<a href=/pdfs/20221203_Literature_Sharing.pdf target=_blank>slides</a>]</p>
<blockquote>
<p>Accommodating unobservability to control flight attitude with optic flow, Nature, 2022</p>
</blockquote>
</li>
<li>
<p>2021.12 - <strong>Literature Sharing</strong> - [<a href=/pdfs/20211211_Literature_Sharing.pdf target=_blank>slides</a>]</p>
<blockquote>
<p>Neural Lander: Stable Drone Landing Control Using Learned Dynamics, ICRA, 2019</p>
</blockquote>
</li>
<li>
<p>2021.10 - <strong>Literature Sharing</strong> - [<a href=/pdfs/20211016_Literature_Sharing.pdf target=_blank>slides</a>]</p>
<blockquote>
<p>Lyapunov-stable neural-network control, RSS, 2021</p>
</blockquote>
</li>
<li>
<p>2021.03 - <strong>Literature Sharing</strong> - [<a href=/pdfs/20210326_Literature_Sharing.pdf target=_blank>slides</a>]</p>
<blockquote>
<p>Glider soaring via reinforcement learning in the field, Nature, 2018</p>
</blockquote>
<blockquote>
<p>Learning to soar in turbulent environments, PNAS, 2016</p>
</blockquote>
</li>
<li>
<p>2020.10 - <strong>Literature Sharing</strong> - [<a href=/pdfs/20201024_Literature_Sharing.pdf target=_blank>slides</a>]</p>
<blockquote>
<p>Graph Neural Networks for Decentralized Multi-Robot Path Planning, IROS, 2020</p>
</blockquote>
</li>
</ul>
</details>
<h2 id=misc>Misc.</h2>
<p>I have loved model airplanes for over ten years, and now luckily it has become my field of study. Besides, I love travelling🌏, photography📷, skiing⛷️, snowboarding🏂, and many kinds of ball games 🎾🏓🏸🏀. If you are interested in the photos below, please email me or jump to <a href="https://500px.com/p/vcg-685f0f7864bde838ef8fb10f0f5dd5837?view=photos">my photography home page</a> for more pictures.</p>
<p><a href="https://500px.com/p/vcg-685f0f7864bde838ef8fb10f0f5dd5837?view=photos"><img src=/imgs/pictures.jpg alt="my photos" border=0></a></p>
</div>
</div>
</div>
</div>
</main>
<footer class=ps-scrollbar>
<div class="w-full max-w-screen-xl mx-auto"><div class="text-center p-6 pin-b">
<p class="text-sm text-tertiary-text"> Powered by the <a href=https://github.com/wangchucheng/hugo-eureka class=hover:text-eureka>Eureka</a> theme for <a href=https://gohugo.io class=hover:text-eureka>Hugo</a></p>
</div></div>
</footer>
</body>
</html>