Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'PoseVector' object is not iterable when using movel #123

Open
n-conq opened this issue Apr 10, 2024 · 3 comments
Open

'PoseVector' object is not iterable when using movel #123

n-conq opened this issue Apr 10, 2024 · 3 comments

Comments

@n-conq
Copy link

n-conq commented Apr 10, 2024

When using movel, I always get a not iterable-error. Has anyone had a similar problem?

from urx import Robot
from time import sleep

rob = Robot("169.254.1.2")

#tool center point (tcp) in (x,y,z,rx,ry,rz)
rob.set_tcp((0, 0, 0.1, 0, 0, 0))
#payload in (kg, (center of gravity x, cog y, cog z))
rob.set_payload(0.85, (0, 0, 0.1))
sleep(0.5)
print("Current tool pose is: ",  rob.getl())

x, y, z = 0, 0, -0.1
rx, ry, rz = 0, 0, 0
a, v = 0.1, 0.1
rob.movel((x, y, z, rx, ry, rz), a, v, relative= True, wait=True)

sleep(0.5)

exit()

Current tool pose is: [0.4542542097095572, -0.15457210675762453, -0.027859574520904748, 1.5646499092156947, -2.4645236374310726, -0.6841622895865939]
Traceback (most recent call last):
File "c:\Users\Sophie\OneDrive\Desktop\Promotion\CryoTec\UR5_control", line 18, in
rob.movel((x, y, z, rx, ry, rz), a, v, relative= True, wait=True)
File "C:\Users\Sophie\AppData\Local\Programs\Python\Python312\Lib\site-packages\urx\urrobot.py", line 284, in movel
return self.movex("movel", tpose, acc=acc, vel=vel, wait=wait, relative=relative, threshold=threshold)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Sophie\AppData\Local\Programs\Python\Python312\Lib\site-packages\urx\robot.py", line 178, in movex
return self.add_pose_base(t, acc, vel, wait=wait, command=command, threshold=threshold)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Sophie\AppData\Local\Programs\Python\Python312\Lib\site-packages\urx\robot.py", line 114, in add_pose_base
return self.set_pose(trans * pose, acc, vel, wait=wait, command=command, threshold=threshold)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Sophie\AppData\Local\Programs\Python\Python312\Lib\site-packages\urx\robot.py", line 105, in set_pose
pose = URRobot.movex(self, command, t.pose_vector, acc=acc, vel=vel, wait=wait, threshold=threshold)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Sophie\AppData\Local\Programs\Python\Python312\Lib\site-packages\urx\urrobot.py", line 313, in movex
prog = self._format_move(command, tpose, acc, vel, prefix="p")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Sophie\AppData\Local\Programs\Python\Python312\Lib\site-packages\urx\urrobot.py", line 299, in _format_move
tpose = [round(i, self.max_float_length) for i in tpose]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'PoseVector' object is not iterable

@flonzu
Copy link

flonzu commented Apr 12, 2024

I had the same error. I was able to fix it with #117

@1538933805
Copy link

Maybe math3d is too new, try 3.3.x or 3.4.x? I had the same problem befor I uninstalled math3d==4.0.0 and then installed math3d==3.3.0

@lemio
Copy link

lemio commented Jun 3, 2024

I solved it by doing this, but some features are not available in 0.8.2

In the meantime, downgrading to version 0.8.2 works fine if you change this line to False:

MATH3D = False

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants