Rico's Nerd Cluster

「离开世界之前 一切都是过程」

Robotics - [Bugs - 2] SLAM Related Small Bugs

Passing Ptr By Value

⚠️ Beware of Passing Smart Pointers by Value Passing a smart pointer (e.g. std::shared_ptr or boost::shared_ptr) by value is fine when you’re only modifying the object it points to. But if you int...

Robotics - [Bugs - 1] SLAM Related "Epic Bugs"

G2O Optimization Vertex Updates, Compiler-Specific Bugs, Yaml-cpp

Below is a list of bugs that took me multiple hours, if not days, to troubleshoot and analyze. These are the “epic bugs” that are worth remembering for my career. Epic Bug 1: G2O Optimization Didn...

ROS2 - Packages

Pure Python Packages

ROSPy for a pure ROS 2 Python package, you usually do not need a CMakeLists.txt. There are two valid ROS 2 Python package styles:  ament_python style, No CMakeLists.txt. 1 2 3 4 5 package.xm...

[ML] K-Nearest-Neighbor Using Heap With CUDA

KNN (Heap-Based Implementation) Goal: For a query point qqq, find its kkk nearest neighbors from a set of NNN points. Algorithm Idea We use a max-heap of size k. Why a max-heap? The hea...

ROS2 - Foxglove

ROS2, Waveshare

Basic Architecture foxglove_bridge is the ROS-side bridge/server. It runs in your ROS environment as a node and exposes live ROS data to Foxglove over a WebSocket connection. Foxglove is the ...

[ML] -Point-cloud-compression-2-FPFH-Features

Other Alternatives Chamfer distance Earth Mover’s Distance (EMD) Normal consistency loss Curvature loss Learned feature-space loss (via PointNet / DGCNN embeddings) What is FPFH FPFH...

Robotics - Waveshare Rover Configuration

ROS2, Waveshare

Base Connection Turn on the rover Connect to the rover’s hotspot Connect to UGV Rover: (after connecting to the rpi) 1 192.168.4.1

Robotics - Spatial Hashing

Spatial Hashing Hash integer coordinates <x,y,z>. A good hash should make small input changes produce very different outputs. 1 2 3 4 5 6 7 std::size_t operator()(const TileKey &k) cons...

Robotics - A Short Introduction To Underwater Sonar Imaging Cameras

Beam Forming

Sonar Imaging Pipeline Here is a nice introduction to the concept of beam-forming Beam Forming If you have multiple attenae, say each attena is attached to a fixed delay,...

AI - LLM Applications

Techniques For Using AI Reflection is extremely helpful. “validate this code”, “check instructions for coherence and completeness”; “make this code more concise.” For subjective questions, AI is ...