What will be the xacro equivalent of this sdf file?
Hello, launch Below is my sdf file for a tree. I want to use this tree model in my world but I want to load and parameterize it using a launch file, but apparently, I can't find a way to add sdf file in my launch file. However, I know how I can load a model using an equivalent xacro file.
I am trying to convert this sdf file to xacro file. But there seems to be a mistake in it. Can someone please let me know how should I proceed??
Below is my sdf file of a tree model:
<?xml version="1.0" ?>
<sdf version="1.6">
<model name="oak_tree">
<static>true</static>
<link name="link">
<collision name="collision">
<geometry>
<mesh>
<uri>model://oak_tree/meshes/oak_tree.dae</uri>
</mesh>
</geometry>
</collision>
<visual name="branch">
<geometry>
<mesh>
<uri>model://oak_tree/meshes/oak_tree.dae</uri>
<submesh>
<name>Branch</name>
</submesh>
</mesh>
</geometry>
<material>
<script>
<uri>model://oak_tree/materials/scripts/</uri>
<uri>model://oak_tree/materials/textures/</uri>
<name>OakTree/Branch</name>
</script>
</material>
</visual>
<visual name="bark">
<geometry>
<mesh>
<uri>model://oak_tree/meshes/oak_tree.dae</uri>
<submesh>
<name>Bark</name>
</submesh>
</mesh>
</geometry>
<material>
<script>
<uri>model://oak_tree/materials/scripts/</uri>
<uri>model://oak_tree/materials/textures/</uri>
<name>OakTree/Bark</name>
</script>
</material>
</visual>
</link>
</model>
</sdf>
And below is the xacro file I wrote although it doesn't work
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="oak_tree">
<link name="$(arg name)">
<static>true</static>
<collision>
<geometry>
<mesh filename = "/home/user/.gazebo/models/oak_tree/meshes/oak_tree.dae"/>
</geometry>
</collision>
<visual name="branch">
<geometry>
<mesh filename = "/home/user/.gazebo/models/oak_tree/meshes/oak_tree.dae"/>
<submesh name = "Branch"/>
</geometry>
<material>
<script filename = "/home/user/.gazebo/models/oak_tree/scripts"/>
<script filename = "/home/user/.gazebo/models/oak_tree/textures" name="OakTree/Branch"/>
</material>
</visual>
<visual name="bark">
<geometry>
<mesh filename = "/home/user/.gazebo/models/oak_tree/meshes/oak_tree.dae"/>
<submesh name = "Bark"/>
</geometry>
<material>
<script filename = "/home/user/.gazebo/models/oak_tree/scripts"/>
<script filename = "/home/user/.gazebo/models/oak_tree/textures" name="OakTree/Bark"/>
</material>
</visual>
</link>
</robot>
Asked by Prasun on 2023-07-31 03:27:45 UTC
Comments