我有一小段代码,其中我获取一组24个角度,然后使用NN预测下一组24个角度。在将输入传递给NN之前,我正在使用涉及cos,sin,乘法和加法的复杂数学函数来处理输入。尝试在一定时间(例如40分钟)后运行模拟时,我遇到了这个RuntimeWarning: overflow encountered in add
,然后导致出现ValueError: math domain error
我最初虽然可能会发生数学域错误,因为可能馈入t cos的角度可能超出范围,因此将这些角度重新映射到cos范围内,并且错误仍然继续。我正在使用numpy和tensorflow进行处理。
term_1_1 = (self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0])+2*self.l_1*math.sin(self.j_angles[0])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2]))+self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0]+self.j_angles[1])+self.l_1*math.sin(self.j_angles[1])+self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2]))+self.m_l*9.8*self.velocity*(self.r_1*math.sin(self.j_angles[0]+self.j_angles[1]+self.j_angles[2])))
任何人都可以通过指出导致此溢出和错误的确切原因来帮助我。 dtype float64的所有numpy数组,与tensorflow变量和其他占位符相同。 j_angles是一个由24个元素组成的numpy初始化数组,后跟ROS订阅者输出。