Has anyone gotten the accelerometer to work for the Kinect? Stéphane, I have your code (referenced below) with the accelerometer support, but libusb_control_transfer segfaults whenever I run acc_get. I noticed that Oliver Kreylos's code calls read control with the following parameters: dataSize=readControl(0x40,0x32,0x0000,0x0000,data,sizeof(data)); instead of: libusb_control_transfer(kinect_acc_tilt_dev, 0xC0, 0x32, 0x0, 0x0, buf, 8, 0) but everything still segfaults when I tried to match those parameters. If anyone has had success with this, I would love to hear about it! thanks Garratt On Mon, 2010-11-15 at 18:10 +0100, Stéphane Magnenat wrote: > 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 >