1、aruco-1到aruco-34这些二维码图片(png格式)及下述配置文件上传至https://download.csdn.net/download/zhaohaowu/83982724
将这34张二维码图片保存到/usr/share/gazebo-9/media/materials/textures中
sudo cp * /usr/share/gazebo-9/media/materials/textures
2、在/usr/share/gazebo-9/media/materials/scripts中新建aruco.material
sudo gedit aruco.material
import * from "grid.material"
material Gazebo/aruco-1
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-1.png
}
}
}
}
material Gazebo/aruco-2
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-2.png
}
}
}
}
material Gazebo/aruco-3
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-3.png
}
}
}
}
material Gazebo/aruco-4
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-4.png
}
}
}
}
material Gazebo/aruco-5
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-5.png
}
}
}
}
material Gazebo/aruco-6
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-6.png
}
}
}
}
material Gazebo/aruco-7
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-7.png
}
}
}
}
material Gazebo/aruco-8
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-8.png
}
}
}
}
material Gazebo/aruco-9
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-9.png
}
}
}
}
material Gazebo/aruco-10
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-10.png
}
}
}
}
material Gazebo/aruco-11
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-11.png
}
}
}
}
material Gazebo/aruco-12
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-12.png
}
}
}
}
material Gazebo/aruco-13
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-13.png
}
}
}
}
material Gazebo/aruco-14
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-14.png
}
}
}
}
material Gazebo/aruco-15
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-15.png
}
}
}
}
material Gazebo/aruco-16
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-16.png
}
}
}
}
material Gazebo/aruco-17
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-17.png
}
}
}
}
material Gazebo/aruco-18
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-18.png
}
}
}
}
material Gazebo/aruco-19
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-19.png
}
}
}
}
material Gazebo/aruco-20
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-20.png
}
}
}
}
material Gazebo/aruco-21
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-21.png
}
}
}
}
material Gazebo/aruco-22
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-22.png
}
}
}
}
material Gazebo/aruco-23
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-23.png
}
}
}
}
material Gazebo/aruco-24
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-24.png
}
}
}
}
material Gazebo/aruco-25
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-25.png
}
}
}
}
material Gazebo/aruco-26
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-26.png
}
}
}
}
material Gazebo/aruco-27
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-27.png
}
}
}
}
material Gazebo/aruco-28
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-28.png
}
}
}
}
material Gazebo/aruco-29
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-29.png
}
}
}
}
material Gazebo/aruco-30
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-30.png
}
}
}
}
material Gazebo/aruco-31
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-31.png
}
}
}
}
material Gazebo/aruco-32
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-32.png
}
}
}
}
material Gazebo/aruco-33
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-33.png
}
}
}
}
material Gazebo/aruco-34
{
receive_shadows on
technique
{
pass
{
ambient 0.5 0.5 0.5 1.000000
texture_unit
{
texture aruco-34.png
}
}
}
}
3、在gazebo中添加一个Edit->Building Editor,生成sdf文件,放在~/.gazebo/models文件夹下
4、添加34个二维码link,在墙link之间和二维码link之间添加34个joint,最后从gazebo中insert即可,成品图如下
gedit model.sdf
<?xml version='1.0'?>
<sdf version='1.6'>
<model name='Untitled'>
<pose frame=''>83.675 -5.225 0 0 -0 0</pose>
<link name='Wall_0'>
<collision name='Wall_0_Collision'>
<geometry>
<box>
<size>174 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
</collision>
<visual name='Wall_0_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>174 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>2e-06 2.675 0 0 -0 0</pose>
</link>
<link name='Wall_1'>
<collision name='Wall_1_Collision'>
<geometry>
<box>
<size>5.5 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
</collision>
<visual name='Wall_1_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>5.5 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>86.925 0 0 0 -0 -1.5708</pose>
</link>
<joint type="fixed" name="aruco-1_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-1</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-1">
<pose>-85 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-1">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-1</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-2_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-2</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-2">
<pose>-80 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-2">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-2</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-3_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-3</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-3">
<pose>-75 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-3">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-3</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-4_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-4</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-4">
<pose>-70 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-4">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-4</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-5_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-5</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-5">
<pose>-65 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-5">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-5</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-6_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-6</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-6">
<pose>-60 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-6">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-6</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-7_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-7</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-7">
<pose>-55 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-7">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-7</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-8_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-8</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-8">
<pose>-50 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-8">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-8</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-9_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-9</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-9">
<pose>-45 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-9">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-9</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-10_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-10</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-10">
<pose>-40 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-10">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-10</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-11_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-11</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-11">
<pose>-35 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-11">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-11</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-12_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-12</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-12">
<pose>-30 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-12">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-12</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-13_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-13</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-13">
<pose>-25 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-13">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-13</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-14_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-14</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-14">
<pose>-20 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-14">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-14</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-15_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-15</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-15">
<pose>-15 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-15">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-15</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-16_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-16</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-16">
<pose>-10 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-16">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-16</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-17_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-17</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-17">
<pose>-5 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-17">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-17</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-18_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-18</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-18">
<pose>0 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-18">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-18</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-19_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-19</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-19">
<pose>5 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-19">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-19</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-20_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-20</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-20">
<pose>10 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-20">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-20</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-21_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-21</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-21">
<pose>15 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-21">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-21</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-22_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-22</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-22">
<pose>20 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-22">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-22</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-23_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-23</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-23">
<pose>25 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-23">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-23</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-24_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-24</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-24">
<pose>30 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-24">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-24</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-25_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-25</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-25">
<pose>35 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-25">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-25</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-26_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-26</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-26">
<pose>40 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-26">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-26</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-27_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-27</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-27">
<pose>45 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-27">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-27</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-28_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-28</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-28">
<pose>50 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-28">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-28</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-29_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-29</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-29">
<pose>55 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-29">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-29</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-30_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-30</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-30">
<pose>60 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-30">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-30</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-31_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-31</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-31">
<pose>65 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-31">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-31</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-32_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-32</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-32">
<pose>70 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-32">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-32</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-33_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-33</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-33">
<pose>75 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-33">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-33</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<joint type="fixed" name="aruco-34_joint">//一定要定义该joint,否则图片的位置无法准确定义,这是sdf编写的规则决定的
<pose>0 0 0 0 0 0</pose>
<child>aruco-34</child>
<parent>Wall_0</parent>
</joint>
<link name="aruco-34">
<pose>80 -2.6 0.5 0 0 0</pose>//定义该link的位置,就是决定贴图位置,红线,绿线,蓝线
<visual name="aruco-34">
<pose>0 0 0 0 0 0</pose>
<geometry>
2 <box>
<size>0.5 0.01 0.5</size>//link的大小决定这图片显示大小,长,厚,宽
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/aruco.material</uri>
<name>Gazebo/aruco-34</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
</visual>
</link>
<link name='Wall_2'>
<collision name='Wall_2_Collision'>
<geometry>
<box>
<size>174 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
</collision>
<visual name='Wall_2_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>174 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>2e-06 -2.675 0 0 -0 3.14159</pose>
</link>
<link name='Wall_3'>
<collision name='Wall_3_Collision'>
<geometry>
<box>
<size>5.5 0.15 2.5</size>
</box>
</geometry>
<pose frame=''>0 0 1.25 0 -0 0</pose>
</collision>
<visual name='Wall_3_Visual'>
<pose frame=''>0 0 1.25 0 -0 0</pose>
<geometry>
<box>
<size>5.5 0.15 2.5</size>
</box>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
<ambient>1 1 1 1</ambient>
</material>
<meta>
<layer>0</layer>
</meta>
</visual>
<pose frame=''>-86.925 0 0 0 -0 1.5708</pose>
</link>
<static>1</static>
</model>
</sdf>