Intelligent control of an assembly robot using vision is presented. In assembling, the task is planned by the task planner, and the corresponding robot trajectory is planned as the reference trajectory. The robot should also adapt to environmental variation. To coordinate the planner and robot, a virtual internal model is used to modify the planned reference trajectory according to the environmental variation. The use of a force and vision sensor is proposed in the virtual internal model for error correction in assembly. A simple assembling task is experimentally achieved to verify the validity of the proposed method. The task considered is screwing a bolt with an open-ended wrench fixed to the wrist of the robot, where the bolt is not accurately placed at the fixed predetermined place. The experiment shows that the proposed control system works satisfactorily.