how to define 6 DOF of floating body?

Discussion in 'Modeling' started by Rian Jo, May 23, 2018.

  1. Hello,

    Practically with fixed body robot, when dynamics are calculated by using recursive newton-euler, each joint is defined as 1 hinge joint with a link so that the model has one joint parameter including mass, inertia. However, floating body robot has 6 DoF and it should be defined in one variable i suppose? I would like to know how you defined 6 DoF of floating body in the program when you calculate dynamics using RNE.

    Thank you.
     
  2. Emo Todorov

    Emo Todorov Administrator Staff Member

  3. hi, i wonder is there any mistakes : i model a floating base using "joint type=free", but the next one link attached just go through it, with out contact detection.
    however, the other links seems fine, just like the picture.

    and here is my code
    Code:
     <worldbody>
            <light pos="0 1 1" dir="0 -1 -1" diffuse="1 1 1"/>
            <body name="base">
                <joint type="free" />
                <geom type="box" pos="0 0 0" size="0.3 0.3 0.3"/>
                <body name="link_1">
                    <joint name="joint_1" type="hinge" pos="0 0.3 0" axis="1 0 0"/>
                    <geom type="capsule" fromto="0 0.3 0  0 1.3 0" size="0.02"/>
                    <body name="link2">
                        <joint name="joint_2" type="hinge" pos="0 1.3 0" axis="1 0 0"/>
                        <geom type="capsule" fromto="0 1.3 0  0 2.5 0.5" size="0.01"/>
                    </body>
                </body>
            </body>
        </worldbody>
    thanks!
     

    Attached Files:

  4. you can use

    <freejoint name="root"/>

    as described in humanoid.xml