CygLiDAR-ROS / cyglidar_d1

CygLiDAR D1 - ROS(SDK) Package (ROS1 / ROS2)
https://www.cygbot.com/
BSD 3-Clause "New" or "Revised" License
20 stars 25 forks source link

Any plans for ROS2 driver? #21

Open madgrizzle opened 2 years ago

madgrizzle commented 2 years ago

I'm looking to experiment with ROS2 and I'm looking for a device like this but I see the driver is currently for ROS1. Do you have plans for a ROS2 driver?

cygbot commented 2 years ago

Driver's plans for ROS2 are still undecided. We will try to update quickly.

madgrizzle commented 2 years ago

Well, coincidentally I managed to hack (and literally I mean hack because I was winging it) one together last night. Once I get it cleaned up I'll make a PR for it for those that actually know what they are doing can make it correct.

ladrians commented 2 years ago

+1 to this request, In the meantime I tried to test ROS2v0.1 branch from @madgrizzle but got the following error (foxy distro on a rpi4)

[cyglidar_pcl_publisher-1] [INFO] [1657745458.754445004] []: FREQUENCY: 0 (0) / PULSE CONTROL: 0, DURATION: 10000 (2710)
[cyglidar_pcl_publisher-1] 2022-07-13 20:50:58.777 [RTPS_QOS_CHECK Error] INCORRECT TOPIC QOS (rt/scan_laser): depth must be <= max_samples -> Function checkQos
[cyglidar_pcl_publisher-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[cyglidar_pcl_publisher-1]   what():  could not create publisher: create_publisher() could not create publisher, at /tmp/binarydeb/ros-foxy-rmw-fastrtps-cpp-1.3.0/src/publisher.cpp:162, at /tmp/binarydeb/ros-foxy-rcl-1.1.13/src/rcl/publisher.c:180

Called the launch or directly the node with similar results

ros2 launch cyglidar_d1 cyglidar.launch.py
ros2 run cyglidar_d1 cyglidar_pcl_publisher

not sure the status of the branch?

cygbot commented 2 years ago

I'm working on the ROS2 version of @madgrizzle . i tested It was confirmed that it worked without any problems,

thank you madgrizzle

igolubic commented 2 years ago

@cygbot - when can we expect the ROS2 version to be available?

igolubic commented 2 years ago

@madgrizzle - what was the environment where you have developed and tested the package on ROS2?

I'm having issues launching it on Humble.

Some walkthrough from anyone @cygbot would be helpful so I can join to clean and test the package and finally distribute it to the community.

madgrizzle commented 2 years ago

@igolubic I updated my fork with what I have running on my robot. Unfortunately when I cloned it on the robot, I didn't do it in a manner that I could readily push changes back. So I 'recloned' it elsewhere and copied the changes over to it and pushed it. I think I got them all, but I don't know for certain.

I'm running rolling at the moment, but I was using galactic previously (i'm still running 20.04).

I use udev rule so you may need to edit the launch file accordingly to change it from /dev/cyglidar to whatever you use. Again, this is what I have on my robot and not a "community" release.

Finally, it often crashes and often has issues starting. I sometimes have to launch it multiple times to get one to work, but find that disconnecting/reconnecting the lidar solves most of the launch issues. These issues are outside my ability to figure out (malloc errors and whatnot). So hopefully @cygbot can just use some of my changes in their own "proper" package and I can migrate to using that :)