Rico's Nerd Cluster

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

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

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

C++ - Move Semantics, Perfect Fowarding

Universal Reference, `std::move` with Emplace

Universal Reference And Perfect Forwarding Perfect forwarding in C++ preserves both the type and the value category of an input argument. Refresher - Value categories: lvalue rvalue ...