I have been testing two scripts that use the Franka.
One is from the Isaac Gym examples, scripts/franka_osc.py
. This one has the following lines of code:
# Get inital hand pose
hand_handle = gym.find_actor_rigid_body_handle(env, franka_handle, "panda_hand")
hand_pose = gym.get_rigid_transform(env, hand_handle)
init_pos_list.append([hand_pose.p.x, hand_pose.p.y, hand_pose.p.z])
init_orn_list.append([hand_pose.r.x, hand_pose.r.y, hand_pose.r.z, hand_pose.r.w])
(The code is not on GitHub and is from the Isaac Gym download)
The other is from the Isaac Gym Env repo, for FrankaCabinet
. This one also needs to query the hand pose of the franka. However, what is confusing to me is that is uses panda_link7
instead of panda_hand
as shown in these lines:
I was confused about this so I went and ran python franka_osc.py
in the examples script and adjusted the viewer as follows:
It shows that the panda_hand
is yellow,and the panda_link7
is blue. This is confirmed from the URDF which shows that there is a joint directly connecting those two links. But, interestingly, it seems like when I show the axes, the axes seem to be showing for the parent link instead of the current one. This is more easily visible with the axes for panda_link7
since the axes seems to be centered actually at panda_link6
for some reason?
Thus I am wondering:
-
Why does a discrepancy exist in the use of the link for determining the “hand pose” of the Franka in Isaac Gym vs Isaac Gym Envs?
-
Why does the axes seem to show that the axes are centered at the parent links? Is this relevant to the first issue? (It might not be but it is a question that came up when I was investigating this.)