Rico's Nerd Cluster

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

Robotics - [3D SLAM - 1] Scan Matching

3D Point-Point ICP, 3D Point-Plane ICP, NDT

The Scan Matching Problem When we run scan matching, we usually have two point clouds: a source scan $S_1 = {\mathbf{p}_1, \ldots, \mathbf{p}_n}$ (the new measurement), and a target scan $S_...

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 - Time Synchronizer

ApproximateTimeSynchronizer The ApproximateTimeSynchronizer is useful when multiple ROS topics need to be processed together, but their timestamps do not match exactly. In this example, color imag...

ROS2 - QoS

Reliability Reliability controls what happens while publisher and subscriber are already matched and communicating. Reliability Meaning Behavior Typical use ...

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