Closed yuchen-x closed 3 years ago
I noticed that there was a comment saying the free joint is for a circular joint. Fetch arm has three circular joints "upperarm_roll_joint", "forearm_roll_joint" and "wrist_roll_joint", so I guess I can set all of them as free joints. And, finally I got ik solver work!
Hi,
I'd like to build an ikFast module for a Fetch robot and use it in pybullet env.
Based on what you have for the franka_panda robot:
1) I created the ikfast solver for my fetch's arm via "ikmodel.autogenerate()" and get the files "ikfast.h, ikfast_fetch_arm.cpp, ikfast_fetch_arm.so"; 2) I copied the python bindings stuff (line 12835 - 12995) in "ikfast_panda_arm.cpp" into my "ikfast_fetch_arm.cpp"; 3) I also copied all relevant files into my workspace; 4) After running "compile_ikfast", it shows "ikfast module ikfast_fetch_arm imported successful"
I noticed you set a free_joint for panda in ik.py, I was wondering what this free_joint means?
If I leave it as an empty list, I got an error saying "get_ik function takes exactly 3 arguments (2 given)" for line 26 shown below:
If I set the free_joint as "wrist_roll_joint", I always get none solution. Is this because I didn't set correct free_joints? if so do you have any idea what the correct joint to be set? Thank you very much!
I also attached the output of dump_body(robot) below: