(Similar question was posted by rongjin980704, unfortunately, there was no followup with query, so i am posting again)
The questions are into two:
-
What is the purpose of defining origin in a link
<origin rpy="0 0 0" xyz="0 0 0"/>
, since the value of origin in a joint<origin xyz="0.0023 0 -0.0005" rpy="0 0 0"/>
is the one that is being implemented. (I have attached a sample URDF for comparison). Its useful for defining the base link’s position, but i don’t see its use for the rest of the links? Could someone elaborate? -
Is the usage of effort in joint definitions
<limit lower="-0.2" upper="0.2" effort="0.1" velocity="0.005"/>
meant to convey the force to be applied? what is the range of values for effort?
<?xml version="1.0"?>
<robot name="mira">
<link name="base_link">
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder radius="0.06" length="0.09"/>
</geometry>
</visual>
</link>
<link name="roll_M1_link">
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder radius="0.01" length="0.005"/>
</geometry>
</visual>
</link>
<joint name="roll_joint" type="revolute">
<parent link="base_link"/>
<child link="roll_M1_link"/>
<origin xyz="0.0023 0 -0.0005" rpy="0 0 0"/>
<limit lower="-0.2" upper="0.2" effort="0.1" velocity="0.005"/>
<axis xyz="1 0 0"/>
</joint>
<link name="pitch_M2_link">
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder radius="0.01" length="0.005"/>
</geometry>
</visual>
</link>
<joint name="pitch_joint" type="revolute">
<parent link="roll_M1_link"/>
<child link="pitch_M2_link"/>
<origin xyz="0 0 0" rpy="0 -1.5708 0"/>
<limit lower="0" upper="0.44" effort="0.1" velocity="0.005"/>
<axis xyz="0 1 0"/>
</joint>