# Log ## 2026.2.5 - pcc_kinematics.py 中的数学公式用 PyTorch 张量重写,确保梯度可以从 Cartesian 坐标反向传播回 Joint 角度; `src/soft_arm_sim/soft_arm_sim/deeplearning/differentiable_pcc.py` ## 解决 deeplearning 文件夹混乱的问题,按照功能模块进行拆分 ```bash src/soft_arm_sim/soft_arm_sim/deeplearning/ ├── __init__.py ├── checkpoints/ # [存储] 存放训练好的 .pth 模型权重 │ └── .gitkeep ├── data/ # [数据] 数据生成器 (PINN 主要是随机采样,但也可能需要验证集) │ ├── __init__.py │ └── workspace_sampler.py # 用于在机械臂工作空间内随机采样目标点 ├── layers/ # [物理层] 这里存放可微的运动学公式 (PINN的核心) │ ├── __init__.py │ └── differentiable_pcc.py # == 核心:PyTorch 版的 PCC 正运动学 == ├── models/ # [网络] 神经网络架构定义 │ ├── __init__.py │ └── mlp_network.py # 简单的全连接网络 ├── training/ # [训练] 训练脚本 │ ├── __init__.py │ └── train_pinn_basic.py # PINN 训练主脚本 └── inference/ # [推理] ROS 接口相关 ├── __init__.py └── inference_node.py # 加载模型并控制机器人的 ROS 节点 ``` ```bash # 运行PINN训练文件 cd src/soft_arm_sim/soft_arm_sim/deeplearning/training export PYTHONPATH=$PYTHONPATH:$(pwd)/src/soft_arm_sim python3 -m soft_arm_sim.deeplearning.training.train_pinn_basic ```