Rico's Nerd Cluster

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

Robotics Fundamentals - Kalman Filter

Kalman Filter Framework, Proofs With Minimizing Error Covariance

Kalman Filter FrameWork - Welcome to KF SLAM is a state estimation problem. A typical state estimation framework in discrete time is: \[\begin{gather*} \begin{cases} x_k = f(x_{k-1}, u_k) + ...

Robotics - An Overview Of Kalman Filter, Extended Kalman Filter, and Error State Kalman Filter

[1] What Does A Kalman Filter Do? If a system is a linear system, with Gaussian measurement and control noise, the Kalman Filter (KF) produces the minimum-covariance (i.e., the mean squared error)...

Robotics Fundamentals - Velocities

Velocities, Accelerations, Derivative of Rotations

Rotation-Only Velocity and Acceleration Assume we have a world frame, a car frame, and a point. The car is rotating around the world frame, no translation.The point itself is moving as well, \(p_c...

Robotics - Quaternion Kinematics

Definition of Quaternion, Relationship Between Quaternion and Rotation Matrix

Definition of Quaternion Quaternions can be represented as: \[\begin{gather*} q = [s, x, y, z] = s + xi + yj + zk = s + v v = (i, j, k) \end{gather*}\] i, j, k are 3 complex dimensions, where: ...

Robotics Fundamentals - [ESKF Series 2] GPS and Its Coordinate System

RTK GPS, UTM Coordinates

There are two types of GNSS: Traditional single-point GPS: 10m accuracy, usually found in phones. Lat-long is a.k.a geographic coordinate system Differential GPS (DGPS). On...

Robotics Fundamentals - Rotations

Representation of Rotations, Gimbal Lock, Properties

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

Computer Vision - Uzzle Solver

Checker Board Detection

Step 1 Preprocessing TODO Convert the camera frame from color → grayscale Apply a Gaussian blur to reduce noise and stabilize edges Dilate edges so boundaries are thick...

Robotics - ROS1 Message Processing

Image Data

Data Manipulation Image Data Read, manipulate, and output image data 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 from sensor_msgs.msg import Image import nu...

Robotics - ROS1 Build Systems

catkin build, catkin make

catkin make Catkin make is basically a wrapper of the CMake and make. It’s part of the original Catkin build system, and build the entire workspace using a single Cmake invocation. catkin make...

C++ - Common General Sofware Design Pricinples

Common Pain Points, Coupling & Cohesion, Occam's Razor, Indempotency, Rico's Software Development Philosophy, Reading List

Common Pain Points in Robotics Software Development loading the wrong configuration (env vars, toolkitt_config pointer, gazebo params). “Plug and Play”: Low Coupling, High Cohesion In soft...