This repository contains tools and experiments for actuator dynamics identification, with a focus on elastic and robotic actuators. It supports data-driven modeling, parameter estimation, and validation for model-based control and analysis.
The package can be used standalone or integrated as a submodule within larger ROS 2 workspaces (e.g. mec_ws).
Actuator-dynamics-identification/
├── identification_process/ # Identification nodes and workflows
├── launch/ # ROS 2 launch files
├── resource/ # Configuration files, datasets, or resources
├── test/ # Tests or example experiments
├── package.xml # ROS package metadata
├── setup.py / setup.cfg # Python package configuration
├── README.md # This file
└── LICENSE # Apache-2.0 license
The main objectives of this repository are:
- Collection and processing of experimental actuator data
- Identification of dynamic parameters (e.g. stiffness, damping, inertia, friction)
- Validation of actuator models against measured data
- Support for control design and simulation through identified models
- Linux (recommended)
- ROS 2 Humble
colconbuild system- Standard ROS 2 dependencies for data processing and visualization
From a ROS 2 workspace:
colcon build
source install/setup.bashAll identification routines are exposed as ROS 2 nodes.
Example:
ros2 run actuator_dynamics_identification identification_nodeOr via launch files:
ros2 launch actuator_dynamics_identification identification.launch.pyThis repository is intended to be used as a Git submodule inside the mec_ws ROS 2 workspace, which provides a Docker-based development environment.
- Start the mec_ws Docker container
From the mec_ws repository root:
docker compose up --buildOr detached:
docker compose up -d- Enter the container
docker compose exec ros2-dev bash- Initialize the submodule (inside the container)
cd ~/colcon_ws/src
git submodule update --init --recursive- Build the workspace
cd ~/colcon_ws
colcon build
source install/setup.bashThis ensures that the actuator dynamics identification package is built and run inside the same ROS 2 Docker environment used by mec_ws.
- The identification workflows are designed to run entirely inside the ROS 2 Docker container.
- Both offline (rosbag-based) and online identification approaches are supported.
- Identified models can be used to improve control performance and simulation fidelity.
This project is licensed under the Apache-2.0 License.