This disclosure relates generally to sports training, and in particular to basketball return systems with a user interface.
Training in sports involves the development of skills as well as physical conditioning. The game of basketball requires physical strength and conditioning, and also requires special skills. Successful development of those skills requires repetition during practice.
Although it is a team sport, basketball presents opportunities for an individual player to practice and improve his or her game without the need for other players to be present. A player can develop ball handling skills and shooting skills through individual practice.
Basketball players develop their shooting skills by shooting the basketball from various locations on the court. If a second player is not present to rebound, the shooter must rebound his or her own shots. The rebounding process can waste time that could otherwise be used in taking more shots. Over the past several decades, a number of ball collecting devices have been developed to collect basketballs shot at the basketball goal (i.e. the backboard and the attached hoop). The ball collecting devices generally include netting and a frame for supporting the netting around the basketball goal. The ball collecting devices are often used with a ball delivery device, which directs the ball back to the player.
Motorized ball delivery devices can return basketballs to a shooter at various locations on a basketball court. The ball delivery device can have programs that determine which direction to return balls to the player, how many times to return the ball, etc.
Successful shooting of a basketball can be affected by a number of factors, including a player's form or technique in shooting. In some cases, poor form or technique may have less effect when the player is taking uncontested shots from similar distances, but may limit the player's ability to score in game conditions when the player is guarded by another player and often must attempt shots from varying positions on the court having varying distances from the basketball goal.
As players advance in skill and experience, they are often confronted with the realization that the speed of the game gets “faster,” and that he or she will need to consistently score under increasing pressure and from various positions on the court. Continuing to practice under conditions that do not effectively simulate the level of movement required of the shooter and the variety of shot locations frequently encountered in game conditions can result in some improvement in the player's shooting, but may ultimately limit the player's success as the player rises through the levels of play from, e.g., junior varsity to varsity, from high school varsity to college, and from college to professional basketball.
In one example, a basketball training system includes a server computer and a ball delivery machine. The server computer executes a workout module that manages operation of a graphical user interface that presents a graphical representation of at least a portion of a basketball court and receives user inputs that define a workout program that includes selected ball delivery locations relative to the graphical representation. The ball delivery machine is configured to receive the workout program, and deliver basketballs to the selected ball delivery locations.
In another example, a method includes executing, by a server computer, a workout module that manages operation of a graphical user interface that presents a graphical representation of at least a portion of a basketball court. The method further includes receiving, at the graphical user interface, user inputs that define a workout program that includes selected ball delivery locations relative to the graphical representation, and delivering the workout program to a ball delivery machine having a ball collector and a mechanical ball returner connected to the ball collector for receiving balls from the ball collector and returning balls to a player. The method further includes delivering, by the ball delivery machine, basketballs to the selected ball delivery locations according to the workout program.
Ball collection system 12 includes net 16, net frame 18, base 20, shots made counter 22 (which, in this embodiment, includes made shots funnel 24, shots made sensor 26, and counter support frame 28), and upper ball feeder 30. When machine 10 is used for shooting practice, net 16 is positioned in front of a basketball backboard (not shown) so that the basketball hoop and net (not shown) are immediately above shots made counter 22. The size of net 16 is large enough so that missed shots (which do not go through the basketball hoop and net and through shots made counter 22) will still be collected by net 16 and funneled down to upper ball feeder 30.
Ball delivery system 14 includes ball delivery machine 32, main ball feeder 34, and ball ready holder 36. The inlet of main ball feeder 34 is positioned immediately below the outlet of upper ball feeder 30. Ball delivery machine 32 is pivotally mounted on base 20. Ball delivery machine 32 is pivotable about an axis that is aligned with the inlet of main ball feeder 34 and the outlet of upper ball feeder 30. Balls drop out of upper ball feeder 30 into main ball feeder 34. Balls are delivered one at a time from main ball feeder 34 into ball ready holder 36 at the front of ball delivery machine 32. Launch arm 38 (shown in
As is further described below, ball delivery system 14 is responsive to a graphical user interface that receives user input to define a workout program that includes selected ball delivery locations desired by a user. The graphical user interface presents graphical control elements that enable user interaction to define the workout program. The graphical user interface can be managed by a server device, communicatively coupled with ball delivery system 14 or a separate computing device, to receive the workout program including machine workout instructions executed by ball delivery system 14 and player workout instructions presented to the user. In some examples, the graphical user interface presents a visual representation of at least a portion of a basketball court that is free of indicia representing predetermined ball delivery locations on the basketball court, such as visual markings, buttons, lights, or other physical or graphically-rendered indications of predetermined ball delivery (or shot) locations. In such examples, the graphical user interface enables a greater range of ball delivery locations and player movement that can help to simulate game-like scenarios and increase an effectiveness of training.
The graphical user interface is configured to receive inputs (e.g., gesture input at a touch-sensitive and/or presence-sensitive device, input from a mouse, keyboard, voice command, or other input) relative to the visual representation of the basketball court that identify the selected ball delivery locations. A control system (shown in
Balls that are collected by ball collection system 12 enter the upper end of main ball feeder 34 and are directed downward and forward to toggle arm 54, which stops further ball movement. When toggle arm 54 is actuated, it pivots to release a single ball to travel further downward and forward into ball ready holder 36. As shown in
Rotation of ball delivery machine 32 relative to base 20 is driven by a gear motor responsive to commands from the control system of ball delivery machine 32 that causes bottom platform 40 to rotate relative to base 20 to cause ball delivery machine 32 to deliver balls, in sequence, to selected ball delivery locations. A direction of rotational movement of bottom platform 40 relative to base 20 is determined and managed by the control system based on an angular distance between sequentially-consecutive ball delivery locations.
In certain examples, one or more portions of ball delivery machine 32 can rotate along a vertical axis of ball delivery machine 32 (i.e., tilt) to adjust a vertical trajectory (i.e., exit angle) of balls delivered out of ball delivery machine 32 and ball ready holder 36. For instance, launching mechanisms of ball delivery machine 32 (e.g., including launch arm 38 and ball ready holder 36) can be pivotally mounted to tilt within ball delivery machine 32 relative to the vertical axis of ball delivery machine 32. Trajectories of delivered balls can be controlled (e.g., via tilt commands from a control system) to account for a distance between ball delivery machine 32 and a selected ball delivery location. For instance, a higher trajectory having a larger arc (e.g., a larger vertical angle of exit trajectory with respect to a horizontal axis extending along base 40) can be determined (and ball delivery machine 32 vertically rotated to provide such trajectory) for longer distances between ball delivery machine 32 and a selected ball delivery location. Similarly, a lower trajectory having a smaller arc (e.g., a smaller vertical angle of exit trajectory with respect to the horizontal axis extending along base 40) can be determined for shorter distances between ball delivery machine 32 and a selected ball delivery location. The trajectory can be determined based on both the ball delivery speed and a selected ball delivery height. As such, ball delivery machine 32 can control ball delivery speed in conjunction with the trajectory of ball delivery to deliver balls to account for varying distances between different selected ball delivery locations and a position of ball delivery machine 32.
In certain examples, a trajectory (i.e., exit angle) of balls launched from ball delivery machine 32 can be determined (or user selected) to account for user height. For instance, a higher trajectory having a larger exit angle with respect to the horizontal axis extending along base 40 (or the ground) can be selected to deliver balls to, e.g., taller users to enable such users to catch the ball at an elevation that is between the user's waist and the user's head. Similarly, a lower trajectory having a smaller exit angle with respect to the horizontal axis can be selected to delivery balls to, e.g., shorter users to enable such users to catch the ball at an elevation that is between the shorter user's waist and head. In certain examples, the trajectory of balls launched from ball delivery machine 32 can be determined (or user selected) to provide a type of pass, such as a bounce pass configured to bounce the ball prior to reaching the ball delivery location, a lob pass configured to have a large arcing trajectory toward the ball delivery location, or other types of passes. Indications of user selected height and/or type of pass can be received at a user interface operatively connected to the controller, as is further described below.
Accordingly, ball delivery machine 32 can be controlled (e.g., by a control system) to pivot both horizontally to deliver balls to a plurality of selected ball delivery locations and vertically (i.e., tilt) to adjust the trajectory of the delivered balls. As such, ball delivery machine 32 can be automatically controlled to enable training of game-like scenarios where a user may receive passes at varying locations and distances on the court as well as varying types of passes (e.g., chest passes, bounce passes, lob passes, or other types of passes) and passes having varying delivery speeds and delivery elevations. Ball delivery machine 32, therefore, can help to better simulate such game-like scenarios than a ball delivery machine that is limited to, e.g., fixed trajectories and ball delivery speeds at predetermined ball delivery locations, such as at locations spaced around the three-point line.
As illustrated in
In some examples, a delivery speed of balls driven by launch arm 38 (i.e., a speed at which launch arm 38 propels balls out of ball delivery machine 32) is set by a ball delivery speed adjustment actuator (shown in
The ball delivery speed can be determined by the control system based on a distance between ball delivery machine 32 and a ball delivery location. For example, the control system can determine a physical distance between ball delivery machine 32 and one or more selected ball delivery locations based on a relative distance between graphically-rendered locations of ball delivery machine 32 and the one or more selected ball delivery locations on a visual representation of at least a portion of a basketball court, as is further described below. The control system can determine the ball delivery speed based on (e.g., proportional to) the determined physical distances.
In some examples, the control system can modify the ball delivery speed for each selected ball delivery location. In other examples, the control system can determine the ball delivery speed for groups of selected ball delivery locations within threshold distances from ball delivery machine 32. In yet other examples, the control system can determine a single ball delivery speed based on an average of the distances between ball delivery machine 32 and each of the ball delivery locations, a maximum of the distances, a minimum of the distances, or other aggregations of the distances between ball delivery machine 32 and the selected ball delivery locations. In some examples, the control system may not modify the ball delivery speed. Rather, in such examples, the ball delivery speed may be manually adjusted via ball distance adjustment knob 60 (and ball distance pre-select plate 62).
Controller 94 is a processor-based controller that coordinates the operation of components of the control system. Controller 94 includes one or more processors and computer-readable memory encoded with instructions that, when executed by the one or more processors, cause controller 94 to operate in accordance with techniques described herein. Examples of one or more processors of controller 94 can include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other equivalent discrete or integrated logic circuitry.
Computer-readable memory of controller 94 can be configured to store information within controller 94 during operation. Computer-readable memory of controller 94, in some examples, is described as computer-readable storage media. In some examples, a computer-readable storage medium can include a non-transitory medium. The term “non-transitory” can indicate that the storage medium is not embodied in a carrier wave or a propagated signal. In certain examples, a non-transitory storage medium can store data that can, over time, change (e.g., in RAM or cache). In some examples, the computer-readable memory is a temporary memory, meaning that a primary purpose of the computer-readable memory is not long-term storage. Computer-readable memory, in some examples, includes volatile memory that does not maintain stored contents when electrical power to controller 94 is removed. Examples of volatile memories can include random access memories (RAM), dynamic random access memories (DRAM), static random access memories (SRAM), and other forms of volatile memories. In some examples, computer-readable memory of controller 94 is used to store program instructions for execution by the one or more processors of controller 94. For instance, computer-readable memory of controller 94, in some examples, is used by software or applications running on controller 94 to temporarily store information during program execution.
Computer-readable memory of controller 94, in some examples, also includes one or more computer-readable storage media that can be configured to store larger amounts of information than volatile memory. In some examples, computer-readable memory of controller 94 includes non-volatile storage elements. Examples of such non-volatile storage elements can include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of electrically programmable memories (EPROM) or electrically erasable and programmable (EEPROM) memories.
Sensors 26, 66, 68, and 72 are used by controller 94 in coordinating and controller the operation of motors 78, 80, 82, as well as ball speed adjustment actuator 76 and tilt adjustment actuator 77. Calibration sensors 70 are used by controller 94 during setup to provide calibration of the signal from potentiometer 74, which is used to determine the rotational position of ball delivery machine 32.
Controller 94 utilizes communication device(s) 84 to communicate with external devices via one or more wired or wireless communication networks, or both. Communication device(s) 84 can include any one or more communication devices, such as network interface cards (e.g., Ethernet cards), optical transceivers, radio frequency transceivers, Bluetooth transceivers, 3G or 4G transceivers, and WiFi radio computing devices.
In operation, controller 94 communicates with, e.g., a remote computing device to receive a workout program including indications of positions of selected ball delivery locations, ball delivery timing (e.g., tempo) information, a number of balls delivered per location, a type of pass (e.g., chest pass, bounce pass, lob pass, or other type of pass), a selected ball delivery height, and position information of ball delivery machine 32 relative to a visual representation of at least a portion of a basketball court presented by a graphical user interface executed by, e.g., a remote server device. As is further described below, controller 94 controls operation of components of the control system, such as ball speed adjustment actuator 76, tilt adjustment actuator 77, ball feeder toggle motor 78, rotation motor 80, and launch drive motor 82 to deliver balls to the selected ball delivery locations according to the received information. In certain examples, controller 94 controls operation of projection system 83 to project optical indications on the basketball court. For example, projection system 83 can include one or more light sources (e.g., LEDs, halogen or incandescent light bulbs, or other light sources) configured to be angularly controlled to emit visible light at locations and/or patterns on the basketball court. The one or more light sources can be colored light sources (or controllable to emit a determined light color). Controller 94 can control operation of projection system 83 to project optical indications, such as colored or uncolored light spots on the basketball court to visually indicate, e.g., one or more of a next selected ball delivery location, a next user shot location, or other indications, as is further described below.
As such, controller 94 controls operation of components of the control system of ball delivery machine 32 to deliver balls to selected ball delivery locations according to, e.g., user instructions received via a graphical user interface that presents a visual representation of at least a portion of a basketball court.
Server 98, as illustrated in
Database 104 can be a relational database, hierarchical database, multidimensional database, or other type of database capable of storing information in an organized manner for later retrieval by, e.g., workout module 100 and/or website 102. Database 104, as illustrated in
In certain examples, accounts 106 associates any one or more of the plurality of accounts with one or more account groups. Account groups are groupings of individual accounts that may be commonly associated via e.g., a team, a school, a peer group, or other common association. For instance, account groups can include team accounts, school accounts, trainer group accounts, coach group accounts, or other group accounts. Accounts 106 can associate individual user accounts with any one or more account groups. For instance, accounts 106 can simultaneously associate a particular user account with one of a plurality of school account groups, one of a plurality of team account groups, and one of a plurality of skill level account groups. Account groups of accounts 106 can be hierarchical in nature, such that account groups can be associated with one or more higher level parent (or other ancestral) account groups and/or one or more child (or other descendant) accounts (or account groups). For instance, each team account group can be hierarchically related as a child account group of a school account group that represents the parent account group to the team account group. Similarly, member accounts (or account groups) of the team account group can be considered child accounts (or account groups) of the team account, and therefore hierarchically related to each of the ancestral team account group and school account groups. As such, user accounts and account groups can be affiliated via ancestral and descendant relationships to provide a hierarchical relationship of user accounts and/or account groups.
Workouts 108 store workout programs that include machine workout instructions that are executed by basketball training machine 10 to deliver basketballs to selected ball delivery locations as well as player workout instructions that represent player activity (e.g., player movement, skill development activities such as dribbling or other ball handling maneuvers, exercise activities such as pushups or sit-ups, or other player activity). Workouts 108 are associated with attributes, such as a workout skill level, workout intensity level, workout time, workout type (e.g., offensive skills development, long range shooting development, short range shooting development, free throw shooting development, agility development, strength development, ball handling development, physical conditioning development, or other workout type), or other attributes. Attributes of workout programs included in workouts 108 can indicate whether a particular workout program (or grouping of workout programs included in, e.g., a workout library) is user-modifiable. For instance, a workout program can be specified (e.g., during creation) as non-modifiable. Non-modifiable workout programs can be executed by players at basketball training machine 10 but not modified by the player prior to execution, thereby providing a common workout program that can be executed (without modification) by multiple players associated with multiple user accounts to enable benchmarking or other comparisons of player skill and/or conditioning, as is further described below.
Workout programs stored at workouts 108 can be associated with any one or more accounts and/or account groups stored in database 104 at accounts 106. For instance, a particular workout program can be associated with (e.g., assigned to) an account group corresponding to a team, and therefore also associated with each individual user account that is a member of the team account group through the hierarchical relationship between the parent team account group and the child user accounts. Workout programs stored at workouts 108 can be associated with a single account of accounts 106 or multiple accounts of accounts 106. As such, workout programs can be generated and stored at workouts 108 of database 104 and utilized by a single user account or shared between multiple user accounts or account groups.
Analytics 110 of database 104 store analytics data (e.g., statistics) associated with any one or more accounts stored at accounts 106 and/or workout programs stored at workouts 108. Examples of analytics data include shooting percentage data, a number of attempted shots, a usage time of basketball training machine 10, user heart rate data during any one or more workout programs (e.g., sensed by a heart rate monitor or other physical monitoring device worn by a player during a workout program), shooting percentage relative to heart rate, movement, position on the basketball court, or other analytics data. Analytics data stored at analytics 110 of data base 104 can be associated with a workout program, such that each user account that executes a particular workout program contributes to shared analytics corresponding to the executed workout program. In general, analytics 110 can store any statistical or other analytical data that corresponds to user accounts, user account groups (e.g., team account groups), and workout programs to enable comparison of performance between user accounts, between user accounts and benchmark performance criteria, between time-separated performances of a single user account (or account group), or other comparisons. As such, analytics data stored at analytics 110 can enable a coach, player, or other user to track performance of a single player or group of players over time, to compare performances between players or groups of players, and to track progress of skill development and conditioning of players or groups of players.
As illustrated in
Basketball training machine 10 is communicatively coupled with server 98 to access website 102 via any one or more wired or wireless communication networks, such as a cellular communication network, local area network (LAN), wide area network (WAN) such as the Internet, wireless LAN (WLAN), or other type of communication network. Basketball training machine 10, as illustrated in
In operation, a user accesses website 102 via the interface of basketball training machine 10 to select a workout program stored at workouts 108 and/or create a new workout program via the interface provided by website 102 and managed by workout module 100. Server 98 transmits the selected or created workout program to basketball training machine 10. The workout program includes both machine workout instructions for execution by basketball training machine 10 and player workout instructions representing player activity during workout program. Basketball training machine 10 executes the machine workout instructions by delivering basketballs to identified ball delivery locations at a selected tempo (i.e., relative timing) and tracking made and missed shots via shots made sensor 26. Basketball training machine 10 presents the player instructions for review prior to execution of the workout program and, in certain examples, presents the player instructions during execution of the workout program via a display, speakers, or other output device. Results of the workout program corresponding to made and missed shots, duration of one or more portions of the workout program, or other analytics data can be transmitted by basketball training machine 10 to workout module 100 of server 98 via website 102 (e.g., automatically transmitted or transmitted in response to user input to upload the results to server 98). Accordingly, system 96 enables a user to select one or more workout programs stored at workouts 108 of database 104, create a new workout program that can optionally be stored in workouts 108, and execute the workout program to enable effective training for the player.
In operation, a player utilizes player computing device 112 (e.g., a smartphone) to execute an application (e.g., an app) that interfaces with workout module 100 or to access website 102 via a web browser that presents a graphical user interface managed by workout module 100. The graphical user interface presents a login screen that enables the player to provide account login information, such as username and passcode. Workout module 100 accesses the account stored in accounts 106 associated with the login information (or enables the player to create a new account) and presents the user with graphical control elements to either select a workout program stored at workouts 108 of database 104 or create a new workout program, as is further described below.
In response to receiving a selection via player computing device 112 of a stored workout program or creation of a new workout program, server 98 transmits the selected or created workout program including the machine workout instructions and the player workout instructions to basketball training machine 10 via, e.g., website 102 or a separate communicative connection between server 98 and basketball training machine 10. Basketball training machine 10 executes the workout program and generates analytics data in the form of workout results (e.g., made and missed shots, workout timing, or other results) and transmits the results to server 98. Server 98 transmits the results to player computing device 112 which presents the results to the player via a display or other output device of player computing device 112. In some examples, workout module 100 can automatically store the workout results at analytics 110 of database 104 and associate the results with the corresponding user account in accounts 106. In other examples, workout module 100 can store the workout results only in response to received user input via the graphical user interface provided at player computing device 112 to store (e.g., upload) the results to server 98. Accordingly, player computing device 112 can provide a graphical user interface and communication connection that enables user interaction with basketball training machine 10 via server 98. In addition, player computing device 112 can enable player interaction with server 98 to upload results, view and/or create workout programs, or otherwise interact with server 98 whenever player computing device 112 has a communicative connection with server 98 (e.g., via an Internet connection), thereby enabling player interaction from locations that may be remote from basketball training machine 10.
In the example of
In operation, a coach (or other user) accesses website 102 via coach computing device 114, which may be located remotely from basketball training machine 10 (e.g., in a coach's office or other remote location) to create a workout program via the user interface presented by website 102 and managed by workout module 100. In some examples, coach computing device 114 can assign a created or stored workout program to one or more accounts and/or account groups stored at accounts 106 of database 104. In certain examples, coach computing device 114 can modify a stored workout program prior to assigning the workout program to one or more accounts within database 104.
As illustrated in
Coach computing device 114 can access and/or modify goals and practice plans, managed by workout module 100 and stored at database 104 and associated with one or more of accounts 106. For example, workout module 100 can present graphical control elements via, e.g., website 102 to enable a coach or other user to create and assign goals to one or more of accounts 106. Examples of goals include number of attempted shots goals, number of made shots goals, total training time goals, shooting percentage goals, or other goals. Practice plans can include one or more workout programs assigned to the one or more of accounts 106 that can be designed to help a player achieve a desired level of performance, such as one or more goals associated with a player account.
In some examples, coach computing device 114 can access and modify scheduling corresponding to a time schedule of the use of basketball training machine 10 associated with one or more of accounts 106. For instance, workout module 100 can present graphical control elements, such as graphical calendaring control elements, via website 102 to enable a coach or other user to schedule workout times during which a corresponding account is designated for use of basketball training machine 10. Accordingly, scheduling controls managed by workout module 100 can enable the coach or other user (e.g., player) to assign workout times to one or more accounts (or account groups) to enable effective scheduling and use of basketball training machine 10 which may be utilized by multiple players associated with multiple accounts. In some examples, the coach or other user can assign a workout time to an account within accounts 106. In response, workout module 100 can transmit a notification to the corresponding account (e.g., via a notification on an app executing on player computing device 112) indicating the scheduled workout time. In certain examples, a player or other user can reserve a workout time via, e.g., player computing device 112. In response, calendaring controls managed by workout module 100 can associate the reserved time with the corresponding account and can indicate to other accessing accounts that the time is reserved.
Accordingly, basketball training system 96 including coach computing device 114 that interfaces with workout module 100 via, e.g., website 102, enables coach (or other third party) interaction with workout module 100 to create new workout programs, access and/or modify stored workout programs, assign workout programs, goals, and/or workout programs to individual and/or group accounts, schedule use of basketball training machine 10 among multiple accounts, and track progress of the corresponding players via coach computing device 114. Such remote access via coach computing device 114 can enable the coach or other user to, e.g., setup workout routines for a team or tailored to individual players at times and locations that may be more convenient than during a practice session at a basketball facility where basketball training machine 10 is located. Moreover, the coach or other user can access and review training results corresponding to the workout programs at any time or location that the coach or other user can access server 98 via a communicative connection between coach computing device 114 and server 98, such as during non-practice hours. As such, basketball training system 96 that enables remote access to server 98 via coach computing device 114 provides greater flexibility for coaches or other users to generate workout programs and review workout results than other systems that may require colocation of the coach or other user with basketball training machine 10 to access such workout program generation and review operations.
As illustrated in
In some examples, administrator computing device 116 can designate any one or more workout programs as non-modifiable. Non-modifiable workout programs can be selected by coach computing device 114 and/or player computing device 112 for execution by basketball training machine 10, but are not modifiable via non-administrator accounts. Administrator accounts are those accounts that are associated with an administrative entity that accesses server 98 via, e.g., administrator computing device 116. Such non-modifiable workout programs can be executed by multiple players and/or coaches to compare workout performance among the multiple players. Accordingly, an administrator or other entity accessing server 98 via an administrator account (e.g., via administrator computing device 116) can provide common workout programs that can be selected (e.g., by coaches) and performed by multiple players, the results of which serve as an objective measure of the players' abilities to perform the workout programs. In this way, the common workout programs can help a coach in selecting players for game-time performance and in helping coaches to guide players to improve performance.
In certain examples, the non-modifiable workout programs can include benchmark criteria, such as benchmark shot performance criteria (e.g., a number of made shots, a number of shots taken in a given time duration, a percentage of made shots, or other benchmark shot performance criteria). In some example, the benchmark criteria can correspond to performance of the non-modifiable workout program by a particular player, such as a particular professional player. In such examples, players (e.g., high school players) executing the workout program can compare their workout results to those of the benchmark player (e.g., professional player), thereby providing a reference for comparison and a performance goal to achieve.
As described above, those workout programs not designated as non-modifiable can be modified via, e.g., coach computing device 114 and/or player computing device 112. For instance, database 104 can store a library of modifiable workout programs at workouts 108. A coach or other user accessing workouts 108 via coach computing device 114 or a player accessing workouts 108 via player computing device 112 can select one of the workout programs and modify any one or more aspects of the workout program prior to transmitting the workout program to basketball training machine 10 for execution.
Accordingly, basketball training system 96 can enable an administrator or other entity to provide workout programs that can be selected by coaches and/or players for execution by basketball training machine 10. The workout programs can be modifiable or non-modifiable to enable both modifiable templates of workout programs as well as non-modifiable workout programs that can be used for benchmarking or other comparisons of player performance.
In the example of
A basketball training system implementing techniques described herein can therefore enable players, coaches, teams, or other entities to generate workout programs for execution by basketball training machine 10 using a graphical user interface managed by workout module 100 and presented via website 102 or other graphical interface. The workout programs can be stored at server 98 (or other computing device accessible by server 98) to enable later retrieval and possible sharing of workout programs among multiple user accounts. The user accounts can be associated with any one or more user groups, thereby facilitating such sharing of workout programs among affiliated users. Workout results, stored by database 104 as analytics 110 and associated with any one or more accounts 106 and/or workouts 108, can be retrieved by any computing device communicatively coupled with server 98 and having access to a corresponding one of accounts 106. In this way, analytics data corresponding to workout results can be reviewed, shared, and analyzed by coaches, players, or other users to facilitate the efficient and effective training of players. The ability of workout module 100 to automatically modify workout programs in response to graphical control elements that select a corresponding skill level or duration of the workout program enables users (e.g., players, coaches, or other users) to efficiently utilize training time for active training with basketball training machine 10, rather than spending such time modifying workout programs to fit the timing constraints or skill level of the player. Moreover, libraries of workout programs generated by an administrator or training expert can enable the coach and/or player to select stored workout programs designed by training experts to draw from their expertise without having direct affiliation (e.g., time spent with) the particular training expert. Accordingly, system 96 implementing workout module 100 to generate workout programs for execution by basketball training machine 10 can significantly enhance the effectiveness and efficiency of the training experience using basketball training machine 10.
As illustrated in
As illustrated, graphical user interface 120 presents a plurality of workout programs at workouts selection region 132. Each of the workout programs corresponds to a workout program stored at workouts 108 and accessible by (e.g., associated with) the actively logged in user account stored at accounts 106 of database 104. In addition to the plurality of workout programs, graphical user interface 120 presents workout creation icon 134 that is user selectable to initiate the workout creation process through which the user is led by graphical user interface 120 as managed by workout module 100.
Workout segments region 136 displays indications of segments of the workout program. That is, workout module 100 divides workout programs into a series of segments, each corresponding to a category of workout program activities. For instance, as is further described below, categories of workout program activities can include shooting segments, resting segments, physical exercise segments (e.g., sit ups, pushups, or other physical exercises), customizable segments, or other categories of workout program activities. In some examples, such as the example of
Shooting segment 138 includes indications of segment parameters corresponding to a goal parameter, a type parameter, a tempo parameter, and an order parameter. Each of the goal, type, tempo, and order parameters are user selectable to modify the respective segment parameters. For example, the goal parameter is user selectable to select a made shots goal corresponding to a total number of made shots for the segment, a shots taken goal corresponding to a total number of attempted shots (or delivered basketballs) for the segment, and a time duration goal corresponding to a total time duration of the segment. Each parameter is further selectable to specify a value of the parameter, such as a number of made shots, a number of shots taken, and the total time duration goal. The type parameter is user selectable to specify a number of shots to be made, a number of shots to be taken, or a number of consecutive made shots. The tempo parameter is user selectable to select (e.g., increase and decrease) a ball delivery tempo. Increasing the ball delivery tempo decreases a time duration between consecutively delivered basketballs. Decreasing the ball delivery tempo increases a time duration between consecutively delivered basketballs. The order parameter is user selectable to select whether basketballs are delivered in a default order (e.g., from left to right, from right to left, or other default order) or a customized order corresponding to, e.g., an order of selected ball delivery locations. Ball delivery icon 149 is illustrated in the example of
Candidate ball delivery locations 146A-146I graphically represent candidate ball delivery locations to which ball delivery machine 10 will deliver basketballs during execution of the workout program. Ball delivery selection icon 142 is user selectable to identify any one or more of candidate ball delivery locations 146A-146I as selected ball delivery locations. For instance, in the example of
As further illustrated in
Difficulty scaling control element 163 enables user input to efficiently modify a workout program based on a selected difficulty (or skill level) selected at difficulty scaling control element 163. For instance, a workout program stored at workouts 108 of database 104 can include workout program attributes that designate the workout program as corresponding to one of a plurality of difficulty levels (or player skill levels). Difficulty scaling control element 163 enables user input to select one of a plurality of difficulty (or skill) levels, such as the illustrated levels of junior varsity (JV) level, varsity level, collegiate level, or professional level. Though illustrated as including four separate difficulty levels, difficulty scaling control element 163 can present more or fewer than four difficulty levels. In certain examples, difficulty scaling control element 163 can enable selection of discrete difficulty levels, such as one of the four illustrated difficulty levels. In other examples, difficulty scaling control element 163 can enable selection of a difficulty level along an analog scale ranging from a least difficult level (e.g., JV) to a most difficult level (e.g., professional). In such examples, difficulty scaling control element 163 can enable selection of difficulty levels between the indicated discrete levels, such as between the JV and varsity levels, between the varsity and college levels, or between the college and professional levels, thereby enabling a greater number of level selections and a correspondingly greater flexibility in modifying workout programs.
In response to receiving an indication of a selected difficulty level via difficulty scaling control element 163, workout module 100 modifies the selected workout program, such as by modifying a number of total shots, a number of shots each selected ball delivery location, a ball delivery tempo (i.e., relative timing between delivery of balls to selected ball delivery locations), a position of ball delivery locations and/or selected shot locations, a number and/or intensity of exercises included in the workout program, or other modifications to the selected workout program to correspond to the selected difficulty level. Increasing the selected difficulty level, for example, can automatically increase the ball delivery tempo (i.e., decrease the time duration between consecutive ball deliveries), increase a total number of a made shots goal, increase a total number of a consecutive made shots goal, adjust ball delivery locations and/or selected shot locations to increase a distance of the locations from the basketball goal, adjust a distance of three-point shot locations, or other modifications. Similarly, decreasing the selected difficulty level can automatically modify parameters of the workout program to decrease the difficulty of the workout program. Accordingly, workout module 100 can automatically modify any one or more attributes of a workout program responsive to user input received via difficulty scaling control element 163 to modify the difficulty (or skill) level of a selected workout program without requiring user inputs to modify each of the individual workout attributes. In this way, workout module 100 utilizing difficulty scaling control element 163 can enable efficient adjustment of entire workout programs via a single user selection input at difficulty scaling control element 163.
As further illustrated in
As illustrated in
Group selection region 172, as illustrated in
Accordingly, graphical user interface 120 managed by workout module 100 and accessible via website 102 or other software application (e.g., app) accessing server 98 enables user interaction input to define workout programs that can significantly improve both skills training and endurance training via basketball training machine 10 to better prepare players for game-like situations. Graphical user interface 120 can be accessed directly via an interface of basketball training machine 10 or via any one or more computing devices having a communicative connection with server 98, thereby increasing flexibility and accessibility in generating workout programs and analyzing corresponding workout results.
While the examples of
As illustrated in
Three-point lines 196A, 196B, and 196C each represent boundaries on the visual representation of the portion of the basketball court separating two-point regions (between the basketball goal and the respective three-point line) from three-point regions (outside the interior of the respective three-point arc). Each of three-point lines 196A, 196B, and 196C represent three-point boundary lines traditionally used in high school competitions and younger (i.e., three-point line 196A), collegiate competitions (i.e., three-point line 196B), and professional competitions (i.e., three-point line 196C), though other three-point boundary lines or indications of point value bifurcations are possible.
Graphical presentation of any one or more of three-point lines 196A, 196B, and 196C can be user selectable via graphical user interface 120. For instance, graphical user interface 120 can present one or more graphical control elements, such as checkboxes, dropdown menus, buttons, sliders, or other graphical control elements configured to allow user input to select the graphical rendering of any combination of three-point lines 196A, 196B, and 196C on the visual representation of the portion of the basketball court (including the graphical rendering of none of three-point lines 196A, 196B, and 196C). As an example, graphical user interface 120 can present graphical control elements in the form of three checkboxes, each corresponding to one of three-point lines 196A, 196B, and 196C and having a selectable attribute to cause graphical user interface 120 to display the corresponding one of three-point lines 196A, 196B, and 196C. As illustrated in
Graphical user interface 120 and/or basketball training machine 10 utilize three-point lines 196A, 196B, and 196C to determine a point value corresponding to a made shot associated with a ball delivery location, as is further described below. In certain examples, graphical user interface 120 presents graphical control elements that enable user interaction to identify which of three-point lines 196A, 196B, and 196C is selected as bifurcating the three-point region from the two-point region for purposes of point value. For instance, graphical user interface 120 can present graphical control elements enabling user interaction to select the display of each of three-point lines 196A, 196B, and 196C, and to utilize, e.g., three-point line 196B as the active three-point line for purposes of allocating shot values. Accordingly, graphical user interface 120 can enable user interaction to cause portion 194 of graphical user interface 120 to display any one or more of three-point lines 196A, 196B, and 196C and to utilize a selected one of three-point lines 196A, 196B, and 196C for purposes of shot value allocation.
In the illustrated example of
Dotted lines extending from icon 198 illustrate delivery of balls from basketball training machine 10 to each of ball delivery locations 202A-202D, though the dotted lines may not be graphically rendered by portion 194 of graphical user interface 120 in some examples. In addition, it should be understood that, in operation, basketball training machine 10 rotates to deliver balls to each of ball delivery locations 202A-202D.
The group of ball delivery locations 202A-202D represents an ordered sequence of selected ball delivery locations. The ordered sequence can be user selectable and modifiable. For instance, the ordered sequence can correspond to user selection to deliver one or more basketballs first to ball delivery location 202A, second to ball delivery location 202B, third to ball delivery location 202C, and fourth to ball deliver location 202D. In general, the ordered sequence can correspond to any ordered sequence of ball delivery locations 202A-202D that can be selected by user input to identify the sequence. In some examples, the ordered sequence can include movement of icon 198 corresponding to ball delivery machine 32 (and the associated movement of ball delivery machine 32) between locations on portion 194 of graphical user interface 120, such as between locations underneath the basketball and away from the basketball goal, between locations away from the basketball goal, or other movements of icon 198. While illustrated as including four selected ball delivery locations 202A-202D, in other examples, more or fewer than four ball delivery locations can be selected.
In operation, workout module 100 causes server 98 to output an indication of the locations and sequence of selected ball delivery locations 202A-202D to basketball training machine 10 (i.e., to controller 94 via communication device 84), which delivers basketballs to the selected locations according to the ordered sequence. The indication of the locations can include, e.g., an indication of relative angles between each of selected ball delivery locations 202A-202D. In some examples, the indication of the locations can include a position of selected ball delivery locations 202A-202D with respect to the visual representation of the portion of the basketball court. In other examples, the indication of the locations can include a position of selected ball delivery locations 202A-202D with respect to the basketball court after scaling of the locations from a graphical scale (corresponding to the visual representation) to a physical scale (corresponding to the physical basketball court).
In some examples, workout module 100 can receive indications of the selected ball delivery locations in the form of a stored workout program stored at, e.g., workouts 108 of database 104. For instance, graphical user interface 120 can present graphical control elements that enable user input (e.g., gesture input, mouse input, keyboard input, voice command input, or other user input) to select the stored workout program. In response, workout module 100 can retrieve the stored workout program information from workouts 108 of database 104. The stored workout program can indicate the selected ball delivery locations, the sequence of the selected ball locations, tempo information corresponding to timing of the delivery of basketballs between the selected ball delivery locations, a number of basketballs to be delivered to each of the selected ball delivery locations, or other information corresponding to the stored workout program. In some examples, the stored workout program can indicate a location and/or orientation of ball delivery machine 10, as is further described below.
Workout module 100 can receive indications of selected ball delivery locations 202A-202D via user selection input relative to the visual representation of the portion of the basketball court. For example, user selection input can include gesture input (e.g., tap gesture input, drag-and-drop gesture input, or other gesture input) relative to the visual representation of the portion of the basketball court received at a touchscreen display. In some examples, user selection input can include location selection input relative to the visual representation of the portion of the basketball court received via a mouse, keyboard, or other input device.
In certain examples, workout module 100 can receive (and cause graphical user interface 120 to display) indications of selected user shot locations independent from the indications of selected ball delivery locations. For instance, workout module 100 can receive indications of user selection input (e.g., tap gesture input, drag-and-drop gesture input, mouse input, keyboard input, or other user selection input) to select user shot locations corresponding to a selected ball delivery location. The selected user shot locations can indicate locations relative to the visual representation of the portion of the basketball court corresponding to a shot location that is different than a selected ball delivery location. The selected shot locations can correspond to user movement prior to receiving the basketball at a selected ball delivery location, after receiving the basketball at the selected ball delivery location, or both. For example, a user can receive a basketball at a selected ball delivery location and move (e.g., dribble) to the selected shot location corresponding to the selected ball delivery location to attempt the shot at the basketball goal. In other examples, the user can receive the basketball at the selected ball delivery location after specified player movement (e.g., specified and displayed via graphical user interface 120) and can attempt the shot at the basketball goal from at or near the selected ball delivery location. In yet other examples, the user can receive the basketball at the selected ball delivery location after specified first movement and can attempt the shot at the basketball goal at a separate selected shot location after specified second movement from the selected ball delivery location. Workout module 100 and/or controller 94 of basketball training machine 10 can utilize selected user shot locations, rather than the selected ball delivery locations, for purposes of shot value allocations in examples where the selected shot location is specified as separate from the selected ball delivery location.
The ability to specify selected shot locations independent from selected ball delivery locations enables workout module 100 and/or controller 94 to attribute shot values and, in some examples, determine user analytics corresponding to the selected shot locations rather than merely the selected ball delivery locations. Such differentiation between selected shot locations and selected ball locations enables balls to be delivered to locations that are, e.g., in the three-point range (i.e., outside the selected three-point line) and to allocate shot values according to a selected shot location that is, e.g., in the two-point range (i.e., inside the selected three-point line). Similarly, balls can be delivered to locations within the two-point range while having a corresponding shot location that is within the three-point range, thereby enabling simulation of game-like user movement while allocating shot values (and tracking user analytics data) corresponding to the actual shot location that can be different than the selected ball delivery location. Moreover, the ability to incorporate user movement before and/or after receiving the basketball at the selected ball delivery location enables enhanced workout program development that better simulates the game-like movement encountered by players in games, rather than requiring that shots be attempted from at or near the ball delivery location for purposes of shot value allocation and user analytics data (e.g., analytics corresponding to user shooting percentage from a location, while moving in a particular direction, from a particular side of the court, from a particular range on the court, or other analytics).
In some examples, portion 194 of graphical user interface 120 can display an indication of the selected player movement between selected ball delivery locations and corresponding selected user shot locations. For instance, portion 194 of graphical user interface 120 can display an arrowed line, a dotted or dashed line, a shaded or colored curvilinear path, an animated path, or other graphical indication of the selected player movements. Indications of the selected ball delivery locations and the selected user shot locations can be differentiated by, e.g., a color of the indication, a shading of the indication, a shape of the indication, or other differentiations. In certain examples, controller 94 can coordinate operation of projection system 83 to project an indication of selected ball delivery locations and/or selected user shot locations on the physical basketball court. For example, controller 94 can control operation of projection system 83 to project an optical indication (e.g., a spot of light) corresponding to a next selected ball delivery location, thereby providing visual guidance to the user of a next location to which balls will be delivered. As another example, controller 94 can control operation of projection system 83 to project a first optical indication (e.g., a first spot of light) corresponding to a selected ball delivery location and a second optical indication corresponding to a selected user shot location. The first and second optical indications can be simultaneously displayed and visually differentiable via, e.g., color, size, shape, or other differentiations. For instance, controller 94 can cause projection system 83 to output a red spot of light at a selected ball delivery location and a green spot of light at a selected user shot location corresponding to the selected ball delivery location, thereby providing visual guidance to a user regarding the location of a next ball delivery as well as a shot location to which the user is to move to attempt the shot. In yet other examples, controller 94 can cause a speaker or other audio system to output an audible indication of a next ball delivery location and/or selected user shot location (e.g., the audible words “left post”, “right free-throw elbow”, or other audible indications). Accordingly, controller 94 can coordinate operation of ball delivery machine 32 to guide a user through a workout program including multiple ball delivery and shot locations from various locations of the court.
In certain examples, graphical user interface 120 can present graphical control elements that enable user input to select one or more player maneuvers associated with selected player movement between selected ball delivery locations and corresponding selected user shot locations. Examples of selected player maneuvers can include pump fakes, jab steps, crossover dribbles, behind the back dribbles, two dribble pullups, three dribble pullups, or other player maneuvers to be performed prior to or simultaneously with player movement between a selected ball delivery location and a corresponding selected user shot location. Portion 194 of graphical user interface 120 can display an indication of the selected player maneuvers, such as by displaying textual descriptions of the maneuvers, graphical icons representing the maneuvers, animations of the maneuvers, or other indications of the selected player maneuvers.
The ordered sequence of selected ball delivery locations 202A-202D can be determined, in some examples, according to a sequence by which user selection input is received to select ball delivery locations 202A-202D. For instance, a user can select ball delivery locations 202A-202D in the ordered sequence by first selecting ball delivery location 202A, second selecting ball delivery location 202B, third selecting ball delivery location 202C, and fourth selecting ball delivery location 202D. In some examples, graphical user interface 120 can present graphical control elements in the form of numbered icons that can be controlled via, e.g., drag-and-drop gesture input to identify the ordered sequence of selected ball delivery locations. For instance, a user can provide gesture input to move the numbered icons (e.g., via drag-and-drop gesture input) to locations relative to the visual representation of the portion of the basketball court to identify both the order and location of selected ball delivery locations (e.g., by moving a first numbered icon to a first ball delivery location corresponding to a first location in the ordered sequence, moving a second numbered icon to a second ball delivery location corresponding to a second location in the ordered sequence, etc.) In some examples, the user can provide gesture input to move the numbered icons to previously-selected ball delivery locations to identify the ordered sequence of the selected ball delivery locations.
In certain examples, graphical user interface 120 can provide one or more graphical control elements that enable user input to reorder the ordered sequence of selected ball delivery locations 202A-202D. For example, graphical user interface 120 can provide graphical control elements that enable user input to move a selected ball delivery location to a particular position in the ordered sequence (e.g., first, second, third, fourth, etc.) In some examples, graphical user interface 120 can provide graphical control elements that enable user input to move a selected ball delivery location relative to a current position of the selected ball delivery location within the ordered sequence (e.g., forward or backward a selected number of places within the ordered sequence). In some examples, graphical user interface 120 can provide graphical control elements that enable user input to delete and/or insert one or more selected ball delivery locations within the ordered sequence of selected ball delivery locations 202A-202D.
Workout module 100 can cause graphical user interface 120 to output an indication of the ordered sequence of selected ball delivery locations 202A-202D at portion 194. For example, workout module 100 can cause graphical user interface 120 to output a numerical value corresponding to the ordered sequence at each of selected ball delivery locations 202A-202D (e.g., the number 1 at or near ball delivery location 202A, the number 2 at or near ball delivery location 202B, the number 3 at or near ball delivery location 202C, and the number 4 at or near ball delivery location 202D). In certain examples, basketball training machine 10 outputs an indication of a location of a next selected ball delivery location to which a basketball is to be delivered, such as at front display 46 or via a wired or wireless speaker of basketball training machine 10.
Graphical user interface 120 can provide one or more graphical control elements that enable user input (e.g., gesture input, mouse input, keyboard input, or other user input) to select a number of basketballs to be delivered to each of selected ball delivery locations 202A-202D, a tempo (or relative timing) between delivered basketballs, a shots made goal, a time duration goal, a shots attempted goal, a consecutive shots made goal, a total number of points made goal, or other goal associated any one or more of selected ball delivery locations 202A-202D (i.e., to be met before basketballs are delivered to a sequentially next one of selected ball delivery locations 202A-202D), or other information corresponding to selected ball delivery locations 202A-202D.
Accordingly, graphical user interface 120 (including portion 194) enables user interaction to select ball delivery locations relative to the visual representation of the portion of the basketball court to identify selected ball delivery locations that are not limited in location by indicia of predetermined shot locations. As such, basketball training system 96 implementing graphical user interface 120 can enable user input to more effectively simulate the level of movement required of the shooter and the variety of shot locations frequently encountered in game conditions to enhance the training experience. Moreover, graphical user interface 120 and corresponding operation of basketball training system 96 described herein enables a user to attempt shots from both two-point and three-point ranges (and associated shot value allocations to be tracked), to attempt shots both before and after specified player movement, and to receive varying types of passes (e.g., bounce passes, chest passes, lob passes, or other types of passes) at varying ball delivery speeds that can be designated by the user and/or automatically determined by controller 94 based on a distance between ball delivery machine 32 and selected ball delivery locations. The techniques can therefore provide a dramatically enhanced training experience (as compared to a system that limits ball delivery locations to predefined locations and ball delivery speeds to a single, or manually selected speed) that better simulates game-like scenarios and accommodates workout programs that can be specifically targeted to a player's developmental needs.
As further illustrated in
As further illustrated in
Graphical icon 198, in the example of
Workout module 100, in some examples, causes server 98 to transmit an indication of the orientation and location of icon 198 to basketball training machine 10, which utilizes the location and orientation information to coordinate operation of components of basketball training machine 10 to deliver basketballs to selected ball delivery locations 204A-204D. In other examples, workout module 100 causes server 98 to transmit to basketball training machine 10 position information of selected ball delivery locations 204A-204D relative to icon 198. In such examples, basketball training machine 10 can deliver basketballs to selected ball delivery locations 204A-204D based on the relative position information without knowledge of absolute position of icon 198 with respect to the visual representation of the portion of the basketball court. As such, rather than require a user to mentally translate the location and orientation of icon 198 relative to predetermined ball delivery locations when basketball training machine 10 is located away from the basketball goal, basketball training system 96 implementing techniques described herein can enable a user to select ball delivery locations relative to a graphically-rendered icon having an orientation and location corresponding to a physical location and orientation of basketball training machine 10. That is, the ability to place icon 198 on portion 194 relative to the visual representation of the portion of the basketball court such that icon 198 matches both a location and orientation of ball delivery machine 32 on the physical basketball court enables a user to more easily select ball delivery locations, user shot locations, or provide other input relative to icon 198 without requiring the user to mentally invert or transpose the orientation of icon 198 to match the position of ball delivery machine 32 as would be required if icon 198 could only be graphically rendered, e.g., under the basketball goal.
The techniques described herein enable a user (e.g., player, coach, administrator, training expert, or other user) to select desired ball delivery locations relative to a visual representation of a basketball court that are not limited by indications of predetermined ball delivery locations. Basketball training machine 10 can adjust a ball delivery speed and/or trajectory of delivered balls to automatically adjust for varying distances between basketball training machine 10 and selected ball delivery locations, as well as differing types and/or elevations of passes at any one or more of the ball delivery locations. Moreover, the ability to position basketball training machine 10 away from the basketball goal and to easily select ball delivery locations (and, in some instances, separate user shot locations), specify player movement, player maneuvers, and identify goals associated with such locations can enable the user to better simulate game-like conditions where passes are most frequently received from a location other than beneath the basketball goal. This ability to better simulate game-like player movement as well as pass delivery and receipt locations at varying locations and distances from the basketball goal without limiting such locations via predefined indicia can increase an effectiveness of the time spent training to prepare the user to effectively respond to game-like conditions.
While the invention has been described with reference to an exemplary embodiment(s), it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to the particular embodiment(s) disclosed, but that the invention will include all embodiments falling within the scope of the appended claims.
This application is a continuation of U.S. patent application Ser. No. 16/811,902 filed Mar. 6, 2020, which claims priority to U.S. patent application Ser. No. 15/805,919 filed Nov. 7, 2017, which claims priority to U.S. Provisional Application No. 62/419,177 filed on Nov. 8, 2016, and entitled “BASKETBALL TRAINING SYSTEM,” the contents of which are hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
1223386 | Handelan | Apr 1917 | A |
2908266 | Cooper | Oct 1959 | A |
3776550 | McNabb | Dec 1973 | A |
3802703 | Van Tassel | Apr 1974 | A |
3878828 | Francesco | Apr 1975 | A |
4168695 | Haller et al. | Sep 1979 | A |
4262648 | Wegener et al. | Apr 1981 | A |
4471746 | Ando | Sep 1984 | A |
4517953 | Osaka et al. | May 1985 | A |
4579340 | Jenkins et al. | Apr 1986 | A |
4667957 | Joseph | May 1987 | A |
4678189 | Koss | Jul 1987 | A |
4714248 | Koss | Dec 1987 | A |
4882676 | Van De Kop et al. | Nov 1989 | A |
4913431 | Jakobs | Apr 1990 | A |
4915384 | Bear | Apr 1990 | A |
4915387 | Baxstrom | Apr 1990 | A |
4936577 | Kington et al. | Jun 1990 | A |
4940231 | Ehler | Jul 1990 | A |
4955605 | Goldfarb | Sep 1990 | A |
5016875 | Joseph | May 1991 | A |
5125651 | Keeling et al. | Jun 1992 | A |
5183253 | Grimaldi et al. | Feb 1993 | A |
5312099 | Oliver, Sr. | May 1994 | A |
5365427 | Soignet et al. | Nov 1994 | A |
5393049 | Nelson | Feb 1995 | A |
5409211 | Adamek | Apr 1995 | A |
5417196 | Morrison et al. | May 1995 | A |
5464208 | Pierce | Nov 1995 | A |
5540428 | Joseph | Jul 1996 | A |
5601284 | Blackwell et al. | Feb 1997 | A |
5676120 | Joseph | Oct 1997 | A |
5681230 | Krings | Oct 1997 | A |
5692978 | Hummel | Dec 1997 | A |
5746668 | Ochs | May 1998 | A |
5771018 | Kennedy | Jun 1998 | A |
5776018 | Simpson et al. | Jul 1998 | A |
5813926 | Vance | Sep 1998 | A |
5816953 | Cleveland | Oct 1998 | A |
5842699 | Mirando et al. | Dec 1998 | A |
5929851 | Donnelly | Jul 1999 | A |
5937143 | Watanabe et al. | Aug 1999 | A |
5980399 | Campbell et al. | Nov 1999 | A |
6167328 | Takaoka et al. | Dec 2000 | A |
6224503 | Joseph | May 2001 | B1 |
6241628 | Jenkins et al. | Jun 2001 | B1 |
6280352 | Coffeen et al. | Aug 2001 | B1 |
6302811 | Topham | Oct 2001 | B1 |
6389368 | Hampton | May 2002 | B1 |
6390940 | Naulls et al. | May 2002 | B1 |
6458049 | Bush | Oct 2002 | B2 |
6546924 | Battersby et al. | Apr 2003 | B2 |
6659893 | Campbell et al. | Dec 2003 | B1 |
6707487 | Aman et al. | Mar 2004 | B1 |
6918591 | D'amico et al. | Jul 2005 | B2 |
7056237 | Slavey et al. | Jun 2006 | B2 |
7066845 | Joseph | Jun 2006 | B2 |
7082938 | Wilmot | Aug 2006 | B2 |
7288034 | Woodard et al. | Oct 2007 | B2 |
7620466 | Neale et al. | Nov 2009 | B2 |
7641574 | Steen | Jan 2010 | B2 |
7766770 | Cucjen et al. | Aug 2010 | B2 |
7927237 | Jenkins et al. | Apr 2011 | B2 |
7942784 | Hyde et al. | May 2011 | B1 |
7945349 | Svensson et al. | May 2011 | B2 |
7970492 | Matsushima | Jun 2011 | B2 |
8012046 | Campbell et al. | Sep 2011 | B2 |
8123634 | Lovett | Feb 2012 | B1 |
8147356 | Campbell et al. | Apr 2012 | B2 |
8206246 | Joseph et al. | Jun 2012 | B2 |
8301277 | Jones | Oct 2012 | B2 |
8617008 | Marty et al. | Dec 2013 | B2 |
8727784 | Wolf | May 2014 | B1 |
8845460 | Feldstein | Sep 2014 | B1 |
8852030 | Campbell et al. | Oct 2014 | B2 |
8911308 | Daniels | Dec 2014 | B2 |
9017188 | Joseph et al. | Apr 2015 | B2 |
D739488 | Campbell et al. | Sep 2015 | S |
9199150 | Wackerly | Dec 2015 | B2 |
9444306 | Bradfield | Sep 2016 | B2 |
9452339 | Shah et al. | Sep 2016 | B1 |
9569005 | Ahmed et al. | Feb 2017 | B2 |
9600716 | Skjaerseth et al. | Mar 2017 | B2 |
9656140 | Thurman et al. | May 2017 | B2 |
9724584 | Campbell et al. | Aug 2017 | B1 |
9808696 | Campbell et al. | Nov 2017 | B2 |
9901801 | Thurman et al. | Feb 2018 | B2 |
9914035 | Campbell et al. | Mar 2018 | B2 |
9975026 | Campbell et al. | May 2018 | B2 |
10004949 | Brothers et al. | Jun 2018 | B2 |
10192360 | Osawa et al. | Jan 2019 | B2 |
10252133 | Campbell et al. | Apr 2019 | B2 |
10503965 | Smith | Dec 2019 | B2 |
10561916 | Campbell et al. | Feb 2020 | B1 |
10596436 | Campbell et al. | Mar 2020 | B1 |
10639531 | Mccarter | May 2020 | B1 |
10643492 | Lee et al. | May 2020 | B2 |
10688362 | Sangalang | Jun 2020 | B1 |
10861200 | Graham | Dec 2020 | B1 |
10994182 | Campbell et al. | May 2021 | B1 |
11045705 | Zhang | Jun 2021 | B2 |
11247109 | Campbell et al. | Feb 2022 | B1 |
11491383 | Campbell et al. | Nov 2022 | B1 |
11577139 | Campbell et al. | Feb 2023 | B1 |
11577146 | Joseph | Feb 2023 | B1 |
11638854 | Zhang | May 2023 | B2 |
11712610 | Joseph | Aug 2023 | B1 |
11813510 | Campbell et al. | Nov 2023 | B1 |
20010052472 | Ikeda et al. | Dec 2001 | A1 |
20020016236 | Stearns et al. | Feb 2002 | A1 |
20020072681 | Schnali | Jun 2002 | A1 |
20020147404 | Kato et al. | Oct 2002 | A1 |
20030073518 | Marty et al. | Apr 2003 | A1 |
20030224337 | Shum et al. | Dec 2003 | A1 |
20040092840 | Nakada | May 2004 | A1 |
20050085320 | Joseph et al. | Apr 2005 | A1 |
20050172943 | Cucjen et al. | Aug 2005 | A1 |
20050187036 | Ziola et al. | Aug 2005 | A1 |
20050209051 | Santomassimo et al. | Sep 2005 | A1 |
20050215870 | Rademaker | Sep 2005 | A1 |
20060057549 | Prinzel, III et al. | Mar 2006 | A1 |
20060118096 | Cucjen et al. | Jun 2006 | A1 |
20060138809 | Joseph | Jun 2006 | A1 |
20060160639 | Klein | Jul 2006 | A1 |
20060236993 | Cucjen et al. | Oct 2006 | A1 |
20070026974 | Marty et al. | Feb 2007 | A1 |
20070208544 | Kulach et al. | Sep 2007 | A1 |
20070265138 | Ashby | Nov 2007 | A1 |
20080015061 | Klein | Jan 2008 | A1 |
20080171620 | Feldmeier | Jul 2008 | A1 |
20080254866 | Young et al. | Oct 2008 | A1 |
20080261726 | Chipperfleld | Oct 2008 | A1 |
20090047645 | Dibenedetto et al. | Feb 2009 | A1 |
20090137347 | Jenkins et al. | May 2009 | A1 |
20090191988 | Klein | Jul 2009 | A1 |
20090270743 | Dugan et al. | Oct 2009 | A1 |
20090325739 | Gold | Dec 2009 | A1 |
20100259412 | Pagonakis | Oct 2010 | A1 |
20100261557 | Joseph et al. | Oct 2010 | A1 |
20100292033 | Sarver | Nov 2010 | A1 |
20110084925 | Baik et al. | Apr 2011 | A1 |
20110205111 | Balardeta et al. | Aug 2011 | A1 |
20110250939 | Hobler | Oct 2011 | A1 |
20120015778 | Lee et al. | Jan 2012 | A1 |
20120142454 | Campbell et al. | Jun 2012 | A1 |
20120309551 | Holzhacker | Dec 2012 | A1 |
20120322587 | Duke | Dec 2012 | A1 |
20130005512 | Joseph et al. | Jan 2013 | A1 |
20130104869 | Lewis et al. | May 2013 | A1 |
20130104870 | Rizzo et al. | May 2013 | A1 |
20130157786 | Joseph et al. | Jun 2013 | A1 |
20130272393 | Kirenko et al. | Oct 2013 | A1 |
20140031703 | Rayner et al. | Jan 2014 | A1 |
20140045166 | Coleman | Feb 2014 | A1 |
20140081436 | Crowley et al. | Mar 2014 | A1 |
20140195019 | Thurman et al. | Jul 2014 | A1 |
20140222177 | Thurman et al. | Aug 2014 | A1 |
20140244012 | Doherty et al. | Aug 2014 | A1 |
20140305420 | Deese | Oct 2014 | A1 |
20140336796 | Agnew | Nov 2014 | A1 |
20140340329 | Chen | Nov 2014 | A1 |
20140371885 | Ianni et al. | Dec 2014 | A1 |
20150114377 | Yoo | Apr 2015 | A1 |
20150131845 | Forouhar et al. | May 2015 | A1 |
20150201134 | Carr et al. | Jul 2015 | A1 |
20150238819 | Volkerink et al. | Aug 2015 | A1 |
20150306455 | DeCarlo | Oct 2015 | A1 |
20150352425 | Lewis et al. | Dec 2015 | A1 |
20160001136 | King et al. | Jan 2016 | A1 |
20160098941 | Kerluke | Apr 2016 | A1 |
20160250540 | Joseph et al. | Sep 2016 | A1 |
20160310814 | Joseph et al. | Oct 2016 | A1 |
20160325166 | Wallace | Nov 2016 | A1 |
20160332054 | Smith | Nov 2016 | A1 |
20170232298 | Joseph et al. | Aug 2017 | A1 |
20170252625 | Campbell et al. | Sep 2017 | A1 |
20170252626 | Campbell et al. | Sep 2017 | A1 |
20170340943 | Pierotti et al. | Nov 2017 | A1 |
20170354845 | Williams et al. | Dec 2017 | A1 |
20180139425 | Mutter et al. | May 2018 | A1 |
20180154212 | Park et al. | Jun 2018 | A1 |
20180236338 | Campbell et al. | Aug 2018 | A1 |
20180290019 | Rahimi et al. | Oct 2018 | A1 |
20200009443 | Moravchik et al. | Jan 2020 | A1 |
20200047049 | Ahmed | Feb 2020 | A1 |
20200114243 | Janssen | Apr 2020 | A1 |
20200179755 | Ristas | Jun 2020 | A1 |
20200193863 | Smith | Jun 2020 | A1 |
20200346095 | Kubota et al. | Nov 2020 | A1 |
20210008433 | Bush | Jan 2021 | A1 |
20210052961 | Brody | Feb 2021 | A1 |
20210064880 | Zhang et al. | Mar 2021 | A1 |
20210128977 | Picker | May 2021 | A1 |
20210286423 | Correia | Sep 2021 | A1 |
20210370152 | Gordon | Dec 2021 | A1 |
20230119793 | Joseph | Apr 2023 | A1 |
Number | Date | Country |
---|---|---|
WO 1995032033 | Nov 1995 | WO |
Entry |
---|
Airborne Athletics, Inc. 1 page advertising brochure, © Airborne Athletics, Inc., before 2012, 1 page. |
Airborne Athletics, Inc., “Dr. Dish Owner's Manual,” Oct. 2005, 31 pages. |
Brochure entitled “The All New 8000 Series Gun” by Shoot-A-Way before Oct. 12, 2011, 12 pages. |
Brochure entitled “The Shoot Away: The perfect Shooting Aid,” before Dec. 2, 2011, 1 page. |
Reich et al., “A spatial analysis of basketball shot chart data,” The American Statistician, Feb. 2006, 60(1):3-12. |
Shoot-A-Way, Incredible 8000 Series Gun Basketball Shooting Machine, Sep. 27, 2010, https://www.youtube.conn/watch?v=eOUTA k8eW4 , 1 page (Year: 2010). |
Sniper, “Sniper Program Instructions Help with F1,” Feb. 10, 1995, 18 pages. |
Sniper, “Sniper The Ultimate Basketball Trainer,” before Oct. 1995, 4 pages. |
Number | Date | Country | |
---|---|---|---|
62419177 | Nov 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16811902 | Mar 2020 | US |
Child | 18126647 | US | |
Parent | 15805919 | Nov 2017 | US |
Child | 16811902 | US |