Mechanism Segments

Learn how to configure your mechanism segments

1. Collect DH parameters:

Retrieve the DH parameters from your robot model:

Example:

image not found

2. Collect the Mass, center of mass and inertia per Segment:

Calculate the Mass, Center of Mass and inertia per segment of your robot.

Example:

Axis: mass(kg): center of mass(m): (x, y, z) inertia(kg.m^2):(Ixx, Iyy, Izz)
Joint1 5.096092 -0.00004, -0.01290, -0.01726 0.0127270, 0.0096427, 0.0119825
Joint2 10.70249 -0.21335, 0.00000, 0.13058 0.0215573, 0.4351312, 0.4335571
Joint3 4.341977 -0.20021, 0.00000, 0.03962 0.0074610, 0.1187431, 0.1173773
Joint4 1.835048 -0.00019, -0.01377, -0.00809 0.0030334, 0.0021003, 0.0024817
Joint5 1.877054 0.00014, 0.01278, -0.00773 0.0034297, 0.0021536, 0.0028632
Joint6 0.449071 0.00000, -0.00009, -0.03035 0.0003376, 0.0003316, 0.0003881
Tool 0.000000 0.00000, 0.00000, 0.00000 0.0000000, 0.0000000, 0.0000000

Converted Example to Motorcortex Frame (z-up, y-left x-front):

Axis: mass(kg): center of mass(m): (x, y, z) inertia(kg.m^2):(Ixx, Iyy, Izz)
Joint1 5.096092 0.00004, 0.01290, -0.01726 0.0127270, 0.0096427, 0.0119825
Joint2 10.70249 0.00000, 0.13058, -0.21335 0.0215573, 0.4335571, 0.4351312
Joint3 4.341977 0.00000, 0.03962, -0.20021 0.0074610, 0.1173773, 0.1187431
Joint4 1.835048 0.00019, -0.01377, -0.00809 0.0030334, 0.0024817, 0.0021003
Joint5 1.877054 -0.00014, 0.01278, 0.00773 0.0034297, 0.0021536, 0.0028632
Joint6 0.449071 0.00000, -0.03035, -0.00009 0.0003376, 0.0003881, 0.0003316
Tool 0.000000 0.00000, 0.00000, 0.00000 0.0000000, 0.0000000, 0.0000000

3. Basic mech-parameters.xml

Basic Example:

<?xml version="1.0"?>
<robot name="Dobot-CR5" numberDoFs="6" type="anthropomorphic2">
    <segment number="1">
        <tippose>
            <position x="0.0" y="0.0" z="0.147"></position>
        </tippose>
        <jointaxis> rot_z </jointaxis>
    </segment>
    
    <segment number="2">
        <tippose>
            <position x="0.0" y="0.0" z="0.427"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
    </segment>
    
    <segment number="3">
        <tippose>
            <position x="0.0" y="0.0" z="0.357"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
    </segment>

    <segment number="4">
        <tippose>
            <position x="0.0" y="0.141" z="0.0"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
    </segment>

    <segment number="5">
        <tippose>
            <position x="0.0" y="0.0" z="0.116"></position>
        </tippose>
        <jointaxis> rot_z </jointaxis>
    </segment>

    <segment number="6">
        <tippose>
            <position x="-0.0" y="0.105" z="0.0"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
    </segment>

	<tool name="tool">
			<tippose>
			<position x ="0" y="0" z="0"></position>
		</tippose>
	</tool>
</robot>

4. Advanced mech-parameters.xml

Advanced Example:

<?xml version="1.0"?>
<robot name="Dobot-CR5" numberDoFs="6" type="anthropomorphic2">
    <segment number="1">
        <tippose>
            <position x="0.0" y="0.0" z="0.147"></position>
        </tippose>
        <jointaxis> rot_z </jointaxis>
        <mass> 
            5.0960923
        </mass>
        <cog> 
            <position x="0.00004" y="0.01290" z="-0.01726" />
        </cog>
        <inertia>
            <Ixx> 0.0127270     </Ixx>
            <Ixy> 0.000         </Ixy>
            <Ixz> 0.000         </Ixz>
            <Iyx> 0.000         </Iyx>
            <Iyy> 0.0096427     </Iyy>
            <Iyz> 0.000         </Iyz>
            <Izx> 0.000         </Izx>
            <Izy> 0.000         </Izy>
            <Izz> 0.0119825     </Izz>
        </inertia>
    </segment>
    
    <segment number="2">
        <tippose>
            <position x="0.0" y="0.0" z="0.427"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
        <mass> 
            10.7024900 
        </mass>
        <cog> 
            <position x="0" y="0.13058" z="-0.21335" />
        </cog>
        <inertia>
            <Ixx> 0.0215573     </Ixx>
            <Ixy> 0.000         </Ixy>
            <Ixz> 0.000         </Ixz>
            <Iyx> 0.000         </Iyx>
            <Iyy> 0.4335571     </Iyy>
            <Iyz> 0.000         </Iyz>
            <Izx> 0.000         </Izx>
            <Izy> 0.000         </Izy>
            <Izz> 0.4351312     </Izz>
        </inertia>
    </segment>
    
    <segment number="3">
        <tippose>
            <position x="0.0" y="0.0" z="0.357"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
        <mass> 
            4.3419774 
        </mass>
        <cog> 
            <position x="0" y="0.03962" z="-0.20021" />
        </cog>
        <inertia>
            <Ixx> 0.0074610     </Ixx>
            <Ixy> 0.000         </Ixy>
            <Ixz> 0.000         </Ixz>
            <Iyx> 0.000         </Iyx>
            <Iyy> 0.1173773     </Iyy>
            <Iyz> 0.000         </Iyz>
            <Izx> 0.000         </Izx>
            <Izy> 0.000         </Izy>
            <Izz> 0.1187431     </Izz>
        </inertia>
    </segment>

    <segment number="4">
        <tippose>
            <position x="0.0" y="0.141" z="0.0"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
        <mass> 
            1.8350479 
        </mass>
        <cog> 
            <position x="0.00019" y="-0.01377" z="-0.00809" />
        </cog>
        <inertia>
            <Ixx> 0.0030334     </Ixx>
            <Ixy> 0.000         </Ixy>
            <Ixz> 0.000         </Ixz>
            <Iyx> 0.000         </Iyx>
            <Iyy> 0.0024817     </Iyy>
            <Iyz> 0.000         </Iyz>
            <Izx> 0.000         </Izx>
            <Izy> 0.000         </Izy>
            <Izz> 0.0021003     </Izz>
        </inertia>
    </segment>

    <segment number="5">
        <tippose>
            <position x="0.0" y="0.0" z="0.116"></position>
        </tippose>
        <jointaxis> rot_z </jointaxis>
        <mass> 
            1.8770536 
        </mass>
        <cog> 
            <position x="-0.00014" y="0.01278" z="0.00773" />
        </cog>
        <inertia>
            <Ixx> 0.0034297     </Ixx>
            <Ixy> 0.000         </Ixy>
            <Ixz> 0.000         </Ixz>
            <Iyx> 0.000         </Iyx>
            <Iyy> 0.0021536     </Iyy>
            <Iyz> 0.000         </Iyz>
            <Izx> 0.000         </Izx>
            <Izy> 0.000         </Izy>
            <Izz> 0.0028632     </Izz>
        </inertia>
    </segment>

    <segment number="6">
        <tippose>
            <position x="-0.0" y="0.105" z="0.0"></position>
        </tippose>
        <jointaxis> rot_y </jointaxis>
        <mass> 
            0.4490706
        </mass>
        <cog> 
            <position x="0" y="-0.03035" z="-0.00009" />
        </cog>
        <inertia>
            <Ixx> 0.0003376     </Ixx>
            <Ixy> 0.000         </Ixy>
            <Ixz> 0.000         </Ixz>
            <Iyx> 0.000         </Iyx>
            <Iyy> 0.0003881     </Iyy>
            <Iyz> 0.000         </Iyz>
            <Izx> 0.000         </Izx>
            <Izy> 0.000         </Izy>
            <Izz> 0.0003316     </Izz>
        </inertia>
    </segment>

	<tool name="tool">
			<tippose>
			<position x ="0" y="0" z="0"></position>
		</tippose>
		<mass>
		 0.000
		</mass>
		<inertia>
			<Ixx>  0.000        </Ixx>
			<Ixy>  0.000        </Ixy>
			<Ixz>  0.000        </Ixz>
			<Iyx>  0.000        </Iyx>
			<Iyy>  0.000        </Iyy>
			<Iyz>  0.000        </Iyz>
			<Izx>  0.000        </Izx>
			<Izy>  0.000        </Izy>
			<Izz>  0.000        </Izz>
		</inertia>
		<cog>
			<position x ="0" y="0" z="0"> </position>
		</cog>
	</tool>
</robot>