How is the coordinate system working in URDF
I am a beginner and I can't seem to understand as I was going through some examples of URDF that how the Coordinate system is working here though, I am sure it's working normally but it's not making any sense to me. Below is an example.
<?xml version="1.0">
<robot name = "my_first">
<link name="base_link">
<visual>
<geometry>
<cylinder length = "0.01" radius="0.2"/>
</geometry>
<origin rpy = "0 0 0" xyz = "0 0 0"/>
<material name = "yellow">
<color rgba= "1 1 0 1"/>
<material/>
</visual>
</link>
<joint name = "pan_joint" type = "revolute">
<parent link = "base_link"/>
<child link = "pan_link"/>
<origin xyz = "0 0 0.1"/>
<axis xyz = "0 0 1"/>
<joint/>
<link name = "pan_link">
<visual>
<geometry>
<cylinder length = "0.4" radius = "0.04"/>
<geometry/>
<origin rpy = " 0 0 0" xyz = " 0 0 0.09"/>
<material name="red">
<color rgba="0 0 1 1"/>
<material/>
<visual/>
<link/>
<joint name="tilt_joint" type="revolute">
<parent link="pan_link"/>
<child link="tilt_link"/>
<origin xyz="0 0 0.2"/>
<axis xyz="0 1 0" />
</joint>
<link name="tilt_link">
<visual>
<geometry>
<cylinder length="0.4" radius="0.04"/>
</geometry>
<origin rpy="0 1.5 0" xyz="0 0 0"/>
<material name="green">
<color rgba="1 0 0 1"/>
</material>
</visual>
</link>
</robot>
How are the Pan_link's and tilt's xyz is calculated ? Whats the differnce b/w origin rpy and xyz ? please help me out here