diff --git a/.gitmodules b/.gitmodules
index 7a1ec1e47aff326b9ae03b45b105bebb231b07f5..28795794baacbc5e9769828a689c39dc6c9b17f7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -38,3 +38,7 @@
 	path = src/ccf_immersive_sorting
 	url = ../../ccf/ccf_immersive_sorting.git
 	branch = noetic/main
+[submodule "src/panda_util"]
+	path = src/panda_util
+	url = ../../packages/panda_util.git
+	branch = noetic/main
diff --git a/src/ccf b/src/ccf
index 6c8ca9641c492ee892e05664c7fa1d8c741e42d4..04dedac7f661e1c0da48daab0eb1f55d9e7754b6 160000
--- a/src/ccf
+++ b/src/ccf
@@ -1 +1 @@
-Subproject commit 6c8ca9641c492ee892e05664c7fa1d8c741e42d4
+Subproject commit 04dedac7f661e1c0da48daab0eb1f55d9e7754b6
diff --git a/src/ccf_immersive_sorting b/src/ccf_immersive_sorting
index 70fc8a499e81fbcfe49d8e611e0c78024178a4ae..ac8a88e7f9791ff698b9218b291c80ee42926453 160000
--- a/src/ccf_immersive_sorting
+++ b/src/ccf_immersive_sorting
@@ -1 +1 @@
-Subproject commit 70fc8a499e81fbcfe49d8e611e0c78024178a4ae
+Subproject commit ac8a88e7f9791ff698b9218b291c80ee42926453
diff --git a/src/panda_grasping b/src/panda_grasping
index c47afd31ba85f303f4e624f482e3dcd51177b839..d7c146564f57f4013ffba17db5c07dfba9c9dc6d 160000
--- a/src/panda_grasping
+++ b/src/panda_grasping
@@ -1 +1 @@
-Subproject commit c47afd31ba85f303f4e624f482e3dcd51177b839
+Subproject commit d7c146564f57f4013ffba17db5c07dfba9c9dc6d
diff --git a/src/panda_util b/src/panda_util
new file mode 160000
index 0000000000000000000000000000000000000000..ba29a47ea56a688c335e6789219501ef50a4b3b1
--- /dev/null
+++ b/src/panda_util
@@ -0,0 +1 @@
+Subproject commit ba29a47ea56a688c335e6789219501ef50a4b3b1