[ros-users] Urdf joints/links question

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Kirila Adamova
Date:  
To: ros-users
Subject: [ros-users] Urdf joints/links question
Hi all,

I am currently writing a 3D model in urdf. I have two cylinders, which
are connected with a joint. The second cylinder, however, is rotated and
can be rotated further in the same direction. When I visualize them in
gazebo, the joint is in the center of the second cylinder. Is there a
way to make it at the end of the cylinder because that is the point
around which I need to rotate it. To make it more clear (or even more
confusing), here is sample code:

<link name="feet">
        <inertial>
            <origin xyz="0 0 0.275" rpy="0 0 0"/>
            <mass value="100"/>
            <inertia ixx="1" ixy="0" ixz="0" iyy="0" iyz="0" izz="0"/>
        </inertial>
        <visual>
            <origin xyz="0 0 0" rpy="0 0 0"/>
            <geometry>
                <cylinder radius="0.100" length="0.250"/>
            </geometry>
        </visual>
        <collision>
                  <origin xyz="0 0 0" rpy="0 0 0"/>
                  <geometry>
                    <cylinder radius="0.100" length="0.230"/>
                  </geometry>
            </collision>
    </link>


    <link name="hips">
        <inertial>
            <origin xyz="0 0 0.570" rpy="0 2.2 0"/>
            <mass value="50"/>
            <inertia ixx="1" ixy="0" ixz="0" iyy="0" iyz="0" izz="0"/>
        </inertial>
        <visual>
            <origin xyz="0 0 0" rpy="0 2.2 0"/>
            <geometry>
                <cylinder radius="0.060" length="0.420"/>
            </geometry>
        </visual>
        <collision>
                  <origin xyz="0 0 0" rpy="0 2.2 0"/>
                  <geometry>
                    <cylinder radius="0.060" length="0.400"/>
                  </geometry>
            </collision>
    </link>


    <joint name="knees" type="revolute">
        <parent link="feet"/>
        <child link="hips"/>
        <origin xyz="0 0 0.275"/>
        <axis xyz="0 0 1"/>
        <limit lower="1.31" upper="3.22" effort="30" velocity="1.0"/>
    </joint>


Currently, the axis xyz is set to z, although it needs to be y, because
when it's set somewhere else, the whole model goes crazy (jumps and
turns around) in gazebo.

Help will be greatly appreciated,

Kirila

p.s. End result must rotate the second cylinder around the point between
the two cylinders around the y axis.