Quantcast

[Ros-kinect] can't get depth data using openni (but freenect works?)

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
Can't get any depth data from my new kinect via openni - and I have no idea what to try next to debug further.

I *can* get the expected pointcloud via kinect_camera (using freenect), so I'm pretty sure my spliced USB+power cable and kinect are working just fine.
I get rgb images with openni_camera (using openni) and IR too with openni_camera_unstable, but /camera/depth/{image,points,<anything>} just never delivers any data.
The openni NiViewer sample program also shows good rgb but blank depth views (or a seriously garbled depth image on some views).

I know this problem is almost certainly at the openni level, but I figure this mailing list is my best hope for suggestions.  I've tried several different versions of the openni/ps-engine libraries (both built from source and binaries) with zero change.  Any idea what I can do to debug this further?


Host: amd64 Debian wheezy (testing)
Up to date ros Diamondback stack built from source.
Most recently tried using the openni-dev 1.1.0.41~natty, ps-engine 5.0.1.32~natty packages built by ros.org.
I think it's one of these newer kinect slim devices (used to have a single connector), but I'm not clear on the hardware variations.

 - Gus
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Suat Gedikli
Hi,

why NiViewer shows bad results is weird. But for ROS or PCL you need a patched version of openni/ps-engine. You can find the patched version e.g. at pointclouds.org in the Downloads area, or via apt-get if you have added the ros sources in your /etc/apt/sources .

Cheers,
Suat 

On Tue, Jun 28, 2011 at 10:20 PM, Angus Lees <[hidden email]> wrote:
Can't get any depth data from my new kinect via openni - and I have no idea what to try next to debug further.

I *can* get the expected pointcloud via kinect_camera (using freenect), so I'm pretty sure my spliced USB+power cable and kinect are working just fine.
I get rgb images with openni_camera (using openni) and IR too with openni_camera_unstable, but /camera/depth/{image,points,<anything>} just never delivers any data.
The openni NiViewer sample program also shows good rgb but blank depth views (or a seriously garbled depth image on some views).

I know this problem is almost certainly at the openni level, but I figure this mailing list is my best hope for suggestions.  I've tried several different versions of the openni/ps-engine libraries (both built from source and binaries) with zero change.  Any idea what I can do to debug this further?


Host: amd64 Debian wheezy (testing)
Up to date ros Diamondback stack built from source.
Most recently tried using the openni-dev 1.1.0.41~natty, ps-engine 5.0.1.32~natty packages built by ros.org.
I think it's one of these newer kinect slim devices (used to have a single connector), but I'm not clear on the hardware variations.

 - Gus
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Suat
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
On Wed, Jun 29, 2011 at 10:48 PM, Suat Gedikli <[hidden email]> wrote:
why NiViewer shows bad results is weird. But for ROS or PCL you need a patched version of openni/ps-engine. You can find the patched version e.g. at pointclouds.org in the Downloads area, or via apt-get if you have added the ros sources in your /etc/apt/sources .

Thanks.

Unfortunately none of the prebuilt Ubuntu versions work as-is on my Debian testing system, since they were built against libvtk5.4 and Debian seems to have moved on to libvtk5.6.

I built from the source in svn/trunk/3rdparty/openni, and I see this refers to a specific openni revision and a prebuilt nite release (1.3.0, which doesn't exist anymore btw - I ignored this since I don't care about nite just yet).
I then rebuilt ros openni_camera against this openni-dev+ps-engine, and ... no change.  Still the same rgb but no depth.

Which particular versions/patches are important?  If I've just used the correct version, got any ideas of what to try next?

 - Gus

On Tue, Jun 28, 2011 at 10:20 PM, Angus Lees <[hidden email]> wrote:
Can't get any depth data from my new kinect via openni - and I have no idea what to try next to debug further.

I *can* get the expected pointcloud via kinect_camera (using freenect), so I'm pretty sure my spliced USB+power cable and kinect are working just fine.
I get rgb images with openni_camera (using openni) and IR too with openni_camera_unstable, but /camera/depth/{image,points,<anything>} just never delivers any data.
The openni NiViewer sample program also shows good rgb but blank depth views (or a seriously garbled depth image on some views).

I know this problem is almost certainly at the openni level, but I figure this mailing list is my best hope for suggestions.  I've tried several different versions of the openni/ps-engine libraries (both built from source and binaries) with zero change.  Any idea what I can do to debug this further?


Host: amd64 Debian wheezy (testing)
Up to date ros Diamondback stack built from source.
Most recently tried using the openni-dev 1.1.0.41~natty, ps-engine 5.0.1.32~natty packages built by ros.org.
I think it's one of these newer kinect slim devices (used to have a single connector), but I'm not clear on the hardware variations.

 - Gus
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect




--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
On Thu, Jun 30, 2011 at 10:29 PM, Angus Lees <[hidden email]> wrote:
On Wed, Jun 29, 2011 at 10:48 PM, Suat Gedikli <[hidden email]> wrote:
why NiViewer shows bad results is weird. But for ROS or PCL you need a patched version of openni/ps-engine. You can find the patched version e.g. at pointclouds.org in the Downloads area, or via apt-get if you have added the ros sources in your /etc/apt/sources .

Thanks.

Unfortunately none of the prebuilt Ubuntu versions work as-is on my Debian testing system, since they were built against libvtk5.4 and Debian seems to have moved on to libvtk5.6.

(Not entirely true.  I tried the prebuilt openni-dev_1.1.0.41-5+oneiric1_amd64.deb and ps-engine_5.0.1.32-6+oneiric1_amd64.deb direct from the ppa listed on pointclouds.org/downloads (they have a small enough number of dependencies to install fine on Debian).
Also no change.)

I built from the source in svn/trunk/3rdparty/openni, and I see this refers to a specific openni revision and a prebuilt nite release (1.3.0, which doesn't exist anymore btw - I ignored this since I don't care about nite just yet).
I then rebuilt ros openni_camera against this openni-dev+ps-engine, and ... no change.  Still the same rgb but no depth.

Which particular versions/patches are important?  If I've just used the correct version, got any ideas of what to try next?

 - Gus

On Tue, Jun 28, 2011 at 10:20 PM, Angus Lees <[hidden email]> wrote:
Can't get any depth data from my new kinect via openni - and I have no idea what to try next to debug further.

I *can* get the expected pointcloud via kinect_camera (using freenect), so I'm pretty sure my spliced USB+power cable and kinect are working just fine.
I get rgb images with openni_camera (using openni) and IR too with openni_camera_unstable, but /camera/depth/{image,points,<anything>} just never delivers any data.
The openni NiViewer sample program also shows good rgb but blank depth views (or a seriously garbled depth image on some views).

I know this problem is almost certainly at the openni level, but I figure this mailing list is my best hope for suggestions.  I've tried several different versions of the openni/ps-engine libraries (both built from source and binaries) with zero change.  Any idea what I can do to debug this further?


Host: amd64 Debian wheezy (testing)
Up to date ros Diamondback stack built from source.
Most recently tried using the openni-dev 1.1.0.41~natty, ps-engine 5.0.1.32~natty packages built by ros.org.
I think it's one of these newer kinect slim devices (used to have a single connector), but I'm not clear on the hardware variations.

 - Gus
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect




--
 - Gus



--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Patrick Mihelich
You should also try asking on the OpenNI-dev mailing list: http://groups.google.com/group/openni-dev. Maybe someone else has seen this problem there.

-Patrick

On Thu, Jun 30, 2011 at 5:45 AM, Angus Lees <[hidden email]> wrote:
On Thu, Jun 30, 2011 at 10:29 PM, Angus Lees <[hidden email]> wrote:
On Wed, Jun 29, 2011 at 10:48 PM, Suat Gedikli <[hidden email]> wrote:
why NiViewer shows bad results is weird. But for ROS or PCL you need a patched version of openni/ps-engine. You can find the patched version e.g. at pointclouds.org in the Downloads area, or via apt-get if you have added the ros sources in your /etc/apt/sources .

Thanks.

Unfortunately none of the prebuilt Ubuntu versions work as-is on my Debian testing system, since they were built against libvtk5.4 and Debian seems to have moved on to libvtk5.6.

(Not entirely true.  I tried the prebuilt openni-dev_1.1.0.41-5+oneiric1_amd64.deb and ps-engine_5.0.1.32-6+oneiric1_amd64.deb direct from the ppa listed on pointclouds.org/downloads (they have a small enough number of dependencies to install fine on Debian).
Also no change.)

I built from the source in svn/trunk/3rdparty/openni, and I see this refers to a specific openni revision and a prebuilt nite release (1.3.0, which doesn't exist anymore btw - I ignored this since I don't care about nite just yet).
I then rebuilt ros openni_camera against this openni-dev+ps-engine, and ... no change.  Still the same rgb but no depth.

Which particular versions/patches are important?  If I've just used the correct version, got any ideas of what to try next?

 - Gus

On Tue, Jun 28, 2011 at 10:20 PM, Angus Lees <[hidden email]> wrote:
Can't get any depth data from my new kinect via openni - and I have no idea what to try next to debug further.

I *can* get the expected pointcloud via kinect_camera (using freenect), so I'm pretty sure my spliced USB+power cable and kinect are working just fine.
I get rgb images with openni_camera (using openni) and IR too with openni_camera_unstable, but /camera/depth/{image,points,<anything>} just never delivers any data.
The openni NiViewer sample program also shows good rgb but blank depth views (or a seriously garbled depth image on some views).

I know this problem is almost certainly at the openni level, but I figure this mailing list is my best hope for suggestions.  I've tried several different versions of the openni/ps-engine libraries (both built from source and binaries) with zero change.  Any idea what I can do to debug this further?


Host: amd64 Debian wheezy (testing)
Up to date ros Diamondback stack built from source.
Most recently tried using the openni-dev 1.1.0.41~natty, ps-engine 5.0.1.32~natty packages built by ros.org.
I think it's one of these newer kinect slim devices (used to have a single connector), but I'm not clear on the hardware variations.

 - Gus
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect




--
 - Gus



--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Jochen Sprickerhof
In reply to this post by Angus Lees
Hi Angus,

I guess that you have libc6 version 2.13 installed where they changed
the memcpy implementation (you can read more about it in
/usr/share/doc/libc6/NEWS.Debian.gz). To solve it, you can either try
the wrapper mentioned in the file (haven't tried) or change all memcpy
to memmove (had no time to find the one in charge). Btw. You should use
the source packages in the PPA, as the one under
svn/trunk/3rdparty/openni is old and could lead to a broken driver.

Cheers,

Jochen

P.S.: let me know if you need more detailed instructions.
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
On Fri, Jul 1, 2011 at 1:00 PM, Jochen Sprickerhof <[hidden email]> wrote:
I guess that you have libc6 version 2.13 installed where they changed
the memcpy implementation (you can read more about it in
/usr/share/doc/libc6/NEWS.Debian.gz). To solve it, you can either try
the wrapper mentioned in the file (haven't tried) or change all memcpy
to memmove (had no time to find the one in charge). Btw. You should use
the source packages in the PPA, as the one under
svn/trunk/3rdparty/openni is old and could lead to a broken driver.

Win!  That was exactly what the problem was.  Using the LD_PRELOAD wrapper fixed it  immediately.

Well, that's a week I'm not going to get back.   Do you already have some memmove patches in progress?  I'm happy to have a bash at it if it will help the next person avoid the same issue.

--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
On Fri, Jul 1, 2011 at 9:28 PM, Angus Lees <[hidden email]> wrote:
On Fri, Jul 1, 2011 at 1:00 PM, Jochen Sprickerhof <[hidden email]> wrote:
I guess that you have libc6 version 2.13 installed where they changed
the memcpy implementation (you can read more about it in
/usr/share/doc/libc6/NEWS.Debian.gz). To solve it, you can either try
the wrapper mentioned in the file (haven't tried) or change all memcpy
to memmove (had no time to find the one in charge). Btw. You should use
the source packages in the PPA, as the one under
svn/trunk/3rdparty/openni is old and could lead to a broken driver.

Win!  That was exactly what the problem was.  Using the LD_PRELOAD wrapper fixed it  immediately.

Well, that's a week I'm not going to get back.   Do you already have some memmove patches in progress?  I'm happy to have a bash at it if it will help the next person avoid the same issue.

I can't prove this is the only such case, but the attached one line patch is sufficient to fix my problems.

Where should I send it to ensure it makes it into the next openni release? (openni.org doesn't give an obvious bug tracker/send-patches-here process)

--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect

patch (1018 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

papadakis
I think that following the instructions here would help you get the executables that you need:

http://www.ros.org/wiki/ni

You might have a problem though if your ubuntu version is less than 10.10..

Panagiotis
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
Thanks, I tried the various versions available but it turned out it was an openni bug as identified by Jochen.  I posted the one-line fix earlier in the thread.

 - Gus

On Tue, Jul 12, 2011 at 9:44 PM, papadakis <[hidden email]> wrote:
I think that following the instructions here would help you get the
executables that you need:

http://www.ros.org/wiki/ni

You might have a problem though if your ubuntu version is less than 10.10..

Panagiotis

--
View this message in context: http://kinect-with-ros.976505.n3.nabble.com/Ros-kinect-can-t-get-depth-data-using-openni-but-freenect-works-tp3120403p3162158.html
Sent from the Kinect with ROS mailing list archive at Nabble.com.
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect



--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Ryan Hunter
In reply to this post by Angus Lees
Yeah I've had issues with openni on older machines due to instruction set incompatibilities.

Ryan

-- Sent from my Palm Pre


From: Angus Lees
Sent: Saturday, July 16, 2011 7:39 AM
To: [hidden email]
Subject: Re: [Ros-kinect] can't get depth data using openni (but freenect works?)


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Angus Lees
It turned out that wasn't the problem in my case either since I also tried building from source.  It was a bug in openni, exposed by a recent change to libc on amd64.  The fix is in my post earlier in the thread.

 - Gus

On Sun, Jul 17, 2011 at 12:01 PM, Ryan Hunter <[hidden email]> wrote:
Yeah I've had issues with openni on older machines due to instruction set incompatibilities.

Ryan

-- Sent from my Palm Pre


From: Angus Lees
Sent: Saturday, July 16, 2011 7:39 AM
To: [hidden email]
Subject: Re: [Ros-kinect] can't get depth data using openni (but freenect works?)


_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect




--
 - Gus

_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

Jochen Sprickerhof
In reply to this post by Ryan Hunter
Hi Ryan,

* Ryan Hunter <[hidden email]> [2011-07-16 22:01]:
> Yeah I've had issues with openni on older machines due to instruction set incompatibilities.

you are right, we are using optimizations which are incompatible with
older machines, I will try to change this soon.

> Ryan

Cheers,

Jochen
_______________________________________________
Ros-kinect mailing list
[hidden email]
https://code.ros.org/mailman/listinfo/ros-kinect
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [Ros-kinect] can't get depth data using openni (but freenect works?)

ushadow
In reply to this post by Angus Lees
Angus Lees wrote
I can't prove this is the only such case, but the attached one line patch is
sufficient to fix my problems.

Where should I send it to ensure it makes it into the next openni release? (
openni.org doesn't give an obvious bug tracker/send-patches-here process)
It works for me. Thank you! I encountered the same problem (no depth value) after upgrading to Ubuntu 11.10. I'm using OpenNI on it's own, not with ROS. Fixing that one line from memcpy to memmove in your patch solves the problem.

Maybe you can report the issue on GitHub: https://github.com/OpenNI/OpenNI and create a pull requrest.

Thanks,
Ying
Loading...