Rico's Nerd Cluster

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

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

Robotics - Point Cloud Processing and KNN Problem

Bruteforce KNN Search, KD Tree, OctoTree

Overview Here is a post about the LiDAR Working Principle and different types of LiDARs. One lidar model is the Range-Azimuth-Elevation model (RAE) Its ...

C++ - Datastructures

Priority Queue

std::priority_queue (Priority Queue, or Max-Heap) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #include <iostream> #include <...

Point Cloud Library

Point Infrastructure Point Cloud Members PointCloud Type includes points: point vector PointTypes PointType include: pcl::PointXYZ pcl::PointXYZI pcl::PointXYZRGB pcl::PointXYZRGB...

Robotics - General ESKF Hands-on Test Notes

Primers Did you turn on the message debugging flag, or are you compiling with PRINT_DEBUG_MSGS? Are you sure you are launching the right test? IMU tools Velocity drift observed. Here, I’m ...

Robotics - [IMU Pre-integration Model 4] IMU Pre-integration Optimization Implementation

IMU Pre-Integration, GNSS, UTM

Using Pre-Integration Terms as Edges in Graph Optimization Formulating a graph optimization problem using pre-integration (as edges) and states as nodes is quite flexible. Recall that from here th...

Robotics - [IMU Pre-integration Model 3] Noise Model

Jacobian Derivation

Pre-integration Model In Graph Optimization using IMU pre-integration, $b_g$ and $b_a$ are factors under optimization. We have derived the Jacobians of pre-integrated intermediate values w.r.t the...

Robotics - [IMU Pre-integration Model 2] How To Update Pre-integration With Changing IMU Biases

Jacobian Derivation

Update Pre-integration When Updating Biases Pre-integration parts are functions are functions w.r.t gyro and acceleration biases: $b_{g,i}, b_{a,i}$. In graph optimization, we would usually need t...