在前一篇[[3.link和joint]]中,我們有了一個由圓柱和長方體構成的URDF: ```XML <?xml version="1.0"?> <robot name="kotori"> <link name="base_link"> <visual> <geometry> <cylinder length="0.6" radius="0.2"/> </geometry> </visual> </link> <link name="right_leg"> <visual> <geometry> <box size="0.6 0.1 0.2"/> </geometry> </visual> </link> <joint name="base_to_right_leg" type="fixed"> <parent link="base_link"/> <child link="right_leg"/> </joint> </robot> ``` 但在預覽中很明顯的,這兩個東西重疊在一起,因此本篇我們要來談談怎麼對物體作初位置的位移或轉動。我們稍稍調整一下joint,讓它變成以下這個樣子: ```XML <joint name="base_to_right_leg" type="fixed"> <parent link="base_link"/> <child link="right_leg"/> <origin xyz="0 -0.22 0.25"/> </joint> ``` 注意到我們加入了origin xyz這一個標籤。同樣的,我們用命令預覽一下結果(如果忘記命令如何打,請參考[[2.製作第一個URDF]]): ![](https://hackmd.io/_uploads/HJcZuBea2.png) 可以看到長方體往前往下了一點。 origin標籤可以指定關節起始的位置和旋轉。由於child的link其原點為關節,因此調整關節的位置和旋轉便可以帶動link的方向。 xyz指定的為位移量 * x軸 * y軸 * z軸 rpy則能指定旋轉量(注意:單位為弧度) * x軸(row) * y軸(pitch) * z軸(yow)