Rico's Nerd Cluster

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

Docker Image Building

Dockerfile, Image Management

Construct Of An Docker Image And Its Building Process A Docker image is like a box of Oreo. Its final image is like multiple Oreos (layer) stacked on top of each other. A layer could be built from...

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...

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...

Robotics - [2D SLAM 1] Introduction and Scan Matching

Point-Point ICP, Point-Line ICP

Introduction The assumption of a robot moving on a 2D plane is a strong one. However, many indoor robots do have support an assumption. Maps in this case can simply be interpreted as an image. Low...