This tutorial series started with an idea: EXPREDCO
, a flexible control and optimziation framework. From there, I specialize it into a class of application Robotics Modeling, Control, and Design, starting with planar robot arms, then mobile robots, and finally extending the concepts to industrial robot systems.
The central theme is simple:
Control is about unleashing the full potential of a system. And to control effectively, we must first well understand that system.
That’s why each module in this roadmap ends with a practical session: from mechanical and electrical design to programming and implementation. For example, one final project will involve building and controlling a mobile robot with an integrated robotic arm.
I hope this tutorial will be useful for anyone who wants to strengthen both their theoretical and practical skills in robotics and control system.
Quick note: If you’re experiencing vibration or poor precision, consider looking into the system’s dynamic control, specifically, check the torque and speed characteristics of the motors.
💻 The code used in this tutorial is currently available here:
👉 https://github.com/ductrivo/robot-analysis-demo
CHAPTER 1: PLANNAR ROBOT ARMS
This chapter focuses on the modeling, control, and simulation of planar open-chain robotic arms composed of multiple revolute joints (N-DOF systems). The objective is to analyze both the kinematics and dynamics of these systems under various control strategies, from basic PID to advanced Model Predictive Control.
Currently, this project supports analysis of 2D planar robot arms where the mass of each link is assumed to be concentrated at the joints. This simplification enables efficient and insightful study of robot behavior in both simulation and hardware implementations.

Figure: A 3R planar open-chain robot.
- Languages:
Python
andRust
for most simulation and control;C++
for embedded systems andROS2
. - Hardware:
Arduino
,STM32
,ESP32
, encoders, motors, 2D planar links - Final Project: Design and Fabrication of a 3R Robotic Arm Actuated by Stepper Motors and Manufactured via 3D Printing.
Module 1: Kinematic Modeling and Control
- Kinematics Using Trigonometry Method
- Trajectory Generation / Motion Planning
- Cartesian/joint space interpolation
- Point-to-point trajectories
- Polynomial trajectories (B-spline, Bézier Curve)
- Obstacle avoidance.
- Kinematic Control
- Feedforward PID control and tuning
- Model Predictive Control (MPC)
Module 2: Dynamics Modeling and Control
- Dynamic Model of Planar Robots with Two Revolut Joints
- Motor Influence on Control
- Torque-speed curves
- Trajectory Generation (Dynamics-Based)
- Optimization-based method (take in to account the dynamics of robot)
- Dynamic Control
- Velocity Control: Feedforward PID, MPC
- Computed Torque Control: PID, Sliding Mode, MPC
Module 3: Robot Precision and Robustness
- System Identification / Calibration
- Online State and Parameter Estimation
- Mechanical Tolerance Compensation
Module 4: Experiments – Motor Control Fundamentals
- Stepper Motor Control
- DC Motor Identification and Control
- Data Logging and Communication
Module 5: Experiments – Robot Arm Design (with Stepper Motor)
- Task Description & Specification
- Mechanical Design
- Electrical Design
- Kinematics and Control Implementation
CHAPTER 2: MOBILE ROBOTS
Module 1: Kinematics and Motion Models
- Mobile Robot Configurations
- Differential drive
- Tricycle drive
- Omnidirectional platforms
- Forward and Inverse Kinematics
- Pose estimation
- Velocity kinematics
- Kinematic Constraints
- Nonholonomic constraints
- Feasible motion sets
Module 2: Path Planning and Trajectory Generation
- Global Path Planning
- A, Dijkstra, D Lite algorithms
- Sampling-Based Motion Planning
- RRT, RRT*, PRM
- Trajectory Generation
- Polynomial interpolation
- Obstacle-aware motion planning
- Velocity/acceleration profiling
Module 3: Motion Control and Feedback
- Classical Control
- PID control
- Feedforward enhancement
- Tracking Controllers
- Pure Pursuit
- Stanley Controller
- Advanced Control
- Model Predictive Control (MPC)
- Trajectory tracking
- Reactive Navigation
- Bug algorithm
- Vector Field Histogram
Module 4: Localization and SLAM
- State Estimation
- Odometry
- Sensor fusion
- Filtering Techniques
- Extended Kalman Filter
- Particle Filter
- SLAM Implementation
- 2D SLAM: GMapping
- Visual SLAM (optional)
- ROS2 Integration
- Navigation stack
- Map server and localization nodes
Module 5: Experiments – Mobile Robot Prototyping
- Task Specification and Planning
- Hardware Assembly
- Motors, sensors, chassis, MCU
- Embedded Programming
- ESP32 / STM32 motor control
- Serial communication
- ROS2 Integration and Testing
- Real-world Evaluation and Tuning
CHAPTER 3: GENERAL ROBOTS
Module 1: Unified Robot Description
- Denavit-Hartenberg Parameter Extraction
- URDF Modeling with Xacro
- Linking CAD Models to URDF
- Robot Description in ROS2
Module 2: Unified Kinematics and Dynamics
- Kinematic Modeling
- DH Method
- Product of Exponentials (Screw Theory)
- Dynamic Modeling
- Mass, Coriolis, Gravity matrices
- Screw Theory-based equations
Module 3: Unified Trajectory Generation
- Trajectory Representations
- Waypoints
- B-spline, Bézier curves
- Trajectory Planning
- Joint space vs Cartesian space
- Time Parametrization
- Velocity and acceleration constraints
Module 4: Unified Control Framework
- ROS2 Controller Architecture
- Controller Manager
- Joint State Publisher
- MoveIt Integration
- Motion planning interface
- Planning scene and safety
- Hybrid Control Modes
- Position and velocity control
- Feedback integration
- Real-Time Control Considerations
- Watchdogs
- Exception handling
Module 5: Visualization and Simulation
- Real-time Visualization with RViz
- Physics-Based Simulation using Gazebo
- Data Logging and ROS Bag Analysis
- GUI and Teleoperation Interfaces