Skip to content

The 3D LIDAR Rotation System enhances the capabilities of a limited-angle 3D LIDAR sensor by incorporating a servo motor-based electromechanical system. This setup enables data acquisition from previously unreachable angles, producing high-resolution point cloud data for environmental modeling and mapping.

License

Notifications You must be signed in to change notification settings

omerdurmus61/3D-LiDAR-Rotation-System-Design

Repository files navigation

Contents

  1. Introduction
  2. Mechanical Design and Manufacturing
  3. System Architecture
  4. Installation
  5. Usage
  6. Visualization
  7. Results
  8. Contact

Introduction

The 3D LiDAR Rotation System enhances the capabilities of a limited-angle 3D LiDAR sensor by incorporating a servo motor-based electromechanical system. This setup enables data acquisition from previously unreachable angles, producing high-resolution point cloud data for environmental modeling and mapping.The scanning angle of the MRS 1000 3D LiDAR sensor from SICK is not sufficient to generate a high-resolution point cloud map. Therefore, I designed an electromechanical system that rotates the LiDAR around the y-axis using a servo motor. After that step, i developed a ROS package for that system. The ROS package includes software for LiDAR data transformation, mapping, modelling, visualization, motor control via rosserial, and integration with an IMU sensor. As a result, the system was able to obtain different point clouds from various areas of the environment. An external IMU was used to track the orientation of the platform. There is a real-time digital twin on RViz.

LiDAR System LiDAR in Action
3D LiDAR Rotation System Visualization on Rviz

Mechanical Design and Manufacturing

The electromechanical system was designed using Autodesk Fusion 360 and features a robust frame constructed from aluminum profiles. The design incorporates several components manufactured with a 3D printer, ensuring the system’s mechanical integrity and adaptability.

LiDAR System LiDAR in Action Visualization
CAD File CAD File Physical system and Rviz

System Architecture

This ROS graph represents the integration of a 3D LiDAR rotation system, combining data from a SICK MRS 1000 LiDAR sensor, an IMU, and a servo motor. The /mcu_imu_gps_servo node handles servo motor positions and IMU data, while the /sick_mrs_1xxx node publishes raw LiDAR point cloud data on /cloud. The servo position data is processed through /nt16_to_servo_pos and broadcasted to /servo_pos_header. Both the IMU and LiDAR transformations are published to the /tf topic using /imu_tf_broadcaster and /LIDAR_tf_broadcaster, ensuring the alignment of frames in real-time. The raw point cloud is transformed into a global reference frame by /pointCloud_transformer, producing /transformed_cloud for mapping and visualization, with the system visualized in RViz.

LiDAR System
RQT GRAPH
LiDAR System LiDAR in Action
TF Tree Frames on Rviz

Installation

# Create a ROS workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src

# Clone the repository
git clone https://github.com/omerdurmus61/3D-LiDAR-Rotation-System-Design.git

# Navigate to the workspace and build the project
cd ~/catkin_ws
catkin_make

# Source the workspace
source devel/setup.bash

Usage

This setup represents a complete pipeline for the 3D LiDAR rotation system. By running these launch files together, the system integrates servo control, IMU data fusion, LiDAR scanning, and visualization, creating a functional and real-time 3D mapping platform.

  1. imu_gps_servo.launch handles servo control, IMU and GPS data via rosserial.
roslaunch lidar_rotation imu_gps_servo.launch
  1. tf_imu_lidar.launch manages the frame transformations.
roslaunch lidar_rotation tf_imu_lidar.launch
  1. visualization.launch provides custom Rviz setup for monitoring the system in real-time using markers and PointCloud.
roslaunch lidar_rotation visualization.launch
  1. sick_mrs_1xxx.launch handles raw LiDAR data collection and streaming.
roslaunch sick_scan sick_mrs_1xxx.launch

For more details or to download the official SICK drivers, visit the sic_scan and sic_scan_xd repositories.

Bag File

This project includes a ROS bag file containing recorded data from the LiDAR rotation system. The bag file provides synchronized 3D point cloud data and servo motor position information, which can be used to analyze and visualize the LiDAR's performance in capturing the environment. By replaying this bag file in a ROS environment, users can simulate the system's functionality and test algorithms for 3D mapping, environment perception, and data processing without requiring the physical setup. This allows for a better understanding of the LiDAR's rotational capabilities and its application in real-world scenarios.

Use rosbag terminal tool to replaying the bag file

rosbag play tf_transformation_visualization.bag 

Using visualization launch file you can visualize movements and sensor readings

roslaunch lidar_rotation visualization.launch
LiDAR System
Terminal Setup

Visualization

LiDAR System LiDAR in Action
LiDAR System LiDAR in Action

Results

LiDAR System LiDAR in Action
LiDAR System LiDAR in Action

Contact

For any questions or feedback, please contact:

About

The 3D LIDAR Rotation System enhances the capabilities of a limited-angle 3D LIDAR sensor by incorporating a servo motor-based electromechanical system. This setup enables data acquisition from previously unreachable angles, producing high-resolution point cloud data for environmental modeling and mapping.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published