Velodyne: Pointclouds Do Not Get Published If Hardware Goes Through A Power Cycle When Udp_only Is False

by ADMIN 105 views

Introduction

Velodyne LiDAR sensors are widely used in various applications, including autonomous vehicles, robotics, and mapping. The Velodyne driver is a crucial component that enables communication between the LiDAR sensor and the host system. However, some users have reported an issue where pointclouds do not get published if the hardware goes through a power cycle when udp_only is set to false. In this article, we will delve into the details of this issue and explore possible solutions.

Understanding the Issue

The issue is observed on a VLP16 setup, where the driver is started with launch_hw=true and udp_only=false. In this configuration, the driver brings up the LiDAR sensor as expected, and pointclouds are regularly published on the /velodyne_points topic, along with relevant diagnostics. However, if the hardware goes through a power cycle and comes back online, pointclouds are not published anymore on the /velodyne_packets topic. The decoder component continues to publish the "Missed pointcloud deadline warning" every 5 seconds. The only way to recover from this issue is to restart the entire node.

Impact of Power Cycle on LiDAR Sensor

When the LiDAR sensor experiences a power cycle, it is not uncommon for the sensor to reset its internal state. This can cause issues with the driver, which relies on the sensor's internal state to function correctly. In this case, the driver is unable to recover from the power cycle, and pointclouds are not published.

Comparison with UDP Only Mode

Interestingly, when udp_only=true, the pointclouds start appearing a couple of seconds after the hardware comes back online as expected. This suggests that the issue is specific to the launch_hw=true and udp_only=false configuration. While this can be an interim solution, running with diagnostics might not be desirable.

Possible Solutions

  1. Restart the Node: The most straightforward solution is to restart the entire node. This will reset the driver and the LiDAR sensor, allowing pointclouds to be published again.
  2. Modify the Driver Configuration: Modifying the driver configuration to use udp_only=true can also resolve the issue. However, this may not be desirable if diagnostics are required.
  3. Implement a Recovery Mechanism: Implementing a recovery mechanism in the driver can help recover from power cycles and ensure that pointclouds are published correctly.

Conclusion

In conclusion, the issue where pointclouds do not get published if the hardware goes through a power cycle when udp_only is set to false is a known issue with the Velodyne driver. While restarting the node or modifying the driver configuration can resolve the issue, implementing a recovery mechanism in the driver is a more robust solution. By understanding the issue and exploring possible solutions, users can ensure that their Velodyne LiDAR sensors function correctly and provide accurate pointcloud data.

Recommendations

  1. Use UDP Only Mode: If possible, use udp_only=true to avoid the issue. . Implement a Recovery Mechanism: Implement a recovery mechanism in the driver to ensure that pointclouds are published correctly after a power cycle.
  2. Monitor Driver Logs: Monitor driver logs to detect any issues with pointcloud publication.

Future Work

  1. Investigate the Root Cause: Investigate the root cause of the issue to ensure that it is not a hardware or software problem.
  2. Develop a More Robust Solution: Develop a more robust solution that can recover from power cycles without requiring a node restart.
  3. Improve Driver Documentation: Improve driver documentation to provide clear instructions on how to resolve the issue.
    Velodyne: Pointclouds Do Not Get Published If Hardware Goes Through a Power Cycle When UDP Only is False - Q&A ==============================================================================================

Introduction

In our previous article, we discussed the issue where pointclouds do not get published if the hardware goes through a power cycle when udp_only is set to false. In this article, we will provide a Q&A section to address common questions and concerns related to this issue.

Q: What is the root cause of the issue?

A: The root cause of the issue is not fully understood, but it is believed to be related to the way the driver interacts with the LiDAR sensor after a power cycle. Further investigation is required to determine the exact cause of the issue.

Q: Is this issue specific to the VLP16 setup?

A: Yes, the issue is specific to the VLP16 setup. However, it is possible that similar issues may occur with other Velodyne LiDAR sensors.

Q: Can I use UDP only mode as a workaround?

A: Yes, using udp_only=true can resolve the issue. However, this may not be desirable if diagnostics are required.

Q: Do I need to restart the entire node to recover from the issue?

A: Yes, restarting the entire node is the most straightforward solution to recover from the issue. However, implementing a recovery mechanism in the driver can help recover from power cycles without requiring a node restart.

Q: Can I modify the driver configuration to resolve the issue?

A: Yes, modifying the driver configuration to use udp_only=true can resolve the issue. However, this may not be desirable if diagnostics are required.

Q: Is there a more robust solution available?

A: Yes, implementing a recovery mechanism in the driver can provide a more robust solution to recover from power cycles without requiring a node restart.

Q: How can I monitor driver logs to detect any issues with pointcloud publication?

A: You can monitor driver logs to detect any issues with pointcloud publication by checking the /velodyne_points topic and the "Missed pointcloud deadline warning" message.

Q: What are the recommendations for resolving the issue?

A: The recommendations for resolving the issue are:

  1. Use UDP Only Mode: If possible, use udp_only=true to avoid the issue.
  2. Implement a Recovery Mechanism: Implement a recovery mechanism in the driver to ensure that pointclouds are published correctly after a power cycle.
  3. Monitor Driver Logs: Monitor driver logs to detect any issues with pointcloud publication.

Conclusion

In conclusion, the issue where pointclouds do not get published if the hardware goes through a power cycle when udp_only is set to false is a known issue with the Velodyne driver. By understanding the issue and exploring possible solutions, users can ensure that their Velodyne LiDAR sensors function correctly and provide accurate pointcloud data.

Additional Resources

  1. Velodyne Driver Documentation: Refer to the Velodyne driver documentation for more information on how to configure and use the driver.
  2. Velodyne Support: Contact Velodyne support for further assistance and guidance on resolving the issue.
  3. Community Forums: Join the community forums to discuss the issue and share knowledge with other users.