# NEGS-UGV Dataset Paper: ## Overview The dataset is classified in different folders by scenario and sequence. Each sequence has a name corresponding to its content. Inside each sequence there are different directories for each "device" (i.e. rgb image, imu, ...). The different available devices are: * RGB realistic stereo camera. * RGB tagged stereo camera. * Inertial Measurement Unit (IMU). * LiDAR OS1. * Global Navigation Satellite System (GNSS). * Wheel tachometers. * Pose Ground Truth. In every case the timestamp is the ROS time recorded in the original rosbag file for that message. ## Images The dataset contains two sets of stereo images. One corresponds to the RGB spectrum and the other is the label information. The name convention followed is: timestamp_camera.jpg and for the labeled one: timestamp_camera_tag.jpg The images are stored in different directories named: img_right/ img_right_tag/ img_left/ img_left_atg/ The capture ratio is 25 fps for both cameras. The image sizes are 1280x720 pixels for both cameras. ## IMU The data from the IMU is stored in a single "imu_data.txt" file. The file stores the messages as successive lines. The structure for each line is: timestamp quaternion.x quaternion.y quaternion.z ang_vel_X ang_vel_Y ang_vel_Z lin_acc_X lin_acc_Y lin_acc_Z - Roll, pitch and yaw are in rad and about fixed axes XYZ. - Angular velocities (ang_vel_{X, Y, Z}) are in rad/sec. - Linear accelerations (lin_acc_{X, Y, Z}) are in m/s². The capture ratio is 50 . ## OS1 points Each message is stored in one .csv file as a Nx4 matrix (being N the number of points per message) following the next convention: x y z intensity - x, y and z are the position respect the Velodyne sensor in meters. - The intensity correponds to one of the 15 classes. - They are stored in the folder `lidar/`. The name convention followed is: timestamp.csv In order to open and parse the data from the binary file, the followings commands are examples of use: * `numpy:` ```python import numpy as np points = np.fromfile(filename, dtype=np.float32).reshape(-1, 4) ``` * `MATLAB:` ```matlab fileID = fopen(filename, 'r'); format = 'float32'; data = fread(fileID, Inf, format); xyzi=reshape(data,4,length(data)/4)'; ``` ## GNSS The data from the GNSS are stored in a single "GNSS_data.txt" file. The file stores the messages as successive lines. The structure for each line is: timestamp latitude longitude altitude ## Wheel tachometers The tachometer readings of each wheel are provided in four separated text files. Each line contains the timestamp and the wheel speed in rad/s: timestamp wheel_speed ## Pose ground truth The data from the exact positon of the "base_link" of the robot in the Gazebo globlal reference system. The file stores the messages as successive lines. The structure for each line is: timestamp position_x position_y position_z orientation_x orientation_y orientation_z orientation_w The dataset description and tools to work with it are available at: https://www.uma.es/robotics-and-mechatronics/info/132852/negs-ugv-dataset