The "pmptrain.py" file uses ANN to fit the relationship between joint angles and end positions, evaluating the Jacobian matrix via the TF GradientTape API.
The "pmptrain_chain_rule.py" file is an example of using the chain rule to calculate the Jacobian matrix (Not recommended for networks with a high number of layers and nerves).
The "IndhRobot_example.txt" and "OutdhRobot_example.txt" show the format of the training data:
"IndhRobot_example.txt" -- Joint angles (degree)
"OutdhRobot_example.txt" -- End position (mm)
The rows in both files should correspond to each other, where the joint angles correspond to their end positions.
To train an ANN model using the data:
python3 pmptrain.py
Once the training is done, the model will be saved. To transfer or fine-tune the model via transfer learning (make sure the data and model loaded correctly):
python3 transfertrain.py
We also provide a Python version of the Passive Motion Paradigm (PMP) motion model, which uses the deep neural networks-based PMP to realize the goal-directed motion:
python3 pmp_ANN.py
Besides, the non-ANN PMP is also available:
python3 pmp_non_ANN.py