Rico's Nerd Cluster

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

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

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

C++ - Build A Reflection Configuration That Loads Fields From YAML Without Manual Loading

reflection

Introduction Reflection is the ability of an application to examine and modify its fields during runtime. In cpp, as we know, is a compiled language. If we have a configuration object, we need to ...

Web Devel - web-crawler-toyota-rav4-crawler

Google Drive

Complete web crawler code can be found here Beautiful Soup and Selium Beautiful Soup is a Python library for parsing HTML and XML document. It is able to extract elements by class or ids in stati...

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

Raspberry Pi 4B

Serial Setup, Ubuntu Core

Set Up Rpi For Serial Communication Enable rpi serial: 1 sudo raspi-config Rpi has an option to allow a user to login to the system via serial. Choose no Answe...

ROS1 Infrastructure Notes

A Running List of ROS1 Infrastructure I found Useful

ROS Basics Where ROS binaries are stored In ROS, many packages come in the C++ binary form. They are installed through apt, and are stored in /opt/ros/noetic/lib. ROS Actions The ROS Action rea...

CMake - Concepts and Options

CMake Concepts, Compile Options, Commands, CMake-Format, Header-Only Library, Static Library, fPIC, CMake Syntax

Concepts CMake is a “write-only” language 😉, because it was only meant to be written, not for reading, jokingly. This is because: The syntax is not quite a real scripting language CMake uses...

Point Cloud Processing

Point Cloud Filtering with PCL: Extract, Crop, and Clean When working with point clouds in robotics (e.g., perception pipelines in ROS 2), raw sensor data is almost never used directly. It’s typic...

Bash Scripting

Common Operations Check if a package has been installed dpkg -l lists all debian packages, including apt packages, not including snap, flatpak, AppImages. or one can do dpkg -l <...