Dexsensorless is an open-source framework that estimates contact forces from joint torques using robotic dynamics, enabling sensorless force estimation in dexterous manipulation tasks.
Note: This paper is currently under review. Additional code and resources will be released upon acceptance.
- Identify base inertia parameters for the robot hand
- Implement momentum-based collision detection
- Expand PyQt UI for easier finger/link selection
- Validate real-world force estimation via collision experiments
- Training code for imitation learning
First, install the SymPyBotics
git clone https://github.com/cdsousa/SymPyBotics.git
cd sympybotics
python setup.py install
Then, clone the repository and navigate into the directory:
git clone https://github.com/Prevalenter/DynaForce.git
- Python 3.8 is required.
- If you want to try the interactive simulation demo, make sure to install PyQt5.
- All package versions are listed in
utils/python_version.txt
.
If you have any questions, please submit an issue.
The repository is organized to support both simulation and real-world experiments for dynamic identification and force estimation.
data/
: Contains robot models (.pkl
), sample motion data, and identification results.ident/
: Core scripts for identification and estimation.ident/real/
: Scripts for experiments with the real robot, including multi-algorithm identification (ident_multi_algo.py
) and momentum-based force prediction (fore_calibrate/pred_momentum.py
).ident/sim/
: Scripts for simulation, including an interactive demo with a GUI (sim_interaction_qt.py
).
utils/
: Utility functions, including robot model generation and data processing.
The typical workflow involves:
- Running an identification script from
ident/real/
to compute the robot's dynamic parameters from collected data. - Using these parameters in either the simulation (
ident/sim/
) or real-world force estimation scripts.
cd ident/real/
python ident_single.py
We deployed our algorithm in the simulation, allowing the selection of force-applied members through an interactive UI, and printed the detection results.
cd ident/sim/
python sim_interaction_qt.py
cd ident/real/fore_calibrate/
python pred_momentum.py --K 2.5
This project builds upon the work of several amazing open-source libraries, including:
- GX11: For dexterous hand hardware.
- SymPyBotics: For robot dynamic identification.
- LeRobot: For state-of-the-art imitation learning.
We are grateful to the developers and communities behind these projects.