Robotics Tutorials & Guides
In-depth, mathematical, and code-heavy tutorials for robotics hardware and software engineering. Filter by discipline or search for specific algorithms and frameworks.
Electronics Fundamentals
Learn how to build fundamental circuits, schematic analysis, power regulation, and sensor interfacing.
Ohm's Law & Kirchhoff's Laws for Robotics Circuits
Master voltage, current, power calculations, and Kirchhoff’s Current/Voltage Laws (KCL/KVL) for sizing robotic motor drivers and logic rails.
Motor Drivers: H-Bridges, Stepper Drivers & BLDC ESCs
Deep-dive into motor driving topologies: L298N vs DRV8833/TB6612FNG, A4988 microstepping, and Field-Oriented Control (FOC) BLDC Electronic Speed Controllers.
Robot Power Architecture: LiPo, LiFePO4, BMS & Buck Regulators
Design safe, noise-isolated power distribution boards (PDB) for autonomous robots using multi-cell lithium chemistries, battery management systems, and switching converters.
Robotics Sensor Interfacing: IMUs, LiDAR, Encoders & Ultrasonic
Learn hardware interfacing, level-shifting, signal filtering, and noise mitigation for 9-axis IMUs, time-of-flight LiDAR, and quadrature optical encoders.
Logic Level Shifting: Interfacing 3.3V Microcontrollers & 5V Sensors
Avoid blowing up 3.3V ARM/ESP32 inputs when talking to 5V legacy sensors using MOSFET-based bidirectional level shifters and TXS0108E ICs.
Custom Robotics PCB Design with KiCad 8: From Schematic to Fabrication
Step-by-step tutorial on designing multi-layer robotics carrier boards, trace current sizing, ground planes, EMI layout rules, and JLCPCB assembly.
Robotics Actuators: RC Servos, Steppers, Coreless DC & BLDC Compared
Comprehensive engineering guide to selecting the right robotic actuator based on torque density, holding torque, backlash, bandwidth, and cost.
Failsafe Circuitry: Emergency Stops, Optoisolators & Watchdogs
Protect human operators and sensitive hardware by designing hardware-level Category 3/4 Emergency Stop (E-Stop) circuits, optocouplers, and hardware watchdog timers.
Microcontrollers & C++
From ESP32, STM32 ARM Cortex, and Arduino to low-latency embedded C++ and FreeRTOS firmware.
ESP32 FreeRTOS Dual-Core Architecture for Robotics
Harness both Xtensa LX6/LX7 cores on the ESP32: run high-frequency PID motor loops on Core 1 and Wi-Fi telemetry / ROS 2 bridging on Core 0 without jitter.
Object-Oriented C++ for Modular Robotics Firmware
Design reusable, testable hardware abstraction classes for DC motors, encoders, ultrasonic distance sensors, and state machines.
STM32 Bare-Metal Advanced Timers & High-Frequency PWM
Direct register manipulation of STM32 Advanced-Control Timers (TIM1 / TIM8) for complementary PWM, dead-time insertion, and encoder interface modes.
Serial Protocols for Robotics: UART, SPI & I2C Deep Dive
Compare speed, wire count, arbitration, and signal integrity for UART (RS485), SPI, and I2C across robotic sensors, displays, and master-slave coprocessors.
Precise Quadrature Optical & Magnetic Encoder Decoding in C++
Implement glitch-filtered 4x quadrature encoder decoding using external GPIO hardware interrupts and lookup state transition tables.
CAN Bus & CAN-FD for Industrial Robotics Networks
Connect high-torque BLDC actuators and smart joint modules using Controller Area Network (CAN 2.0B) with hardware message filtering and CRC validation.
Low-Power Robotics: Deep Sleep & Wakeup Interrupts
Extend battery life of field environmental robots from hours to months using ESP32/STM32 deep sleep states, ULP coprocessors, and RTC GPIO timers.
micro-ROS on ESP32: Seamless ROS 2 Integration on Microcontrollers
Run native ROS 2 nodes directly on microcontrollers: publish sensor topics and subscribe to cmd_vel using micro-ROS and the XRCE-DDS Agent.
Kinematics & Control
6-DOF robotic arm joint kinematics, forward/inverse solvers, PID controllers, and state-space systems.
Forward Kinematics & Denavit-Hartenberg (DH) Parameters Explained
Step-by-step mathematical guide to formulating Standard & Modified DH parameter tables, transformation matrix chains, and solving end-effector poses for 3-DOF and 6-DOF robotic arms.
Inverse Kinematics (IK): Geometric Decoupling & Numerical DLS Solvers
Solve for the required joint angles to place an end-effector at a desired 3D spatial target using analytical trigonometry and Damped Least Squares (DLS) Jacobian optimization.
PID Controller Tuning for Robotics: Practical Anti-Windup & Derivative Filtering
Step-by-step engineering guide to tuning Proportional-Integral-Derivative (PID) controllers for DC motors, robotic arm joints, and drone attitude with low-pass derivative filters.
Differential Drive Robot Kinematics & Dead-Reckoning Odometry
Derive forward and inverse kinematics for two-wheeled mobile robots, compute linear/angular velocities, and integrate wheel encoder ticks into global 2D pose (x, y, theta).
Quaternions & 3D Spatial Rotations in Robotics
Escape Euler angle gimbal lock: master unit quaternions, SO(3) Lie groups, spherical linear interpolation (SLERP), and rotation matrix conversions for robot poses.
The Manipulator Jacobian: Velocities, Static Forces & Singularities
Relate joint angular velocities to end-effector Cartesian velocities, calculate Yoshikawa manipulability ellipsoids, and analyze boundary and interior kinematic singularities.
Trajectory Generation: Cubic & Quintic Polynomial Splines
Generate smooth, jerk-continuous robot motion profiles with boundary position, velocity, and acceleration constraints using 5th-order quintic polynomials.
Sensor Fusion with Kalman Filters (1D & EKF) for Mobile Robotics
Fuse noisy wheel encoder odometry and drifting IMU gyroscope data into an optimal state estimate using Linear Kalman Filter (LKF) and Extended Kalman Filter (EKF).
ROS 2 & Robot Middleware
Modern robotics software engineering with ROS 2 Humble/Iron, Nodes, DDS, URDF, TF2, and Nav2.
ROS 2 Humble Architecture: Nodes, Topics & DDS Explained
Master modern ROS 2 Humble/Iron architecture: Data Distribution Service (DDS), computational graph, publishers, subscribers, parameters, and Quality of Service (QoS).
ROS 2 Custom Interfaces: Messages, Services & Actions
Create custom .msg, .srv, and .action definitions in a standalone CMake package, generate C++ and Python headers, and implement preemptible Action Servers.
URDF & Xacro Robot Modeling: Links, Joints, Visual & Physics
Build modular, maintainable Unified Robot Description Format (URDF) models using Xacro macros, calculate correct 3D inertial tensors, and visualize in RViz 2.
TF2 Coordinate Transform Library: Broadcast, Buffer & Lookups
Master coordinate frame transformations in ROS 2: broadcast static/dynamic transforms, handle time-travel buffer lookups, and prevent TF extrapolation errors.
Modern ROS 2 Python Launch Files & Composable Nodes
Orchestrate multi-node robotics systems with Python launch files, DeclareLaunchArgument, conditions, event handlers, and intra-process zero-copy composable containers.
ros2_control Framework: Hardware Interfaces & Differential Controllers
Bridge physical hardware motors to ROS 2 using the standardized ros2_control framework, SystemInterface plugins, and diff_drive_controller.
Gazebo Simulation (Fortress / Harmonic) with ROS 2 Bridge
Simulate mobile robots and manipulators in Gazebo: configure physics engines, add realistic IMU/LiDAR/Camera sensor plugins, and establish ros_gz_bridge.
MoveIt 2 Trajectory Planning & Collision Avoidance for Manipulators
Configure MoveIt 2 for 6-DOF robotic arms: Setup Assistant, OMPL path planners (RRT-Connect), OctoMap 3D collision environments, and pick-and-place execution.
Computer Vision & AI
Perception with OpenCV, YOLOv8 object detection, RGB-D depth sensing, and Edge AI deployment on Jetson.
Camera Calibration & Distortion Correction with OpenCV: Pinhole Model to 3D Rays
Step-by-step camera calibration using chessboard grids: compute intrinsic camera matrix K, radial/tangential distortion coefficients (k1, k2, p1, p2), and unproject 2D pixels to 3D spatial rays.
AprilTag & ArUco 6-DOF Visual Pose Estimation for Robotic Servoing
Detect fiducial markers (AprilTag 36h11 & ArUco) in real time, solve Perspective-n-Point (PnP) for precise 6-DOF translation and rotation, and execute visual servoing.
Real-Time Object Detection with YOLOv8 & ROS 2 Integration
Train custom YOLOv8 models, export optimized ONNX/TensorRT engines, and publish 2D/3D bounding boxes and class probabilities over ROS 2 topics.
RGB-D Depth Cameras: Intel RealSense D435 vs OAK-D & Time-of-Flight
Compare active infrared stereo (RealSense D435i/D455), onboard Myriad X/Keem Bay VPU stereo (OAK-D), and direct Time-of-Flight (ToF) cameras for robotics navigation and 3D reconstruction.
3D Point Cloud Processing with PCL: Voxel Filtering & RANSAC Plane Extraction
Process raw 3D LiDAR and RGB-D depth clouds using C++ Point Cloud Library (PCL): downsample with VoxelGrid, remove outliers, segment ground/tabletop planes with RANSAC, and cluster objects.
Visual Odometry (VO) with ORB Features & Epipolar Geometry
Estimate camera 6-DOF trajectory from monocular and stereo video frames using Oriented FAST and Rotated BRIEF (ORB) feature matching and Essential Matrix decomposition.
Edge AI Acceleration on NVIDIA Jetson with TensorRT & DeepStream
Deploy neural network inference on NVIDIA Jetson Orin Nano / AGX: convert PyTorch models to ONNX, build FP16/INT8 TensorRT engines, and achieve sub-10ms latency.
Deep Reinforcement Learning for Locomotion with NVIDIA Isaac Gym
Train end-to-end neural network locomotion policies for quadruped and humanoid robots in Isaac Gym: massively parallel physics simulation, PPO, domain randomization, and sim-to-real transfer.
Autonomous Navigation & SLAM
Simultaneous Localization and Mapping (SLAM), LiDAR 2D/3D maps, A* path planning, and Nav2 costmaps.
Simultaneous Localization & Mapping (SLAM) Fundamentals: From Graph-SLAM to Loop Closure
The core mathematics of SLAM: probabilistic state estimation, frontend scan-matching (ICP/NDT), pose graph formulation, and backend Ceres/g2o non-linear optimization with loop closure.
2D LiDAR SLAM with SLAM Toolbox & Google Cartographer in ROS 2
Step-by-step tutorial comparing SLAM Toolbox vs Cartographer: tuning scan matchers, configuring submaps, running lifelong multi-session mapping, and saving .yaml/.pgm occupancy grids.
3D LiDAR-Inertial Odometry & Mapping with FAST-LIO2
Implement high-speed, direct 3D LiDAR-inertial state estimation using FAST-LIO2: ikd-Tree dynamic spatial indexing, Iterated Error-State Kalman Filter (IESKF), and Livox/Ouster point clouds.
Adaptive Monte Carlo Localization (AMCL) in ROS 2 Nav2
Localize mobile robots on pre-built 2D maps using particle filters (KLD-sampling), likelihood field beam models, and dynamic particle count adaptation.
Nav2 Costmaps: Layered Costmaps, Inflation, Obstacles & 3D Voxels
Master Nav2 2D/3D costmap configuration: static layers, obstacle layers, voxel raytracing, inflation radii, and cost scaling factors for safe obstacle clearance.
Global Path Planning: A*, Dijkstra, NavFn & Smac Planners in Nav2
Comprehensive analysis of search-based path planning algorithms in 2D costmaps: Dijkstra vs A* vs Hybrid-A* / Lattice planners for Ackermann and non-holonomic mobile robots.
Local Planners & Trajectory Controllers: TEB vs DWB vs MPPI
Tune and evaluate local trajectory generation: Timed Elastic Band (TEB), Dynamic Window Approach (DWB), and Model Predictive Path Integral (MPPI) controllers for dynamic obstacle avoidance.
Multi-Robot Fleet Management & Coordination with ROS 2 & Open-RMF
Coordinate fleets of heterogeneous AMRs and robotic arms using ROS 2 namespaces, Zenoh DDS bridging, traffic scheduling, and Open Robotics Middleware Framework (Open-RMF).