The most common commercial pitching machines for baseball are the "arm" type and the "two rollers" type. These machines tend to have certain limitations. In particular, it is very difficult to simultaneously change both ball speed and direction. In addition, some types of pitches, such as the curveball or screwball, are not easily achieved. In this study, we will explain the hardware and software design of a new "intelligent" pitching machine which can pitch repeatedly with selectable speed, direction and ball rotation. The machine has three rollers and the motion of each is independently controlled by a hierarchical neural network. If the ball speed, direction and rotation are given as input data to this network, signals for controlling the three rollers are produced as output data. The results of a throw experiment with the machine that we developed are shown, which has the ability to pitch assorted breaking balls with a wide range of speeds, from 19.4 to 44.4 m/s. The machine has a speed error of less than about 3%, and a distance error of about 0.15m (twice the length of a ball's diameter).