Rico's Nerd Cluster

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

RGBD SLAM - Bundle Adjustment From Zero To Hero, Part 1, Theories

RGBD SLAM Backend Introduction

What is Optimization? \[\begin{gather*} min F(x) \end{gather*}\] Above is an optimization problem. Any optimization needs: a cost function, target variables, and constraints. In SLAM, most proble...

RGBD SLAM - The PnP Problem

Solving the PnP problem - turning pixels into 3D positions!

Intro The Perspective-n-Point (PnP) problem is a very important technique in RGBD SLAM. In RGBD SLAM, it’s quite common to see PnP as a front end , and bundle adjustment as the backend. In 2D-2D M...

More On Motion Estimation

5 Point Algorithm, How to solve DLT, and 8 point algorithm

Why Do We Still Need Multi-View Geometry, In 2024? LLMs are everywhere now. However, they are rarely seen in 3D scene reconstruction except for those on depth learning from single images. Dong et ...

Motion Estimation From Epipolar Constraints

This is an Introduction of Epipolar Constraints and 2D-2D Motion Estimation

Intro This blog is inspired by this great great book: 14 Lectures in Visual SLAM, authored by Dr. Gao Xiang et al. This article will walk you through 8-point algorithm when features lie on differe...

C++ - Writing GTest for ROS

Test! Test! Test!

Concepts Google Test (a.k.a GTest) is an open source unit testing structure. From the official website Test Suite vs Test Case: A test suite contains one or many tests. You should group your t...

OpenCV and Eigen Tools

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

Docker Tools

This blog is a collection of Facts about Docker that I found useful

Basic Operations Stopped Docker Containers 1 2 3 4 5 6 docker ps -a checks all containers, including the stopped ones docker container prune removes all stopped containers docker container rm <...

ROS Infrastructure Notes

A Running List of ROS Infrastructure I found Useful

ROS Actions The ROS Action really is a mechanism that keeps track of the exeuction state of a task. ROS Actions are built on top of ROS topics. Lifetime of ROS Actions Pending : The goal...

Robotics Fundamentals - Rotations

Getting back to the fundamentals? Let's roll with rotations

Representations of Rotation A rotation, can be respresented as $so(3)$ (Lie Algebra of Special Orthogonal Group), or $SO(3)$, (Special Orthogonal Group) and rotation vector. Representation 1 A ro...

CMake - Storing Data on Google Drive

Google Drive

For personal projects, all AWS services will start charging once one service starts. Google drive on the other hand, gives everybody 5GB of storage for free. So for infrequent data read / write, Go...