Skip to content

Commit 911b219

Browse files
committed
Update lab news and papers for 2026 (ACC, L4DC, ICRA) and overhaul Code section with dynamic GitHub cards
1 parent d814431 commit 911b219

11 files changed

Lines changed: 294 additions & 78 deletions

content/code/2026-safe-mpd.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
layout: code
3+
title: "Safe Model Predictive Diffusion (Safe MPD)"
4+
date: 2026-01-31
5+
code: https://github.com/cps-atlas/safe-mpd
6+
---
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
layout: news
3+
title: "Eight papers accepted at <strong>ACC</strong> 2026"
4+
date: 2026-01-21
5+
---
6+
7+
Eight papers have been accepted at IEEE ACC 2026 (including two L-CSS papers)! Check out:
8+
["Autonomy Architectures for Safe Planning in Unknown Environments Under Budget Constraints"](/papers/2026-reroot.md),
9+
["Multi-Robot Allocation for Information Gathering in Non-Uniform Spatiotemporal Environments"](/papers/2026_non_uniform_exp_acc.md),
10+
["A Formal gatekeeper Framework for Safe Dual Control with Active Exploration"](/papers/2026_dual_gtk_tubes_acc.md),
11+
["R3R: Decentralized Multi-Agent Collision Avoidance with Infinite-Horizon Safety"](/papers/2026_r3r_decentralized_gatekeeper.md),
12+
["Adaptive Control Allocation for Underactuated Time-Scale Separated Non-Affine Systems"](/papers/2026-vtol_adaptive_control.md),
13+
["Partial Resilient Leader-Follower Consensus in Time-Varying Graphs"](/papers/2026-partial-resilient-consensus.md),
14+
["Combinatorial Control Barrier Functions: Nested Boolean and p-Choose-r Compositions of Safety Constraints"](/papers/2025-combinatorial-cbf.md), and
15+
["Reformulations of Quadratic Programs for Lipschitz Continuity"](/papers/2025-lipschitz-controller.md).
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
layout: news
3+
title: "Two papers accepted at <strong>ICRA</strong> 2026"
4+
date: 2026-01-31
5+
---
6+
7+
Our paper ["Beyond Collision Cones: Dynamic Obstacle Avoidance for Nonholonomic Robots via Dynamic Parabolic Control Barrier Functions"](/papers/2026-dpcbf.md) and ["Safe Model Predictive Diffusion with Shielding"](/papers/2026-safe_mpd.md) have been accepted to IEEE ICRA 2026!
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
layout: news
3+
title: "Paper accepted at <strong>L4DC</strong> 2026"
4+
date: 2026-01-23
5+
---
6+
7+
Our paper ["Provably Safe Stein Variational Clarity-Aware Informative Planning"](/papers/2026_stein_clarity_L4DC.md) has been accepted at the Learning for Dynamics & Control Conference (L4DC 2026)!
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
layout: papers
3+
# specify the title of the paper
4+
title: "Combinatorial Control Barrier Functions: Nested Boolean and p-Choose-r Compositions of Safety Constraints"
5+
# specify the date it was published
6+
date: 2025-12-03
7+
# list the authors. if a "/people/id" page exists for the person, it will be linked. If not, the author's name is printed exactly as you typed it.
8+
authors:
9+
- Pio Ong
10+
- haejoonl
11+
- Tamas G. Molnar
12+
- dimitrapanagou
13+
- Aaron D. Ames
14+
# give the main figure location, relative to /static/
15+
image: /images/2025_combinatorial_cbf.png
16+
# specify the conference or journal that it was published in
17+
venue: "IEEE L-CSS 2025"
18+
# link to publisher site (optional)
19+
link: https://ieeexplore.ieee.org/abstract/document/11277309
20+
# link to arxiv (optional)
21+
arxiv:
22+
# link to github (optional)
23+
code:
24+
# link to video (optional)
25+
video:
26+
# link to pdf (optional)
27+
pdf:
28+
# abstract
29+
abstract: "This letter investigates the problem of composing multiple control barrier functions (CBFs)—and matrix control barrier functions (MCBFs)—through logical and combinatorial operations. Standard CBF formulations naturally enable conjunctive (AND) combinations, but disjunctive (OR) and more general logical structures introduce nonsmoothness and possibly a combinatorial blow-up in the number of logical combinations. We introduce the framework of combinatorial CBFs that addresses p-choose-r safety specifications and their nested composition. The proposed framework ensures safety for the exact safe set in a scalable way, using the original number of primitive constraints. We establish theoretical guarantees on safety under these compositions, and we demonstrate their use on a patrolling problem in a multi-agent system."
30+
# bib entry (optional). the |- is used to allow for multiline entry."
31+
bib:
32+
---

content/papers/2026/2026-dpcbf.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
layout: papers
33
title: "Beyond Collision Cones: Dynamic Obstacle Avoidance for Nonholonomic Robots via Dynamic Parabolic Control Barrier Functions"
4-
date: 2026-01-01
4+
date: 2026-01-31
55
image: /images/2026-dpcbf.gif
6-
venue: "under review"
6+
venue: "IEEE ICRA 2026"
77
authors:
88
- hunkukpark*
99
- taekyungkim*
File renamed without changes.
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
layout: papers
33
title: "Safe Model Predictive Diffusion with Shielding"
4-
date: 2026-01-02
4+
date: 2026-01-31
55
image: /images/2026-safe_mpd.gif
6-
venue: "under review"
6+
venue: "IEEE ICRA 2026"
77
authors:
88
- taekyungkim
99
- Keyvan Majd
@@ -12,8 +12,8 @@ authors:
1212
- dimitrapanagou
1313
- Georgios Fainekos
1414
projectpage: https://www.taekyung.me/safe-mpd
15-
arxiv:
16-
code:
15+
arxiv: https://arxiv.org/abs/2512.06261
16+
code: https://github.com/cps-atlas/safe-mpd
1717
video: https://youtu.be/DQBeybU7EYI
1818
abstract: "Generating safe, kinodynamically feasible, and optimal trajectories for complex robotic systems is a central challenge in robotics. This paper presents Safe Model Predictive Diffusion (Safe MPD), a training-free diffusion planner that unifies a model-based diffusion framework with a safety shield to generate trajectories that are both kinodynamically feasible and safe by construction. By enforcing feasibility and safety on all samples during the denoising process, our method avoids the common pitfalls of post-processing corrections, such as computational intractability and loss of feasibility. We validate our approach on challenging non-convex planning problems, including kinematic and acceleration-controlled tractor-trailer systems. The results show that it substantially outperforms existing safety strategies in success rate and safety, while achieving sub-second computation times. "
1919
---
Lines changed: 71 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,77 @@
1-
<div>
2-
3-
{{/* Expects ".Params.code" to be of the format "https://github.com/username/repo" */}}
4-
{{/* Uses https://github.com/anuraghazra/github-readme-stats to render the card */}}
5-
61
{{/* split the string to get the username and repo string */}}
72
{{ $github_split := split .Params.code "/" }}
83
{{ $username := index $github_split 3 }}
94
{{ $repo := index $github_split 4 }}
5+
{{ $unique_id := printf "gh-%s-%s" $username $repo | urlize }}
6+
7+
<a href="{{ .Params.code }}" target="_blank" class="github-repo-card-container">
8+
<div class="github-repo-card" id="{{ $unique_id }}">
9+
<div class="gh-card-header">
10+
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" style="fill: currentColor;">
11+
<path
12+
d="M2 2.5A2.5 2.5 0 014.5 0h8.75a.75.75 0 01.75.75v12.5a.75.75 0 01-.75.75h-2.5a.75.75 0 110-1.5h1.75v-2h-8a1 1 0 00-.714 1.7.75.75 0 01-1.072 1.05A2.495 2.495 0 012 11.5v-9zm10.5-1h-8a1 1 0 00-1 1v6.708A2.486 2.486 0 014.5 9h8v-7.5zM5 11a.5.5 0 01.5-.5h2a.5.5 0 010 1h-2a.5.5 0 01-.5-.5z">
13+
</path>
14+
</svg>
15+
<span class="gh-card-title">{{ $username }} / {{ $repo }}</span>
16+
</div>
17+
<div class="gh-card-description">{{ .Title }}</div>
18+
<div class="gh-card-footer">
19+
<div class="gh-card-stat">
20+
<span class="gh-card-lang-color" id="{{ $unique_id }}-lang-color"></span>
21+
<span id="{{ $unique_id }}-lang">...</span>
22+
</div>
23+
<div class="gh-card-stat">
24+
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" style="fill: currentColor;">
25+
<path
26+
d="M8 .25a.75.75 0 01.673.418l1.882 3.815 4.21.612a.75.75 0 01.416 1.279l-3.046 2.97.719 4.192a.75.75 0 01-1.088.791L8 12.347l-3.766 1.98a.75.75 0 01-1.088-.79l.72-4.194L.818 6.374a.75.75 0 01.416-1.28l4.21-.611L7.327.668A.75.75 0 018 .25z">
27+
</path>
28+
</svg>
29+
<span id="{{ $unique_id }}-stars">0</span>
30+
</div>
31+
</div>
32+
</div>
33+
</a>
34+
35+
<script>
36+
(function () {
37+
const user = "{{ $username }}";
38+
const repo = "{{ $repo }}";
39+
const idPrefix = "{{ $unique_id }}";
40+
41+
const langColors = {
42+
"Python": "#3572A5",
43+
"JavaScript": "#f1e05a",
44+
"TypeScript": "#3178c6",
45+
"Julia": "#a270ba",
46+
"C++": "#f34b7d",
47+
"HTML": "#e34c26",
48+
"CSS": "#563d7c",
49+
"Matlab": "#e16737",
50+
"C": "#555555",
51+
"Jupyter Notebook": "#DA5B0B"
52+
};
1053

11-
<div class="repo">
12-
<a href={{ .Params.code }} target="_blank">
13-
<img
14-
src="https://github-readme-stats.vercel.app/api/pin/?username={{ $username }}&repo={{ $repo }}&show_owner=true&description_lines_count=3"
15-
>
16-
</a>
17-
</div>
54+
fetch(`https://api.github.com/repos/${user}/${repo}`)
55+
.then(response => response.json())
56+
.then(data => {
57+
const starsEl = document.getElementById(`${idPrefix}-stars`);
58+
const langEl = document.getElementById(`${idPrefix}-lang`);
59+
const colorEl = document.getElementById(`${idPrefix}-lang-color`);
1860

19-
</div>
61+
if (starsEl) starsEl.textContent = data.stargazers_count || 0;
62+
if (langEl) {
63+
if (data.language) {
64+
langEl.textContent = data.language;
65+
if (colorEl) colorEl.style.backgroundColor = langColors[data.language] || "#8b949e";
66+
} else {
67+
langEl.textContent = "Readme";
68+
}
69+
}
70+
})
71+
.catch(err => {
72+
console.error("Error fetching repo data", err);
73+
const langEl = document.getElementById(`${idPrefix}-lang`);
74+
if (langEl) langEl.textContent = "GitHub Repo";
75+
});
76+
})();
77+
</script>

0 commit comments

Comments
 (0)