Question: 2 b ) Closed - Loop Control: Pure Pursuit Algorithm One of the most powerful ideas in robotic control is feedback. In this next part,

2b) Closed-Loop Control: Pure Pursuit Algorithm
One of the most powerful ideas in robotic control is feedback. In this next part, we will implement a controller that measures the system's state
at each step and uses that measurement to compute an action. This way, if the system ended up in a slightly different state than was expected
from the simple model, the measurement will contain information about this discrepancy. Feedback control is often a great way to compensate
for imperfect knowledge of the system you are working with.
Your job is to implement the PurePursuitController class with a get_action method that takes in the current obs and the env.goal
coordinate (expressed in the global frame), and outputs one action =[v,]. This get_action method will be called at each step, so there is
no need to calculate a whole sequence of actions. The controller that you implement should be capable of driving the system to the goal.
[] class PurePursuitController:
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])
This validation function may come in handy for debugging/testing your controller in some random scenarios
( def validation(controller, motion_model=Unicycle, sensor_model=StateFeedbackWrapper, plot=False, num_runs=100, max_num_steps_per_rur
success_per_run = np. empty num_runs,
 2b) Closed-Loop Control: Pure Pursuit Algorithm One of the most powerful

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!