From 2e9c07c1a75063ba1baf4ea3eba5ba73818f8a56 Mon Sep 17 00:00:00 2001
From: Alopez <alopez@iri.upc.edu>
Date: Thu, 16 Apr 2020 18:37:18 +0200
Subject: [PATCH] Added name parameter to realsense.xacro. Also Added first
 parameter to include or not the model xacro. Added a xacro for each realsense
 model

---
 urdf/realsense.xacro      | 23 +++++++++++++++--------
 urdf/realsense_d435.xacro | 19 +++++++++++++++++++
 urdf/realsense_r410.xacro | 19 +++++++++++++++++++
 urdf/realsense_r430.xacro | 19 +++++++++++++++++++
 4 files changed, 72 insertions(+), 8 deletions(-)
 create mode 100644 urdf/realsense_d435.xacro
 create mode 100644 urdf/realsense_r410.xacro
 create mode 100644 urdf/realsense_r430.xacro

diff --git a/urdf/realsense.xacro b/urdf/realsense.xacro
index f90810f..962696f 100644
--- a/urdf/realsense.xacro
+++ b/urdf/realsense.xacro
@@ -3,32 +3,39 @@
 <root xmlns:xacro="http://ros.org/wiki/xacro">
 
   <xacro:include filename="$(find iri_realsense_depth_description)/urdf/realsense.gazebo" />
+  <!--<xacro:include filename="$(find realsense2_description)/urdf/_d435.urdf.xacro"/>-->
 
-  <xacro:macro name="realsense_depth" params="parent model *origin sim_config">
+  <xacro:macro name="realsense_depth" params="parent model name:=camera *origin sim_config first:=true">
 
     <xacro:arg name="use_nominal_extrinsics" default="True" />
     <xacro:if value="${model == 'd435'}">
-      <xacro:include filename="$(find realsense2_description)/urdf/_d435.urdf.xacro"/>
-      <sensor_d435 parent="${parent}" >
+      <xacro:if value="${first == 'true'}">
+        <xacro:include filename="$(find realsense2_description)/urdf/_d435.urdf.xacro"/>
+      </xacro:if>
+      <sensor_d435 parent="${parent}" name="${name}">
         <xacro:insert_block name="origin"/>
       </sensor_d435>
     </xacro:if>
 
     <xacro:if value="${model == 'r410'}">
-      <xacro:include filename="$(find realsense2_descritpion)/urdf/_r410.urdf.xacro"/>
-      <sensor_r410 parent="${parent}">
+      <xacro:if value="${first == 'true'}">
+        <xacro:include filename="$(find realsense2_description)/urdf/_r410.urdf.xacro"/>
+      </xacro:if>
+      <sensor_r410 parent="${parent}" name="${name}">
         <xacro:insert_block name="origin"/>
       </sensor_r410>
     </xacro:if>
 
     <xacro:if value="${model == 'r430'}">
-      <xacro:include filename="$(find realsense2_description)/urdf/_r430.urdf.xacro"/>
-      <sensor_r430 parent="${parent}">
+      <xacro:if value="${first == 'true'}">
+        <xacro:include filename="$(find realsense2_description)/urdf/_r430.urdf.xacro"/>
+      </xacro:if>
+      <sensor_r430 parent="${parent}" name="${name}">
         <xacro:insert_block name="origin"/>
       </sensor_r430>
     </xacro:if>
 
-    <xacro:realsense_depth_gazebo name="camera" sim_config="${sim_config}"/>
+    <xacro:realsense_depth_gazebo name="${name}" sim_config="${sim_config}"/>
 
   </xacro:macro>
 
diff --git a/urdf/realsense_d435.xacro b/urdf/realsense_d435.xacro
new file mode 100644
index 0000000..ba3d9ca
--- /dev/null
+++ b/urdf/realsense_d435.xacro
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+
+<root xmlns:xacro="http://ros.org/wiki/xacro">
+
+  <xacro:include filename="$(find iri_realsense_depth_description)/urdf/realsense.gazebo" />
+  <xacro:include filename="$(find realsense2_description)/urdf/_d435.urdf.xacro"/>
+
+  <xacro:macro name="realsense_d435_depth" params="parent name:=camera *origin sim_config">
+
+    <xacro:arg name="use_nominal_extrinsics" default="True" />
+    <sensor_d435 parent="${parent}" name="${name}">
+      <xacro:insert_block name="origin"/>
+    </sensor_d435>
+
+    <xacro:realsense_depth_gazebo name="${name}" sim_config="${sim_config}"/>
+
+  </xacro:macro>
+
+</root>
diff --git a/urdf/realsense_r410.xacro b/urdf/realsense_r410.xacro
new file mode 100644
index 0000000..52cd76d
--- /dev/null
+++ b/urdf/realsense_r410.xacro
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+
+<root xmlns:xacro="http://ros.org/wiki/xacro">
+
+  <xacro:include filename="$(find iri_realsense_depth_description)/urdf/realsense.gazebo" />
+  <xacro:include filename="$(find realsense2_description)/urdf/_r410.urdf.xacro"/>
+
+  <xacro:macro name="realsense_r410_depth" params="parent model *origin sim_config">
+
+    <xacro:arg name="use_nominal_extrinsics" default="True" />
+    <sensor_r410 parent="${parent}" name="${name}">
+      <xacro:insert_block name="origin"/>
+    </sensor_r410>
+
+    <xacro:realsense_depth_gazebo name="${name}" sim_config="${sim_config}"/>
+
+  </xacro:macro>
+
+</root>
diff --git a/urdf/realsense_r430.xacro b/urdf/realsense_r430.xacro
new file mode 100644
index 0000000..4d6ca84
--- /dev/null
+++ b/urdf/realsense_r430.xacro
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+
+<root xmlns:xacro="http://ros.org/wiki/xacro">
+
+  <xacro:include filename="$(find iri_realsense_depth_description)/urdf/realsense.gazebo" />
+  <xacro:include filename="$(find realsense2_description)/urdf/_r430.urdf.xacro"/>
+
+  <xacro:macro name="realsense_r430_depth" params="parent model *origin sim_config">
+
+    <xacro:arg name="use_nominal_extrinsics" default="True" />
+    <sensor_r430 parent="${parent}" name="${name}">
+      <xacro:insert_block name="origin"/>
+    </sensor_r430>
+
+    <xacro:realsense_depth_gazebo name="${name}" sim_config="${sim_config}"/>
+
+  </xacro:macro>
+
+</root>
-- 
GitLab