@@ -1300,8 +1300,19 @@ def _kernel_inverse_kinematics(
13001300 for i_sample in range (max_samples ):
13011301 for _ in range (max_solver_iters ):
13021302 # run FK to update link states using current q
1303- self ._solver ._func_forward_kinematics_entity (self ._idx_in_solver , i_b )
1304-
1303+ self ._solver ._func_forward_kinematics_entity (
1304+ self ._idx_in_solver ,
1305+ i_b ,
1306+ self ._solver .links_state ,
1307+ self ._solver .links_info ,
1308+ self ._solver .joints_state ,
1309+ self ._solver .joints_info ,
1310+ self ._solver .dofs_state ,
1311+ self ._solver .dofs_info ,
1312+ self ._solver .entities_info ,
1313+ self ._solver ._rigid_global_info ,
1314+ self ._solver ._static_rigid_sim_config ,
1315+ )
13051316 # compute error
13061317 solved = True
13071318 for i_ee in range (n_links ):
@@ -1386,7 +1397,19 @@ def _kernel_inverse_kinematics(
13861397
13871398 if not solved :
13881399 # re-compute final error if exited not due to solved
1389- self ._solver ._func_forward_kinematics_entity (self ._idx_in_solver , i_b )
1400+ self ._solver ._func_forward_kinematics_entity (
1401+ self ._idx_in_solver ,
1402+ i_b ,
1403+ self ._solver .links_state ,
1404+ self ._solver .links_info ,
1405+ self ._solver .joints_state ,
1406+ self ._solver .joints_info ,
1407+ self ._solver .dofs_state ,
1408+ self ._solver .dofs_info ,
1409+ self ._solver .entities_info ,
1410+ self ._solver ._rigid_global_info ,
1411+ self ._solver ._static_rigid_sim_config ,
1412+ )
13901413 solved = True
13911414 for i_ee in range (n_links ):
13921415 i_l_ee = links_idx [i_ee ]
@@ -1480,7 +1503,19 @@ def _kernel_inverse_kinematics(
14801503 # restore original qpos and link state
14811504 for i_q in range (self .n_qs ):
14821505 self ._solver .qpos [i_q + self ._q_start , i_b ] = self ._IK_qpos_orig [i_q , i_b ]
1483- self ._solver ._func_forward_kinematics_entity (self ._idx_in_solver , i_b )
1506+ self ._solver ._func_forward_kinematics_entity (
1507+ self ._idx_in_solver ,
1508+ i_b ,
1509+ self ._solver .links_state ,
1510+ self ._solver .links_info ,
1511+ self ._solver .joints_state ,
1512+ self ._solver .joints_info ,
1513+ self ._solver .dofs_state ,
1514+ self ._solver .dofs_info ,
1515+ self ._solver .entities_info ,
1516+ self ._solver ._rigid_global_info ,
1517+ self ._solver ._static_rigid_sim_config ,
1518+ )
14841519
14851520 @gs .assert_built
14861521 def forward_kinematics (self , qpos , qs_idx_local = None , links_idx_local = None , envs_idx = None ):
@@ -1549,7 +1584,19 @@ def _kernel_forward_kinematics(
15491584 # set new qpos
15501585 self ._solver .qpos [qs_idx [i_q_ ], envs_idx [i_b_ ]] = qpos [i_b_ , i_q_ ]
15511586 # run FK
1552- self ._solver ._func_forward_kinematics_entity (self ._idx_in_solver , envs_idx [i_b_ ])
1587+ self ._solver ._func_forward_kinematics_entity (
1588+ self ._idx_in_solver ,
1589+ envs_idx [i_b_ ],
1590+ self ._solver .links_state ,
1591+ self ._solver .links_info ,
1592+ self ._solver .joints_state ,
1593+ self ._solver .joints_info ,
1594+ self ._solver .dofs_state ,
1595+ self ._solver .dofs_info ,
1596+ self ._solver .entities_info ,
1597+ self ._solver ._rigid_global_info ,
1598+ self ._solver ._static_rigid_sim_config ,
1599+ )
15531600
15541601 ti .loop_config (serialize = self ._solver ._para_level < gs .PARA_LEVEL .PARTIAL )
15551602 for i_l_ , i_b_ in ti .ndrange (links_idx .shape [0 ], envs_idx .shape [0 ]):
@@ -1563,7 +1610,19 @@ def _kernel_forward_kinematics(
15631610 # restore original qpos
15641611 self ._solver .qpos [qs_idx [i_q_ ], envs_idx [i_b_ ]] = self ._IK_qpos_orig [qs_idx [i_q_ ], envs_idx [i_b_ ]]
15651612 # run FK
1566- self ._solver ._func_forward_kinematics_entity (self ._idx_in_solver , envs_idx [i_b_ ])
1613+ self ._solver ._func_forward_kinematics_entity (
1614+ self ._idx_in_solver ,
1615+ envs_idx [i_b_ ],
1616+ self ._solver .links_state ,
1617+ self ._solver .links_info ,
1618+ self ._solver .joints_state ,
1619+ self ._solver .joints_info ,
1620+ self ._solver .dofs_state ,
1621+ self ._solver .dofs_info ,
1622+ self ._solver .entities_info ,
1623+ self ._solver ._rigid_global_info ,
1624+ self ._solver ._static_rigid_sim_config ,
1625+ )
15671626
15681627 # ------------------------------------------------------------------------------------
15691628 # --------------------------------- motion planing -----------------------------------
0 commit comments