-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
449 lines (405 loc) · 25.7 KB
/
Copy pathindex.html
File metadata and controls
449 lines (405 loc) · 25.7 KB
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
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
<!DOCTYPE html>
<html>
<head>
<style>
/* Prevents the carousel from blowing up the layout */
.carousel-container {
overflow: hidden;
width: 100%;
position: relative;
}
#gazebo-carousel img {
width: 100%;
height: auto;
display: block;
}
/* Moves the arrows so they don't overlap your text too much */
.carousel-navigation-prev, .carousel-navigation-next {
opacity: 0.7;
}
</style>
<meta charset="utf-8">
<meta name="description"
content="Distributed 3D Leader-Follower Formation Control with Field-of-View Safety via Control Barrier Functions.">
<meta name="keywords" content="Multi-UAV systems, distributed control, 3D leader--follower formation, field-of-view constraints, control barrier functions">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Distributed 3D Leader-Follower Formation Control with Field-of-View Safety via Control Barrier Functions</title>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PYVRSFMDRL"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-PYVRSFMDRL');
</script>
<link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro" rel="stylesheet">
<link rel="stylesheet" href="./static/css/bulma.min.css">
<link rel="stylesheet" href="./static/css/bulma-carousel.min.css">
<link rel="stylesheet" href="./static/css/bulma-slider.min.css">
<link rel="stylesheet" href="./static/css/fontawesome.all.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css">
<link rel="stylesheet" href="./static/css/index.css">
<!-- <link rel="icon" href="./static/images/icon.png"> -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script defer src="./static/js/fontawesome.all.min.js"></script>
<script src="./static/js/bulma-carousel.min.js"></script>
<script src="./static/js/bulma-slider.min.js"></script>
<script src="./static/js/index.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>
<body>
<!--
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div class="navbar-menu">
<div class="navbar-start" style="flex-grow: 1; justify-content: center;">
<a class="navbar-item" href="https://github.com/NAIL-UH">
<img src="./static/images/icon.png" alt="NAIL Lab — University of Houston" style="max-height: 2.5rem;">
</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">More Research</a>
<div class="navbar-dropdown">
<a class="navbar-item" href="https://nail-uh.github.io/StewartPlatformSafeControl.github.io/">Stewart Platform</a>
<a class="navbar-item" href="https://nail-uh.github.io/icra25.github.io/">AdaptiveConformalizedPerception</a>
<a class="navbar-item" href="https://nail-uh.github.io/elastic.github.io/">Elastic</a>
<a class="navbar-item" href="https://nail-uh.github.io/solar.github.io/">Solar</a>
<a class="navbar-item" href="https://nail-uh.github.io/trashdet.github.io/">Trashdet</a>
<a class="navbar-item" href="https://nail-uh.github.io/icra25.github.io/">PerceptionAware2DFollower</a>
</div>
</div>
</div>
</div>
</nav>
-->
<section class="hero">
<div class="hero-body">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column has-text-centered">
<h1 class="title is-1 publication-title">Distributed 3D Leader-Follower Formation Control with Field-of-View Safety via Control Barrier Functions</h1>
<!--
<div class="is-size-5 publication-authors">
<span class="author-block"><a href="https://noelsadventure.my.id">Immanuel R. Santjoko</a><sup>1†</sup>,</span>
<span class="author-block"><a href="https://www.linkedin.com/in/richie-ryulie-585609237/">Richie R. Suganda</a><sup>1†</sup>,</span>
<span class="author-block"><a href="https://binhu85.github.io/">Bin Hu</a><sup>1,2</sup></span>
</div>
<div class="is-size-5 publication-authors">
<span class="author-block"><sup>1</sup>Department of Electrical and Computer Engineering, University of Houston</span>
<span class="author-block"><sup>2</sup>Department of Engineering Technology, University of Houston</span>
</div>
<div class="is-size-6"><sup>†</sup>The authors contributed equally to this work.</div>
-->
<div class="is-size-5 publication-authors">
<span class="author-block">Anonymous Authors</span>
</div>
<div class="is-size-5 publication-authors">
<span class="author-block">Paper under double-blind review</span>
</div>
<div class="column has-text-centered">
<div class="publication-links">
<span class="link-block">
<a href="#"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fas fa-file-pdf"></i>
</span>
<span>Paper</span>
</a>
</span>
<span class="link-block">
<a href="#"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="ai ai-arxiv"></i>
</span>
<span>arXiv</span>
</a>
</span>
<span class="link-block">
<a href="#"
class="external-link button is-normal is-rounded is-dark">
<span class="icon">
<i class="fab fa-github"></i>
</span>
<span>Code</span>
</a>
</span>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="hero teaser">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<div class="publication-video">
<iframe src="https://www.youtube.com/embed/cK3tFkGduiA?rel=0&showinfo=0"
frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<h2 class="subtitle has-text-centered">
Demonstration of the proposed perception-aware safe control framework: the follower autonomously maintains the leader within its camera Field-of-View (FOV) despite conflicting formation commands.
</h2>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered has-text-centered">
<div class="column is-four-fifths">
<h2 class="title is-3">Abstract</h2>
<div class="content has-text-justified">
<p>
This letter proposes a distributed 3D leader-follower formation (3D-LFF) control framework for multi-UAV systems that achieves formation tracking while enforcing perception safety constraints. Maintaining safe, vision-based 3D-LFF is challenging because onboard cameras impose strict Field-of-View (FOV) limitations, and demanding formation commands can drive the leader outside the follower's camera frustum, resulting in loss of visibility. To address this issue, we develop a perception-aware safe control architecture that guarantees visibility by construction. First, we derive a relative kinematic model in a line-of-sight coordinate representation and design a distributed 3D-LFF tracking controller using only locally available relative states. Next, we embed the nominal formation controller within a Control Barrier Function-based Quadratic Program (CBF-QP) safety filter that minimally modifies the commanded velocities to maintain the leader inside the follower's camera frustum while preserving formation tracking whenever feasible. Gazebo simulations and <a href="https://www.bitcraze.io/products/crazyflie-2-1-brushless/" target="_blank" rel="noopener noreferrer">Crazyflie</a> hardware experiments validate the proposed approach, demonstrating accurate formation tracking and effective FOV enforcement, including scenarios in which the nominal desired formation conflicts with visibility constraints.
</p>
</div>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered">Introduction and System Formulation</h2>
<div class="has-text-centered" style="margin-top: 20px; margin-bottom: 30px;">
<img src="./static/images/intro2.png" alt="Perception-aware leader-follower safe control: comparison between baseline and proposed method" style="max-width: 65%;">
<p class="is-size-7 mt-2"><em>Perception-aware leader-follower safe control. Without perception constraints, the baseline follower (NoCBF, red) loses sight of the leader during maneuvers. In contrast, the proposed CBF-equipped follower (CBF, blue) actively modifies its commanded velocities to ensure the leader remains strictly within its camera's FOV.</em></p>
</div>
<div class="content has-text-justified">
<p>
In multi-UAV systems operating in GPS-denied environments, formation performance depends critically on the follower's ability to estimate the leader's relative state using onboard sensing. This introduces an intrinsic perception constraint: the leader must remain inside the follower's camera frustum to maintain continuous visibility and avoid degradation or loss of relative-state estimation. Failure to maintain this condition creates a direct conflict between formation objectives and sensing limitations.
</p>
<p>
Our framework models the underlying geometry using a <strong>3D line-of-sight coordinate representation</strong>, capturing the camera-to-leader distance, azimuth, and elevation angles, along with the relative heading. This representation enables the camera's Field-of-View (FOV) limits and depth range to be expressed as a well-defined perception safe set, and provides the geometric foundation for both the distributed tracking controller and the safety filter.
</p>
</div>
<div class="has-text-centered" style="margin-top: 20px; margin-bottom: 20px;">
<img src="./static/images/diagrammmm.png" alt="Leader-follower geometry and camera frustum" style="max-width: 50%;">
<p class="is-size-7 mt-2"><em>System geometry. The leader's position relative to the follower's camera is expressed in spherical coordinates (distance, azimuth, elevation) and augmented with the relative heading. The magenta region depicts the camera frustum defined by depth bounds and FOV angles.</em></p>
</div>
</div>
</div>
</div>
</section>
<section class="section" style="padding-top: 0;">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered">Key Contributions</h2>
<div class="columns is-centered mt-4">
<div class="column is-one-third">
<div class="box has-text-centered" style="height: 100%;">
<span class="icon is-large has-text-info">
<i class="fas fa-cube fa-2x"></i>
</span>
<h4 class="title is-5 mt-3">3D Kinematic Model & Control</h4>
<p class="is-size-6">
A relative 3D kinematic model in spherical coordinates that yields a 3D leader-follower formation (3D-LFF) control law relying on local relative measurements and distributed leader states.
</p>
</div>
</div>
<div class="column is-one-third">
<div class="box has-text-centered" style="height: 100%;">
<span class="icon is-large has-text-info">
<i class="fas fa-shield-alt fa-2x"></i>
</span>
<h4 class="title is-5 mt-3">Real-Time Safety Filter</h4>
<p class="is-size-6">
A real-time CBF-QP safety filter that enforces the follower's camera frustum limits by minimally modifying the nominal formation commands, thereby guaranteeing continuous visibility while preserving tracking whenever feasible.
</p>
</div>
</div>
<div class="column is-one-third">
<div class="box has-text-centered" style="height: 100%;">
<span class="icon is-large has-text-info">
<i class="fas fa-check-circle fa-2x"></i>
</span>
<h4 class="title is-5 mt-3">Experimental Validation</h4>
<p class="is-size-6">
Validation in Gazebo simulations and Crazyflie hardware experiments, demonstrating reliable formation tracking and strict FOV enforcement, including scenarios where the desired formation is incompatible with visibility constraints.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered">Methodology</h2>
<div class="content has-text-justified">
<div class="has-text-centered" style="margin-top: 20px; margin-bottom: 20px;">
<img src="./static/images/architecture4.png" alt="Perception-Aware Safe Leader-Follower Control Architecture" style="max-width: 100%;">
<p class="is-size-7 mt-2"><em>Perception-aware safe 3D-LFF control architecture. A high-level distributed 3D-LFF controller tracks the desired state \( \mathbf{x}_{ij}^{d}(t) \) to generate the nominal command \( \mathbf{u}_{i}^{\mathrm{nom}} \). A perception-aware safety filter modifies \( \mathbf{u}_{i}^{\mathrm{nom}} \) to enforce visibility constraints \( \Gamma_c \) via a CBF-QP, outputting the safe command \( \mathbf{u}_{i}^{\mathrm{safe}} \) that keeps the leader inside the perception safe set \( \mathcal{S}_{ij}^{\mathbf{q}} \). A low-level velocity controller then tracks \( \mathbf{u}_{i}^{\mathrm{safe}} \) for the full quadrotor dynamics.</em></p>
</div>
<p>
The proposed perception-aware safe 3D-LFF control framework employs a hierarchical architecture: an outer loop generates safe velocity commands, which are subsequently tracked by an inner-loop velocity controller handling the full-order system dynamics. This outer loop utilizes a cascaded two-stage design. First, a nominal formation controller is designed based on the relative 3D-LFF kinematics to track the desired formation, generating a nominal velocity command. To guarantee perception safety, this nominal velocity command is subsequently processed through a CBF-QP safety filter, which computes a minimally modified safe velocity command that ensures the forward invariance of the perception safe set while deviating minimally from the tracking objective.
</p>
</div>
</div>
</div>
</div>
</section>
<section class="section" id="experiments">
<div class="container is-max-desktop">
<h2 class="title is-3 has-text-centered">Experiments</h2>
<p class="content">
The proposed framework is evaluated on three platforms: a Python-based numerical simulation, a Gazebo simulator, and a physical hardware platform using the Crazyflie 2.1 quadrotor. For a direct comparative analysis, the multi-robot system comprises one leader and two followers: one without the safety filter (<strong>NoCBF</strong>), and the other with the safety filter (<strong>CBF</strong>).
</p>
<p class="content">
To analyze the effectiveness of the safety filter, the evaluation task is divided into a <strong>three-stage task</strong>:
</p>
<ul class="content">
<li><strong>Stage 1:</strong> Represents the nominal condition where no safety conflict exists.</li>
<li><strong>Stage 2:</strong> Introduces a safety-conflicting formation, evaluating the system's ability to maintain the leader within the perception safe set.</li>
<li><strong>Stage 3:</strong> Removes the safety conflict, allowing the followers to converge back to their nominal formation objectives.</li>
</ul>
<hr>
<h3 class="title is-4 has-text-centered">Python numerical simulation</h3>
<p class="content">
To validate our perception-aware framework, we developed a Python-based numerical simulation of a two-level leader-follower drone hierarchy tracking a dynamic Figure-8 trajectory. This simulation directly compares two parallel follower branches: one equipped with our kinematic Control Barrier Function (CBF) safety filter and a baseline branch operating without it. By driving the formation through three distinct phases—a conservative initial state, an aggressive stage that intentionally issues commands outside the Field of View (FOV) boundaries, and a final recovery phase—the results clearly demonstrate the necessity of our approach. While the baseline No-CBF drones blindly follow geometric commands and suffer complete visibility loss during the aggressive maneuvers, the CBF-equipped drones seamlessly activate their safety filters, dynamically adjusting their velocities to keep their respective leaders safely locked inside the camera frame.
</p>
<div class="columns is-centered is-vcentered mt-4">
<div class="column is-8">
<video autoplay controls muted loop playsinline width="100%">
<source src="./static/videos/cbf_two_level.mp4" type="video/mp4">
</video>
<p class="has-text-centered is-size-7 mt-2"><em>Python numerical simulation of the two-level setup through Stage 1 → Stage 2 (no recovery). The CBF pair (filter on) keeps the leader within the perception safe set; the NoCBF pair does not.</em></p>
</div>
</div>
<hr>
<h3 class="title is-4 has-text-centered">Gazebo Simulation</h3>
<div class="columns is-centered is-vcentered mt-4">
<div class="column is-half">
<img src="./static/images/scenario.png" alt="Top view of the cave navigation scenario" />
<p class="has-text-centered is-size-7 mt-2"><em>One leader (green) and two followers navigating a confined cave environment in Gazebo.</em></p>
</div>
</div>
<p class="content">
Utilizing the <a href="https://www.bitcraze.io/2024/04/crazysim-a-software-in-the-loop-simulator-for-the-crazyflie/" target="_blank" rel="noopener noreferrer">CrazySim</a> framework, the multi-UAV team navigates a confined cave environment, simulating a GPS-denied setting that requires strict vision-based coordination. The terrain is designed to naturally trigger the test scenario: an open chamber allows the team to expand their nominal formation, introducing the safety-conflicting formation evaluated in Stage 2.
</p>
<div class="columns is-centered is-vcentered mt-4">
<div class="column is-8">
<video autoplay controls muted loop playsinline width="100%">
<source src="./static/videos/Simulation-compressed-low.mp4" type="video/mp4">
</video>
<p class="has-text-centered is-size-7 mt-2"><em>Gazebo simulation of the three-stage task.</em></p>
</div>
<div class="column is-4">
<img src="./static/images/crazysim_conflicting.png" alt="Gazebo Simulation Quantitative Results" style="max-width: 100%; margin: 0 auto; display: block;" />
<p class="has-text-centered is-size-7 mt-2"><em>Quantitative results: the CBF-equipped follower (blue) maintains its 3D-LFF states within the perception safe region throughout the conflict, whereas the NoCBF baseline (red) violates the FOV constraints.</em></p>
</div>
</div>
<p class="content mt-4">
During Stage 2, the formation expansion introduces a conflict between formation and perception safety objectives. The proposed CBF-QP framework dynamically prioritizes safety, intervening to ensure the leader remains strictly within the perception safe set. The NoCBF baseline fails to adapt, resulting in severe safety violations. In Stage 3, the conflict is removed, and both followers are able to converge to their nominal formation objectives.
</p>
<hr>
<h3 class="title is-4 has-text-centered">Crazyflie Hardware Experiment</h3>
<div class="columns is-centered is-vcentered mt-4">
<div class="column is-half">
<img src="./static/images/topview.png" alt="Top view of the hardware experiment trajectory" />
<p class="has-text-centered is-size-7 mt-2"><em>Top-down view of the leader and follower trajectories during real flight.</em></p>
</div>
</div>
<p class="content mt-4">
The hardware experiments validate the proposed framework under real-world flight conditions on <strong>Crazyflie 2.1</strong> quadrotors, capturing the effects of unmodeled aerodynamic drag, communication latency, and actuator noise. To rigorously stress-test the proposed method, the leader is commanded to track a yaw-modulated lemniscate trajectory. A motion-capture system provides global poses to emulate ideal relative measurements and isolate the contribution of the control and safety filter layers.
</p>
<div class="columns is-centered is-vcentered mt-4">
<div class="column is-8">
<video autoplay controls muted loop playsinline width="100%">
<source src="./static/videos/Experiment-compressed-low.mp4" type="video/mp4">
</video>
<p class="has-text-centered is-size-7 mt-2"><em>Hardware flight video.</em></p>
</div>
<div class="column is-4">
<img src="./static/images/exp_shorten.png" alt="Hardware Experiment Quantitative Results" style="max-width: 100%; margin: 0 auto; display: block;" />
<p class="has-text-centered is-size-7 mt-2"><em>Quantitative results: the CBF follower (blue) stays inside the safe region; the baseline (red) does not.</em></p>
</div>
</div>
<p class="content mt-4">
In Stage 2, formation expansion drives the desired elevation angle into the unsafe region, causing the NoCBF baseline to violate safety constraints. Conversely, the proposed framework safely resolves this conflict by computing a minimally modified safe control input, strictly bounding the state within the perception safe region while sustaining accurate tracking of unconstrained states. Finally, in Stage 3, the safety conflict is removed, and both followers converge to their formation objectives.
</p>
</div>
</section>
<section class="section">
<div class="container is-max-desktop">
<div class="columns is-centered">
<div class="column is-full-width">
<h2 class="title is-3 has-text-centered">Conclusion</h2>
<div class="columns is-centered mt-4">
<div class="column is-5">
<div class="box has-text-centered" style="height: 100%;">
<span class="icon is-large has-text-success">
<i class="fas fa-eye fa-2x"></i>
</span>
<h4 class="title is-5 mt-3">Visibility is Guaranteed</h4>
<p class="is-size-6">
The CBF-QP safety filter enforces perception safety, ensuring that the leader remains within the follower's camera frustum at all times.
</p>
</div>
</div>
<div class="column is-5">
<div class="box has-text-centered" style="height: 100%;">
<span class="icon is-large has-text-success">
<i class="fas fa-crosshairs fa-2x"></i>
</span>
<h4 class="title is-5 mt-3">Tracking is Preserved</h4>
<p class="is-size-6">
When visibility constraints are inactive, the nominal controller achieves stable formation tracking and convergence to the desired 3D-LFF reference.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="section" id="BibTeX">
<div class="container is-max-desktop content">
<h2 class="title is-3 has-text-centered">BibTeX</h2>
<!--
<pre><code>@article{santjoko2026perceptionaware3dlff,
author = {Santjoko, Immanuel R. and Suganda, Richie R. and Hu, Bin},
title = {Distributed 3D Leader--Follower Formation Control with
Field-of-View Safety via Control Barrier Functions},
journal = {Under Review},
year = {2026},
}</code></pre>
-->
<pre><code>@article{anonymous2026perceptionaware3dlff,
author = {Anonymous Authors},
title = {Distributed 3D Leader--Follower Formation Control with
Field-of-View Safety via Control Barrier Functions},
journal = {Under Review (Double-Blind)},
year = {2026},
}</code></pre>
</div>
</section>
<footer class="footer">
<div class="container">
<div class="content has-text-centered">
<!--
<p>
Research supported by the University of Houston. Website template adapted from <a href="https://github.com/nerfies/nerfies.github.io">Nerfies</a>.
</p>
-->
<p>
Website template adapted from <a href="https://github.com/nerfies/nerfies.github.io">Nerfies</a>.
</p>
</div>
</div>
</footer>
</body>
</html>