[ros-users] accelerometer and tilt support + depth function

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions, hector
Subject: [ros-users] accelerometer and tilt support + depth function
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