[ros-users] Urdf joints/links question
Kirila Adamova
kirila.adamova at dfki.de
Tue Jun 1 13:58:09 UTC 2010
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>
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 at dfki.de
> <mailto:kirila.adamova at 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 at code.ros.org <mailto:ros-users at 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 at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
More information about the ros-users
mailing list