You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I checked the linear_interpolator, I was confused about some code snippets. The following examples are all based on the osc_position controller. Please correct me if I miss something. Thanks in advance for checking this issue!
The interpolation goal point is updated only after receiving a new policy signal, i.e., policy_step is True. However, when set_goal is called for the first time, the start point is set equal to self.goal, which is a zero numpy array, even the current position of the end-effector is not in the original point.
Then, on each acquisition of the interpolation target with get_interpolated_goal, x is assigned through self.start and is equal to zero. Also, self.start will not be updated until policy_step is reset to True.
The above did not affect the arm movement significantly since the step size is small. However, I think this can lead to a miscalculation of the position error and thus a deviation in the torque calculation. Is that right?
control_freq and policy_freq:
control_freq and policy_freq define how the policy is executed. However, I found them being misused on some occasions, e.g.,
According to the code and document, interpolation steps can be adjusted by ramp_ratio. Is this related to the adjustment of the control frequency? I found the controller is called only once in this loop.
Hi Robosuite team!
When I checked the
linear_interpolator
, I was confused about some code snippets. The following examples are all based on theosc_position
controller. Please correct me if I miss something. Thanks in advance for checking this issue!robosuite/robosuite/environments/base.py
Lines 387 to 397 in 48c1b8a
The interpolation goal point is updated only after receiving a new policy signal, i.e.,
policy_step
isTrue
. However, whenset_goal
is called for the first time, the start point is set equal toself.goal
, which is a zero numpy array, even the current position of the end-effector is not in the original point.robosuite/robosuite/controllers/interpolators/linear_interpolator.py
Lines 96 to 97 in 48c1b8a
Then, on each acquisition of the interpolation target with
get_interpolated_goal
,x
is assigned throughself.start
and is equal to zero. Also,self.start
will not be updated untilpolicy_step
is reset to True.robosuite/robosuite/controllers/interpolators/linear_interpolator.py
Lines 112 to 130 in 48c1b8a
The above did not affect the arm movement significantly since the step size is small. However, I think this can lead to a miscalculation of the position error and thus a deviation in the torque calculation. Is that right?
control_freq
andpolicy_freq
:control_freq
andpolicy_freq
define how the policy is executed. However, I found them being misused on some occasions, e.g.,robosuite/robosuite/robots/single_arm.py
Line 131 in 48c1b8a
robosuite/robosuite/controllers/controller_factory.py
Lines 113 to 120 in 48c1b8a
According to the code and document, interpolation steps can be adjusted by
ramp_ratio
. Is this related to the adjustment of the control frequency? I found the controller is called only once in this loop.robosuite/robosuite/environments/base.py
Lines 387 to 397 in 48c1b8a
The text was updated successfully, but these errors were encountered: