Проектирование контроллера MPC на PythonPython

Программы на Python
Ответить
Anonymous
 Проектирование контроллера MPC на Python

Сообщение Anonymous »

Я пытаюсь разработать контроллер MPC на Python, но не знаю, с чего начать. Я смотрел видео на YouTube, но еще больше запутался. По сути, это моделируемый автономный автомобиль. Я закончил для него ПИД-регулятор, но еще не запускал его на симуляторе:
def PID(self, Kp, Ki, Kd, reference_velocity, vehicle_velocity, current_time, last_update_time):

errors = []

Kp = 0
Ki = 0
Kd = 0

error = reference_velocity - vehicle_velocity
delta_time = current_time - last_update_time
last_error = errors[-1]

proportional = Kp * error
integral = Ki * error
derivative = Kd * ((error - last_error) / (delta_time))

errors.append(error)

return proportional + integral + derivative

Но я не знаю, с чего начать с MPC. В моей функции инициализации у меня есть следующие значения:
def __init__(self, waypoints):
self.vars = cutils.CUtils()
self._current_x = 0
self._current_y = 0
self._current_yaw = 0
self._current_speed = 0
self._desired_speed = 0
self._current_frame = 0
self._current_timestamp = 0
self._start_control_loop = False
self._set_throttle = 0
self._set_brake = 0
self._set_steer = 0
self._waypoints = waypoints
self._conv_rad_to_steer = 180.0 / 70.0 / np.pi
self._pi = np.pi
self._2pi = 2.0 * np.pi

У меня также есть следующие определения функций. Я опущу тела функций. Я знаю, что мне придется использовать их в MPC, но именно по этому поводу мне нужны рекомендации.
def update_values(self, x, y, yaw, speed, timestamp, frame):
def update_desired_speed(self):
def update_waypoints(self, new_waypoints):
def get_commands(self):
def set_throttle(self, input_throttle):
def set_steer(self, input_steer_in_rad):
def set_brake(self, input_brake):
def update_controls(self):


Подробнее здесь: https://stackoverflow.com/questions/625 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»