From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

kl3m3n's blog

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 

Sequential (animated) clouds registration based on ICP using PCL and Qt

Klemen
Active Participant

Hello,

this post shows an example of sequential/animated ICP registration of two point clouds acquired from the Kinect device. This means that every iteration of the ICP algorithm can be observed on the 3D display, until  the max iteration  criteria is satisfied and the registration stops. The max iterations to perform can be modified using the control on the GUI (Figure 1 and Figure 2).  The left 3D indicator on the GUI is used to show Kinect stream, i.e. acquired XYZRGBA point cloud. Any acquired cloud can be added to the right 3D indicator by clicking on the "Add cloud" control. Only two clouds can be added for registration. The button "Remove clouds" removes the clouds from the right 3D indicator. After two clouds are selected, the "Registration" button runs the ICP algorithm one iteration per program loop. This makes it possible to observe the animated registration of two point clouds.

Figure 1 below shows the situation prior to the registration and Figure 2 situation after the registration.

Registration.PNG

Figure 1. Prior to the ICP registration (hand example).

Registration1.PNG

Figure 2. After the ICP registration (hand example).

The results of the registration are shown in the right-bottom indicators of the GUI: the homogeneous transformation matrix, the derived euler angles and translation parameters. Clicking on the "Remove clouds" also clears the indicators.

The video below shows the entire process of registration.

Video 1. Sequential/animated ICP registration of two point clouds.

Video link: https://www.youtube.com/watch?v=k279CssxJBQ&feature=youtu.be


The source code is in the attachment and is provided as is. There is still room for improvement, if needed.

Best regards,

K


https://decibel.ni.com/content/blogs/kl3m3n



"Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."