Calculating velocities of point clouds

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

Calculating velocities of point clouds

leidenschaft
Hi,

For my masters project, I am currently building a chair-sized robot that can navigate through a crowded environment such as a hallway. In order to do this, I need to track the velocities of the surrounding, which can be people, objects, etc. The aim is not to get a precise velocity per object, but just the "flow" of velocities of the environment around the robot.

I currently have Kinect mounted on the robot, but has been unsuccessful in terms of getting the velocity information. I tried clustering point cloud and track each cluster, and then subtracting the position of clusters at time t and t-1, but the problem with this method is that Kinect receives a point cloud at 30Hz and each clustering takes around 2 seconds (I am using Euclidean clustering method in the tutorial). Second problem is that there is no way to do correspondence between clusters at time t and t-1, meaning that it is impossible to tell which cluster at time t-1 will become which cluster in time t. If anyone could help me with these two issues that would be great. To resolve the taking-too-long-per point cloud issue, I am thinking about clustering key points only, but this does not seem very promising as the clusters would become meaningless.
 
Another thing I tried was "Spatial change detection on unorganized point cloud data" tutorial. I am not an expert on octree and the algorithm, but to my understanding it is trying to compare the octree structures of two different point clouds, and basically report a "spatial change" when there is a difference. If so, is there a way to track down the difference in positions, instead of a boolean type information where it reports "motion" or "no motion"? I saw a youtube demo on this, and it seems like it is doing it in realtime, so this looks a bit more promising than the clustering way which takes too long.

Please let me know if there is any other way to accomplish this, or answers to issues that I stated above.
I would appreciate any help.
Reply | Threaded
Open this post in threaded view
|

Re: Calculating velocities of point clouds

Radu B Rusu
Administrator
There's much faster clustering methods in trunk, but they are not documented/unit tested yet. If you feel lucky, you can
always try to use them. :) Any feedback would be highly appreciated. Target release date for them is 1.6.

Cheers,
Radu.

On 03/30/2012 06:55 AM, leidenschaft wrote:

> Hi,
>
> For my masters project, I am currently building a chair-sized robot that can
> navigate through a crowded environment such as a hallway. In order to do
> this, I need to track the velocities of the surrounding, which can be
> people, objects, etc. The aim is not to get a precise velocity per object,
> but just the "flow" of velocities of the environment around the robot.
>
> I currently have Kinect mounted on the robot, but has been unsuccessful in
> terms of getting the velocity information. I tried clustering point cloud
> and track each cluster, and then subtracting the position of clusters at
> time t and t-1, but the problem with this method is that Kinect receives a
> point cloud at 30Hz and each clustering takes around 2 seconds (I am using
> Euclidean clustering method in the tutorial). Second problem is that there
> is no way to do correspondence between clusters at time t and t-1, meaning
> that it is impossible to tell which cluster at time t-1 will become which
> cluster in time t. If anyone could help me with these two issues that would
> be great. To resolve the taking-too-long-per point cloud issue, I am
> thinking about clustering key points only, but this does not seem very
> promising as the clusters would become meaningless.
>  
> Another thing I tried was "Spatial change detection on unorganized point
> cloud data" tutorial. I am not an expert on octree and the algorithm, but to
> my understanding it is trying to compare the octree structures of two
> different point clouds, and basically report a "spatial change" when there
> is a difference. If so, is there a way to track down the difference in
> positions, instead of a boolean type information where it reports "motion"
> or "no motion"? I saw a youtube demo on this, and it seems like it is doing
> it in realtime, so this looks a bit more promising than the clustering way
> which takes too long.
>
> Please let me know if there is any other way to accomplish this, or answers
> to issues that I stated above.
> I would appreciate any help.
>
> --
> View this message in context: http://www.pcl-users.org/Calculating-velocities-of-point-clouds-tp3870858p3870858.html
> Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Calculating velocities of point clouds

leidenschaft
HI Radu,

Thank you for your reply. Could you tell me the locations in the trunk where I can find those methods?
These are all I see in the /segmentation/src directory:
extract_clusters.cpp
extract_polygonal_prism_data.cpp
sac_segmentation.cpp
segment_differences.cpp
Reply | Threaded
Open this post in threaded view
|

Re: Calculating velocities of point clouds

Alex Trevor
Hi,

There should be more files there if you're using a recent revision of trunk.  Make sure you're up-to-date, and then take a look at apps/src/organized_segmentation_demo.cpp .  This will demo some of the new segmentation tools which should be much faster, but require organized data.  I haven't had a chance to write a tutorial document yet, but there is some doxygen for the OrganizedConnectedComponent class, which should help you get started.  Let us know how it works out -- feedback is welcome!

Cheers,
Alex

On Fri, Mar 30, 2012 at 9:28 AM, leidenschaft <[hidden email]> wrote:
HI Radu,

Thank you for your reply. Could you tell me the locations in the trunk where
I can find those methods?
These are all I see in the /segmentation/src directory:
extract_clusters.cpp
extract_polygonal_prism_data.cpp
sac_segmentation.cpp
segment_differences.cpp

--
View this message in context: http://www.pcl-users.org/Calculating-velocities-of-point-clouds-tp3870858p3871327.html
Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Calculating velocities of point clouds

leidenschaft
Hi,

I am revision 5444(just did svn up), but I do not see the organized_segmentation_demo.cpp in the apps/src folder. Could you kindly check again please?

Thank you in advance.
Reply | Threaded
Open this post in threaded view
|

Re: Calculating velocities of point clouds

Alex Trevor
You can see that the file is present in the repo using the online repository browser:

--Alex

On Fri, Mar 30, 2012 at 1:36 PM, leidenschaft <[hidden email]> wrote:
Hi,

I am revision 5444(just did svn up), but I do not see the
organized_segmentation_demo.cpp in the apps/src folder. Could you kindly
check again please?

Thank you in advance.

--
View this message in context: http://www.pcl-users.org/Calculating-velocities-of-point-clouds-tp3870858p3871982.html
Sent from the Point Cloud Library (PCL) Users mailing list archive at Nabble.com.
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Calculating velocities of point clouds

lanyouzibetty
This post has NOT been accepted by the mailing list yet.
In reply to this post by leidenschaft
hello,I saw your question about " Calculating velocities of point clouds", recently,I meet the same problem, can you tell me how you solve the problem?
I would appreciate your help, thx.