# Common location for sensor URDF files?

**URL:** https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758
**Category:** robot description formats
**Created:** [April 28, 2017, 4:36am UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758 "2017-04-28T04:36:38Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![130s](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/130s/32/21_2.png) [@130s](https://discourse.openrobotics.org/u/130s)
#### Post date: [April 28, 2017, 4:36am UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758/1 "2017-04-28T04:36:38Z")

</div>

For example, in [turtlebot\_description](http://wiki.ros.org/turtlebot_description) there are [some sensors’ xacro, mesh and all](https://github.com/turtlebot/turtlebot/tree/931d04516ee2257d21b68646b89a897b7650e70d/turtlebot_description) that are enough for ROS usecases (and for visualizing on Gazebo too). Failing to find so far a robot-agnostic location where I can get Kinect models, I’ve been reluctantly depending on `turtlebot_description` from my robot packages just to use those models.

Is there already a good to way to avoid bizarre dependency like above? Or if there isn’t, what we can do to amend this?

I thought we may want to create a sensor description package, maybe somewhere close to its driver. For example for Kinect it may be like in [freenect\_stack](https://github.com/ros-drivers/freenect_stack/) (need more discussion for the specific location of course).

Also available on Gazebo are some sensors’ `SDF`s, which cannot reversibly be used in ROS AFAIK. So IMO this can’t be an option.

---

<div class="post-metadata">

### Author: ![Vincent\_Rousseau](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/vincent_rousseau/32/1264_2.png) [@Vincent\_Rousseau](https://discourse.openrobotics.org/u/Vincent_Rousseau)
#### Post date: [April 28, 2017, 9:52am UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758/2 "2017-04-28T09:52:22Z")

</div>

I agree with you we need more sensor description package.  
There was a discussion on this on the SIG driver group : [Redirecting to Google Groups](https://groups.google.com/forum/#!topic/ros-sig-drivers/UDEdIMiL0MU)

Here is the conclusion that I like from Jack O’Quin

> For most devices, I think it makes sense to distribute the foo\_description as a separate package in the same repository as the foo\_driver.

> - They get released together, so they remain in sync with support for new models, etc.

> - Their dependencies remain separate.

> - They can be installed on different machines, useful if the driver can run on a small headless controller.

> Of course, some generic drivers, like camera1394 or usb\_cam, have no idea what the actual device looks like. There are thousands of IIDC or USB camera models. I suppose they could provide a generic box with a lens, but what’s the point? That could legitimately go somewhere else.

For example, there should be a new package named realsense\_description in [GitHub - IntelRealSense/realsense-ros: ROS Wrapper for Intel(R) RealSense(TM) Cameras](https://github.com/intel-ros/realsense)

---

<div class="post-metadata">

### Author: ![gbiggs](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/gbiggs/32/30361_2.png) [@gbiggs](https://discourse.openrobotics.org/u/gbiggs)
#### Post date: [May 7, 2017, 10:47pm UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758/3 "2017-05-07T22:47:00Z")

</div>

For commonly-used sensors like the Kinect or SICK laser scanners, I wholeheartedly agree with having a description package I can install and use without needing to bring in an entire robot description.

---

<div class="post-metadata">

### Author: ![130s](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/130s/32/21_2.png) [@130s](https://discourse.openrobotics.org/u/130s)
#### Post date: [January 6, 2018, 4:52pm UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758/4 "2018-01-06T16:52:31Z")

</div>

Thanks for the helpful inputs.

I made a PR to `openni_camera` repository to add `openni_description` package. [Add openni\_description package. by 130s · Pull Request #58 · ros-drivers/openni\_camera · GitHub](https://github.com/ros-drivers/openni_camera/pull/58). Review is welcomed.  
Essentially this package only contains a xacro for Kinect. I’m afraid this setting may be a bit of overkill, but not entirely sure. Let’s see.

---

<div class="post-metadata">

### Author: ![NealXu](https://avatars.discourse-cdn.com/v4/letter/n/e47c2d/32.png) [@NealXu](https://discourse.openrobotics.org/u/NealXu)
#### Post date: [January 12, 2018, 6:57pm UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758/5 "2018-01-12T18:57:16Z")

</div>

Hi…While URDFs are a useful and standardized format in ROS, they are lacking many features and have not been updated to deal with the evolving needs of robotics. URDF can only specify the kinematic and dynamic properties of a single robot in isolation. URDF can not specify the pose of the robot itself within a world. It is also not a universal description format since it cannot specify joint loops, and it lacks friction and other properties. Additionally, it cannot specify things that are not robots, such as lights, heightmaps, etc.

[printed circuits assembly](https://www.7pcbassembly.com/)

---

<div class="post-metadata">

### Author: ![130s](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/130s/32/21_2.png) [@130s](https://discourse.openrobotics.org/u/130s)
#### Post date: [January 12, 2018, 7:10pm UTC](https://discourse.openrobotics.org/t/common-location-for-sensor-urdf-files/1758/6 "2018-01-12T19:10:11Z")

</div>

@NealXu I hear that discussion often, but this thread is not for that.
