Online trajectory generation for robots with multiple degrees of freedom is still a difficult and unsolved problem, in particular for non-steady state locomotion, that is, when the robot has to move in a complex environment with continuous variations of the speed, direction, and type of locomotor behavior. In this article we address the problem of controlling the non-steady state swimming and crawling of a novel fish robot. For this, we have designed a control architecture based on a central pattern generator (CPG) implemented as a system of coupled nonlinear oscillators. The CPG, like its biological counterpart, can produce coordinated patterns of rhythmic activity while being modulated by simple control parameters. To test our controller, we designed BoxyBot, a simple fish robot with three actuated fins capable of swimming in water and crawling on firm ground. Using the CPG model, the robot is capable of performing and switching between a variety of different locomotor behaviors such as swimming forwards, swimming backwards, turning, rolling, moving upwards/downwards, and crawling. These behaviors are triggered and modulated by sensory input provided by light, water, and touch sensors. Results are presented demonstrating the agility of the robot and interesting properties of a CPG-based control approach such as stability of the rhythmic patterns due to limit cycle behavior, and the production of smooth trajectories despite abrupt changes of control parameters. The robot is currently used in a temporary 20-month long exhibition at the EPFL. We present the hardware setup that was designed for the exhibition, and the type of interactions with the control system that allow visitors to influence the behavior of the robot. The exhibition is useful to test the robustness of the robot for long term use, and to demonstrate the suitability of the CPG-based approach for interactive control with a human in the loop. This article is an extended version of an article presented at BioRob2006 the first IEEE/RAS-EMBS International Conference on Biomedical Robotics and Biomechatronics.