@@ -25,6 +25,7 @@ def __init__(self, arm: 'Arm', # type: ignore
2525 self ._drawing_handle = None
2626 self ._path_done = False
2727 self ._num_joints = arm .get_joint_count ()
28+ self ._joint_position_action = None
2829
2930 def __len__ (self ):
3031 return len (self ._path_points ) // self ._num_joints
@@ -102,6 +103,9 @@ def clear_visualization(self) -> None:
102103 if self ._drawing_handle is not None :
103104 sim .simAddDrawingObjectItem (self ._drawing_handle , None )
104105
106+ def get_executed_joint_position_action (self ) -> np .ndarray :
107+ return self ._joint_position_action
108+
105109 def _get_rml_handle (self ) -> int :
106110 dt = sim .simGetSimulationTimeStep ()
107111 limits = np .array (self ._arm .get_joint_upper_velocity_limits ())
@@ -156,6 +160,7 @@ def _get_rml_handle(self) -> int:
156160 return rml_handle
157161
158162 def _step_motion (self ) -> int :
163+ self ._joint_position_action = None
159164 dt = sim .simGetSimulationTimeStep ()
160165 lengths = self ._get_path_point_lengths ()
161166 state , posVelAccel = sim .simRMLStep (self ._rml_handle , dt , 1 )
@@ -173,6 +178,7 @@ def _step_motion(self) -> int:
173178 offset :offset + len (self ._arm .joints )]
174179 dx = p2 - p1
175180 qs = p1 + dx * t
181+ self ._joint_position_action = qs
176182 self ._arm .set_joint_target_positions (qs )
177183 break
178184 if state == 1 :
0 commit comments