Isaac ROS PointCloud to FlatScan Error

Hello,
I am trying to use Livox Lidar Mid-360 as the Lidar input to the Isaac ROS Map Localization. I am publishing the standard sensor_msgs::msg::PointCloud2 which the isaac_ros_pointcloud_utils subscribed to. However, I got the following output

[component_container_mt-1] [INFO] [1719874595.506810742] [pointcloud_to_flatscan]: [NitrosNode] Node was started
[component_container_mt-1] [ERROR] [1719874626.688948635] [NitrosPointCloud]: [convert_to_custom] cudaMemcpy failed for copying data from sensor_msgs::msg::PointCloud2 to NitrosPointCloud: cudaErrorInvalidValue (invalid argument)
[component_container_mt-1] terminate called after throwing an instance of 'std::runtime_error'
[component_container_mt-1]   what():  [convert_to_custom] cudaMemcpy failed for copying data from sensor_msgs::msg::PointCloud2 to NitrosPointCloud: cudaErrorInvalidValue (invalid argument)
[ERROR] [component_container_mt-1]: process has died [pid 359160, exit code -6, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=pointcloud_to_flatscan_container -r __ns:=/'].

Can anyone help me on this? Thank you so much!!

Best,
Jacky

Hi @JackyC

Thank you for your post, I report this error to the engineering.

Are you using a customized setup to share?

Thank you in advance,
Raffaello

Dear Raffaello,

Thank you for your response. I am able to use the rviz2 and visualize both the Lidar and the Localizer solely on their own, but when I tried to launch publish the Lidar data and subscribe using ros2 launch isaac_ros_pointcloud_utils isaac_ros_pointcloud_to_flatscan.launch.py, the error shows up. A information of the topic is shown here:

$ ros2 topic info /pointcloud
Type: sensor_msgs/msg/PointCloud2
Publisher count: 1
Subscription count: 1

in which there is a publisher and subscription to this pointcloud topic. If I am not doing this correctly, it will be extremely helpful if you could provide some instructions! Thank you!!

Also, is there any instructions or helps to generate 2D maps for the localizer to work on? Thank you so much!

Hi @JackyC

Thank you for your post. It is helpful to figure out the reason for this crash. Which NVIDIA Jetson are you using?
It looks like there is not enough space on your Jetson, but I don’t have enough information to confirm my hypothesis.

You can utilize Isaac ROS nvblox to create a new map for Isaac ROS map localization. If you already have a map, you can convert it to a bitmap and add a yml file with all related configurations.
You can use this documentation like a reference map_server - ROS Wiki

Hi @Raffaello

I think I have solved the error by limiting the PointCloud2’s data portion to only output x,y,z and not including intensity, tag, and etc. Thanks!

For the mapping, is it possible to guide me through the steps using nvblox? That will be extremely helpful. Thank you!

Best regard,
Jacky

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.