Giter Site home page Giter Site logo

josenjiang / lidarsimlib-and-placement-evaluation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pjlab-adg/pcsim

0.0 0.0 0.0 67.26 MB

A new LiDAR Simulation Library! Code of "Analyzing Infrastructure LiDAR Placement with Realistic LiDAR Simulation Library" (ICRA 2023)

License: Apache License 2.0

Shell 0.16% C++ 28.14% Python 70.84% C 0.02% Cython 0.85%

lidarsimlib-and-placement-evaluation's Introduction

LiDARSimLib and Placement Evaluation

LiDAR.simulation.and.placement.mp4

LiDAR Simulation Library

Requirements

  • Carla (>=0.9.12)

LiDAR List

  1. Surround LiDAR
    1. pandar64
    2. ruby128
    3. pandar128
    4. vlp16
    5. hdl64
    6. pandar_qt
    7. bpearl
    8. pandar_40m
    9. pandar_40p
    10. pandar_xt
    11. vlp32
    12. os1_64_gen2
  2. Solid State LiDAR
    1. mems_m1
  3. Risley Prism LiDAR
    1. horizon
  4. Default Carla LiDAR
    1. default LiDARs

Usage

1. There are two paths should be modified:

LiDARSimLib/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/livox.cpp
line9: modify depend on your own carla path
LiDARSimLib/PythonAPI/lidar_lib_example/lidar_display.py
line30: modify depend on your own carla path

2. Use this file to overwrite the original carla directory

3. Rebuild carla

make clean

make PythonAPI

make launch

4. Create LiDAR

lidar_bp = world.get_blueprint_library().find('sensor.lidar.ray_cast') # choose ray_cast or ray_cast_semantic

lidar_bp.set_attribute("lidar_type", "Surround") # set lidar_type as Surround, Solid_state, Risley_prism

lidar_bp.set_attribute("name","pandar64") # set name as any one in LiDAR List

5. Set LiDAR ghosting object effect

lidar_bp.set_attribute("enable_ghost", "true") # enable ghosting object effect

6. Motion distortion simulation

  • Import the LidarMotonDistortion module
import sys
sys.path.append("/your/path/of/carla/LibCustomFunction") # append the LibCustomFunction
from enable_motion_distortion import LidarMotonDistortion
  • Init LidarMotonDistortion with file_path and distortion delay_time
lidar_motion_distort = LidarMotonDistortion("./horizon/", 10) # file_path is where the data you want to save. delay_time is the ratio of simulator frequency to lidar frequency.
  • Enable motion distortion
ego_lidar.listen(lambda data: lidar_motion_distort.enable_motion_distortion(data, True))

Results

LiDAR beam simulation

LiDAR_beam_simulation

Motion distortion simulation

Motion_distortion_simulation

Ghosting object effect simulation

Ghosting_object_effect_simulation

LiDAR Placement Evaluation in V2X Scenario

We build our evaluation code upon v2x-vit project.

Usage

  • Follow the instruction in the readme page in v2x-vit and install the v2x-vit project.

  • Download the pretrained model from here.

  • Use the script in Placement-Evaluation/v2xvit/tools/inference.py for evaluation.

LiDAR Placement Evaluation in V2X Scenario

We build our evaluation code upon v2x-vit project.

Usage

  1. Follow the instruction in the readme page in v2x-vit and install the v2x-vit project.
  2. Download the pretrained model from here.
  3. Use the script in Placement-Evaluation/v2xvit/tools/inference.py for evaluation.

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.