Real-time Object Detection From LiDAR Point Clouds

Dong Lingzheng (donglzh@shanghaitech.edu.cn) & Zhang Jiajie (zhangjj2023@shanghaitech.edu.cn)

Introduction

In the quest for sustainable energy solutions, solar power stands out as a key player in shaping a cleaner and more efficient global energy landscape. Harnessing solar energy, especially in sun-rich desert regions, offers a significant opportunity for substantial energy generation. Yet, the deployment of large-scale solar panels in these areas faces challenges related to low manual efficiency and high costs. To overcome these obstacles, our project introduces an innovative solution that leverages Light Detection and Ranging (LiDAR) technology for real-time object detection during the solar panel installation process. LiDAR, known for its precision in capturing three-dimensional spatial data, efficiently gathers crucial information about the environment. Our focus is on detecting the pose of the solar rack, determining the position and height of support structures, and assessing the tilt angle of solar panels. The integration of LiDAR-based object detection paves the way for the automation of solar panel installation through robotic systems. This advancement not only enhances operational efficiency but also addresses challenges associated with human labor in expansive and challenging terrains.

solar panel with racks

Method

Overview of our framework
  1. Read the longitude and latitude of origin, base link, and rods from yaml map. Subscribe to pose of base link from the driving group.
  2. Transform the coordinates of rods under base link.
  3. Subscribe to point cloud messages from 2 Lidars.
  4. Transform the point clouds under base link according to the pose of the lidar w.r.t. the base link. Then perform point clouds fusion.
  5. Start perception (Mainly use methods integrated in the PCL package)
    1. Using statistical removal and PassThrough filter methods to remove the outlier and noise and downsampling the points to accelerate the process.
    2. Using Plane model segmentation method to remove the ground and fit the solar panel, then get the parameters of the ground plane, the coordinate of the center of the panel, and the roll, pitch, and yaw of the panel (maybe in long-lat form).
    3. Using Line model segmentation method to fit the rods individually, given the prior knowledge of rods position and size, then get the coordinates of the top of the rods by averaging several top points.
    4. Compute the inclination degree of rods from the coefficients of line models and publish an alert if the inclination could cause the installation to fail.
  6. Publish the custom messages of panel and rods infos (pose and errors) into a topic at a frequency of 10 Hertz.
  7. Visualize the processed point cloud in Rviz lively, together with robot urdf, and use the marker to point out origin points, the detected solar panel and rods.

Experiment

The radar dataset is collected by Bolight Company, named as "trans\_2023-12-08-11-31-27.bag". To differentiate the frame id of each radar, we set the frame id of the left radar as "lidar1\_link" and that of the right radar as "lidar2\_link" and changes the file name by "3lidars.bag". The bag file contains all kinds of information such as point clouds, URDF infos, etc.. We only focus on the information of point clouds such as topics and messages, etc.

Point cloud of the whole scenePoint cloud of detected rodsPoint cloud of detected solar panel & rodscustom message of rods & solar panel info

 

Demo Video