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

Huan Liu liuhuanjim013 at gmail.com
Tue Nov 16 16:53:15 UTC 2010


Sorry for the spam... Great job guys!

On Tue, Nov 16, 2010 at 11:52 AM, Huan Liu <liuhuanjim013 at gmail.com> wrote:
> you got a kinect?!
>
> On Tue, Nov 16, 2010 at 11:49 AM, garratt <garrattgallagher at gmail.com> wrote:
>> 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
>>>
>>
>>
>> _______________________________________________
>> ros-users mailing list
>> ros-users at code.ros.org
>> https://code.ros.org/mailman/listinfo/ros-users
>>
>



More information about the ros-users mailing list