Back to project index
System schematic · not a device photo or execution record
Control / SELECTED PROJECT
Robot Trajectory Planning and Control Simulation
From a planar 2-DOF arm to a spatial 3-DOF model: comparing trajectories, PID tracking and multibody simulation.
SYSTEM / FLOW
- 01Targets and waypoints
- 02Forward and inverse kinematics
- 03Four trajectory methods
- 04PID tracking simulation
- 05Error and torque analysis
- 06URDF / PyBullet visualization
00 / Context & objective
From a planar 2-DOF arm to a spatial 3-DOF model: comparing trajectories, PID tracking and multibody simulation.
01My contributions
- Modeled planar 2-DOF and spatial 3-DOF arms with forward and inverse kinematics and workspace analysis.
- Implemented cubic, quintic, trapezoidal-velocity and Cartesian straight-line trajectories for comparison under shared conditions.
- Implemented PID tracking on simplified joint dynamics and analyzed end-effector error, peak error and control torque.
- Built URDF and PyBullet visualization and 3-DOF gravity-compensated torque control, checking geometric coordinate alignment.
02System flow
- 01Targets and waypoints
- 02Forward and inverse kinematics
- 03Four trajectory methods
- 04PID tracking simulation
- 05Error and torque analysis
- 06URDF / PyBullet visualization
03Recorded results
- Archived MATLAB plots, CSV files and analysis for four trajectory methods form a complete planning-to-control simulation workflow.
- Archive checks passed planar and spatial numerical tests in MATLAB R2022a and two Python source-wiring checks.
- The documentation separates 2-DOF kinematic playback from 3-DOF gravity-enabled dynamics control.
04Validation scope & limitations
Read results alongside their measurement targets and conditions. Historical records, host checks, and device validation are distinguished.
- I independently developed the modeling and control simulation; other members' reporting and presentation work is not claimed as mine.
- All control results are simulated and concern end-effector position. There are no physical-arm, gripper or object-contact experiments.
- MATLAB uses simplified independent-joint dynamics. PyBullet uses different dynamics, parameters and gains, so their metrics are not interchangeable.
- Archiving did not repeat full PyBullet gravity simulation; Python source-wiring checks are not simulation acceptance.