我正在作为个人项目尝试使用深层网络学习复杂机器人的逆运动学(DOF> 10)。
因此,网络的输入(IK_net)是所需的位置,输出的是关节角度。为了训练模型,我需要从输出(关节角度)计算关联位置,然后最小化所需位置和输出位置之间的MSE。
因此,我需要创建一个自定义损失函数,该函数使用网络的输出来计算关联的笛卡尔位置,然后计算MSE。
这是我的问题,我知道我可以使用Tensorflow运算符“翻译”正向运动学,但是对于复杂的机器人,这不是最佳选择。因此,我的想法是首先训练一个网络,该网络计算将关节值映射到笛卡尔位置的正向运动学(FK_net),并将其用于将变换应用于IK_net的输出。
我的问题如下:如何使用FK_net到IK_net中来计算损失?
我希望它将IK_net的输出传递给FK_net,然后返回损失值。
PS:我已经尝试定义我的自定义损失函数,lambda层以及低级TensorFlow训练循环(带有渐变磁带),但是都失败了。
谢谢