Is it possible to not set free joints for Translation3D?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Is it possible to not set free joints for Translation3D?

Background: I am using a 6DOF arm and have Transform6D ikfast working correctly. 

I have two questions, one theoretical and one technical.

As far as I'm aware, the reason Translation3D needs to have 3 free joints out of 6 is because it is a 3DOF problem.  However, if I lock the last 3 joints when doing the Translation3D IK calculations, this limits the space where the EE can reach.  There is also the case where if joint 0,1 or 2 are constrained due to an obstacle, the EE would still be able to reach places if the last 3 joints were not locked.

If I want to find all possible positions the EE can reach do I have to generate IK solutions for all 20 combinations of joints?   (I have tried some combinations, and they fail to produce valid solutions)

I have generated a Translation3D cpp file and use the same code to call it as the Transform6D function. It does not generate any solutions.

python `openrave-config --python-dir`/openravepy/_openravepy_/ --robot=/mnt/hgfs/D/Dropbox/robotics/CAD/Arm/arm.dae --iktype=translation3d --baselink=0 --eelink=6 --freeindex=3 --freeindex=4 --freeindex=5

When using Transform6D I set free = 0,1,2,3,4,5 (This works as expected)
When using Translation3D i have tried free = 0,1,2, free = 3,4,5 and free = 0,1,2,3,4,5.  None of these produce a solution.  I've read the threads about Translation3D and the documentation and can't see where I'm going wrong. 


"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
Openrave-users mailing list
[hidden email]