====== Apartment ====== ^**Contact**: | [[http://asrl.utias.utoronto.ca/~pomerlef/|Francois Pomerleau]] | ^ | f.pomerleau [at] gmail [dot] com | ^**Date**: | Dec 3, 2011 | ^**Place**: | Kilchberg, Zurich, Switzerland | ^**Situation**: | Indoors | ^**Environments**: | Structured | ^**Dynamics**: | Furnitures moved in between scans | ^**Scanner path**: | On a 2D plane with some small loops | ^**Re-localization**: | 2 | ^**Number of scan**: | 45 | ^**Avg. points/scan**: | 365 000 | ^**Path bounding box**: | 5 x 5 x 0.06 m | ^**Scene bounding box**: | 17 x 10 x 3 m | This dataset was recorded with the intention to test registration algorithm robustness against outliers created by dynamic elements. The dynamic elements were moved in between scans (as opposed to //during// a scan). The complexity of the environment is relatively low given the high level of structure (walls, celling and floor). The opposite of a high structure level would be fond in a low-constrained environment, such as in a [[laserregistration:mountain_plain:home|mountain plain]]. Multiple reflective surfaces can be found in this data set. Most of them are highlighted in the section [[#Environment Topology]]. Here is the list of elements moved during the recording (see [[.:#Contextual Photographs| Contextual Photographs]]): * A big blue box is placed in front of the entrance door * A person sat on the couch of the living room * A small red box is place in the hallway * A chair is moved from under a table to the front of a window in the office * A small red box is placed against a wall in the office * A shirt is put on the floor in the bedroom * A drawer is opened in the bedroom * The bath curtain is closed in the bathroom ===== Citation ===== F. Pomerleau, M. Liu, F. Colas, and R. Siegwart, //Challenging data sets for point cloud registration algorithms//, **International Journal of Robotic Research**, vol. 31, no. 14, pp. 1705–1711, Dec. 2012. [[bibtex:challenging_datasets|bibtex]], [[http://intl-ijr.sagepub.com/content/31/14/1705|Publisher Link]] ---- ===== Environment Topology ===== Manually drew map. The photo poses number correspond to the ones used in [[laserregistration:apartment:home#contextual_photographs | Contextual Photographs]]. {{ :laserregistration:apartment:topo_apartment_notes.png?650 |}} ===== Contextual Photographs ===== You can use right and left arrows keys to navigate once you click on a picture. Number in the photo titles correspond the those used in the [[.:#environment_topology | Environment Topology]] section (click on the photo to see the numbers). {{gallery>:laserregistration:apartment:photo?&lightbox}} ===== Screenshots ===== ==== Point Cloud Views ==== Top view of the apartment with the celling removed: {{:laserregistration:apartment:topview.png?650|}} Scan sequence: file=/datasets/data/media/laserregistration/apartment/3D_map.flv&image=/datasets/data/media/laserregistration/apartment/video_preview.png Example of an element added - a person on the couch (point cloud manually extracted): {{:laserregistration:apartment:couch.png?300|}} {{:laserregistration:apartment:couch_with_person.png?300|}} Example of an element moved - a drawer in and out (point cloud manually extracted): {{:laserregistration:apartment:drawerin.png?300|}} {{:laserregistration:apartment:drawerout.png?300|}} ==== Scanner Poses ==== {{:laserregistration:apartment:poseid_distance.png?650|}} Overlap between each scan. The graph can be read as the percentage of points in Scan A that are also in Scan B. The overlap matrix can be downloaded in the section [[.:#point_clouds_in_global_frame| Download Point Clouds in Global Frame]] as a csv file. {{ :laserregistration:apartment:overlap_apartment.png?400 |}} ==== Scanner Orientation ==== {{:laserregistration:apartment:orientations.png?650|}} ==== Magnetic North ==== {{:laserregistration:apartment:compass.png?650|}} ==== Gravity ==== {{:laserregistration:apartment:gravity.png?650|}} ==== Number of Detected Satellites ==== {{:laserregistration:apartment:nbsats.png?650|}} ===== Downloads ===== All file contents and headers are explained on the page [[hardware:tiltinglaser#file_formats| Tilting Laser - File Formats]]. ==== Point Clouds in Base Frame ==== Point clouds of this section have their origin at the scanner center. 2D scans have been transformed using the axis encoder to produce consistent 3D point clouds. The supporting data (Gravity, Magnetic North and GPS) have been recorded while the scanner was rotating. If you do not wish to compute the statistics for the supporting data, you can go to the section [[.:#Point Clouds in Global Coordinates|Point Clouds in Global Coordinates]] were single measurements have been selected per pose. The "**ground truth**" poses can also be downloaded in the section [[.:#Point Clouds in Global Coordinates| Point Clouds in Global Coordinates]]. All csv files have a header explaining each column and consistent timestamps. **Download all** local files: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_local/local_frame.zip | local_frame.zip]] (362 MB) [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_local/local_frame.tar.gz | local_frame.tar.gz]] (362 MB) - or - Select the specific csv file you want [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_local| here]]. **For Matlab users:** * Example of how to load and plot the point clouds: [[http://robotics.ethz.ch/~asl-datasets/matlabScripts/plotCloudCsv.m| plotCloudCsv.m]] ---- ==== Point Clouds in Global Frame ==== Point clouds of this section have been moved to a global reference frame where the pose of the first 3D scan is the origin. The supporting data (Gravity, Magnetic North and GPS) have been post-processed to have only one reading per 3D scan. All csv files have a header explaining each column and consistent timestamps. **Download all** global files: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/global_frame.zip | global_frame.zip]] (291 MB) [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/global_frame.tar.gz | global_frame.tar.gz]] (291 MB) - or - Select the specific csv file you want [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global | here]] or in the list below: * **"Ground truth"** poses for every point clouds: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/pose_scanner_leica.csv | pose_scanner_leica.csv]] * Overlap matrix: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/overlap_apartment.csv | overlap_apartment.csv]] * Mean of Gravity for every poses: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/xsens_Gravity_mean.csv | xsens_Gravity_mean.csv]] * Mean of Magnetic North for every poses: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/xsens_Compass_mean.csv | xsens_Compass_mean.csv]] * Mean of GPS for every poses: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/csv_global/xsens_Gps_mean.csv | xsens_Gps_mean.csv]] **For Matlab users:** * Example of how to load and plot the point clouds: [[http://robotics.ethz.ch/~asl-datasets/matlabScripts/plotCloudCsv.m| plotCloudCsv.m]] * Example of how to load and plot the path: [[http://robotics.ethz.ch/~asl-datasets/matlabScripts/plotPathCsv.m| plotPathCsv.m]] ---- ==== Visualization Files ==== File type chosen for visualization is VTK legacy in ASCII format. We suggest to use Paraview to view the files because it can be freely downloaded for Windows, Mac and Ubuntu user and it's supported by Kitware. All screenshots of this page were realized using this software. You can download it here: http://www.paraview.org/ **Download all** local files: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/vtk/vtk_global.zip | vtk_global.zip]] (270 MB) [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/vtk/vtk_global.tar.gz | vtk_global.tar.gz]] (270 MB) - or - Select the specific vtk file you want [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/vtk| here]] or in the table below: * Sequence of poses with supporting data attached to them: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/vtk/path.vtk | path.vtk]] (11 KB) * Post-processed global map (scanner removed, lower density of points, shadow points removed): [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/vtk/globalMap.vtk | globalMap.vtk]] (32 MB) ---- ==== Raw Data ==== This type of data can be useful if you want to do some preprocessing on the 2D scans directly. We used ''ROS'' (www.ros.org) as middleware so the raw recordings can be downloaded and playback using ''rosbag''. One rosbag has been recored per 3D scan. The ground truth poses are not available in the ''rosbags''. For more information on how to use this format see: www.ros.org/wiki/rosbag Here is the output of ''rosbag info'' for the first scan. All scans have roughly the same number of messages path: 0-Tiltlaser.bag version: 2.0 duration: 35.5s start: Dec 03 2011 18:13:52.77 (1322932432.77) end: Dec 03 2011 18:14:28.27 (1322932468.27) size: 2.6 MB messages: 8180 compression: none [4/4 chunks] types: geometry_msgs/TwistStamped [98d34b0043a2093cf9d9345ab6eef12e] geometry_msgs/Vector3Stamped [7b324c7325e683bf02a9b14b01090ec7] sensor_msgs/Imu [6a62c6daae103f4ff57a132d6f95cec2] sensor_msgs/LaserScan [90c7ef2dc6895d81024acba2ac42f369] sensor_msgs/NavSatFix [2d3a8cd499b9b4a0249fb98fd05cfa48] tf/tfMessage [94810edda583a504dfda3829e70d7eec] xsens_mtig/GPSInfoStatus2 [b43aadd9fb237c1b978f00a668605345] xsens_mtig/Thermistor [1a7c01d7f495652f5c21d90276c66498] topics: /gravity_vector 711 msgs : geometry_msgs/Vector3Stamped /imu_data 711 msgs : sensor_msgs/Imu /info_gps 711 msgs : xsens_mtig/GPSInfoStatus2 /magnetic_vector 711 msgs : geometry_msgs/Vector3Stamped /position_gps 711 msgs : sensor_msgs/NavSatFix /scan 345 msgs : sensor_msgs/LaserScan /temperature 1422 msgs : xsens_mtig/Thermistor /tf 1436 msgs : tf/tfMessage /velocity 1422 msgs : geometry_msgs/TwistStamped **Download all** bags files: [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/rosbags/rosbags.zip | rosbags.zip]] (39.6 MB), [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/rosbags/rosbags.tar.gz | rosbags.tar.gz]] (39.5 MB) - or - Select the specific bag you want [[http://robotics.ethz.ch/~asl-datasets/apartment_03-Dec-2011-18_13_33/rosbags/ | here]]. ----