diff --git a/ariac_description/urdf/vacuum_gripper/vacuum_gripper_macro.xacro b/ariac_description/urdf/vacuum_gripper/vacuum_gripper_macro.xacro
index 2ff1dea18..4f93cb645 100644
--- a/ariac_description/urdf/vacuum_gripper/vacuum_gripper_macro.xacro
+++ b/ariac_description/urdf/vacuum_gripper/vacuum_gripper_macro.xacro
@@ -107,6 +107,9 @@
+
+
+
@@ -123,6 +126,14 @@
+
+
+
+
+
+
+
+
Gazebo/Black
diff --git a/ariac_gazebo/nodes/sensor_tf_broadcaster.py b/ariac_gazebo/nodes/sensor_tf_broadcaster.py
index b9f7c8b3a..ece637cba 100644
--- a/ariac_gazebo/nodes/sensor_tf_broadcaster.py
+++ b/ariac_gazebo/nodes/sensor_tf_broadcaster.py
@@ -40,6 +40,20 @@ def main():
sensor_tf_broadcaster.generate_transform('world', sensor_name + "_frame", pose)
+ # Publish optical frame for cameras
+ try:
+ if 'rgb' in sensors[sensor_name]['type']:
+ xyz = [0, 0, 0]
+ rpy = ['-pi/2', 0, '-pi/2']
+
+ optical_pose = pose_info(xyz, rpy)
+
+ sensor_tf_broadcaster.generate_transform(
+ sensor_name + "_frame", sensor_name + "_optical_frame", optical_pose)
+
+ except KeyError:
+ pass
+
# Send tf transforms
sensor_tf_broadcaster.send_transforms()