Apologies for the broken github link, the correct one is:<div><a href="https://github.com/atrevor/kinect_node.git">https://github.com/atrevor/kinect_node.git</a></div><div><br><div class="gmail_quote">On Fri, Nov 12, 2010 at 2:20 AM, Alex Trevor <span dir="ltr"><<a href="mailto:atrevor@gmail.com">atrevor@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;background-color:transparent;font-family:'Times New Roman';font-size:medium">

<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Wow, looks like quite a few people are working on kinect nodes; we should probably combine efforts!  We’ve also been working on a kinect node for ROS based on Hector Martin’s driver, available at:</span><br>

<a href="https://docs.google.com/document/d/1R0OpKD-3StR78uk1-jCrcoZ9U9EX0eT3XSantF6jMg8/edit?hl=en&pli=1" target="_blank"><span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 153);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">git://github.com/atrevor/kinect_node.git</span></a><span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><br>

<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><br>
<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Short youtube rviz screencap:</span><br>

<a href="http://www.youtube.com/watch?v=IxRIL1izvDs" target="_blank"><span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 153);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://www.youtube.com/watch?v=IxRIL1izvDs</span></a><span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><br>

<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><br>
<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">We assume that you have libfreenect from Hector Martin’s repo in the same parent directory (../libfreenect w.r.t. kinect_node):</span><br>

<a href="https://docs.google.com/document/d/1R0OpKD-3StR78uk1-jCrcoZ9U9EX0eT3XSantF6jMg8/edit?hl=en&pli=1" target="_blank"><span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 153);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">git://git.marcansoft.com/libfreenect.git</span></a><span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><br>

<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span><br>
<span style="font-size:11pt;font-family:Arial;color:rgb(0, 0, 0);background-color:transparent;font-weight:normal;font-style:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">So far, it publishes the camera image, as well as a PointCloud2 of PointXYZRGBs.  The RGB camera’s image is projected onto the range data, resulting in a color point cloud.  We calibrated the RGB camera, but haven’t yet calibrated the range camera -- since we can’t just use our normal checkerboard calibration target for this :) .  As Ivan and Stefan noted, the ranges we get are a little odd -- they definitely don't seem to be linear.  We calibrated it so the range is approximately correct at 2m for our sensor, but I agree that we really need to know how these work to make much progress.  We'll probably do some testing shortly with targets at various ranges to attempt to address this.  Any input would be greatly appreciated!</span></div>
<div><div></div><div class="h5">
<br><div class="gmail_quote">On Thu, Nov 11, 2010 at 5:41 PM, Stefan Kohlbrecher <span dir="ltr"><<a href="mailto:stefan.kohlbrecher@googlemail.com" target="_blank">stefan.kohlbrecher@googlemail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>> 1. Is the depth image really 640x480, or is that oversampled? The<br>
> wikipedia page states the depth sensor has an resolution of 320×240<br>
> pixels. If it's oversampled, where does that take place - in the<br>
> driver, or the device itself? I prefer not inflating the point cloud<br>
> with oversampled data<br>
</div>I think the device itself reports the data with this size. If you look<br>
at the picture I posted in the second post you also see that there are<br>
for example one pixel sized holes in the 640x480 sized depth image,<br>
which should not exist if some very simple interpolation scheme would<br>
be used to blow up a 320x240 image to 640x480.<br>
>From what I read beforehand, the original Project Natal was supposed<br>
to be 640x480, then Microsoft reportedly "downgraded" to 320x240 for<br>
cost reasons (see<br>
<a href="http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=kinect+downgraded+to+320x240" target="_blank">http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=kinect+downgraded+to+320x240</a>).<br>


Now the sensor appears to deliver 640x480 again, which might or might<br>
not be just blown up 320x240on the onboard ASIC.<br>
<div><br>
> 2. What is the relationship between the values in the depth_frame and<br>
> the distance in meters? It doesn't appear to be linear<br>
</div>That´s really the interesting question, along with others like how to<br>
calibrate visual and depth image to get real RGB-D data. With the<br>
current state of affairs one can generate some impressive looking<br>
images, but to leverage the full potential of the sensor these<br>
calibration questions really have to be solved.<br>
<div><br>
> 3. I read somewhere the device's range can be set dynamically. I'm<br>
> guessing one of the inits in inits.c could be responsible for the<br>
> range.<br>
</div>That´s more stuff that will probably be discovered in the coming<br>
days/weeks. Still very impressive how good the sensor works already<br>
right out of the box.<br>
<div><div></div><div><br>
> _______________________________________________<br>
> ros-users mailing list<br>
> <a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
><br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</div></div></blockquote></div><br>
</div></div></blockquote></div><br></div>