[Ros-kinect] NiUserTracker Code

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

[Ros-kinect] NiUserTracker Code

Jean-David BOUCHER
Hi everybody!

I have successfully installed NiUserTracker in order to observe the human skeleton with kinect, but I cannot find the code of the software (I would like to get the skeleton coordinates). Where can I find it? (Maybe it's a trivial question, I'm a newbie in ROS).

Thanks in advance,
JayDee.

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

Re: [Ros-kinect] NiUserTracker Code

Matthieu Herrb
On Tue, Dec 14, 2010 at 11:52:41AM +0100, Jean-David BOUCHER wrote:
> Hi everybody!
>
> I have successfully installed NiUserTracker in order to observe the human
> skeleton with kinect, but I cannot find the code of the software (I would
> like to get the skeleton coordinates). Where can I find it? (Maybe it's a
> trivial question, I'm a newbie in ROS).

the code of the tracker itself is not available. The nite package is a
binary blob.
 
You can find the outside code of the demo's main loop in the
Samples/NiUserTracker/ directory inside the build direcrory  of the
openi node.

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

Re: [Ros-kinect] NiUserTracker Code

Taylor Veltrop
The code you are interested in is in SceneDrawer.cpp.
But when I try to use that code in an ROS stack I get segfaults :(
Please share if you have better results!

On Dec 14, 2010, at 7:55 PM, Matthieu Herrb wrote:

> On Tue, Dec 14, 2010 at 11:52:41AM +0100, Jean-David BOUCHER wrote:
>> Hi everybody!
>>
>> I have successfully installed NiUserTracker in order to observe the  
>> human
>> skeleton with kinect, but I cannot find the code of the software (I  
>> would
>> like to get the skeleton coordinates). Where can I find it? (Maybe  
>> it's a
>> trivial question, I'm a newbie in ROS).
>
> the code of the tracker itself is not available. The nite package is a
> binary blob.
>
> You can find the outside code of the demo's main loop in the
> Samples/NiUserTracker/ directory inside the build direcrory  of the
> openi node.
>
> --
> Matthieu Herrb
> _______________________________________________
> 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
|

Re: [Ros-kinect] NiUserTracker Code

Jean-David BOUCHER
Thanks a lot!
I will take a look and share the code if I obtain something.

2010/12/14 Taylor Veltrop <[hidden email]>
The code you are interested in is in SceneDrawer.cpp.
But when I try to use that code in an ROS stack I get segfaults :(
Please share if you have better results!

On Dec 14, 2010, at 7:55 PM, Matthieu Herrb wrote:

> On Tue, Dec 14, 2010 at 11:52:41AM +0100, Jean-David BOUCHER wrote:
>> Hi everybody!
>>
>> I have successfully installed NiUserTracker in order to observe the
>> human
>> skeleton with kinect, but I cannot find the code of the software (I
>> would
>> like to get the skeleton coordinates). Where can I find it? (Maybe
>> it's a
>> trivial question, I'm a newbie in ROS).
>
> the code of the tracker itself is not available. The nite package is a
> binary blob.
>
> You can find the outside code of the demo's main loop in the
> Samples/NiUserTracker/ directory inside the build direcrory  of the
> openi node.
>
> --
> Matthieu Herrb
> _______________________________________________
> 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



--
Jean-David BOUCHER
+33 4 72 91 34 41
INSERM U846
Integrative Neuroscience & Robotics Group
18, avenue Doyen Lépine
69675 Bron Cedex

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

Re: [Ros-kinect] NiUserTracker Code

Matthieu Herrb
In reply to this post by Taylor Veltrop
On Tue, Dec 14, 2010 at 09:07:45PM +0900, Taylor Veltrop wrote:
> The code you are interested in is in SceneDrawer.cpp.
> But when I try to use that code in an ROS stack I get segfaults :(
> Please share if you have better results!
 
I've run the code compiled using Ros sucessfully on Ubuntu 10.4 32
bits. This code requires an SSE3 capable CPU. Check the flags for you
CPU in /proc/cpuinfo

I've also modified the main code to produce a Genom module for the
user tracker, but this is out of scope for the ROS mailing list.

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

Re: [Ros-kinect] NiUserTracker Code

Taylor Veltrop
Thanks Matthieu for that tip!  I now see that I do not have have sse3...

But I am confused why the NiUserTracker demo in the openni stack works  
fine for me, isn't it using the same nite binary that requires SSE3?  
Any ideas?

Am I SOL with no SSE3?

On Dec 14, 2010, at 10:35 PM, Matthieu Herrb wrote:

> On Tue, Dec 14, 2010 at 09:07:45PM +0900, Taylor Veltrop wrote:
>> The code you are interested in is in SceneDrawer.cpp.
>> But when I try to use that code in an ROS stack I get segfaults :(
>> Please share if you have better results!
>
> I've run the code compiled using Ros sucessfully on Ubuntu 10.4 32
> bits. This code requires an SSE3 capable CPU. Check the flags for you
> CPU in /proc/cpuinfo
>
> I've also modified the main code to produce a Genom module for the
> user tracker, but this is out of scope for the ROS mailing list.
>
> --
> Matthieu Herrb
> _______________________________________________
> 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
|

Re: [Ros-kinect] NiUserTracker Code

Michael Van den Bergh
OK, I finally got the NiUserTracker example running inside my own ROS package.

What I did was use ldd to make sure it was linking the same libraries as the examples inside the openni/bin directory.

It turned out  nimCodecs, nimMockNodes and nimRecorder were being linked for no reason, and this was causing the segmentation faults. What I did was remove " -lnimCodecs -lnimMockNodes -lnimRecorder" from the OpenNI manifest.xml and recompile.

And now it runs without segmentation fault!

best regards,
Michael



On 14 Dec, 2010,at 03:00 PM, Taylor Veltrop <[hidden email]> wrote:

Thanks Matthieu for that tip! I now see that I do not have have sse3...

But I am confused why the NiUserTracker demo in the openni stack works
fine for me, isn't it using the same nite binary that requires SSE3?
Any ideas?

Am I SOL with no SSE3?

On Dec 14, 2010, at 10:35 PM, Matthieu Herrb wrote:

> On Tue, Dec 14, 2010 at 09:07:45PM +0900, Taylor Veltrop wrote:
>> The code you are interested in is in SceneDrawer.cpp.
>> But when I try to use that code in an ROS stack I get segfaults :(
>> Please share if you have better results!
>
> I've run the code compiled using Ros sucessfully on Ubuntu 10.4 32
> bits. This code requires an SSE3 capable CPU. Check the flags for you
> CPU in /proc/cpuinfo
>
> I've also modified the main code to produce a Genom module for the
> user tracker, but this is out of scope for the ROS mailing list.
>
> --
> Matthieu Herrb
> _______________________________________________
> 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

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

Re: [Ros-kinect] NiUserTracker Code

Taylor Veltrop
Thanks a lot for the help!  I've got it working over here now.

I recompiled everything without SSE3, and removed the extra libs from the openni export, but still got segfaults.

The final thing that fixed it for me was to remove the dependency I had put on the ps_engine stack.  The libXnDeviceSensorV2.so in there turned out to be the cause.

On Dec 15, 2010, at 12:51 AM, Michael Van den Bergh wrote:

OK, I finally got the NiUserTracker example running inside my own ROS package.

What I did was use ldd to make sure it was linking the same libraries as the examples inside the openni/bin directory.

It turned out  nimCodecs, nimMockNodes and nimRecorder were being linked for no reason, and this was causing the segmentation faults. What I did was remove " -lnimCodecs -lnimMockNodes -lnimRecorder" from the OpenNI manifest.xml and recompile.

And now it runs without segmentation fault!

best regards,
Michael



On 14 Dec, 2010,at 03:00 PM, Taylor Veltrop <[hidden email]> wrote:

Thanks Matthieu for that tip! I now see that I do not have have sse3...

But I am confused why the NiUserTracker demo in the openni stack works
fine for me, isn't it using the same nite binary that requires SSE3?
Any ideas?

Am I SOL with no SSE3?

On Dec 14, 2010, at 10:35 PM, Matthieu Herrb wrote:

> On Tue, Dec 14, 2010 at 09:07:45PM +0900, Taylor Veltrop wrote:
>> The code you are interested in is in SceneDrawer.cpp.
>> But when I try to use that code in an ROS stack I get segfaults :(
>> Please share if you have better results!
>
> I've run the code compiled using Ros sucessfully on Ubuntu 10.4 32
> bits. This code requires an SSE3 capable CPU. Check the flags for you
> CPU in /proc/cpuinfo
>
> I've also modified the main code to produce a Genom module for the
> user tracker, but this is out of scope for the ROS mailing list.
>
> --
> Matthieu Herrb
> _______________________________________________
> 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
_______________________________________________
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
|

Re: [Ros-kinect] NiUserTracker Code

garratt
In reply to this post by Michael Van den Bergh

my version of this:
https://svn.csail.mit.edu/mit-ros-pkg/branches/sandbox/nifun



On Tue, 2010-12-14 at 15:51 +0000, Michael Van den Bergh wrote:
> It turned out  nimCodecs, nimMockNodes and nimRecorder were being
> linked for no reason, and this was causing the segmentation faults.
> What I did was remove " -lnimCodecs -lnimMockNodes -lnimRecorder" from
> the OpenNI manifest.xml and recompile.
>

I also had this experience.
These are the nite drivers, and idea why they cause things to fail?
debugging is difficult, with all the closed libraries...


I also found that the tracker relies heavily on the assumption of a
motionless camera - You need to move to be tracked, and when the camera
moves (in small amounts) _everything is tracked!  (when you move by a
large amount, the tracking is temporarily disabled)

I made a video of this:
http://www.youtube.com/watch?v=3Z56JV9g6y4

Cheers
Garratt






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

Re: [Ros-kinect] NiUserTracker Code

Ken Conley
On Tue, Dec 14, 2010 at 12:34 PM, garratt <[hidden email]> wrote:
>
> my version of this:
> https://svn.csail.mit.edu/mit-ros-pkg/branches/sandbox/nifun

Thanks for putting this out there for others to use!

> On Tue, 2010-12-14 at 15:51 +0000, Michael Van den Bergh wrote:
>> It turned out  nimCodecs, nimMockNodes and nimRecorder were being
>> linked for no reason, and this was causing the segmentation faults.
>> What I did was remove " -lnimCodecs -lnimMockNodes -lnimRecorder" from
>> the OpenNI manifest.xml and recompile.
>>
>
> I also had this experience.
> These are the nite drivers, and idea why they cause things to fail?
> debugging is difficult, with all the closed libraries...

I've pulled the exports for now.  That will hopefully make it easier
for people to play with nifun.

> I also found that the tracker relies heavily on the assumption of a
> motionless camera - You need to move to be tracked, and when the camera
> moves (in small amounts) _everything is tracked!  (when you move by a
> large amount, the tracking is temporarily disabled)

NITE is designed for a living room scenario -- fixed camera, several
meters away from the user.

If I understand correctly, what will be necessary for robotics is to
replace the scene analyzer component with one that handles a moving
camera.  The scene analyzer is responsible for segmenting the scene,
i.e. the colored users.  The skeleton tracker works off this as input,
so, in theory, all you have to rewrite is the scene analyzer.

> I made a video of this:
> http://www.youtube.com/watch?v=3Z56JV9g6y4

Cool, reposted here:

http://www.ros.org/news/2010/12/kinect-based-person-follower.html

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

Re: [Ros-kinect] NiUserTracker Code

Deepak Viswanathan
This post has NOT been accepted by the mailing list yet.
In reply to this post by garratt
Hi,

I am trying to build a robot follower using Kinect as the primary sensor. Tried out the modified tracker from the robot follower in the MIT kinect_demos. I am still having the segmentation fault error if I move the kinect.
garratt wrote
my version of this:
https://svn.csail.mit.edu/mit-ros-pkg/branches/sandbox/nifun



On Tue, 2010-12-14 at 15:51 +0000, Michael Van den Bergh wrote:
> It turned out  nimCodecs, nimMockNodes and nimRecorder were being
> linked for no reason, and this was causing the segmentation faults.
> What I did was remove " -lnimCodecs -lnimMockNodes -lnimRecorder" from
> the OpenNI manifest.xml and recompile.
>

I also had this experience.
These are the nite drivers, and idea why they cause things to fail?
debugging is difficult, with all the closed libraries...


I also found that the tracker relies heavily on the assumption of a
motionless camera - You need to move to be tracked, and when the camera
moves (in small amounts) _everything is tracked!  (when you move by a
large amount, the tracking is temporarily disabled)

I made a video of this:
http://www.youtube.com/watch?v=3Z56JV9g6y4

Cheers
Garratt






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