Skip to content

Commit 8c785e0

Browse files
committed
Small fix
1 parent 5941954 commit 8c785e0

2 files changed

Lines changed: 4 additions & 43 deletions

File tree

biped_walking_controller/foot.py

Lines changed: 4 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,11 @@ def __call__(self, p_start: np.ndarray, p_end: np.ndarray, s: np.ndarray) -> np.
175175
np.ndarray
176176
Sampled path of shape ``(N, 3)``.
177177
"""
178-
path = np.zeros(3)
178+
path = np.zeros((len(s), 3))
179179
theta = s * math.pi
180-
path[2] = np.sin(theta) * self.foot_height
181-
path[1] = p_start[1]
182-
path[0] = (1.0 - s) * p_start[0] + s * p_end[0]
180+
path[:, 2] = np.sin(theta) * self.foot_height
181+
path[:, 1] = p_start[1]
182+
path[:, 0] = (1.0 - s) * p_start[0] + s * p_end[0]
183183
return path
184184

185185

@@ -455,48 +455,11 @@ def get_active_polygon(t: float, steps_pose, t_ss: float, t_ds: float, foot_shap
455455
return compute_double_support_polygon(steps_pose[i], steps_pose[i + 1], foot_shape)
456456

457457

458-
def min_jerk_scalar(s: float) -> float:
459-
"""
460-
Minimum-jerk scalar polynomial on [0, 1].
461-
"""
462-
s2 = s * s
463-
s3 = s2 * s
464-
return 10.0 * s3 * s2 - 15.0 * s2 * s2 + 6.0 * s3
465-
466-
467-
def swing_foot_min_jerk(
468-
s: float,
469-
p0: np.ndarray,
470-
p1: np.ndarray,
471-
swing_height: float,
472-
) -> np.ndarray:
473-
"""
474-
Minimum-jerk 3D swing trajectory between p0 and p1 with vertical lift.
475-
476-
s in [0, 1]: normalized phase of the swing.
477-
"""
478-
s = float(np.clip(s, 0.0, 1.0))
479-
# Horizontal: simple min-jerk blend
480-
alpha = min_jerk_scalar(s)
481-
pos_xy = (1.0 - alpha) * p0[:2] + alpha * p1[:2]
482-
483-
# Vertical: lift up then back down via a simple "bump"
484-
# z(s) = (1 - alpha)*z0 + alpha*z1 + h * 4*s*(1-s)
485-
bump = 4.0 * s * (1.0 - s)
486-
z = (1.0 - alpha) * p0[2] + alpha * p1[2] + swing_height * bump
487-
488-
out = np.empty(3)
489-
out[0:2] = pos_xy
490-
out[2] = z
491-
return out
492-
493-
494458
def compute_swing_foot_pose(
495459
t_state: float,
496460
params: WalkingStateMachineParams,
497461
step_start: np.ndarray,
498462
step_target: np.ndarray,
499-
swing_height: float,
500463
touchdown_extension_vel: float,
501464
path_generator,
502465
) -> np.ndarray:

examples/example_5_walking_controller.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,6 @@ def main():
273273
params=params,
274274
step_start=lf_start,
275275
step_target=lf_target,
276-
swing_height=max_height_foot,
277276
touchdown_extension_vel=touchdown_vel,
278277
path_generator=foot_path_generator,
279278
)
@@ -304,7 +303,6 @@ def main():
304303
params=params,
305304
step_start=rf_start,
306305
step_target=rf_target,
307-
swing_height=max_height_foot,
308306
touchdown_extension_vel=touchdown_vel,
309307
path_generator=foot_path_generator,
310308
)

0 commit comments

Comments
 (0)