You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was playing around with your ur5_ctrl.py example and I am running into this funny error where I can run the code from outside an IDE like so:
[90] → python ur5_ctrl.py
Connected to remote API server
Generating transform function for EE
connection closed...
Traceback (most recent call last):
File "ur5_ctrl.py", line 364, in <module>
ax.plot([track_hand[0, 0]],
IndexError: too many indices for array
If I then run it inside and IDE like sublime or a notebook, I get the same error above once, but then if I try to run it again I get this rather worrying chunk of stuff:
Connected to remote API server
Generating transform function for EE
connection closed...
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-d8786628c253> in <module>()
149 # calculate position of the end-effector
150 # derived in the ur5 calc_TnJ class
--> 151 xyz = robot_config.Tx('EE', q)
152
153 # calculate the Jacobian for the end effector
/Users/nd/cloud/control/src/vrep/ur5.pyc in Tx(self, name, q, x)
213 # both have their own transform calculated with this check
214 self._Tx[name] = self._calc_Tx(
--> 215 name, x=x)
216 parameters = tuple(q) + tuple(x)
217 return self._Tx[name](*parameters)[:-1].flatten()
/Users/nd/cloud/control/src/vrep/ur5.pyc in _calc_Tx(self, name, x, lambdify)
384 if (os.path.isfile('%s/%s.T' % (self.config_folder, name))):
385 Tx = cloudpickle.load(open('%s/%s.T' %
--> 386 (self.config_folder, name), 'rb'))
387 else:
388 T = self._calc_T(name=name)
/Users/nd/anaconda2/lib/python2.7/pickle.pyc in load(file)
1382
1383 def load(file):
-> 1384 return Unpickler(file).load()
1385
1386 def loads(str):
/Users/nd/anaconda2/lib/python2.7/pickle.pyc in load(self)
862 while 1:
863 key = read(1)
--> 864 dispatch[key](self)
865 except _Stop, stopinst:
866 return stopinst.value
/Users/nd/anaconda2/lib/python2.7/pickle.pyc in load_reduce(self)
1137 args = stack.pop()
1138 func = stack[-1]
-> 1139 value = func(*args)
1140 stack[-1] = value
1141 dispatch[REDUCE] = load_reduce
/Users/nd/anaconda2/lib/python2.7/site-packages/sympy/core/numbers.pyc in __new__(cls, num, prec)
823 else:
824 _mpf_ = mpmath.mpf(
--> 825 S.NegativeOne**num[0]*num[1]*2**num[2])._mpf_
826 elif isinstance(num, Float):
827 _mpf_ = num._mpf_
TypeError: can't multiply sequence by non-int of type 'float'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-d19e02c244b8> in <module>()
----> 1 Tx = cloudpickle.load((open('%s/%s.T' % ('ur5_config', 'EE'), 'rb')))
/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.pyc in load(file)
1382
1383 def load(file):
-> 1384 return Unpickler(file).load()
1385
1386 def loads(str):
/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.pyc in load(self)
862 while 1:
863 key = read(1)
--> 864 dispatch[key](self)
865 except _Stop, stopinst:
866 return stopinst.value
/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.pyc in load_reduce(self)
1137 args = stack.pop()
1138 func = stack[-1]
-> 1139 value = func(*args)
1140 stack[-1] = value
1141 dispatch[REDUCE] = load_reduce
/usr/local/lib/python2.7/site-packages/sympy/core/numbers.pyc in __new__(cls, num, prec)
823 else:
824 _mpf_ = mpmath.mpf(
--> 825 S.NegativeOne**num[0]*num[1]*2**num[2])._mpf_
826 elif isinstance(num, Float):
827 _mpf_ = num._mpf_
TypeError: can't multiply sequence by non-int of type 'float'
I think, possibly, maybe, there is an issue with the files in ur5_config/ - surely I should be able to use the ones on this repo and not process them myself (it takes a few hours as you have noted :)
The text was updated successfully, but these errors were encountered:
Ah interesting, I'll try to check this out asap! Thanks for posting! In the meantime, I've removed the simplify calls from the code, which should drop the generation time to under a minute, so at least it shouldn't be a horrible experience to regenerate things!
Hi Travis,
Excellent blog as always.
I was playing around with your
ur5_ctrl.py
example and I am running into this funny error where I can run the code from outside an IDE like so:If I then run it inside and IDE like sublime or a notebook, I get the same error above once, but then if I try to run it again I get this rather worrying chunk of stuff:
Do you know why it might be doing that?
EDIT:
The issue seems to be with
cloudpickle
If I do
Tx = cloudpickle.load((open('%s/%s.T' % ('ur5_config', 'EE'), 'rb')))
I get
I think, possibly, maybe, there is an issue with the files in
ur5_config/
- surely I should be able to use the ones on this repo and not process them myself (it takes a few hours as you have noted :)The text was updated successfully, but these errors were encountered: