The hardest part of exercise 2.1 is the origins. I was able to do other parts correctly. I have read and checked the ROS documentation. What I got there was that origin for links should be located at the center of gravity or shapes of the links and that the one for joints should be located at the origin of the child link. However, the solution for exercise 2.1 does not follow the convention on the ROS documentation
For example, the base link origin was placed at xyz = 0 0 0 while I expect to have (0 0 0.045) Same for all other parts of the links and joints. An attempt to change the origins for the links on my own changed the configuration of the mica robot.
<!-- * * * Link Definitions * * * -->
<link name="base_link">
<visual>
<origin rpy="0.0 0 0" xyz="0 0 0"/>
<geometry>
<cylinder radius="0.06" length="0.09"/>
</geometry>
<material name="grey"/>
</visual>
</link>
example 2: How the figures for the origin of the joints was arrived at is totally unclear. Same for all others. I believe if I am able to understand one for each link and a joint , I would understand the rest.
<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>
Is there a guide you can recommend or can I get a detailed explanation on how to correctly identify and put correct origins on my own for any robot I want to work on? My aim is that by the end of the course I am able to correctly place origins on links and joints. I do not seem to understand the placement of the reading content of the exercise. The origins seem to be the most important task in urdf scripting.