TypeError:对象数组可能是自引用的python [英] TypeError: object array may be self-referencing python
本文介绍了TypeError:对象数组可能是自引用的python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以,我遇到了这个错误:
So, I ran into this error:
temp7:
1.68219771725e-06
temp6:
[[array([-60800056.33037408], dtype=object)]]
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/timer.py", line 223, in run
self._callback(TimerEvent(last_expected, last_real, current_expected, current_real, last_duration))
File "/home/husky/catkin_ws/src/huskybot_ekf_v2/src/meas_update.py", line 194, in meas_update_step
thisJ = temp7 * math.exp(temp6)
似乎在最后一行thisJ =temp7* math.exp(temp6)
上,我不能接受temp6的指数.有人知道原因吗?
It seems like on the very last line thisJ =temp7* math.exp(temp6)
, that I can't take the exponent of temp6. Does anyone know the cause?
for i in range(0,len(line_features)-1):
for k in range(0, len(m)):
mkx = m[k][0]
mky = m[k][1]
posex = predicted_pose.x
posey = predicted_pose.y
poseth = predicted_pose.theta
distx = math.pow((mkx - posex), 2);
disty = math.pow((mky - posey), 2);
q = distx + disty
angle = math.atan2(mky-posey, mkx-posex) - poseth
expected_meas = numpy.array([[math.sqrt(q)],
[angle],
[0]
])
H = numpy.array([[-(mkx-posex)/math.sqrt(q), -(mky-posey)/math.sqrt(q) , 0],
[(mky-posey)/q, -(mkx-posex)/q, -1],
[0 , 0, 0]])
Qt = 0.5
innovation_cov = H*predicted_cov*numpy.transpose(H)+Qt
innovation = ave_meas_dist - expected_meas
dd = [[2]]
#dd = array[0]
#print 0.5*numpy.array(dd)
temp5 = -1/2 * numpy.dot(numpy.transpose(innovation), numpy.linalg.inv(innovation_cov))
temp6 = numpy.dot(temp5, innovation)
print math.sqrt(numpy.linalg.det(2*math.pi*innovation_cov)) * numpy.array(dd)
temp7 = math.sqrt(numpy.linalg.det(2*math.pi*innovation_cov))
thisJ =temp7* math.exp(temp6)
推荐答案
我试图重现该错误.我得到的错误是:
I tried to reproduce the error. The error I got is:
TypeError: must be real number, not list
如果错误相同,则可以通过执行以下操作解决该问题:
If the error is same then it was solved by doing this:
thisJ = temp7 * math.exp(temp6[0][0])
因为temp6类型是list
包含list
包含array
对象.如果我错了,请纠正我.
Because temp6 type is list
containing list
containing array
object. Please do correct me if I am wrong.
这篇关于TypeError:对象数组可能是自引用的python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文