Skip to content

JMUWRobotics/Raspberry-Pi-based-LiDAR-Camera-Rig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Raspberry Pi–based LiDAR–Camera Rig (Livox MID-70 + Global-Shutter MonoCam)

ROS 2

Handheld RGB-D scanner for outdoor/indoor scenes — developed as part of my Bachelor’s thesis at the Chair of Robotics (Informatik XVII), Julius-Maximilians-Universität Würzburg.

The goal is a robust pipeline from ROS recording → synchronized pair export → colored point clouds & depth images → (optional) depth densification → Uni-Fusion-ready outputs.

Note: An IMU is built into the device but is not calibrated yet and is therefore not used in the default pipeline.


Features

  • Synchronized RGB + LiDAR pairs from ROS bags (nearest-time matching with configurable tolerance)
  • RGB-D frames and colored point clouds
  • Depth densification (optional)
  • ICP (merge/register multiple scans)
  • Output for Uni-Fusion-compatible output folder structure (RGB, Depth)

Hardware

  • LiDAR: Livox MID-70
  • Camera: Raspberry Pi Global-Shutter MonoCam and IDS-2M12-C0420, 4 mm, 1/2
  • Compute: Raspberry Pi running Ubuntu 24.04
  • IMU: BNO085, currently uncalibrated (not used yet)

Link to Fusion360 model: https://a360.co/4mhiRDJ


System Architecture

Raspberry-Pi-based-LiDAR-Camera-Rig/
├── device/                                         # Ros2 Workspace on handheld device 
│   ├── src/                                        
│   │   ├── bno085                                  # IMU
│   │   ├── camera_ros                              # Raspberry Pi Camera
│   │   ├── FAST-Calib-ROS2                         # extrinsic calibration
│   │   ├── libcamera                               # driver for Pi camera
│   │   ├── livox_ros2_driver                       # driver Livox Mid-70
│   │   └── code_pkg                                # own written ROS-nodes 
│   │     
│   └── recording_scripts/                          # automatic setup and capturing of rosbags
│       ├── start.sh                                # start every needed topic
│       └── start_and_record.sh                     # start topics and start recording a rosbag after 30s
│        
│     
├── tools/                                          # Python scripts for post-processing      
│   ├── correct_dataset.py                          # change BGR images to RGB images
│   ├── densify_depth.py                            # bilinear interpolation to fill depth image
│   ├── fuse_scans.py                               # colored pcl via icp
│   ├── generate_Fusion_Output.py                   # generate Uni-Fusion Output 
│   └── show_ply.py                                 # show pointcloud.ply
│                                         
├── stl/                                            # stl-files
│   ├── Bachelor_Device_Global_Shutter v9.f3z       # Fusion file of device
│   ├── BatteryMountingBracket.stl                  
│   ├── Body+BatteryMountingBracket.stl             
│   ├── Body.stl                                    
│   └── Front.stl                                   
│     
├── thesis/                                         # Academic thesis material  
└── README.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published