-
Notifications
You must be signed in to change notification settings - Fork 532
Description
I am new to roboticstoolbox and I am working on defining the UR10e robot model in ETS and DH format. As I dont have standard moedl to validate the results, I redescribed ETS of UR10 in a new file and compared with the standard model. For computing forward kinematics the ETS model is working fine.
` E0 = rtb.ET.Rz(0)
# Shoulder pan to Base
E1 = rtb.ET.tz(0.1273)
E2 = rtb.ET.Rz()
# Shoulder link to shoulder pan
E3 = rtb.ET.ty(0.220941) * rtb.ET.Ry(np.pi / 2)
E4 = rtb.ET.Ry()
# Elbow to shoulder link
E5 = rtb.ET.ty(-0.1719) * rtb.ET.tz(0.612)
E6 = rtb.ET.Ry()
# Wrist 1 to Elbow
E7 = rtb.ET.tz(0.5723) * rtb.ET.Ry(np.pi / 2)
E8 = rtb.ET.Ry()
# Wrist 2 to Wrist 1
E9 = rtb.ET.ty(0.1149)
E10 = rtb.ET.Rz()
# Wrist 3 to Wrist 2
E11 = rtb.ET.tz(0.1157)
E12 = rtb.ET.Ry()
E13 = rtb.ET.ty(0.0922) * rtb.ET.Rz(np.pi / 2)
`
And when I tried with computing inverse kinematics (for UR10), the solution is not correct with the provided ETS model. I would like to know, if we can work with ETS definitions for computing inverse kinematics I got the following error:
AttributeError: 'ETS' object has no attribute 'ikine_LM'
I tried with DH representation of the same robot and used same algorithm to compute ik and it worked. The output is still not correct as it prints "success=False" and the max iterations of 100 is reached. As I understand from other posts, this method will provide only the first outcome and not the all possible ik outputs.
I have following questions:
- When I printed the number of ETS' from standard UR10 model 'rtb.models.UR10().ets().m', I am getting the value to be 14. And to my model 18. I traced the way the standard UR10 model (rtb.models.UR10()) and wrote the ETS definition for my model. But the result is the same.
- Also I couldnt use ETS model for computing ik. I used DH model. But the results on forward kinematics between DH model (I defined) and standard models (rtb.models.UR10()) are differing.
- On the new defined UR10 ETS model, I am unable to use the method ik_lm_chan() or ik_lm_wampler() for computing the inverse kinematics. And with DH model, this method is giving output in range of e-270/e-310. Is there any specific way/format to describe this model for using this method, so that inverse kinematics function ik_lm_chan() or ik_lm_wampler() will work.
- And how to use URDF_read for a custom URDF model of a robot. By default, it searches for URDF file in "Lib\site-packages\rtbdata\xacro\". I want to read URDF from different folder.
I have attached all the different format of the UR10 description in this post. Other than the representation with DH (test_DH.py) computing the inverse kinematics with other formats doesnt give correct solution.
test_e_ur10.txt
test_ur10.txt
test_ur10_new_ets.txt
test_DH.txt