Hello, I have integrated the accelerometer and tilt support from adafruit [1] into my kinect node. To do so, I have added them to libfreenect, for which I now provide a git with my changes instead of patches in my kinect node [3]. Here at ASL, Deon Sabatta and Davide Scaramuzza have found a more precise depth function than 1/x. It is the following: depth = k3 * tan(pixVal/k2 + k1) where k1 = 1.1863 k2 = 2842.5 k3 = 0.1236 "The k2 value is very sensitive and may require more/better measurements; however, this is a pretty good approximation for the moment." I would like to raise two questions: 1. Having multiple implementations of Kinect ROS nodes is not harmful as we happily share code. However, to ease the end-user's life I think that we should agree on a naming convention for node and topic naming. Here is a first suggestion: node name: "kinect" point cloud frame: "/kinect" point could topic: "/kinect/cloud" (PointCloud + color in "rgb") rgb image topic: "/kinect/image" (Image, rgb) depth (raw in 8bpp) image topic: "/kinect/depth_image" (Image, mono8) accelerometer topic: "/kinect/acc" (Vector3) tilt input: "/kinect/tilt" (Int16) Feel free to discuss it and propose more conventions, for instance for the params/etc. 2. I have branched libfreenect to provide updates more easily to the ROS community, but I do not want to fork it. Hector, your input is warmly welcome on my changes. Currently, libfreenect is not reentrant and does not have clean naming prefixes. The reentrance might require a bit of thinking, but the naming is straightforward; do you agree if I put a heading kinect_ before all public functions? I'm looking forward to hearing your comments, dear kinect hackers. Kind regards, Stéphane [1] https://github.com/adafruit/Kinect [2] https://github.com/ethz-asl/ros-drivers/tree/master/microsoft_kinect/ [3] https://github.com/stephanemagnenat/libfreenect -- Dr Stéphane Magnenat http://stephane.magnenat.net