Adaptive robust synchronization of chaotic systems using particle swarm optimization based controller