Rico's Nerd Cluster

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

Computation Tools - Eigen Expression Templates and SIMD

Fused Computation

Eigen Expression Template. Optimization Impact: ⭐️⭐⭐️️⚪⚪ Expression templates are one of those “powerful but mysterious” C++ features that libraries like Eigen, Blaze, and even TensorFlow (C++) us...

Computation Tools - OpenCV, Eigen, Sophus, PCL, PCD, NanoFLANN

A Running List of Opencv and Eigen Tools

OpenCV Image Processing cv::Mat Create a cv::Mat In C++: 1 2 3 4 5 6 7 8 // method 1 cv::Mat(another_mat); // method 2 cv::Mat A = (cv::Mat_<uchar>(1,2)<<1,2); //CV_8U // method ...

Virtual Network Computing (VNC)

Graphical Desktop Environment

What is vncviewer vncviewer (virtual network computing) client allows one to interact with a remote computer’s graphical desktop environment. It’s run inside the docker. vncviewer Setup File Dir...

Things About Leetcode Before That Coding Interview

Leetcode IDE Tips, Common Leetcode Problems, C++ Commands, String

Introduction At the bare minimum, it’s good to have a solid understanding of 2 Pointers, sliding window, BFS/DFS, Trees, Graphs, Stacks, Queus, Hash Maps. Leetcode IDE Tips No Global Variables ...

Foundamental Structure of Programs

Callstack

Callstack A callstack is a stack of frames, where a frame represents an active call. Each frame has: return address (where the function returns after it completes), local variables. E.g., if func...

Robotics - [2D SLAM 1] Hands-On Mapping

Point-Point ICP, Point-Line ICP

🧪 Loop Detection Testing Procedure Phase 1: Baseline Verification (No Loop Closure) Objective: Confirm that submaps are constructed correctly before enabling loop closure. Steps: Disable loo...

Robotics - Gauss Newton (GN) and Levenberg Marquardt (LM) Optimizers

Newton's Method, GN, LM optimizers

Newton’s Method Solving An Equation To find an arbitrary equation’s root $f(x) = 0$, We start from an arbitrary point $x_0$ that’s hopefully close to the solution, $x_s$ The main idea of Ne...

C++ - Filesystem

std::filesystem::create_directory(path) Thread safety: std::filesystem::create_directory(path); under the hood it issues a single POSIX mkdir() (or the platform equivalent). If the ...

Robotics - [2D SLAM 2] Map Generation

Submap Generation

Submap Generation In modern robotics mapping systems, efficient environment representation and robust localization are achieved by dividing the map into smaller, manageable submaps. Each submap is...

C++ - Segfaults

Out-of-bounds Iterator Access

Out-of-bounds Iterator Access Out-of-bounds iterator access is an undefined behavior, which might give a segfault, or give a garbage value. 1 2 3 4 5 6 7 8 9 10 11 12 #include <vector> #inc...