340 likes | 482 Views
DISAM-UPM. 3D Mapping and OpenRDK. Paloma de la Puente - paloma.delapuente@upm.es http://intelligentcontrol.es/paloma OpenRDK Workshop Rome, March 16 th -19 th 2009. Outline of the presentation. Introduction
E N D
DISAM-UPM 3D Mapping and OpenRDK Paloma de la Puente -paloma.delapuente@upm.es http://intelligentcontrol.es/paloma OpenRDK Workshop Rome, March 16th-19th 2009
Outline of the presentation Introduction 2. 3D Feature Based Mapping2.1. 3D Data Acquisition2.2. Segmentation2.3. Geometric Model2.4. Localization and Mapping Integration within the OpenRDK framework Experiments Conclusions Paloma de la Puente. DISAM-UPM 1
1. Introduction • Modeling environments with 3D feature-based representations is a challenging issue in current mobile robotics • - Safe navigation • - More realistic models • - Increased interpretability • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM
2.1. 3D Data Acquisition • Robotic Platform: robot Pioneer 3AT • Laser scanner SICK LMS200 • Amtec Robotics PowerCube70 pan/tilt unit • Introduction • 3D Feature Based Mapping2.1. 3D Data Acquisition • Integration • Experiments • Conclusions NEMO Paloma de la Puente. DISAM-UPM
2.1. 3D Data Acquisition Data Server Data Processing and mapping algorithms • System configuration: distribution schema Server computer • Introduction • 3D Feature Based Mapping2.1. 3D Data Acquisition • Integration • Experiments • Conclusions 500 kb LMS 200 Serial Port. 422 interface Serial Port. RS232 interface Serial Port. RS232 interface PW70 Client Pioneer 3 AT TCP Streams Paloma de la Puente. DISAM-UPM
2.1. 3D Data Acquisition 2Dscan 12Dscan 2... 2Dscan m tilt = min_angle ... tilt = max_angle • 3D points organized in a matrix structure • Rows: individual 2D scans corresponding to increasing values of the tilt angle • Columns: cardinality of a certain measurement within its 2D scan • Introduction • 3D Feature Based Mapping2.1. 3D Data Acquisition • Integration • Experiments • Conclusions tilt n=181 • Relative transformations to obtain the 3D points’ cartesian coordinates are applied by means of homogeneity matrices Paloma de la Puente. DISAM-UPM 5
2.1. 3D Data Acquisition • Introduction • 3D Feature Based Mapping2.1. 3D Data Acquisition • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 6
2.2. Segmentation • Segmentation undertakes the partition of a 3D point cloud into smaller subsets representing objects of interest • Different approaches • Edge-based segmentation • Region-based algorithms • Scanline-based segmentation • Hybrid solutions • Introduction • 3D Feature Based Mapping2.2. Segmentation • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM
2.2. Segmentation • Edge-based segmentation • Fast • Direct and natural • Requires detection of both jump and crease edges • More noise sensitive • Introduction • 3D Feature Based Mapping2.2. Segmentation • Integration • Experiments • Conclusions Crease edges Jump edges Paloma de la Puente. DISAM-UPM 8
2.2. Segmentation n dj di • Novel edge-based algorithm to solve the segmentation problem by integrating computer vision techniques • Key idea to create the image: the residuals of the planefitting on a point’s neighborhood gives an approximation of the local surface curvature • Introduction • 3D Feature Based Mapping2.2. Segmentation • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 9
2.2. Segmentation Computation of the residual of each point’s neighborhood least squares fitting to a plane Creation of a range image structure with the obtained values Closing x 2+Binary Thresholding Floodfilling algorithm to give different colors to different regions in the image Classification of the points according to the corresponding pixel’s color OpenCV libraries • Introduction • 3D Feature Based Mapping2.2. Segmentation • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 10
2.2. Segmentation • Subdivision of regions • Enhanced robustness • Still very fast • Introduction • 3D Feature Based Mapping2.2. Segmentation • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 11
2.3. Geometric Model • Least Squares Plane Fitting • - Hessian Normal Form • Introduction • 3D Feature Based Mapping2.3. Geometrical Model • Integration • Experiments • Conclusions Eigenvector associated to the smallest eigenvalue Paloma de la Puente. DISAM-UPM 12
2.3. Geometric Model z y x z y x • Representation of the local reference frame attached to a plane • Orientation given by the Euler angles roll (Φ), pitch (θ) and yaw (ψ) • Introduction • 3D Feature Based Mapping2.3. Geometrical Model • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 13
2.3. Geometric Model • Convex-hull based representation to characterize the plane patches • Region filtering • Introduction • 3D Feature Based Mapping2.3. Geometrical Model • Integration • Experiments • Conclusions CGAL libraries Paloma de la Puente. DISAM-UPM 14
2.4. Localization and Mapping • Maximum Probability EKF plane based algorithm • Representationsymmetries • Introduction • 3D Feature Based Mapping2.4. Localization and Mapping • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 15
2.4. Localization and Mapping 6D composition of relative transformations • Prediction stage Robot’s location in the global reference system • Introduction • 3D Feature Based Mapping2.4. Localization and Mapping • Integration • Experiments • Conclusions when operating on flat terrain Jacobian matrices of the composition of relative transformations with respect to the first and second components Paloma de la Puente. DISAM-UPM 16
2.4. Localization and Mapping • Data Association Robot’s location in the global reference system • Introduction • 3D Feature Based Mapping2.4. Localization and Mapping • Integration • Experiments • Conclusions Location of the jth planar patch in the map Location of the ith observed planar patch (relative to the robot’s pose) 6D composition of relative transformations 6D inversion of relative transformations Covariance matrix of the noise of the plane extraction process dM = Mahalanobis distance If the minimum value is small enough the association is accepted Paloma de la Puente. DISAM-UPM 17
2.4. Localization and Mapping • Correction stage • Introduction • 3D Feature Based Mapping2.4. Localization and Mapping • Integration • Experiments • Conclusions Paloma de la Puente. DISAM-UPM 18
2.4. Integration within the OpenRDK framework • Nemo’s USARSim Model UsarBot.Ini [USARBot.NemoP2AT] JointParts=(PartName="ScannerSides",PartClass=class'USARModels.Kurt3DScannerSides',DrawScale3D=(X=1.0,Y=0.4,Z=1.0),bSteeringLocked=true,bSuspensionLocked=true,BrakeTorque=100.0,Parent="",JointClass=class'KCarWheelJoint',ParentPos=(X=0.16,Y=0.0095,Z=-0.16), ParentAxis=(Z=1.0),ParentAxis2=(Y=1.0),SelfPos=(Z=0.0),SelfAxis=(Z=1.0),SelfAxis2=(Y=1.0)) • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions NemoP2AT.uc class NemoP2AT extends SkidSteeredRobot config(USARBot); Paloma de la Puente. DISAM-UPM 19
2.4. Integration within the OpenRDK framework • New classes and data types. Libraries basics • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions geom3d 3dmapping Vector3D Plane Trans3D OpenGL CgalGeometry PlanarSurface Segmentator3D newmat11 FeatureFinder Kalman_Loc Paloma de la Puente. DISAM-UPM 20
2.4. Integration within the OpenRDK framework • New classes and data types. Libraries rdkcoreext • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions sensordata rsensordata laserdata3d rlaserdata3d r3dtypes ... rlaser3dscan rpointcloud3d rlaser3dscanvector Paloma de la Puente. DISAM-UPM 21
2.4. Integration within the OpenRDK framework • 3D data acquisition • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions capturermodule lasertiltingmodule usarsimclientmodule desiredtilt finaltilt finaltilt desiredtilt laserdata3d laserdata3d laserdata3d laserdata3d repository finaltilt laserdata3d laser3dmodule p3atmodule = robot Paloma de la Puente. DISAM-UPM 22
2.4. Integration within the OpenRDK framework • 3D data acquisition • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions capturermodule segmentatormodule fittingmodule pointcloud pointcloud regions features regions repository features gridmap 3dmap 3dmap 3dmappermodule mapperconverter Paloma de la Puente. DISAM-UPM 23
2.5. Experiments • Real environments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM
2.5. Experiments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 25
2.5. Experiments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 26
2.5. Experiments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 27
2.5. Experiments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 28
2.5. Experiments • USARSim simulated environments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 29
2.5. Experiments • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 30
3. Conclusions • Feature extraction in three-dimensional environments. • 3D data acquired by tilting a SICK LMS200 laser scanner. Client-server architecture. Communication with the laser at 500kbps. • Segmentation algorithm based upon the integration of computer vision techniques after computing the residuals of local least squares plane fitting. • Taking advantage of the ordered nature of the data, real-time capabilities are achieved (~ 1s, 70 x 181 points, cluttered environments). • Reinforced robustness when under-segmentation occurs. Still very fast. • Separation of points corresponding to different, not necessarily planar, surfaces. • Convex-hull based representation of the extracted planar patches. • 6D localization and mapping by means of a Maximum Probability EKF based algorithm. • Experiments with both real and simulated data. • RDK modules to gather the 3D data. Processing libraries under construction. • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM
3. Future work • Incorporation of unclassified points to represent cluttered areas and unclear objects • Implementation of the full system within the RDK framework • Integration of the 3D information into a 2D occupancy grid map to be actually used for navigation in the RoboCup Virtual Robots 2009 competition • Interpretability enhancement to be accomplished by adding textures to the maps • Search of more compact models to represent rooms, corridors etc. so that higher level reasoning can be applied to provide topologic and semantic information. Hypothesis and shape restrictions. This will improve the quality and interpretability of the maps. • Introduction • 3D Feature Based Mapping • Integration • Experiments • Conclusions Paloma de la Puente . DISAM-UPM 33
DISAM-UPM 3D Mapping and OpenRDK Paloma de la Puente – paloma.delapuente@upm.es http://intelligentcontrol.es/paloma OpenRDK Workshop Rome, March 16th-19th 2009