Giter Site home page Giter Site logo

ld06_lidar's Introduction

LD06 Lidar ROS driver

This is an attempt to fix and improve the driver provided by LDRobots in their website

Parameters

The ldlidar node supports the following parameters:

  • serial_port used to override the autodetect and select a specific port
  • lidar_frame used to override the defauld lidar_frame frame_id for the sensor_msgs/laserscan topic generated by this node.

An example launch file including all parameters is provided below:

<launch>
 <node name="LD06" pkg="ldlidar" type="ldlidar" args="LD06" output="screen" >
    <param name="serial_port" value="/dev/ttyUSB12"/>
    <param name="lidar_frame" value="my_new_lidar_frame"/>
 </node>
</launch>

Building the driver

# create a workspace folder (or use the existing workspace for your robot)
mkdir -p lidar_driver_ws/src
cd lidar_driver_ws/src
# clone the repo within a workspace
git clone https://github.com/AlessioMorale/ld06_lidar.git
cd ..
# install all prerequisites & build
rosdep install --from-paths src --ignore-src -y
catkin build

ROS Support

  • Kinetic
  • Melodic
  • Noetic

ld06_lidar's People

Contributors

alessiomorale avatar grassjelly avatar mbostic avatar renovate-bot 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

Watchers

 avatar  avatar  avatar

ld06_lidar's Issues

No issue just pure thanks! [compliments to the dev!]

Thanks for making this driver setup. works with noetic as well the only thing we had missing was libudev.h dependencies

a simple sudo apt-get install libudev-dev fixed it.

We tried three separate drivers before this one worked for us. I appreciate your efforts the big one was the automated device detection and your launch files saved me a lot of headache.

unable to display lidar points

I must be missing something , but I cannot get anything to display using your modified version : rosrun rviz rviz ( then opening the ldlidar.rviz file

catkin command in Readme

Maybe better to write catkin_make instead of catkin build, because the latter command won't work.

Change rotational speed?

Hello,
I could not find any information on changing the rotational speed of the Lidar, as the document only mentions receiving the data. Do you have any resources on this, or maybe we can ask LDrobot then?
Many thanks :D

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/main.yml
  • ros-tooling/action-ros-ci v0.2
  • ros-tooling/action-ros-ci v0.2
  • ros-tooling/action-ros-ci v0.2

  • Check this box to trigger a request for Renovate to run again on this repository

Point cloud mirrored in RVIZ

Hello,

thanks to your work I was able to get lidar up and running. However when observing the point cloud, it is mirrored in RVIZ. Any ideas what's wrong?
I double checked with the Windows program LDROBOT provides and there the point cloud matches real world.

Override serial port using a ROS parameter

Give the ability to override the default serial port, useful when the system has other devices using the same usb-serial adapter.

If the user provides the port parameter, its value is used instead of the auto-detect mechanism.

Configure CI

Configure CI to automatically build/test the code

Question about recommendations

Hello,
as there are mostly no information or reviews available to this tiny device I ask you to share your toughts. Is this a valuable device and are you satisfied so far?

High CPU usage caused by while loop at end of main.cpp

The while loop at the end of src/main.cpp runs at the highest rate possible without pausing after it has published data. This means the CPU usage is much higher than it needs to be because lidar->IsFrameReady() always evaluates to true once data has been received, so the loop always publishes the laser scan (even if the data hasn't changed).

This can be fixed by adding a sleep (specifically, rate.sleep()) to regulate the timing of the loop. The attached file shows the proposed changes to reduce the CPU usage. I have set the rate to 20 Hz because that is a reasonable amount greater than the maximum scanning frequency of the lidar (13 Hz), so there is no chance of skipped messages and the frequency of repeated messages is much lower.

cpu_fix.patch

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.