Abstract:
A tennis ball throwing machine includes a processor mounted on the machine for controlling the operation of the machine. The processor is adapted to operatively communicate with a portable memory device. The portable memory device is adapted to provide operating instructions to the machine and to save a record of the actions of the machine.

Description:
[0001]    This invention relates to a tennis ball throwing machine, and specifically to a customizable tennis ball throwing machine that is adapted to communicate with a portable storage device. The portable storage device may optionally be used to operate the machine and/or save a record of the throwing actions of the machine. 
       BACKGROUND 
       [0002]    Tennis ball throwing machines have been in wide use for many years. One of the chief complaints of existing tennis ball machines is that they can be difficult to operate. With some machines, there may be only a limited number of throwing options. These machines are reasonably simple to operate. However, more sophisticated machines that include multiple additional throwing options may be very difficult to program. 
         [0003]    In addition to being difficult to program current machines, it is further frustrating that none of the machines allow a user to save a drill once it has been input. A user must either remember the specific control settings or write down the position of every dial, knob and switch. Otherwise, a user has to figure out and reprogram their drill all over again every time they want to use a machine. 
         [0004]    Additionally, the drills that a user may create and develop are not portable. In other words, a user has to find or create a drill on every machine that the user wants to hit with. This may mean multiple machines at a given tennis facility or multiple machines at different locations. Either way, it is impossible to carry a user&#39;s favorite drills from machine to machine. 
         [0005]    Still further, no current machines will remember specific machine usage by a user. That user must keep personal track of their workouts and specific shots. 
         [0006]    Additionally, when it comes to working with a teaching pro, and specifically with respect to practicing with a ball machine, the teaching pro has to either go out with the player and set up the machine for them or otherwise try to describe to them what he or she wants them to do in practice. The player must have some competence and familiarity with the machine to implement the instructions from the teaching pro. 
       SUMMARY 
       [0007]    Accordingly it is an object of the present invention to overcome the foregoing drawbacks and provide a customizable tennis ball throwing machine. 
         [0008]    In one example, a tennis ball throwing machine comprises a throwing machine and a processor mounted on the throwing machine. The processor controls the operation of the machine. The machine further comprises a portable memory device, wherein the processor is adapted to operatively communicate with the portable memory device. The portable memory device is adapted to provide operating instructions to the machine and to save a record of the operating actions of the machine. The processor controls the speed, spin, location and frequency of throws by the machine, and the portable memory device may comprise instructions for a preprogrammed drill set of throws by the machine. The portable memory device may comprise a plurality of instructions for preprogrammed drill sets of throws by the machine. The processor may be adapted to allow a user to create a custom drill set of throws, and the custom drill set of throws may be saved on the portable memory device. The processor and/or the portable memory device may save a record of the number and type of throws of the machine and the time of those throws as well as individual information regarding the user of the throwing machine for each drill set of throws. The processor may further comprise a diagnostic function, wherein each of the moving components of the machine is automatically tested for operational fitness, and that fitness is reported to a machine operator. The removable memory device may be a memory stick, and the processor and the memory stick have mating electronic parts, in one example, USB ports. The portable memory device may download and save a drill set of throws from a second processor. A preprogrammed drill set of throws may be created by a user or by a third party. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]      FIG. 1  is a perspective view of a tennis ball throwing machine. 
           [0010]      FIG. 2  is a rear perspective view of a tennis ball throwing machine displaying the graphic user interface. 
           [0011]      FIG. 3  is a tennis ball throwing machine interface flow chart illustrating the functional operations and options of the tennis ball throwing machine. 
           [0012]      FIG. 4  is a functional flow chart demonstrating the information and instructions that are communicated to and saved from the portable memory device and a tennis ball throwing machine. 
           [0013]      FIG. 5  is a functional flow chart illustrating information and instructions exchanged between a portable memory device and a computer processing unit other than the tennis ball throwing machine. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    The current invention is described herein in connection with one or more examples of a portable memory device and a tennis ball throwing machine. Broadly speaking, a portable memory device allows a user to carry their own, personal information from one machine to a different machine. In other words, a user could carry their own personal name and physical information and workout history from one machine to another. This may mean transferring information and instructions between two or more tennis ball throwing machines that are available for use at a single facility. It may mean two or more different machines that are at different locations locally or in different cities. The portable memory device facilitates a continuity of workouts and a diverse menu of workouts for a user as will be described. 
         [0015]    Referring first to  FIG. 1 , there is shown a tennis ball throwing machine  10  having a graphic user interface  12  mounted on the machine in the region of the handle  14  of the machine. Most tennis ball throwing machines are mobile so that they may be positioned on a tennis court for a particular tennis workout drill and then later removed for play between two or more players. However, there is no limitation to the physical structure of the tennis ball throwing machine that is envisioned with the present invention. The relatively large, rear rolling wheels  16  make the machine  10  able to be easily moved about the tennis court. 
         [0016]    Turning now to  FIG. 2 , the ball machine  10  is seen from the rear in the area of the handle  14 . A graphic user interface screen  20  is protected under a spring-loaded flap  22  so that the interface screen does not have to remain exposed to environmental elements when it is not in use. The machine  10  further includes a power button  28  and a USB memory stick  24  positioned in a USB port  26 . The memory stick  24  is a portable memory device that communicates with a processor inside the machine  10 . The portable memory device  24  may be removed and kept by user for their personal information and use. As shown with the flap  22  in the open position, the graphic user interface  20  will display an interactive screen that allows a user to create/select/initiate a tennis workout drill. In one example, the graphic user interface  20  is a high resolution touchscreen that is bright enough that a user will be able to clearly read and interact with the screen in multiple conditions including bright sunlight. The flap  22  is biased to close over the screen  20  so that direct sunlight and, for instance, rain or other moisture does not land on the screen  20  and degrade it over time. 
         [0017]      FIG. 3  illustrates the high level functionality and interaction between a tennis ball throwing machine processor  40  that could be the processor that is used in the tennis ball machine  10 . The processor  40  and its interaction with a user may be customized and designed in multiple ways by a machine designer. In this example, a user activates the tennis ball throwing machine processor  40  and a splash screen or home menu  41  appears on the screen of the graphic user interface  20 . This initial home menu  41  that is shown may include some advertising information. It may include some product information regarding the manufacturer of the machine. It may include some individual information regarding the facility that owns the tennis ball throwing machine  10 . The look and format of the screen may also be modified according to individual user preferences saved in the memory stick  24  and downloaded to the processor  40 . This splash screen and menu may be custom-manipulated and programmed for seasonal or other periodic changes and for any sort of advertising or informational use. The home menu  41  is the interactive screen that the user will use to select a drill or other action from the machine. Generally speaking, the tennis ball machine processor  40  may have multiple general areas for action. As shown in  FIG. 3 , the menu will allow for a machine set up and diagnostics function  42 , a regular play function  44 , a quick play function  46 , a regular statistics function  48 , a quick statistics function  50 , or a drill setting and building function  52 . Of course there may be other general and specific categories and combinations of categories of functionality that may be used. 
         [0018]    Turning first to the machine set up and diagnostics function  42 , this is triggered in this example by a hidden button or code that prevents the inadvertent link to this step. The hidden button in the graphic user interface will allow the owner or other administrative user of the machine to control the operation of the machine and keep maintenance on it. For instance, the function  42  may include a communications set up function that allows for the various computer processor setups to be entered including IP address, subnet mask, gateway, and remote control ID. Other controls with respect to the computer processor operation may be included as necessary. Additionally, a diagnostics function is included in this function  42 . This diagnostics function runs a test on both the computer processor operation as well as on all of the moving parts of the tennis ball machine including the pitching motors, the height motor, the direction motor and the ball tray motor. In this way, a person responsible for maintenance and repair can easily check to find out what component of the machine is not operating at its proper level. Finally in this machine setup and diagnostics function  42 , a user may manually control or adjust the operation of the machine including the relative operation of upper pitch and lower pitch motors, a height motor, a direction motor and a ball tray motor. Each of these movements may be adjusted by a user to correct any inherent or unintended motor variations. Additional setup functionality and diagnostic functionality may be included. And while in this example the entrance button is a hidden button, it may alternatively be password protected or otherwise openly accessible to a user. For instance, a private, individual owner of a machine may want direct access to this functionality, while a club owner may prefer hidden key or password protection so that the machine control is not easily accessible. 
         [0019]    The next functional chart option is the regular play  44  option. In this example, a user enters the regular play  44  option and chooses a drill or shot to practice. With respect to a drill that may be played, the user may adjust the type of play by selecting the type of strokes to be delivered by the machine including, for instance, a flat ground stroke, topspin ground stroke or backspin ground stroke. Other strokes may be entered as well. With respect to each of those strokes, the height, speed, spin and delay or frequency of shot may be adjusted by a user. Finally, the particular court position may be selected by a user. The court position adjustment can be varied depending on the specific nature of the machine and the direction motor. Typically, there could be two or three different court positions on each side of the center court line that could be selected (and additionally the center position). There may also be some depth adjustment where the shots may be selected in the very back of the court up to short shots and drop shots. All this may be input and selected by a user in building a drill set of shots to be thrown by the machine. Additionally, the types of strokes may be adjusted according to the skill level of a user. Common USTA categories of skill are able to be used to instruct the throws of the machine. Other general skill levels including novice, intermediate and expert could alternatively be used as well. 
         [0020]    Turning now to the next functional option, there is shown the quick play  46  functionality. Under this quick play  46  function, a user may bypass some or all of the necessary inputs regarding the creation and building of a particular drill set of throws. The quick play  46  functionality may have preprogrammed sets of drill shots that allow a user to select, for instance, a particular side for the machine shots or a particular speed of the thrown balls. Other preprogram functionality regarding a particular protocol of practice shots may be used. 
         [0021]    The next functionality that may be selected is the regular statistics  48  functionality. In this selection, a user may review personal information including age, weight and height. Additionally, the user may review past balls served in a particular drill or in some historical time frame. The regular statistics  48  functionality may also include additional information such as calories burned and total workout time, again each of these qualities of information being available for a particular workout or over some historical period. Of course, a user may update their statistics as well, for instance, their personal age or weight may be changed if those statistics have changed. 
         [0022]    The next functionality is the quick statistics  50  functionality that is similar to the regular statistics  48  functionality except that predetermined workout information will be flashed immediately onto the screen. This way, a user can decide what is most relevant to them to appear without having to enter every time their detailed information or requested statistic information. 
         [0023]    The next functionality is the drill setting and building  52  function. This functionality may be input during the regular play  44  functionality. Alternatively, the user can build a drill separately from the regular or quick play functions  44  and  46 . The building of the drill and stroke functionality is as discussed earlier in connection with the regular play. In short, a user may determine and save a drill using the variables of the type of stroke, height of stroke, speed of stroke, spin of stroke, frequency of ball throwing, position of the shot both laterally and in the depth of the court, and the particular mix or order of shots to be thrown by the machine. The number of adjustments that can be made by a user is limited only by the hardware of the machine and the mechanical ability to move efficiently from one shot to another. 
         [0024]    As indicated earlier, a tennis ball throwing machine processor may include additional functionality. There are multiple different screens and operations that may be deployed to be user friendly and intuitably informative to a user. It is believed that an interface screen having touch actuation is very user-friendly as opposed to mechanical dials and switches. Combinations of dials and a screen or screens may be appropriate. 
         [0025]    Turning now to  FIGS. 4 and 5 , there is illustrated the functional use of a portable memory device  60  in connection with a tennis ball throwing machine processor  40  or any other computer processor unit (CPU)  62 . In  FIG. 4 , the portable memory device  60  interacts with a tennis ball throwing machine processor  40  in a bi-directional manner. In other words, information and instructions are able to flow from the portable memory device  60  into the tennis ball throwing machine processor  40  and vice-versa. As illustrated in  FIG. 2 , the portable memory device  60  may be a USB memory stick  24 . Alternatively, the portable memory device may be another type of electronic device that physically links up in a removable fashion with the tennis ball throwing machine processor. Still further, alternatively, the portable memory device  60  may link wirelessly to the tennis ball throwing machine processor  40 . This wireless connection example of a portable memory device  60  may include a dedicated electronic device for communicating with a tennis ball throwing machine processor  40 . In a further example, a portable memory device  60  having wireless communication to a tennis ball throwing machine processor  40  may include a smart phone-type device or tablet or laptop or any other computer that is able to wirelessly link to the machine processor. Typically, these more general devices such as a smart phone or laptop will have dedicated applications to drive the two-way communication between the portable memory device  60  and the machine processor  40 . 
         [0026]    General types of information that are communicated between the portable memory device  60  and the machine processor  40  included operational instructions such as the ball throw speed, spin, location and frequency. Additionally, preprogrammed drill sets of throws may be exchanged between the portable memory device  60  and the machine processor  40 . Additional optional custom drill sets of throws may be exchanged. The locational date and time of the operation of drill sets and practice of those throws may be saved. There is also the saved record of specific drills and throws completed. All or a part of this may be saved in the portable memory device  60  and may further be saved, or at least instructed to the machine processor  40 . 
         [0027]    In  FIG. 5 , the same portable memory device  60  may be used to communicate with other computer processor units (CPUs)  62  generally. In other words, the portable memory device  60  may be used with any general CPU  62  to allow a user to create themselves a set of shots or drill sets. Additionally, drill sets that are preprogrammed by a third party such as a coach or otherwise prepackaged may be downloaded by a user. The types of drill sets and shots that may be downloaded are limited only by the operation of any tennis ball throwing machine. Ideally, the types of drill sets or shots that may be downloaded or otherwise created by a CPU  62  and delivered to a portable memory device  60  will be commensurate with the engineering constraints of a particular machine and the desires of an individual tennis player user. As with the communication between a portable memory device  60  and a machine processor  40 , the communication between the portable memory device and a CPU  62  may be a physical communication as exemplified by a USB memory stick. Alternatively, the communication may be wireless. In fact, the portable memory device  60  may be incorporated within a CPU  62  and be an application thereof. In this way, a user&#39;s general purpose CPU (for instance a smart phone or laptop) may become the portable memory device  60  that saves and downloads information to and retains information from a tennis ball throwing machine processor. 
         [0028]    The portable memory device  60  and the wireless communication example means that a machine processor  40  and the portable memory device  60  must each include transmitter and receiver capabilities. In other words, the communication between the memory device  60  and the machine processor  40  is bidirectional. Instructions and drill set information is communicated from the memory device  60  to the machine. Similarly, the results of a workout including the specific drill and time will be transmitted from the machine processor  40  back to the memory device  60 . When there are multiple machines and, therefore, machine processors at a given location such as a tennis club, then there will need to be some differentiation between the various machine processors when communicating with a particular wireless memory device  60 . This is fairly routine and can be handled with the interplay of the portable memory device and indicia or other acknowledgement on the processor interface of a machine. 
         [0029]    Other embodiments of the present invention will be apparent to those skilled in the art from consideration of the specification. It is intended that the specification and Figures be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.