Self-tuning PID Controlller with Variable Parameters Based on Particle Swarm Optimization