Re: [ros-users] accelerometer and tilt support + depth funct…

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