Open tylerlum opened 6 months ago
This might also need an argument to specify which links to omit.
Instead if you want to only plan for end-effector, you should load the robot yaml file and then set robot_dict['robot_cfg']['kinematics']['link_names']=None
.
Is there a situation where changing the robot_dict will not work?
I see. I believe that should work. Are you suggesting that we don't add the use_link_poses
argument, and just always pass in link_poses
to all plan_*
? And then the user can control if they want to actually use link_poses
by modifying robot_dict['robot_cfg']['kinematics']['link_names']
(eg. set it to None
or ["palm", "fingertip"]
or leave as is)?
I think this suggestion works, but it would be very helpful to have 1 tutorial page and/or getting started example that shows how to use link_poses
and shows exactly how link_names
is connected to link_poses
. If it's not documented, then the dict modifications you describe will be very non-obvious and could result in frustrating "break cuda graph" errors
Related to Issue #264. View that for more detail. This is one suggested solution, but it is a breaking change because it changes the default behavior of warmup for certain cases. However, there is certainly a need for this type of change so that warmup works when we have link_poses to use
At a high level,
motion_gen.warmup
results in breaking cuda graph when usinglink_poses
when planning withplan_batch