Series
Robot Arm Classical Controller
Series "Robot Arm Classical Controller" gồm 15 phần, đọc theo thứ tự từ phần 1.
Manipulation
Classical Robot Arm Control: Roadmap & Controller Stack
Bản đồ nhập môn controller robot arm cổ điển: MoveJ/MoveL, planner, trajectory, servo loop, C++/Python và thư viện 2026.
Dựng project C++ cho robot controller: CMake & Eigen
Setup C++/CMake/Eigen, GoogleTest và Python env để làm nền cho robot arm controller trong toàn bộ series.

Mô hình cánh tay robot: joints, links, URDF, DH, SE(3)
Tự điền bảng DH UR5, dựng robot model bằng NumPy/C++ Eigen, rồi đối chiếu với Robotics Toolbox và Pinocchio URDF.

Forward Kinematics từ số 0: DH đến SE(3) bằng C++
Tự tính FK UR5 từ bảng DH, nhân A1...A6 bằng tay, rồi viết NumPy/C++ Eigen và verify bằng GoogleTest, RTB, Pinocchio.

Inverse Kinematics: analytical vs numerical IK
Tự giải IK UR5 bằng tay, rồi viết solver numerical IK Python/C++ với Jacobian pseudo-inverse, DLS và tránh joint-limit.

Jacobian, singularity và resolved-rate control
Tự derive Jacobian UR5, phát hiện singularity bằng SVD và viết resolved-rate controller an toàn bằng Python/C++.
Hệ tọa độ robot: Base, Tool, User Frame và TCP
Giải thích base/tool/user/object frame, TCP 6-DOF và pose composition bằng SpatialMath Python và Eigen C++.

MoveJ: chuyển động trong joint space
Tự viết MoveJ: nội suy joint space, đồng bộ thời gian, tôn trọng giới hạn vận tốc/gia tốc, prototype Python và C++ chạy được.

MoveL: chuyển động thẳng Cartesian với IK
Tự implement MoveL: nội suy TCP theo đường thẳng, SLERP orientation, giải IK từng waypoint và verify độ thẳng path.

MoveC và MoveP: cung tròn và đường quá trình
Tự dựng MoveC qua 3 điểm và MoveP qua nhiều via point với tốc độ TCP ổn định, blend radius, Python prototype và C++ Eigen.

Profile vận tốc: trapezoid vs S-curve
Time-scaling cho robot arm: trapezoid, S-curve, giới hạn vận tốc/gia tốc/jerk, Python prototype và C++ class.

Blending waypoint: bo góc mượt giữa các đoạn
Hiểu blend radius, path deviation, vì sao robot chậm khi dừng ở mọi waypoint, rồi dựng Python/C++ cho chuyển động đa điểm mượt.

Jogging và servo control: jog khớp và twist TCP
Hướng dẫn chi tiết MoveIt Servo trên ROS 2: joint jog, Cartesian twist jog, pose tracking thời gian thực, an toàn singularity/collision, C++ API và Python teleop keyboard.

Motion Planning Tránh Va Chạm: MoveIt2 & OMPL
Hiểu C-space, RRT/RRT-Connect/PRM qua OMPL, dùng MoveGroupInterface C++ và moveit_py Python để plan đường đi tránh vật cản rồi execute trong RViz với MoveIt2.

ROS2 control & robot thật: ros2_control + UR RTDE
Bài capstone: deploy controller lên UR robot thật qua ros2_control, joint_trajectory_controller và ur_rtde C++ với logging tracking error đầy đủ.