ROSCon 2012 - URDF and You

WillowGaragevideo · 15K views · 2012 · 43:58

Open on YouTube

RoboticsSoftware (other)talk

Why Robotics Stack Exchange recommends it

Robotics Stack Exchange answerers point people to it as an intro to URDF whenever questions come up about joints, origins and importing meshes, often with a timestamp for the relevant section.

Recommended by 3 people across 5 different months, 2012 to 2018.

What it is

A 44-minute ROSCon 2012 talk by David Lu on URDF, the XML format ROS uses to describe a robot's links, joints and meshes. It covers how joint and link origins work and how to reference mesh files in a model.

What people said

Strong rec dougbot01 · 2012-07 · Robotics Stack Exchange · on “How to change the height of the Kinect mounted in turtlebot simulator”

In addition to Stefan's post, you might want to check out this video from ROSCon that talks about URDF. It's a great intro video. [this video] Originally posted by dougbot01 [LINK] with karma: 342 on 2012-07-17 This answer was NOT ACCEPTED on the original site Post score: 1 Original comments Comment by karthik [LINK] on 2012-07-17 : Thanks doughbot01 ... it helps!!!

Recommends DLu · 2012-07 · Robotics Stack Exchange · on “types of joints to design a robot model”

From ROSCon [this video] (jump to 10:07 if the link doesn't do that for you automatically) Originally posted by David Lu [LINK] with karma: 10932 on 2012-07-09 This answer was ACCEPTED on the original site Post score: 2

Recommends dougbot01 · 2012-08 · Robotics Stack Exchange · on “Converting Collada to urdf”

Perhaps I am misunderstanding something, but as I see it you are testing a COLLADA format to see if it is URDF. They are two different formats. You can include a reference to a .dae file within a URDF file as a link, but .dae themselves are not URDF. I would recommend you check out this excellent video on URDF from ROSCON [this video] At 15:30 in the video you will see the format to include .dae into your URDF file. I've followed this, and it works perfectly. I have about 10 different mesh links in my URDF with no problems. Originally posted by dougbot01 [LINK] with karma: 342 on 2012-08-19 This answer was ACCEPTED on the original site Post score: 3 Original comments Comment by jbohren [LINK] on

Recommends DLu · 2012-10 · Robotics Stack Exchange · on “ROS Answers SE migration: URDF model”

You need to specify the origin of the joint to be in the proper place relative to the parent link. For a rundown of how the origin tags work, check out this geeky guy's presentation [this video] on URDF (specifically the portion I linked to). It may also help to use the joint_state_publisher and rviz to debug your model (as in the URDF tutorials [LINK] . Using that approach is how I noticed that your legs did not rotate as I would expect them to. Originally posted by David Lu [LINK] with karma: 10932 on 2012-10-21 This answer was NOT ACCEPTED on the original site Post score: 4 Original comments Comment by Nachum [LINK] on 2012-10-21 : Thanks for the video. Great to see the face behind the name :)

Recommends DLu · 2013-07 · Robotics Stack Exchange · on “transform broadcaster for multiple senors”

The best solution would be to use a urdf [LINK] and the robot state publisher [LINK] Watch me ramble on the subject here [this video] Originally posted by David Lu [LINK] with karma: 10932 on 2013-07-08 This answer was ACCEPTED on the original site Post score: 2 Original comments Comment by lindzey [LINK] on 2013-07-08 : Oooh! I like this =) (I'm leaving my answer as it has a lower threshold to get working, but this is far superior)

Recommends josephcoombe · 2018-03 · Robotics Stack Exchange · on “How is the coordinate system working in URDF”

I recommend reading through [LINK] , [LINK] , and [LINK] if you have not already. joints represent connections between link / reference frames: origin rpy attribute: "Represents the rotation around fixed axis: first roll around x, then pitch around y and finally yaw around z. All angles are specified in radians" (Tait-Bryan xyz extrinsic rotations) relative to the parent link's reference frame (effectively the parent joint). origin xyz attribute: Represents the x, y, z translation relative to the parent link's reference frame (effectively the parent joint). links represent rigid bodies: origin rpy attribute: "Represents the rotation around fixed axis: first roll around x, then pitch around y

Cites ccm · 2012-10 · Robotics Stack Exchange · on “writing a revolute joint”

I'm trying to build a door model but I can't seem to get the coding for revolute joints right. the "base_link" is the wall and "door" is the door. My code "door.xml" is here <?xml version="1.0"?> <robot name="door"> <link name="base_link"> <visual> <geometry> <box size="0.6 0.05 0.6"/> </geometry> <origin rpy="0 0 0" xyz="0 0 0.3"/> <material name="white"> <color rgba="1 1 1 1"/> </material> </visual> <!--<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="100.0" iyz="0.0" izz="1.0" /> </inertia>--> </link> <link name="door"> <visual> <geometry> <box size="0.3 0.05 0.6"/> </geometry> <origin rpy="0 0 0" xyz="0.15 -0.025 0"/> </visual> </link> <joint name="hinge" type="revolute"> <limit upper="0" low