Initial Idea
Initial Idea was to establish a 2d lidar on a controlled motor, and coordinate IMU from both lidar and on FC to derive 3d position of the lidar source. but soon got into trouble to derive position from multiple sources, and there minute differences causing large difference. As i intended to output a coloured point cloud, Calibrating lidar and RGB is another layer of challenge in this setup. Then i found out about this 3d lidar in affordable range, which is what you see in the final drone. This lidar got inbuilt IMU, which is crucial in working with open source SLAM algorithms. Combining it with a RGB Camera to output coloured point cloud is far straight forward now.
Technical Details
- Capabilities: Indoors & Outdoors
- Lidar Range: 30 Meters
- Laser Wavalength: 905nm
- RGB Resolution: 4k60fps
- Mapping Accuracy: Sub 2CM
- Output: Coloured Point Cloud & Gaussian Splats
Mounting Issues
There were three challenges mounting a mechanical lidar like Unitree L2 on a compact 8 inch Drone. First to make sure vibrations wont reach critical sensors like IMU in Flight Controller. Second is to make sure nothing obstructs FOV of LiDAR or Camera. After required analysis in Fusion 360, Front of the Drone seems idea and a Carbon fibre reinforced nylon mount was designed. third challenged was heat dissipation for the Lidar, it can get really hot. Ensuring some of the propwash gets to the lidar and ESCs seems to be a the effective solution.
ROS1 -> to Ros2
ROS1 was effortless choice in the beginning as our main SLAM algorithm preferred it. After ROS1 End of the life was announced on may 2025. The transfer was partly easy as i was using docker to begin with. Porting packages i built from scratch was straight forward and Claude Code taken care of it. But the main SLAM algo was built for ROS1 and its dependencies. Tweaking that for ROS2 was the main task, Few gits online provided some help.
Need For Jetson?
At the end setting up on Ras pi 5 – ROS1, i got to place a order on Orin. Jetson was the plan from beginning but at the time stock was quite low and a minimum of 6 months waits so i continued with Ras Pi. i Was able to get hands on jetson sooner then expected and the transfer was started. Majority of work was avoided by using docker and Same version of ubuntu from beginning in Ras PI. Still there are few hardware advantages and disadvantages to deal with. Jetson had limited ISP support for the camera i was using at that time but, jetson offered superior data speeds and 67 TOPS, which is better to have then not.
Post Processing of Data
In retrospect, it seems i was too rigid in building entire post processing around one open source SLAM algo. Right now its there seems to be plenty of option for processing lidar and RGB data together to output coloured point cloud. Tho the method i followed provides decent results, i am actively exploring equally better and simple options.
Loop of Fixing
Understanding and sensing the limitation of a problem seems way more efficient then throwing Claude Code at it and experimenting with variables. A considerable time and resources wasted on this. At the core, there is lack of agility and agitation to understand and resolve. A active laziness, moving but going no where.
Ground Control Communication
With Mavlink connection between Flight Controller and Jetson. With wifi connection between jetson and ground station. This unlocks a spectrum of flexibility for experimentation. ideal is to let jetson takeover the FC control, and solo communication with jetson will be through ground station. Though there is not new with this idea, i will like to find corners that can be cut through cheeky innovation. This will bring up Hardware and software limitation of setup like this, which in turn speed up the process of working on things that matter.