Design of dynamic periodic adaptive learning controller for long-term cogging effect compensation