Giter Site home page Giter Site logo

pjlab-adg / pcsim Goto Github PK

View Code? Open in Web Editor NEW
202.0 7.0 22.0 96.04 MB

PCSim: LiDAR Point Cloud Simulation and Sensor Placement! Code of [ICRA 2023] "Analyzing Infrastructure LiDAR Placement with Realistic LiDAR Simulation Library" and [ICCV 2023] "Optimizing the Placement of Roadside LiDARs for Autonomous Driving".

License: Apache License 2.0

Python 57.37% Shell 0.09% Cython 0.48% C++ 42.04% C 0.02%
autonomous-driving carla simulator

pcsim's People

Contributors

caixinyu2020 avatar puffyyy avatar wtjiang98 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pcsim's Issues

Usage instructions

First of all thank you for the excellent work! While trying to implement, I noticed that the file 'LiDARSimLib/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/livox.cpp' in step 1 is not present. Has it been removed?

run scene_replay.py报错:did not match C++ signature:

大佬好,在使用ReSimAD模块进行仿真时,第二步Simulated in CARLA出现了以下报错:

INFO: listening to server 127.0.0.1:2000
WARNING: Version mismatch detected: You are trying to connect to a simulator that might be incompatible with this API 
WARNING: Client API version     = 0.9.15 
WARNING: Simulator API version  = 0.9.15-dirty 
WARNING: cannot parse georeference: ''. Using default values. 
WARNING: cannot parse georeference: ''. Using default values. 
Traceback (most recent call last):
  File "scene_replay.py", line 253, in replay_one
    world = World(sim_world, args.waymo_sequence)
  File "scene_replay.py", line 113, in __init__
    self.setup()
  File "scene_replay.py", line 193, in setup
    self.mesh = self.world.try_spawn_actor(self.mesh_bp, mesh_transform)
Boost.Python.ArgumentError: Python argument types in
    World.try_spawn_actor(World, list, Transform)
did not match C++ signature:
    try_spawn_actor(carla::client::World {lvalue}, carla::client::ActorBlueprint blueprint, carla::geom::Transform transform, carla::client::Actor* attach_to=None, carla::rpc::AttachmentType attachment_type=carla.libcarla.AttachmentType.Rigid)

Python argument types in
    World.try_spawn_actor(World, list, Transform)
did not match C++ signature:
    try_spawn_actor(carla::client::World {lvalue}, carla::client::ActorBlueprint blueprint, carla::geom::Transform transform, carla::client::Actor* attach_to=None, carla::rpc::AttachmentType attachment_type=carla.libcarla.AttachmentType.Rigid)
destroying all actor

提示python中的输入和调用的C++函数参数不一致,目前测试用的数据使用的是代码提供的segment-9320169289978396279_1040_000_1060_000.pkl文件和对应的fbx文件seg9320169.fbx

想请教一下大佬在之前调试时有没有遇到过类似的情况,或者能否帮忙分析一下问题出现的原因?

祝好。

ProxyParticleSpawn compiled failed

when ℹ compiled the ProxyParticleSpawn blueprint,I encountered the following error:

In use pin no longer exists on node Set Radius . Please refresh node or break links to remove pin.
In use pin Radius no longer exists on node Set Radius . Please refresh node or break links to remove pin.
Could not find a function named "set_radius" in 'ProxyParticleSpawn'.
Make sure 'ProxyParticleSpawn' has been compiled for Set Radius
Could not find a variable named "Sphere" in 'ProxyParticleSpawn'.
Make sure 'ProxyParticleSpawn' has been compiled for Get Sphere
[6336.61] Compile of ProxyParticleSpawn failed. 3 Fatal Issue(s) 1 Warning(s) [in 131 ms] (/Game/Carla/Blueprints/Weather/ProxyParticleSpawn.ProxyParticleSpawn)

Is there something wrong with the blueprint provided by the warehouse?

Risley_prism LiDARs not getting any data back, after CARLA recompilation

Hello there,

I have tried to implement your library within CARLA and ROS, but I see that after following all the steps mentioned in the repo, the LIVOX LiDARs seem to return empty data:

Output print: CARLA LIDAR: LidarMeasurement(frame=36016, timestamp=523.499065, number_of_points=0)
Even though the creation of those LiDARs are correct from CARLA's side:

creating tele
Tele_csv file read successfully
create tele successfully
creating lasers of Risley_prism

Installation error and missing files

Thank you for sharing such great work.
I downloaded your code and used it on Carla 0.9.14. After reading the readme file,
I realized that there is no "LiDARSimLib/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/livox.cpp" file in that directory.
When I use "make launch," I encounter many errors like "M_PI undefined."
It seems that some files are missing. Could you please help me investigate this issue?

i can not find the file name livox.cpp

LiDARSimLib/Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Sensor/livox.cpp. the named file livox.cpp that i can not see it in my download path, can not find it.
123

line9: modify depend on your own carla path

RS_M1 lidar point cloud

Thanks for sharing your work. With your rs_m1 lidar model, the point cloud I get is like this. Is the distribution of point clouds normal?

image

The demo of robosense is like this: web

Simulation Config

In the paper it was stated that,

We build our training and testing dataset upon the simulated scenarios of OPV2V [24] dataset. Specially, we leverage the defined vehicle’s trajectories in the scenarios of OPV2V and collect the point cloud data using the proposed RLS library in the CARLA simulator.

Can you kindly share which Carla maps and vehicle trajectories were used? E.g. did you use one of these in opencda/scenario_testing? And was Town05 the only map used?

about the lidar data

Hey I have a question about the lidar data generation. I am able to get the horizon and the pandar64 data. Anything is ok if I use 10hz with synchronous_mode=True, but if I use 100hz then only part of the custom lidar data is received, as attached. Did I miss any config for this custom lidar? It is fine if I use the default lidar in 10hz as well as in 100hz.

Tried to set "points_per_second" and "rotation_frequency" but no useful for the custom lidar.

The code is based on the synchronous_mode.py of the carla 0.9.14

        # new lidar
        lidar_location = carla.Location(-0.5,0,2.095)
        lidar_rotation = carla.Rotation(0,0,0)
        lidar_transform = carla.Transform(lidar_location,lidar_rotation)
        pandar64_bp = world.get_blueprint_library().find('sensor.lidar.ray_cast')
        pandar64_bp.set_attribute("lidar_type","Surround") # choose lidar_type as mechanical
        pandar64_bp.set_attribute("name","pandar64") # choose lidar name as pandar64
        pandar64_bp.set_attribute('points_per_second',str(9000000))
        pandar64_bp.set_attribute('rotation_frequency',str(100))
        lidar_pandar = world.spawn_actor(pandar64_bp,lidar_transform,attach_to=vehicle)
        lidar_pandar.listen(lambda data: lidar_callback(data, '/home/darren/Documents/test/pandar64_1', 1))
    
        actor_list.append(lidar_pandar)
      # old  lidar
        lidar_location = carla.Location(-0.5,0,2.095)
        lidar_rotation = carla.Rotation(0,0,0)
        lidar_transform = carla.Transform(lidar_location,lidar_rotation)
        lidar_bp = world.get_blueprint_library().find('sensor.lidar.ray_cast')
        lidar_bp.set_attribute('channels',str(32))
        lidar_bp.set_attribute('points_per_second',str(9000000))
        lidar_bp.set_attribute('rotation_frequency',str(100))
        lidar_bp.set_attribute('range',str(50))
        lidar_sen = world.spawn_actor(lidar_bp,lidar_transform,attach_to=vehicle)
        lidar_sen.listen(lambda data: lidar_callback(data, '/home/darren/Documents/test/normal_lidar', 1))
    
        actor_list.append(lidar_sen)

10hz horizon ok,
image

10hz pandar ok,
image

100hz horizon only part
image

pandar
image

RainyPCSim library misssing files

Hello, when I tried to integrate the RainyPCSim library, I found missing files in the RayCastLidar.cpp file.

in line 72:
std::string filename = "/home/PJLAB/yangdonglin/workplace/carla/0.9.12/carla_LiDARSimLibBackUp/MieCsv/mie_ext.csv"; // modify depend on your own carla path

I did not find the file ”carla_LiDARSimLibBackUp/MieCsv/mie_ext.csv“

Intensity of point cloud

Thank you for sharing such great work.
I notice that the intensity of point cloud is just related to the distance, right? But different objects of reflection intensity is different. Have you thought about that?

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.