feat: 日常更新

This commit is contained in:
bmy
2024-06-09 21:54:22 +08:00
parent 188127b419
commit 9f4ffdbe7e
6 changed files with 161 additions and 87 deletions

View File

@@ -11,9 +11,9 @@ class PidWrap:
def set_target(self, target):
self.pid_t.setpoint = target
def set(self, kp, ki, kd):
self.pid_t.kp = kp
self.pid_t.ki = ki
self.pid_t.kd = kd
self.pid_t.Kp = kp
self.pid_t.Ki = ki
self.pid_t.Kd = kd
def get(self, val_in):
return self.pid_t(val_in)
@@ -33,7 +33,7 @@ class main_task():
self.by_cmd = by_cmd
# 转向 pid
self.pid1 = PidWrap(0.7, 0, 0,output_limits=40)
self.pid1 = PidWrap(1, 0, 0, output_limits=40)
self.pid1.set_target(0)
def parse_data(self,data):
@@ -69,26 +69,33 @@ class main_task():
self.y = 0
error_abs = abs(self.lane_error)
if error_abs < 10:
self.pid1.set(0.7, 0, 0)
speed = 13
elif error_abs > 45:
speed = 6
self.pid1.set(1.8, 0, 0)
elif error_abs > 35:
speed = 8
self.pid1.set(1.5, 0, 0)
elif error_abs > 25:
if error_abs > 45:
speed = 10
self.pid1.set(1, 0, 0)
# pid_out = self.lane_error * 1.1
# self.pid1.set(1, 0, 0)
elif error_abs > 35:
speed = 10
# pid_out = self.lane_error * 1
# self.pid1.set(1, 0, 0)
elif error_abs > 25:
speed = 13
# pid_out = self.lane_error * 1
# self.pid1.set(1.8, 0, 0)
elif error_abs > 15:
speed = 13
# pid_out = self.lane_error * 0.8
# self.pid1.set(1.8, 0, 0)
else:
self.pid1.set(0.8, 0, 0)
speed = 11
speed = 15
# pid_out = self.lane_error * 0.4
# self.pid1.set(0.7, 0, 0)
if utils.task_speed != 0:
speed = utils.task_speed
self.by_cmd.send_speed_x(speed)
# pid_out = self.pid1.get(self.lane_error*0.65)
pid_out = self.pid1.get(self.lane_error*0.7)
pid_out = self.pid1.get(self.lane_error)
# pid_out = -pid_out
# logger.debug(f"err={self.lane_error}, pwm out={pid_out}")
self.by_cmd.send_speed_omega(pid_out)
self.socket.send_string("")