diff --git a/orbbec_description/meshes/gemini305/RGB_L.STL b/orbbec_description/meshes/gemini305/RGB_L.STL
new file mode 100644
index 00000000..d48e0fa2
Binary files /dev/null and b/orbbec_description/meshes/gemini305/RGB_L.STL differ
diff --git a/orbbec_description/meshes/gemini305/RGB_R.STL b/orbbec_description/meshes/gemini305/RGB_R.STL
new file mode 100644
index 00000000..dc309229
Binary files /dev/null and b/orbbec_description/meshes/gemini305/RGB_R.STL differ
diff --git a/orbbec_description/meshes/gemini305/USB.STL b/orbbec_description/meshes/gemini305/USB.STL
new file mode 100644
index 00000000..1b5338fa
Binary files /dev/null and b/orbbec_description/meshes/gemini305/USB.STL differ
diff --git a/orbbec_description/meshes/gemini305/base_link.STL b/orbbec_description/meshes/gemini305/base_link.STL
new file mode 100644
index 00000000..2bc77f5f
Binary files /dev/null and b/orbbec_description/meshes/gemini305/base_link.STL differ
diff --git a/orbbec_description/meshes/gemini305/camera_bottom_screw.STL b/orbbec_description/meshes/gemini305/camera_bottom_screw.STL
new file mode 100644
index 00000000..81897328
Binary files /dev/null and b/orbbec_description/meshes/gemini305/camera_bottom_screw.STL differ
diff --git a/orbbec_description/meshes/gemini305/camera_rear_screw_L.STL b/orbbec_description/meshes/gemini305/camera_rear_screw_L.STL
new file mode 100644
index 00000000..23e04818
Binary files /dev/null and b/orbbec_description/meshes/gemini305/camera_rear_screw_L.STL differ
diff --git a/orbbec_description/meshes/gemini305/camera_rear_screw_R.STL b/orbbec_description/meshes/gemini305/camera_rear_screw_R.STL
new file mode 100644
index 00000000..964e3d0a
Binary files /dev/null and b/orbbec_description/meshes/gemini305/camera_rear_screw_R.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/FAKRA.STL b/orbbec_description/meshes/gemini305_g/FAKRA.STL
new file mode 100644
index 00000000..5ecadb76
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/FAKRA.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/RGB_L.STL b/orbbec_description/meshes/gemini305_g/RGB_L.STL
new file mode 100644
index 00000000..d48e0fa2
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/RGB_L.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/RGB_R.STL b/orbbec_description/meshes/gemini305_g/RGB_R.STL
new file mode 100644
index 00000000..dc309229
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/RGB_R.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/USB.STL b/orbbec_description/meshes/gemini305_g/USB.STL
new file mode 100644
index 00000000..1b5338fa
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/USB.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/base_link.STL b/orbbec_description/meshes/gemini305_g/base_link.STL
new file mode 100644
index 00000000..9d9d4c35
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/base_link.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/camera_bottom_screw.STL b/orbbec_description/meshes/gemini305_g/camera_bottom_screw.STL
new file mode 100644
index 00000000..17f3a362
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/camera_bottom_screw.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/camera_rear_screw_L.STL b/orbbec_description/meshes/gemini305_g/camera_rear_screw_L.STL
new file mode 100644
index 00000000..543ce933
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/camera_rear_screw_L.STL differ
diff --git a/orbbec_description/meshes/gemini305_g/camera_rear_screw_R.STL b/orbbec_description/meshes/gemini305_g/camera_rear_screw_R.STL
new file mode 100644
index 00000000..1b3af4b3
Binary files /dev/null and b/orbbec_description/meshes/gemini305_g/camera_rear_screw_R.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/FAKRA.STL b/orbbec_description/meshes/gemini309_g/FAKRA.STL
new file mode 100644
index 00000000..0befb3f2
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/FAKRA.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/RGB_L.STL b/orbbec_description/meshes/gemini309_g/RGB_L.STL
new file mode 100644
index 00000000..d48e0fa2
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/RGB_L.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/RGB_R.STL b/orbbec_description/meshes/gemini309_g/RGB_R.STL
new file mode 100644
index 00000000..dc309229
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/RGB_R.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/USB.STL b/orbbec_description/meshes/gemini309_g/USB.STL
new file mode 100644
index 00000000..1b5338fa
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/USB.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/camera_bottom_screw.STL b/orbbec_description/meshes/gemini309_g/camera_bottom_screw.STL
new file mode 100644
index 00000000..8acf4620
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/camera_bottom_screw.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/camera_rear_screw_L.STL b/orbbec_description/meshes/gemini309_g/camera_rear_screw_L.STL
new file mode 100644
index 00000000..62cc3eaf
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/camera_rear_screw_L.STL differ
diff --git a/orbbec_description/meshes/gemini309_g/camera_rear_screw_R.STL b/orbbec_description/meshes/gemini309_g/camera_rear_screw_R.STL
new file mode 100644
index 00000000..e5957eec
Binary files /dev/null and b/orbbec_description/meshes/gemini309_g/camera_rear_screw_R.STL differ
diff --git a/orbbec_description/urdf/gemini305.urdf.xacro b/orbbec_description/urdf/gemini305.urdf.xacro
new file mode 100644
index 00000000..3084170b
--- /dev/null
+++ b/orbbec_description/urdf/gemini305.urdf.xacro
@@ -0,0 +1,304 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orbbec_description/urdf/gemini305_g.urdf.xacro b/orbbec_description/urdf/gemini305_g.urdf.xacro
new file mode 100644
index 00000000..c6fd3eb2
--- /dev/null
+++ b/orbbec_description/urdf/gemini305_g.urdf.xacro
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/orbbec_description/urdf/gemini309_g.urdf.xacro b/orbbec_description/urdf/gemini309_g.urdf.xacro
new file mode 100644
index 00000000..8c024d4b
--- /dev/null
+++ b/orbbec_description/urdf/gemini309_g.urdf.xacro
@@ -0,0 +1,198 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+