This is a simulation of Livox lidar

Overview

Livox Laser Simulation

A package to provide plug-in for Livox Series LiDAR.

Requirements

Results

  • avia

  • mid40

  • mid70

  • tele

  • horizon

Usage

Note that the published point cloud message is sensor_msg/PointCloud in main branch. If you want to obtain snesor_msg/PointCloud2 message, you can checkout to "PointCloud2-ver" branch. If you use gazebo 9, checkout to "gazebo-9-ver" branch. The gazebo-9 version is maintained by jp-ipu.

Before you write your urdf file by using this plugin, catkin_make/catkin build is needed.

A simple demo is shown in livox_simulation.launch

Run

    roslauch livox_laser_simulation livox_simulation.launch

to see.

We can choose the lidar model by selecting different CSV file in scan_mode dir from changing the launch file:

  • avia.csv
  • horizon.csv
  • mid40.csv
  • mid70.csv
  • tele.csv

Parameters(example by avia)

  • laser_min_range: 0.1 // min detection range
  • laser_max_range: 200.0 // max detection range
  • horizontal_fov: 70.4 //°
  • vertical_fov: 77.2 //°
  • ros_topic: scan // topic in ros
  • samples: 24000 // number of points in each scan loop
  • downsample: 1 // we can increment this para to decrease the consumption

This repository is now maintained by CaoMing(https://github.com/EpsAvlc) and LvFengchi. Its appreciate with the help of Caoming!

Comments
  • Mismatch between point cloud and urdf model

    Mismatch between point cloud and urdf model

    When using the Gazebo 9 version, my point cloud doesn't match with my Robot Model when shown in RViz, is that something that also happens in Gazebo 7? And is there any fix for that?

    opened by igricart 12
  • The published message is in pointcloud2 format, whether the scan line information can be obtained.

    The published message is in pointcloud2 format, whether the scan line information can be obtained.

    The livox sdk provides a lidar point cloud in CustomMsg format, which contains the 'line' field. Using this 'line' field can easily process point cloud data, and whether similar information can be obtained in this project.

    Or is it possible to get the order of the point cloud in the ros message?

    opened by feiyang-he 4
  • The range measurement is not accurate?

    The range measurement is not accurate?

    Thank you for your sharing. I'm trying use your simulation to generate some data to verify my algorithm on the extrinsic calibration of calibrate camera and livox. A problem show up when I put a unit box in front the Livox. The unit box is 1m1m1m set in gazebo. The measurement from point cloud tells me that the box is about 0.9m wide. I'm confused with this result. Do you know any idea? Looking forward to your response.

    opened by chenfeiyi 3
  • Reflectivity is fixed (=100) regardless of material.

    Reflectivity is fixed (=100) regardless of material.

    intensity "= rayShape->GetRetro(pair.first);" is always returned 0, and Reflectivity is assigned 100. pt.reflectivity = 100; It would be very helpful to get intensity that changes with the material, is there any fix for that?

    opened by hmorita2020 2
  • Model Download Errors

    Model Download Errors

    First of all, thank you for this simulation. I tried running this code, but I am getting model download errors.

    unable_download_error

    It is not able to download the mentioned models. However, I do see gazebo running but it only shows a 2d scan, not a 3d scan.

    2d_scan

    I am running Ros Melodic on Ubuntu 18.04 and gazebo 9. Can anyone guide me to what I am doing wrong?

    Best Regards, Hashim Ali

    opened by hashim19 1
  • Which PCL version is required? Cant catkin make

    Which PCL version is required? Cant catkin make

    Hello,

    i tried to catkin_make this but getting alot of errors from pcl For example:

    /usr/include/pcl-1.10/pcl/point_types.h:627:1: error: ‘plusscalar’ is not a member of ‘pcl::traits’ 627 | POINT_CLOUD_REGISTER_POINT_STRUCT (pcl::BRISKSignature512,

    Am i using the wrong version of pcl?

    opened by protoCAD 1
  • Initial migration gazebo 9.0

    Initial migration gazebo 9.0

    Hi,

    We have used this repository for looking into livox lidar simulations in our current development setup. We use Gazebo 9.x, so I have made some changes to migrate the code so it's compatible.

    Feel free to merge this into your repository, potentially into a different branch that the current one as it's a breaking change for those under Gazebo 9.x.

    Thanks for the work on this.

    /Jack

    opened by jp-ipu 1
  • Missing launch file

    Missing launch file

    Hi,

    The README explains how to run this via a launchfile, however I don't see one committed to the repository. Are you able to add it? Looks very promising for simulating the livox lidars.

    Thanks for all the work!

    /Jack

    opened by jp-ipu 1
  • catkin_make error

    catkin_make error

    Hi, when I compile this package using catkin_make, it put a series error like this, even after compile dependence in ReadMe file:

    ultiray_shape.h:43:23: error: ‘math’ does not name a type; did you mean ‘tanh’? void AddRay(const math::Vector3 &_start, const math::Vector3 &_end); ^~~~ tanh

    OS: Ubuntu 18.04 Version: melodic

    What should i do to deal that ?

    think you for your time.

    opened by 130926C 0
  • Fix installation with catkin_make install

    Fix installation with catkin_make install

    The package does not install some resources properly hence the command catkin_make install won't work as expected. This PR makes the changes to make it work (and compile with newer versions of Gazebo too).

    Signed-off-by: Emiliano Borghi [email protected]

    opened by eborghi10 0
  • GPU (gpu_ray) support [Request]

    GPU (gpu_ray) support [Request]

    Hi,

    Do you have any experience, or any plans, with implementing this simulator with GPU support using gpu_ray instead of ray in Gazebo?

    We may be able to work on this in the near future, but if it's already planned or you have any helpful input, that would be great!

    Thanks, Jack

    opened by jp-ipu 2
Owner
lvfengchi
Graduate from HIT
lvfengchi
This is a simulation of Livox lidar

Livox Laser Simulation A package to provide plug-in for Livox Series LiDAR.

lvfengchi 64 Dec 22, 2022
A package to provide plug-in for Livox Series LiDAR.

Livox Laser Simulation A package to provide plug-in for Livox Series LiDAR. Requirements ROS(=Melodic) Gazebo (= 9.x, http://gazebosim.org/) Ubuntu(=1

livox 83 Dec 13, 2022
calibrate a Livox LiDAR and a camera

Livox LiDAR-Camera Calibration This method is from the official method of Livox(https://github.com/Livox-SDK/livox_camera_lidar_calibration) It's just

null 10 Nov 24, 2022
This repository uses a ROS node to subscribe to camera (hikvision) and lidar (livox) data. After the node merges the data, it publishes the colored point cloud and displays it in rviz.

fusion-lidar-camera-ROS 一、介绍 本仓库是一个ROS工作空间,其中ws_fusion_camera/src有一个工具包color_pc ws_fusion_camera │ README.md │ └───src │ └───package: c

hongyu wang 23 Dec 7, 2022
Lidar-with-velocity - Lidar with Velocity: Motion Distortion Correction of Point Clouds from Oscillating Scanning Lidars

Lidar with Velocity A robust camera and Lidar fusion based velocity estimator to undistort the pointcloud. This repository is a barebones implementati

ISEE Research Group 163 Dec 15, 2022
A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control.

N.A.G.E.K.I. A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control. 中文版

NanaNana 39 Dec 8, 2022
A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Using Pro-micro control.

N.A.G.E.K.I. PLEASE CHECK Main Project A cheap,simple,Ongeki controller Use Keyboard Simulation and Mouse Simulation to controller the ongeki game. Us

NanaNana 11 Dec 30, 2021
A PIC/FLIP fluid simulation based on the methods found in Robert Bridson's "Fluid Simulation for Computer Graphics"

GridFluidSim3d This program is an implementation of a PIC/FLIP liquid fluid simulation written in C++11 based on methods described in Robert Bridson's

Ryan Guy 727 Dec 8, 2022
This repository is used for automatic calibration between high resolution LiDAR and camera in targetless scenes.

livox_camera_calib livox_camera_calib is a robust, high accuracy extrinsic calibration tool between high resolution LiDAR (e.g. Livox) and camera in t

HKU-Mars-Lab 491 Dec 29, 2022
LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping

LVI-SAM This repository contains code for a lidar-visual-inertial odometry and mapping system, which combines the advantages of LIO-SAM and Vins-Mono

Tixiao Shan 1.1k Jan 8, 2023
Robust LiDAR SLAM

SC-A-LOAM What is SC-A-LOAM? A real-time LiDAR SLAM package that integrates A-LOAM and ScanContext. A-LOAM for odometry (i.e., consecutive motion esti

Giseop Kim 249 Dec 21, 2022
Recognize stairs with lidar. Project the laser points to X-Z plane and use least squares for linear fitting.

stairs_recogniton Recognize stairs with lidar. Project the laser points to X-Z plane and use least squares for linear fitting. Dependencies PCL 1.8 Ei

Junyi Ma 12 Nov 25, 2022
Fix some extrinsic parameter importing problems. 6-axis IMU works now. Lidar without ring works now.

LVI-SAM-MODIFIED This repository is a modified version of LVI-SAM. Modification Add function to get extrinsic parameters.The original code assumes the

null 88 Dec 9, 2022
This code converts a point cloud obtained by a Velodyne VLP16 3D-Lidar sensor into a depth image mono16.

pc2image This code converts a point cloud obtained by a Velodyne VLP16 3D-Lidar sensor into a depth image mono16. Requisites ROS Kinetic or Melodic Ve

Edison Velasco Sánchez 6 May 18, 2022
LiDAR API of NAVERLABS indoor dataset

NAVER LABS Indoor dataset - LiDAR API These dataset are obtained in realistic department store environments! [Paper] [Related Video] (This demo video

Hyungtae Lim 19 May 12, 2022
This package estimates the calibration parameters that transforms the camera frame (parent) into the lidar frame (child)

Camera-LiDAR Calibration This package estimates the calibration parameters that transforms the camera frame (parent) into the lidar frame (child). We

Australian Centre for Field Robotics 219 Jan 4, 2023
Continuous Time LiDAR odometry

CT-ICP: Elastic SLAM for LiDAR sensors This repository implements the SLAM CT-ICP (see our article), a lightweight, precise and versatile pure LiDAR o

null 384 Dec 21, 2022
A ros package for robust odometry and mapping using LiDAR with aid of different sensors

W-LOAM A ros package for robust odometry and mapping using LiDAR with aid of different sensors Demo Video https://www.bilibili.com/video/BV1Fy4y1L7kZ?

Saki-Chen 51 Nov 2, 2022
Direct LiDAR Odometry: Fast Localization with Dense Point Clouds

Direct LiDAR Odometry: Fast Localization with Dense Point Clouds DLO is a lightweight and computationally-efficient frontend LiDAR odometry solution w

VECTR at UCLA 369 Dec 30, 2022