On Tue, Jun 1, 2010 at 3:58 PM, Kirila Adamova <kirila.adamova@dfki.de> wrote:
Thank you,

That placed the cylinder correctly. However, I still have the rotation
problem.
   <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.169 0 0" rpy="0 2.2 0"/> 
           <geometry>
               <cylinder radius="0.060" length="0.420"/>
           </geometry>
       </visual>
       <collision>
                 <origin xyz="-0.169 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 1 0"/>
       <limit lower="1.31" upper="3.22" effort="30" velocity="1.0"/>
   </joint>

The <axis> element is specific to a joint, not a link, and specifies the direction of motion (rotation, in your case).
If you are interested in orienting a link with respect to to a joint, then you should use the rpy attribute of the <origin> element. For example, in the above code, you state:

<origin xyz="-0.169 0 0" rpy="0 2.2 0"/>

Here you are specifying a pitch angle of 2.2 radians. You can choose a suitable roll, pitch, yaw triplet that will reorient your cylinder as you would expect.
I'm not sure if I understood your question correctly... Does this solve your issue?

Adolfo


If in the joint, <axis xyz="0 0 1">, the cylinder rotates around the z
axis. When I set it to <axiz xyz="0 1 0">, it rotates around the y axis
as I want it to, but the whole robot also jumps and rotates and falls to
its side...

Kirila

Adolfo Rodríguez Tsouroukdissian wrote:
> On Tue, Jun 1, 2010 at 3:32 PM, Kirila Adamova <kirila.adamova@dfki.de
> <mailto:kirila.adamova@dfki.de>> wrote:
>
>     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.
>
>
>
> Kirila,
>
> The cylinder primitive makes its center coincide with the
> corresponding origin (visualization, collision) and is aligned with
> the z axis. For your robot, it should suffice to specify an
> appropriate origin for your visualization and collision geometries
> (with respect to the joint origin). For more details refer to the
> available documentation:
>
> http://www.ros.org/wiki/urdf/XML/Link
> http://www.ros.org/wiki/urdf/XML/Joint
>
> HTH,
>
> Adolfo
>
>
>     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.
>     _______________________________________________
>     ros-users mailing list
>     ros-users@code.ros.org <mailto:ros-users@code.ros.org>
>     https://code.ros.org/mailman/listinfo/ros-users
>
>
>
>
> --
> Adolfo Rodríguez Tsouroukdissian, Ph. D.
>
> Robotics engineer
> PAL ROBOTICS S.L
> http://www.pal-robotics.com
> Tel. +34.93.414.53.47
> Fax.+34.93.209.11.09
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos,
> pueden contener información privilegiada y/o confidencial que está
> dirigida exclusivamente a su destinatario. Si usted recibe este
> mensaje y no es el destinatario indicado, o el empleado encargado de
> su entrega a dicha persona, por favor, notifíquelo inmediatamente y
> remita el mensaje original a la dirección de correo electrónico
> indicada. Cualquier copia, uso o distribución no autorizados de esta
> comunicación queda estrictamente prohibida.
>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s)
> may contain confidential information which is privileged and intended
> only for the individual or entity to whom they are addressed.  If you
> are not the intended recipient, you are hereby notified that any
> disclosure, copying, distribution or use of this e-mail and/or
> accompanying document(s) is strictly prohibited.  If you have received
> this e-mail in error, please immediately notify the sender at the
> above e-mail address.
> ------------------------------------------------------------------------
>
> _______________________________________________
> ros-users mailing list
> ros-users@code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>

_______________________________________________
ros-users mailing list
ros-users@code.ros.org
https://code.ros.org/mailman/listinfo/ros-users