Code Monkey home page Code Monkey logo

helipr-file-player's Introduction

HeLiPR Dataset (File Player)

Explore the diverse landscapes and advanced LiDAR technology captured in our HeLiPR dataset!

๐Ÿ” See the HeLiPR LiDAR Variety
Dive into the dataset's multifaceted LiDAR variety with this informative GIF.

HeLiPR LiDAR gif

๐ŸŒ Understanding the HeLiPR Dataset's Necessity
Discover the challenges posed by heterogeneous LiDARs in our detailed image.

HeLiPR Dataset Problem

๐Ÿ›ฐ๏ธ Insight into Sensor Utilization
Get a closer look at our system setup and the sensors involved.

HeLiPR Dataset System

๐ŸŒ Diverse Scenarios Explored
Explore our collection of various sequences and environments through this visual guide.

HeLiPR Dataset Trajectory

๐Ÿ”— Linking with the MulRan Dataset
Learn about the long-term place recognition capabilities in conjunction with the MulRan dataset.

HeLiPR Dataset with MulRan

Maintainer: Minwoo Jung ([email protected])

Recent Updates (December 2023)


2023/12/06: Open another repository for Pointcloud processing, which name is HeLiPR-Pointcloud-Toolbox.

2023/12/05: We post some images to help readers understand the HeLiPR dataset.

2023/09/26: Link for paper now available (arxiv version)

2023/08/17: Link for HeLiPR dataset now available.

2023/08/15: Repository for HeLiPR file player now available.

We're diligently working to upload the dataset link. This paper is under-reviewed, but readers can be found our paper in arxiv. If user wants to utilize the undistortion or accumulation of pointcloud from .bin file, please visite the HeLiPR-Pointcloud-Toolbox.


1. Pre-requisites

Before utilizing the file player, it's crucial to have both the novatel-gps-msgs and livox custom messages. Ensure you install these drivers:

Novatel GPS Driver Installation:

Replace 'version' with your appropriate ROS version (e.g., melodic, noetic).

sudo apt-get install ros-'version'-novatel-gps-driver

Livox ROS Driver Installation:

Visit the official Livox SDK repository on GitHub:

Livox ROS Driver on GitHub

Ensure that both drivers are correctly installed for seamless operation of the file player.

2. Obtain Dependent Package (Defined msg)

To set up the necessary workspace and clone the file player repository:

$ mkdir ~/catkin_ws
$ cd ~/catkin_ws
$ mkdir src
$ cd src
$ git clone https://github.com/rpmsnu/helipr_file_player.git
$ cd ~/catkin_ws/src/helipr_file_player

3. Build the Workspace

Compile and build the workspace:

$ cd ~/catkin_ws
$ catkin_make

4. Execute the File Player

To run the file player, make sure to source your workspace:

$ source devel/setup.bash
$ roslaunch file_player file_player.launch

5. Load Data Files and Play

Here's a step-by-step guide:

  1. Click the 'Load' button.
  2. Navigate and select the desired dataset folder.
  3. Hit the player button to commence publishing data as ROS messages.
  4. Use the 'Stop skip' button to skip intervals when the vehicle remains stationary. This feature enhances the user experience by focusing on significant data.
  5. The loop button ensures that the data resumes playback from the beginning once completed.

6. Contributors:

  • Jinyong Jeong: Original creator of the package.
  • Giseop Kim, Seungsang Yun: Maintainers for different versions of the file player.

For any issues, queries, or contributions, please contact the maintainers.

helipr-file-player's People

Contributors

benemer avatar kahowang avatar minwoo0611 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

helipr-file-player's Issues

Wrong offset_time type for avia

Hey!

Shouldnt' the type for the avia offset_time be uint32_t? This is at least the case just below when reading the serialized data.

diff --git a/src/ROSThread.cpp b/src/ROSThread.cpp
index 0814e44..03e4ef7 100755
--- a/src/ROSThread.cpp
+++ b/src/ROSThread.cpp
@@ -720,7 +720,7 @@ void ROSThread::AviaThread()
                 file.read(reinterpret_cast<char *>(&point.reflectivity), sizeof(uint8_t));
                 file.read(reinterpret_cast<char *>(&point.tag), sizeof(uint8_t));
                 file.read(reinterpret_cast<char *>(&point.line), sizeof(uint8_t));
-                file.read(reinterpret_cast<char *>(&point.offset_time), sizeof(uint16_t));
+                file.read(reinterpret_cast<char *>(&point.offset_time), sizeof(uint32_t));
                 avia_msg.points.push_back(point);
                 i++;
             }

Continuation of the issues about Aeva doppler velocities

Hi minwoo,

Continuation of the issues about Aeva doppler velocities : minwoo0611/Awesome-3D-LiDAR-Datasets#5

  1. As you mentioned, the velocities in the dataset is absolute velocities. Would you like to ask, is the absolute velocities of the pointcloud directly obtained by the sensor or estimated by you through your own algorithm?

  2. At the same time, as far as I know, FMCW LiDAR can feedback direct raw relative Doppler velocity, may I ask if you have a backup of the original data (like radial velocity of pointcloud)?

  3. What is the approximate vechile velocity in different datasets? (For example, in the Bridge02 dataset, vechile's velocity when moving on the bridge)

Looking forward for your reply~
Kaho

HeLiPR Dataset sensor time synchronization

Hi minwoo,
Thank you very much for your excellent work, I noticed that in the HeLiPR Dataset, you used multiple sensors including (Ouster, VLP, LIVOX, Aeva, CPT7, Xsens).I have some problems about HeLiPR Dataset.

  1. how do you ensure that the sensor time is synchronized?

2.What sensor is used as the main clock source?

Looking forward for your reply~

Kaho

How to read bin files through python?

I tried
pcd = np.fromfile(binpath, dtype=np.float32)
and
pcd = np.fromfile(binpath, dtype=np.float64)
but it looks like the numbers aren't quite right

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.