YanjunLIU-ac / Dynamic_Parameter_Identification_for_Rokae_xMate

Dynamic parameter identification code for rokae xmate manipulator based on MATLAB, including excitation trajectory optimization, LSM method, and N-E formulation of dynamic equation.
40 stars 12 forks source link

Guidance:

Dynamic parameter identification code for rokae xmate manipulator based on MATLAB, including excitation trajectory optimization, LSM method, and Recursive Newton-Euler Algorithm.

Project Stucture and Description:

Dynamics:

See ./dynamics/README.md and run_dynamics.m for details.

Excitation:

See ./excitation/README.md and run_optimize.m for details.

Filtering:

See ./filtering/README.md and run_filtering.m for details.

Identify:

See ./identify/README.md and run_identify.m for details.

Usage scenarios:

Identification pipeline:

  1. Derive robot dynamics, regressor and minimum paramset: run_dynamics.m PART-IA and PART-IB.
  2. Optimize excitation trajectory: run_optimze.m.
  3. Data filtering and processing: run_filtering.m.
  4. Estimate minimum paramset using LSE: run_identify.m.
  5. Map minimum paramset to standard paramset: run_dynamics.m PART-II.
  6. [OPTIONAL] Test the performance of identified dynamics model with standard paramset: run_dynamics.m PART-III.

Notes:

  1. Keep System of Units consistent throughout the project (mm and Nmm).
  2. Additional adjustment of virtual mass in dyn_mapping_Pmin2P.m is needed for better paramset mapping.

Excitation Trajectory Optimization:

Obtain min regressor matrix in \dynamics and then turn to \excitation.

Validation Error Verification:

Copy raw sensor data in \filtering and then turn to \dynamics.

References:

[1] Yanjun Liu. "Study on Parameter Identification for Rokae XB4," 2019. link.

[2] Craig, John J. "Introduction to Robotics," 2005.