我有一个简单的伺服系统,该系统使用在MCU中实现的PID控制器执行反馈。但是,系统的属性会动态更改,因此永远无法在所有情况下调整PID参数。
我的机器人是一个轻巧的手臂,带有可向后驱动的电动机,类似于此机器人:
手臂执行多项任务,包括捡起重物,在桌子上推拉物体。这些任务中的每一个都需要不同的PID调整参数,而这些参数我很难预测。
我真正想要的是一些高级功能,该功能可以根据手臂的行为谨慎地调整参数。例如,如果注意到手臂在摆动,则可能会减小P并增加D。或者如果注意到手臂没有达到目标,则可能会增加I。
是否存在这样的算法?即使算法没有立即完善参数,我也会很高兴。例如,在将参数调整到新值之前,手臂可能会摆动几次。