Data Set htwddKogRob-InfDynSim for Localization in Highly Crowded Environments
收藏资源简介:
This data set presents a major challenge for robot localization in highly crowded environments. The total distance travelled over all runs is 113.3 km. 50 dynamic obstacles (see htwddKogRob-InfDynSim_dynObstacles.png) were inserted into the map (see htwddKogRob-InfDynSim.png | 1px \(\widehat{=}\) 0.1m). The work was first presented in: A Fuzzy-based Adaptive Environment Model for Indoor Robot Localization Authors: Frank Bahrmann, Sven Hellbach, Hans-Joachim Böhme Date of Publication: 2016/10/6 Conference: Telehealth and Assistive Technology / 847: Intelligent Systems and Robotics Publisher: ACTA Press Additionally, we present a video with the proposed algorithm and an insight of this dataset under: youtube.com/AugustDerSmarte https://www.youtube.com/watch?v=26NBFN_XeQg <strong>Instructions for use</strong> The zip archives contain ascii files, which hold the log files of the robot observations and robot poses. Since this data set was recorded in a simulated environment, the logfiles include both a changed starting position and a ground-truth pose. For further information, please refer to the header of the logfile. To simplify the parsing of the files, you can use these two Java snippets: <strong>Laser Range Measurements:</strong> <pre><code class="language-java"> List<Double> ranges = new ArrayList<>(numOfLaserRays); List<Error> errors = new ArrayList<>(numOfLaserRays); String s = line.substring(4); String delimiter = "()"; StringTokenizer tokenizer = new StringTokenizer(s, delimiter); while(tokenizer.hasMoreElements()){ String[] arr = tokenizer.nextToken().split(";"); boolean usable = (arr[0].equals("0")?false:true); double range = Double.parseDouble(arr[1]); ranges.add(range); errors.add(usable?Error.OKAY:Error.INVALID_MEASUREMENT); }</code></pre> <strong>Poses:</strong> <pre><code class="language-java"> String poseString = line.split(":")[2]; String[] elements = poseString.substring(1, poseString.length()-1).split(";"); double x = Double.parseDouble(elements[0]); double y = Double.parseDouble(elements[1]); double phi = Double.parseDouble(elements[2]);</code></pre>



