? 2c) Extra Credit: Make your algorithm even better
Prof. Everett's simple pure pursuit implementation used an average number of steps of 79.44 on the validation set. You can earn 1 extra credit
point if you upload a second implementation to Gradescope achieves below 80 steps on average (while also achieving 100% success). You can
earn additional extra credit for having the best implementation in the class according to the Gradescope leaderboard.
You can try different strategies than just pure pursuit. Whichever control strategy you end up using, please use the BetterController class
below for this part, which has the same class/function signatures as before.
Note: there will be a test suite that is similar but not identical to the validation method above to ensure your algorithm doesn't overfit to specific
cases.
[] class BetterController:
def __init__(self, L=3.):
"""Store any hyperparameters here."""
self.L = L
def get_action(self, obs: np.ndarray, goal: np.ndarray) -> np.ndarray:
"""Your implementation goes here"""
raise NotImplementedError()
return np.array([linear_speed, angular_speed])