Anda di halaman 1dari 4

Flow Chart of Processing Kinects

3-D Depth Data


Source:
Kamarudin, K., Mamduh, S.M., Shakaff, A.Y.M., Saad, S.M., Zakaria, A.,
Abdullah, A.H., Kamarudin, L.M., Method to Convert Kinect's 3D Depth Data
to a 2D Map for Indoor SLAM. in 9th IEEE Colloquium on Signal Processing
and its
Applications
(CSPA 2013). 2013. Kuala Lumpur.
Get 11-bit Raw Data from Kinect

Convert 11-Bit Raw Data to Depth using algorithm (3 algorithms available)


1) Stephane method:
Depth(in m) = 0.1236*tan(Raw_data/2842.5 + 1.1863)
2)ROS method (in m):
Depth(in m) = 1/(Raw_data*(-0.00307)+3.33)
3)Viager method:
Depth(in m)= -0.075/tan(0.0002157*Raw_data - 0.2356)

the most accurate. Unfortunately, Stephane and Viager methods are much slower than ROS method (

Filter Depth data


a. For example, if the range being set is from 0.7 to 4m, the pixels which are out of range will be repla
**The implementation of this step has also successfully removed the shadow problem.

Find Real World 3D Coordinates --> (X_Real, Y_Real, Depth)


There are 3 algorithms to convert from (X_Pixel, Y_Pixel, Depth) to (X_Real, Y_Real, Depth)
1) SDK Method
X_Real = (X_Pixel WIDTH/2) * (320/WIDTH) *0.003501*Depth
Y_Real = (Y_Pixel HEIGHT/2) * (240/HEIGHT)*0.003501*Depth
Where: WIDTH = 640, HEIGHT = 320
2) Viager Method
X_Real = Depth* (X_Pixel 319.5) * 0.0017
Y_Real = Depth*(Y_Pixel 239.5) * 0.0017
3) Shiffman Method

X_Real = Depth * (cx_d - X_Pixel) / fx_d


Y_Real = Depth * (cy_d Y_Pixel) / fy_d
_d = 339.307809753, fx_d = 594.2143421192,
cy_d = 242.7391376175, fy_d = 59
**I found that SDK Method gives the most accurate and stable data

Filter the Real 3-D Coordinates in X and Y directions.


range for Y is (-1 to 0.5m), the pixels located below 1m and above 0.5m is invalid. They will be replace
1m) so that the robot only sees obstacles that it cant go through. This implementation solves the pro

hat is out of range of the robots height. So, data that correspond to a point that is above or lower than the heigh

Find Obstacle Locations


mn and store the X_Real and Depth value. (Y_Real is no more important as the nearest one in the colu
his solution may capture certain noise as obstacle location, it is preferred since the processing time is

Send Obstacle Locations to Base (PC/Notebook)


he obstacle locations are obtained, the data is transferred to PC/Notebook through router using TCP/IP

Anda mungkin juga menyukai