Devices, systems, and methods, for skate blade profiling
The skate blade profiling system addresses the limitations of current profiling machines by using a comprehensive system with a motor assembly and control system to efficiently and precisely machine profiles onto skate blades, enhancing performance and versatility.
Patent Information
- Application Number
- PCT/US2024/045196
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-05
- Filing Date
- 2024-09-04
- Publication Date
- 2025-03-13
AI Technical Summary
Current skate blade profiling machines are limited by the need for numerous templates for different shapes and sizes, and they utilize outdated electrical and software technology, which restricts their computing power and analysis capabilities.
A skate blade profiling system that includes a base, a securing mechanism, a carriage, a motor assembly with a grinding component, and a control system. This system allows for the machining of specific profiles onto skate blades using a method that includes receiving profiling instructions, securing the skate blade, and performing a profiling operation.
The system enables efficient and precise profiling of skate blades, reducing the need for multiple templates and overcoming the limitations of outdated technology, thereby improving performance and versatility.
Smart Images

Figure US2024045196_13032025_PF_FP_ABST
Abstract
Description
DEVICES, SYSTEMS, AND METHODS, FOR SKATE BLADE PROFILINGINCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS
[0001] Any and all applications for which a foreign or domestic priority claim is identified in the Application Data Sheet as filed with the present application are hereby incorporated by reference under 37 CFR 1.57.BACKGROUNDField
[0002] The present disclosure relates to the field of machining of ice skate blades.Description of the Related Art
[0003] Skate Profiling is a method by which a specific shape or “profile” is created on an ice skate blade, for the purposes of altering and / or optimizing the performance of the skater. The “profile” refers to the shape of the bottom portion of the skate blade that is in contact with the ice and is in the plane perpendicular (or normal) to that when looking at the skate and / or skater from the skater’s left or right side (i.e., the shape of the blade that touches the ice, from toe to heel).
[0004] Profiling machines can generally fall into two categories: 1 ) profiling machines that use templates to create a specific profile for the skate blade, and 2) computer- controlled profiling machines that can use selectable programs to create the desired shape in the skate blades. Template-based machines can be simpler to design, less complex on the electrical / software side, and less expensive to fabricate as simpler electronics and controls are needed. A limitation of the template-based system is that a different template is needed for every different shape desired and ideally the template is also different for each size of skate blade. These limitations can result in an exponential number of templates needed to offer a comprehensive profiling machine and service. A limitation of computer-controlled machines on the market today is that they use antiquated electrical and software technology in their implementation, which limits their computing power and analysis. Additionally, the currently marketed machines typically require physical software cards / disks to update the available profiles on these machines.
[0005] Current profiling machines and devices have many limitations. It is desirable to have a new system for skate blade profiling.SUMMARY
[0006] Various systems, methods, and devices are disclosed for profiling an ice skate blade. The systems, methods, and devices each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
[0007] In some embodiments, a skate blade profiling system is disclosed. The skate blade profiling system can include a base; a securing mechanism configured to secure at least one skate blade to the base; a carriage configured to move relative to the base; a motor assembly including: a grinding motor; and a grinding component, the grinding motor configured to rotate the grinding component; a motor arm coupled at a first end to the motor assembly, a second end of the motor arm pivotally coupled to the carriage; a biasing member extending between the carriage and the motor arm, the biasing member configured to bias the motor assembly in a first rotational direction; and a control system configured to control operation of the skate blade profiling system to perform a profiling operation.
[0008] In some embodiments, a method of generating profiling instructions for a skate blade profiling system is disclosed. The method can include receiving data associated with a skate blade; analyzing the data associated with the skate blade; and outputting a first set of one or more profiles compatible with the skate blade.
[0009] In some embodiments, a method of profiling a skate blade is disclosed. The method can include receiving, by a control system of a skate blade profiling system, profiling instructions for profiling a first profile onto a skate blade; securing the skate blade with a securing mechanism of the skate blade profiling system; and performing, by the skate blade profiling system, a profiling operation according to the profiling instructions, the profiling operation including machining the first profile onto the skate blade.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The foregoing aspects and many of the attendant advantages of this disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with theaccompanying drawings. The accompanying drawings, which are incorporated in, and constitute a part of, this specification, illustrate embodiments of the disclosure. Embodiment of the present disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like references indicate similar elements. According to common practice, the various features of the drawings discussed below are not necessarily drawn to scale. The drawings are provided to illustrate example embodiments described herein and are not intended to limit the scope of the disclosure.
[0011] Figure 1A illustrates a perspective view of an embodiment of an ice skate.
[0012] Figure IB illustrates a side view of an embodiment of an ice skate blade.
[0013] Figure 2A illustrates a side view of an embodiment of an ice skate with multiple profile lines.
[0014] Figure 2B illustrates the profile lines of Figure 2B and an associated contact patch.
[0015] Figures 2C and 2D illustrate embodiments of ice skate blades with multiple profile sections.
[0016] Figure 3A illustrates a perspective top view of a profiling system.
[0017] Figures 3B illustrates a first side view of the profiling system of Figure 3A.
[0018] Figure 3C illustrates a second side view of the profiling system of Figure3A.
[0019] Figure 3D illustrates a top view of the profiling system of Figure 3A.
[0020] Figure 3E illustrates a detailed top perspective view of select components of the profiling system of Figure 3A.
[0021] Figure 4 illustrates a method of generating profiling instructions for a profiling system.
[0022] Figure 5 illustrates a method of profiling a skate blade using a profiling system.
[0023] Figure 6 illustrates an embodiment of a computing system which may implement example embodiments of one or more components of the profiling system and / or affiliated systems.DETAILED DESCRIPTION OF SOME EMBODIMENTS
[0024] Various embodiments and aspects of the disclosures will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the disclosure and are not to be construed as limiting the disclosure. Numerous specific details are described to provide a thorough understanding of various embodiments of the present disclosure. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present disclosures.
[0025] Reference in the specification to “one embodiment” or “an embodiment” or “another embodiment” means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment.A. Overview
[0026] Profiling a skate blade is a process by which a specific shape or “profile” is created on an ice skate blade for the purposes of altering and / or optimizing the performance of the skater. The “profile” refers to the shape of the bottom portion of the skate blade that is in contact with the ice and is in the plane perpendicular (or normal) to that when looking at the skate and / or skater from the skater’s left or right side (i.e., the shape of the blade that touches the ice, from the toe to the heel of the skate blade). A skater, such as a hockey player, may select a particular profile for their skate blades based on their particular playing style, position, desired performance from their skates, etc. As explained herein, a profiling system (e.g., the profiling system 200 illustrated in Figures 3A-3E) can be used to profile one or more skate blades at the same time. The profiling system can be used to remove material from the skate blade to change the shape of the blade (e.g., in the heel-to-toe direction) to create the desired profile. Throughout the disclosure, reference to operations performed on a skate blade (e.g., by the profiling system 200) are understood to also apply to multiple skate blades. For example, operations can be applied to multiple skate blades at the same time.
[0027] Figures 1A and IB illustrate example embodiments of an ice skate 150 and a side profile of a skate blade 100 respectively. The ice skate 150 can include the skate blade100, a skate blade holder 120 and a boot 130. The skate blade holder 120 is configured to secure the skate blade 100 to the boot 130. Also shown in Figure 1A is a coordinate system. In the coordinate system, the X-axis extends along the length of the skate blade 100, the Y-axis extends along the width of the skate blade 100, and the Z-axis extends along the height of the skate blade 100. Each axis is orthogonal to the other two axes. Throughout this disclosure, reference to the orientation of various components may be relative to this coordinate system.
[0028] As shown in Figure IB, the skate blade 100 includes a top portion 102, a bottom portion 104, a front portion / toe 106, a back portion / heel 108. The top portion 102 includes a toe plate 110 and a heel plate 112. The toe plate 110 and the heel plate 112 are configured to be inserted into the toe and heel of the skate blade holder 120 respectively. As explained herein, the toe plate 110 and the heel plate 112 can be used to secure the skate blade 100 to the profiling system 200. Generally, the skate blade 100 is removable from the skate blade holder 120. For example, the skate blade 100 may be removed from the skate blade holder 120 prior to being profiled.
[0029] Figure 2A shows the ice skate 150 with three example profiles lines 114A- C (generally referred to as profile line 114) that could be machined into the skate blade 100. For example, the first profile line 114A can correspond to a 9-foot radius profile, the second profile line 114B can correspond to an 11 -foot radius profile, and the third profile line 114C can correspond to a 13-foot radius profile. The profile line 114 can define the radius of curvature along the length of the skate blade 100. This curve is the part of the skate blade’s 100 rocker and affects how the skate blade 100 interacts with the ice. As shown in Figure 2B, the profile lines 114 define three example contact patches 116A-116C (generally referred to as contact patch 116) for the skate blade 100. Generally, the contact patch 116 refers to the portion of the skate blade 100 that contacts the ice. A skate blade 100 with a smaller radius profile, such as the 9-foot radius profile defined by the first profile line 114A, can have a shorter contact patch 116A than the contact patch 116B of a skate blade 100 with a larger radius profile, such as the 11-foot radius profile defined by the second profile line 114B. Generally, a shorter contact patch 116 corresponds to a more maneuverable skate blade. Conversely, a skate blade 100 with a longer contact patch 116 is generally less maneuverable but can be faster due to the greater length of contact between the skate blade 100 and the ice. Greater contact between theskate blade 100 and the ice reduces the overall pressure on the contact patch 116, allowing the skate blade 100 to sit higher on the surface of the ice (c.g., dig into the ice less).
[0030] While Figures 2A and 2B illustrate different radius profiles that can be machined into the skate blade 100, an infinite number of different profiles that can be more complex and can be machined into the skate blade 100. For example, as shown in Figures 2C and 2D, the skate blade 100 can be divided into a plurality of sections 118, with each section having a different profile and / or blade shape. The different profiles can be blended together along the length of the skate blade 100. For example, the skate blade 100 in Figure 2C includes three sections 118A, 118B, and 118C, each with a different profile. Similarly, the skate blade 100 in Figure 2D includes four sections 118D, 118E, 118F, and 118G each with a different profile. By including multiple different profile sections, each section 118 can impact the performance of the skater differently while performing different maneuvers on the ice (e.g., starting, gliding, stopping, etc.). While example skate blades 100 are shown with one, three, and four different profile sections 118, it is recognized that any number of distinct profile sections 118 can be included in the skate blade 100. Further, any number of combinations of profiles may be available and may be applied to the skate blade 100 using a profiling machine, such as the profiling system 200.B. Profiling System
[0031] Figures 3A-3E illustrate various views of an example profiling system 200. The profiling system 200 may also be referred to herein as a “profiling machine” or a “profiler”. Figure 3A shows a top perspective view of the profiling system 200, Figure 3B and 3C show side views of the profiling system 200, Figure 3D shows a top view of the profiling system 200, and Figure 3E shows a detailed top perspective view of certain components of the profiling system 200. The profiling system 200 can be used to alter the profile of a skate blade, such as the skate blade 100. The profiling system 200 can alter the profile of the skate blade 100 by machining or removing portions of the skate blade 100 along its length. The profiling system 200 can profile one or more skate blades 100 at the same time. In the illustrated example, two skate blades 100 are being machined in the profiling system 200, however, in other examples, one skate blade 100 or more than two skate blades 100 can be machined at the same time. While the following description may reference operations on a single skate blade100, it is recognized that the same operations could be performed on multiple skate blades 100 at the same time by the profiling system 200. Profiling multiple skate blades 100 at the same time can provide an advantage of producing multiple skate blades 100 with an identical profile. For example, by profiling two skate blades 100 from a pair of skates at the same time, each skate blade 100 obtains an identical shape as the other skate blade 100 in the pair.
[0032] In some implementations, the profiling system 200 can be configured to communicate with and / or interact with one or more additional devices, such as user devices (not shown) and a backend system (not shown). For example, a control unit of the profiling system 200 may communicate with the user devices and the backend system over a network. In some examples, the network may comprise one or more networks, including, for example, a local area network (LAN), wide area network (WAN), and / or the Internet, for example, via a wired, wireless, or a combination of wired and wireless, communication links. The network can facilitate communication between the control unit of the profiling system 200, user devices, backend systems, and / or additional devices. In addition to or alternatively to communication over the network, in some examples, the various devices may be configured to communicate with each other using Bluetooth, WIFI, and / or the like. User devices may include personal computers, laptop computers, phones (e.g., smart phones), tablets, smart watches, and / or the like. Generally, the user device includes a camera and is capable of running a mobile application that can provide instructions to the profiling system 200. The backend system can store and / or process data associated with the profiling system 200 or the user device.
[0033] With reference first to Figure 3A, the profiling system 200 can include a base 202, a gantry 210, and a carriage 220. The base 202 can be configured to support one or more skate blades 100, and the gantry 210 and the carriage 220. The gantry 210 and the carriage 220 can be configured to move relative to the base 202 to selectively remove material from the skate blade 100. The gantry 210 can support the carriage 220 and allow the carriage 220 to move in a first direction (along the X-axis) relative to the skate blade 100. The carriage 220 can support a cutting or grinding tool that is used to grind, machine, or otherwise remove material from the skate blade 100. The machining or material removal can be grinding, milling or any process which removes material from the skate blade 100. “Grinding”, as the term is used herein, can include grinding or machining. In the illustrated example, the profiling system 200 includes a grinding component 242 for profiling the skate blade 100. The grindingcomponent 242 may also be referred to herein as a grinding wheel or a profiling wheel. In the illustrated example, the base 202 is static and the carriage 220 moves relative to the base 202. In other implementations, the carriage 220 remains static and the base 202 moves relative to the carriage 220, or both the base 202 and the carriage 220 can both move.
[0034] The base 202 supports the other components of the profiling system 200. The base 202 can be supported by a flat surface, such as a table or floor during profiling operations. In some implementations, the base 202 can include a clamping mechanism to secure the base 202 to a support surface. The base 202 can also secure the skate blade 100 in a fixed manner. For example, the skate blade 100 can be secured relative to the base 202 as it is machined by the grinding component 242. To secure the skate blade 100 to the base 202, a clamping mechanism can be used. In the illustrated embodiment, the profiling system 200 includes a clamping plate 204 and a clamp 206. The clamping plate 204 can be coupled to a top surface of the base 202. The clamping plate 204 can define a flat surface for engaging a first side of the skate blade 100. The clamp 206 can move relative to the clamping plate 204 to secure the skate blade 100 to the base 202. For example, the skate blade 100 can be positioned between the clamping plate 204 and the clamp 206 and one or more fasteners (e.g., one or more bolts and nuts) can be tightened to secure the skate blade 100 between the clamping plate 204 and clamp 206. The clamp 206 can define a second flat surface of engaging a second side of the skate blade 100. The clamp 206 can be configured to apply sufficient pressure to the skate blade 100 such that the skate blade 100 is fixed relative to the base 202 and does not move during a profiling operation. While fasteners are shown in the illustrated example, any suitable clamping mechanism could be used to secure the skate blade 100 to the base 202. For example, one or more jaws or clamp levers can be used to secure the skate blade 100. The jaws can be manually operated or operated automatically, such as by a motor in response to user input. In some implementations, the toe plate 110 and the heel plate 112 of the skate blade 100 are features used to secure the skate blade 100 to the base 202 via the clamping plate 204 and clamp 206. Because different skate blades from different manufacturers have different features (e.g., the skate blades may not include the same toe and heel plates 110, 112), any number of distinct features for a particular skate blade can used to secure the blade to the profiling system 200.
[0035] Additionally, fixturing features can be mounted to or otherwise engaged with the clamping plate 204 and clamp 206 to fix the skate blade 100 in a defined position for a profiling operation. The fixturing features may include pins and / or holes that engage the skate blade 100 and maintain the desired position. For example, the fixturing features may be used to define the angle and location in X and Z coordinates at which the skate blade is positioned relative to the carriage 220 and grinding component 242.
[0036] The gantry 210 is configured to support and move the carriage 220 relative to the skate blade 100. The gantry 210 can be configured to move or translate along the base 202 in the X-direction. To facilitate such movement, the gantry 210 can be mounted to the base 202 on rails, tracks, or other guiding mechanisms that allow the base 202 to move precisely along a predetermined path relative to the base 202. In the illustrated example, the base 202 includes a first rail 208 A and a second rail 208B for supporting the gantry 210. The first and second rails 208A, 208B extend in the X-direction between sides of the base 202. In the illustrated example, the gantry 210 includes a first side member 212A and a second side member 212B. The first side member 212A is configured to travel along the first rail 208 A and the second side member 212B is configured to travel along the second side member 212B. The profiling system 200 can include a gantry motor 250 that controls the movement of the gantry 210 relative to the 202.
[0037] The gantry 210 can include one or more rails 214 that extend between the first side member 212A and the second side member 212B. The rails 214 support the carriage 220 and allow the carriage 220 to travel relative to the gantry 210 in the Z-direction. In the illustrated example, the gantry 210 includes three rails 214. In other example, the gantry 210 may include more or less rails 214 and / or an alternative guiding mechanism that allows the carriage 220 to move relative to the gantry 210. The profiling system 200 can include a carriage motor 252 that controls the movement of the carriage 220 along the rails 214 and relative to the gantry 210.
[0038] The carriage 220 is configured to support the grinding component 242 and move the grinding component 242 relative to the skate blade 100 to profile the skate blade 100. In the illustrated example, the carriage 220 can move along two axes. The carriage 220 moves relative to the gantry 210 along the Z-axis and the carriage 220 moves with the gantry 210 relative to the base 202 along the X-axis. The position of the carriage 220 relative to the gantry210 can define the range of movement of the grinding component 242 in the Z-direction. The carriage 220 can include a body portion 221. The body portion 221 supports the other components of the carriage 220 and coupled to the rails 214. For example, the body portion 221 can move the carriage 220 along the rails 214. The carriage 220 can also include a spindle shaft 222 and a carriage spindle 224. The spindle shaft 222 is coupled to the body portion 221 and can extend along the Y-axis. The carriage spindle 224 is configured to rotate about the spindle shaft 222 (e.g., about the Y-axis). A grinding motor 240 can be coupled to the carriage spindle 224 via a motor arm 226. The motor arm 226 can be coupled to the carriage spindle 224 at a first end and the grinding motor 240 at a second end. As such, the grinding motor 240 and grinding component 242 can rotate about the spindle shaft 222 via the motor arm 226 and carriage spindle 224. In some implementations, the carriage spindle 224 can support the grinding motor 240 in a compliant manner relative to the carriage 220, as described further with reference to Figure 3E.
[0039] With reference to Figures 3B and 3C, the grinding component 242 can be mechanically coupled to a rotating shaft (not shown) of the grinding motor 240 at an end of a grinding spindle 244. The shaft can rotate the grinding component 242 in the plane of the skate blade 100 (i.e., the X-Z plane). The grinding component 242 can be used to profile the skate blade 100 along its length. In some implementations, the profiling system 200 and the grinding component 242 (or a separate grinding wheel) may also be used to sharpen the skate blade 100. For example, the profiling system 200 can control the grinding component 242 to remove equal amounts of material from the skate blade 100 across the entire length of the skate blade 100 to sharpen the skate blade 100. Generally, the skate blade 100 is profiled before being sharped. In some cases, the skate blade 100 may be sharpened by the profiling system 200 without being profiled. In other implementations, a separate sharpening machine may be used to the sharpen the skate blade 100, generally after a profiling operation has been completed.
[0040] Referring now to Figure 3E, a detailed top perspective view of the profiling system 200 is shown, illustrating the relationship between the grinding motor 240 and the carriage 220. As described above, the grinding motor 240 is coupled to the carriage spindle 224 via the motor arm 226. Such an arrangement allows the grinding motor 240 to pivot about the spindle shaft 222 of the carriage 220. The grinding motor 240 can be compliantly mounted to the carriage 220 via a biasing member 232. In the illustrated example, the biasing member232 is a spring that extends between the motor arm 226 and the body portion 221 . The spring 232 can be prcloadcd to bias the grinding motor 240 towards positive rotation (right-hand rule) about the Y-axis. The spring 232 can be an extension spring. The spring 232 can be coupled at a first end to a first spring support 228 and at a second end to a second spring support 230. The first spring support 228 can extend from the body portion 221. The second spring support 230 can extend from the motor arm 226.
[0041] As shown in Figure 3E, the carriage 220 can include a rigid stop 234. The rigid stop 234 can be coupled to or extend from the body portion 221. The spring 232 can pull or bias the motor arm 226 against the rigid stop 234, unless the grinding component 242 is in contact with the skate blade 100. The rigid stop 234 can define a maximum rotational position of the motor arm 226 relative to the spindle shaft 222 (about the Y-axis). The position of the rigid stop 234 can be manipulated to change the maximum rotational position of the motor arm 226. The position of the rigid stop may be manipulated manually (such as, for example, by a knob, screw, lever, or other mechanism) or automatically (such as, for example, by a motor controlled by a controller of the profiling system). When the grinding component 242 is in contact with the skate blade 100, the spring 232 can extend or deflect as the grinding component 242 travels along the length of the skate blade 100, allowing the assembly including the grinding component 242 to behave in a compliant fashion.
[0042] By compliantly mounting the grinding component 242 to the carriage 220 (e.g., via the spring 232 and motor arm 226), the profiling system 200 can provide improved machining and profiling results for the skate blade 100. Such an arrangement can reduce or eliminate chatter marks in the skate blade 100 that are produced during a typical profiling operation. One reason that machining skate blades with a high degree of precision in challenging is because of the hardness of the skate blade material (e.g., stainless steel). In conventional profiling systems, where CNC-type machines are used to machine skate blades, there can be visible tool chatter marks left on the skate blade following milling (e.g., a profiling operation). These chatter marks can be caused by the vibration of the milling tool bouncing or chattering as the tool is translated down the length of the skate blade. Chatter marks are not desirable because these chatter marks can be in pattern machined into the steel in the direction opposite of the travel direction of the skate blade across the ice. As such, the chatter marks can increase the gliding friction, resulting in a reduced performance from the skate blade.Traditional skate blade sharpening leaves a pattern from the grinding operation in the direction of travel of the skate on icc and this has a much lower impact on friction and thus moves across the ice with less effort. By compliantly mounting the motor 240, grinding spindle 244, and grinding component 242 to the carriage 220, the grinding component 242 can translate more smoothly down the skate blade 100 while the skate blade 100 is machined. As a result, there can be less chatter as the carriage 220 can absorb the vibration in the milling process more easily.
[0043] In some embodiments, the motor arm 226 can be biased with a spring / damper system that incorporates not only the spring 232 but a damping member (not shown) as well (e.g., a shock absorber). Including the damper can enhance the performance of the profiling system 200 by managing vibrations and improving control over the interaction between the grinding component 242 and the skate blade 100. While the illustrated example shows the profiling system 200 with a compliant mounting assembly including the motor arm 226 and the spring 232, in other implementations, the profiling system 200 may include a typical rigid mounting of the motor 240 to the carriage 220.
[0044] In the illustrated profiling system 200, compliant mounting refers to biasing the grinding component 242 toward the skate blade 100 and the rigid stop 234 using a compliant biasing member 232 (e.g., a spring). When grinding or cutting the profile shape into the bottom of the skate blade 100 motor arm 226 is the biased (e.g., spring-loaded) toward the skate blade 100 and the rigid stop 234, the precision shape can be cut into the skate blade 100. The contact force between the grinding component 242 and the skate blade 100 can be controlled by the biasing member 232. The rigid stop 234 can be used to control whether the grinding component 242 can contact the skate blade 100. During a profiling operation, multiple passes of the grinding component 242 along the length of the skate blade 100 may be required to achieve the desired precise profile shape. During each pass, it may be desirable for the grinding component 242 to contact only a portion of the skate blade 100. The rigid stop 234 can be automatically adjusted during each pass to selectively position the grinding component 242 against the bottom of the skate blade 100 to create the desired profile shape.
[0045] In some implementations, the profiling system 200 can include a cover. The cover can extend over the gantry 210, the carriage 220, and at least a portion of the base 202.In some cases, the profiling system 200 may be configured not to perform operations unless the cover is in the closed position.
[0046] As described herein, the profiling system 200 can include a control system that controls the operations of the profiling system 200. The control system can execute a series of instructions (e.g., profiling instructions) such as turning on and off the grinding motor 240, setting the speed of rotation (RPM) of the grinding component 242, and defining an X, Y, Z path for the gantry 210 and carriage 220 to follow for the desired profile from the start to the finish of a profiling operation. For example, the control system can execute the profiling instructions to move the carriage 220 (e.g., via the gantry motor 250 and carriage motor 252) such that the grinding component 242 moves or defines a shape in space that corresponds to the selected or desired profile for the skate blade 100. During the profiling operation, the grinding component 242 may only need to remove material from one or more portions of the skate blade 100 in order to create the desired profile. To achieve this, the rigid stop 234 can be automatically adjusted to control whether the grinding component 242 can touch the skate blade. As the carriage 220 moves between grinding portions of the skate blade 100, the motor arm 226 can be biased or pinned against the rigid stop 234 at a position below the bottom edge of the skate blade. Using the rigid stop 234, the profiling system 200 can selectively remove material of the skate blade 100 in order to match the desired profile. The control system can determine that the profiling operation is complete once the skate blade matches the desired profile. In some implementations, grinding component 242 can be passed along the bottom of the skate blade 100 and feedback from one or more sensors of the profiling system 200 can verify that the movement of the grinding components 242 in space matches the desired shape of the selected profile within a certain tolerance. In some implementations, the control system may be configured to verify complete coverage of the skate blade 100 during the profiling operation by verifying that material was removed along the desired profile. For example, the control system use can use one or more sensors and / or images to determine the profile of the skate blade 100 and determine whether the new profile of the skate blade 100 matches the desired profile. In some cases, the control system may insure that a certain amount of material (e.g., 0.002 inches) was removed along the length of the skate blade 100. For example, the control system may verify that material was removed from sections not specified to be machined based on the selected profile to ensure that the desired shaped was blended acrossthe length of the skate blade 100. In some implementations, the control system may measure the current of the grinding motor 240 as the grinding component 242 is moved along the length of the profiled skate blade 100 to determine when the profiling operation is complete. For example, variation in the motor current may indicate material is still being machined from the skate blade 100, while a relatively consistent current can indicate that the skate blade 100 has been machined to the desired profile. In other implementations, current feedback from the gantry motor 250 and / or the carriage motor 252 may also be used to verify the profiling operation was completed.
[0047] The instructions of the control system can also include information about which tool to use. For example, the profiling system 200 may use a cutting tool (e.g., the grinding component 242 or other cutting / machining tool) or a probe in the carriage 220. In some implementations, the profiling system 200 can be configured to change tools during the machining process. For example, while the profiling system 200 is typically used to machine away material from material stock (e.g., the skate blade 100), the camage 220 can also move a probe (not shown) around to enable the profiling system 200 to take measurements of objects secured to base 202, such as the skate blade 100. The probe of the profiling system 200 may be used to confirm fixturing of the skate blade 100 to the base 202 and / or that a mounted skate blade 100 is the correct shape for corresponding profiling instructions. In some embodiments, the profiling system may move the grinding component 242 along the bottom surface the skate blade 100 to determine the shape and / or position of the skate blade 100.
[0048] In some implementations, the profiling system 200 and / or an associated device can be used to create one or more fixturing features. In some cases, a unique set of fixturing features can be created for each different profile. The fixturing features can be used to locate the skate blade 100 on the base 202 of the profiling system 200 during a profiling operation. In some implementations, fixturing features can be created for the skate blade 100 or set of skate blades 100 before each profiling operation. In other implementations, the fixturing features can be reused when recreating the same profile on a similar skate blade 100 (e.g., the same make, model, and sized skate blade 100). In some implementations, the fixturing features can include a machine-readable code (e.g., a QR code, Barcode, etc.). In such cases, the profiling system 200 can be configured to scan or read the machine -readable code to confirm if the fixturing features are compatible with a profiling operation that is about to beperformed. For example, the profiling system 200 may include a camera or other device for reading the machinc-rcadablc code. In other implementations, the user device may be used to scan the machine-readable code and can communicate the information to the control system of the profiling system 200. In some implementations, the profiling system 200 can be configured to generate the machine-readable code for the fixturing features. For example, the profiling system 200 may be configured to engrave (e.g., via machining), laser etch, and / or otherwise create the machine-readable code on the fixturing features as they are manufactured. In other examples, the profiling system 200 can generate a machine-readable code that corresponds to the fixturing features that a user can print (e.g., by a 3D printing system) and secure to the fixturing features. When included, the machine-readable code can create identification information about the fixturing features.
[0049] In some implementations, the material of fixturing features can be a plastic or other type of material that can be machined by the profiling system 200. The profiling system 200 can then be used to create a hole into the face of the main body of the fixturing feature. A user of the profiling system 200, or the profiling system 200 itself, could then insert a dowel pin, typically made from a hard material such as steel, into the machined hole. In another implementation, locating pins could be machined or created on the fixturing feature without the need for adding another component. The profiling system 200 could be used to machine away material until a positive feature, such as a pin or protrusion, remains on the surface of the main body of the fixturing feature. The fixturing features can be used for improved profiling operations. The fixturing features can provide the control system of the profiling system 200 with the geometry of the skate blade 100.
[0050] In some implementations, the geometry for common skate blades can be known and accessed from the backend system or stored in the profiling system 200. In other cases, the geometry of the skate blade 100 can be obtained by scanning or obtaining an image of the skate blade 100 via the user device, as described herein. In some implementations, the profiling system 200 can verify the geometry of the skate blade 100 before an operation is completed. For example, the profiling system’s 200 control system (e.g., including via communication with the user device or the backend system) can confirm the shape and position of the skate blade 100 before the profiling operation begins using various methodologies, such as probing the shape of the blade (e.g., using a probe or grinding component) or using imageprocessing of an image of the skate blade 100 secured in the profiling system 200 (e.g., an image captured by an image capture device of the profiling system 200 or a user device). If the blade shape and / or position of the skate blade 100 are inconsistent with where the control system expects the skate blade 100 to be located, the profiling system 200 can either make an adjustment to where it intends to machine the shape into the fixtured blades 100 or the user can be prompted to reposition the skate blade 100 within the profiling system 200. For example, the profiling system 200 can indicate to the user (e.g., via the user device) that the user should remove and reposition the fixtured skate blade 100.
[0051] Another important aspect of properly fixturing the skate blade 100 during the profiling process is that a profile is desirably machined into the skate blade 100 relative to the features that secure the skate blade 100 to the skate blade holder 120 (e.g., the toe plate 110, the heel plate 112, etc.). The securing features do not change as the skate blade 100 is used, sharpened, or profiled over time.
[0052] In some implementations, control or profiling instructions for the profiling system 200 can be generated by the backend system, user device, or other computing system and communicated (e.g., via Bluetooth or Wi-Fi) to the profiling system 200. The instructions can be in G-code. G-code is a standard programming language for CNC machines. In some implementations, the G-code communicated includes both instructions required to create fixturing features for mounting the skate blade 100 as well as for machining the blades 100 themselves. In some implementations, the G-code also includes information about which tools to use in the profiling process (e.g., the probe for certain operations and the grinding component 242 for other operations). While G-code may be beneficial for utilizing in the profiling system 200 as a standard CNC programming language, in other implementations, any other programming language can be used in the profiling system 200.C. Associated Computing Systems a. User Computing Device
[0053] In some implementations, the profiling system 200 can be configured to communicate with and / or be controlled by a user computing device (e.g., user computing device 1210). The user computing device can be configured to run a software application (e.g., a profiling application) associated with the profiling system 200. The profiling application canbe presented as a graphical user interface (GUT) displayed on the user computing device. The profiling application can generate prompts and instructions for a user of the profiling system 200 and receive instructions from the user for controlling or enabling application features and the profiling system 200 (e.g., via a touchscreen display). The user computing device may also be used to obtain images or geometry of a skate blade 100 that can be input into the profiling app. For example, the user computing device can include a camera that can take pictures and / or videos of the skate blade 100. The images and / or associated data (e.g., image data) can be analyzed by the profiling application to obtain information about the skate blade 100, such as the dimensions, make, model, size, and / or other information about the skate blade 100. In some implementations, the user computing device may utilize one or more sensors and / or lasers (e.g., Light Detection and Ranging (“LiDAR”)) to obtain the geometric information / dimensions of the skate blade 100. This information, whether obtained via the camera, sensors / lasers of the user computing device, or otherwise, is referred to herein as blade information. The profiling application may store the blade information and / or upload the blade information to the backend system.
[0054] In some implementations, the profiling application can store information about a user’s skate blades 100, such as the blade information. In some implementations, the profiling application guides the user to take a picture of the skate blade 100 and may instruct the user to position the skate blade 100 on a known reference device or surface. The reference device can be a grid. The profiling application can store data about the reference device, such as the grid spacing that will be used to analyze the picture taken. When the user takes an image of the skate blade 100 against the reference device, the profiling application can determine the blade information associated with the skate blade 100. In some implementations, the reference device may also contain information about the grid directly or may include a machine-readable code about the grid that can be scanned by the user computing device. In some implementations, the reference device may include a reference part that can be placed on or otherwise engaged with the skate blade 100. The reference part can provide the profiling application with depth information. For example, the reference part can have a known feature with a similar depth to that as a width of the skate blade 100 so that the profiling application can determine and compensate for the effects of perspective and lens warping of the image of the three-dimensional skate blade 100 . The reference device and reference part can allow theprofiling application to convert an image of the skate blade 100 to a known two-dimensional geometry. In many cases, the mounting features on any given skate blade arc characteristic of the make, model, and size of the skate blade. In some implementations, the software application can determine the expected geometry and / or blade information for common skate blades based on characteristic features captured in the image taken of the skate blade. Such features can be used to narrow down and isolate which of the known blade geometries corresponds to the skate blade that was captured in the image. As skate blades are worn down when sharpened, the expected geometry may differ from the image captured. As such, the blade information can include information about how much the known geometry may have been worn down from its factory / new condition. This information can be useful in determining whether certain profiling operations can be performed (e.g., if enough material remains for a desired profile), whether the skate blade 100 has deviated from the desired profile, whether the skate blade 100 has exceeded it useful life, whether the skate blade 100 needs to be sharpened, and / or the like. b. Backend Computing System
[0055] In some implementations, the profiling system 200 and / or the user computing device can be configured to communicate with the backend computing system, such as a network-based computing system (e.g., server computing system 1220). In some implementations, the backend system can be configured to generate control instructions for the profiling system 200. In some implementations, any of the operations or features of the backend system can be performed on the user computing device without utilizing a backend system.
[0056] The backend system can include one or more databases. The databases can be used to store information about know skate blade geometries and other blade shape data (e.g., the coordinates associated with the 2D shape of a skate blade). The backend system can be periodically updated with blade information as new skate blades are released. For example, blade information can be provided by manufacturers of skate blades or obtained manually as new models of skate blades become available. Additionally, users of the profiling application can upload blade information during profiling operations. Users may also link the blade information to manufacturer information (e.g., manufacture, make, model, size, etc.) byinputting such information into the profile application. In some implementations, the backend system can, without human intervention, notice a trend of a new manufacturer and new skate blade image scans that are unfamiliar and train itself to recognize this new blade geometry when future similar images are uploaded. In some implementations, the backend system may include a machine learning component configured to execute one or more machine learning models for analyzing skate blades to obtain blade information. By analyzing scans of thousands of blades of a specific model of blade from a specific manufacturer, the backend system (e.g., the machine learning component) can also improve, over time, the blade information associated with a given blade make / model / size. For example, if a certain manufacturer has altered the shape of their blade, the backend system can determine and account for this deviation as the images of the blades are processed.
[0057] A number of different types of algorithms may be used by a machine learning component to generate the models for analyzing skate blades. For example, certain embodiments herein may use a logistical regression model, decision trees, random forests, convolutional neural networks, deep networks, or others. However, other models are possible, such as a linear regression model, a discrete choice model, or a generalized linear model. The machine learning algorithms can be configured to adaptively develop and update the models over time based on new input received by the machine learning component. For example, the models can be regenerated on a periodic basis as newly received data is available to help keep the predictions in the model more accurate as the data is collected over time. Also, for example, the models can be regenerated based on configurations received by the user devices or other systems. Some non-limiting examples of machine learning algorithms that can be used to generate and update the models can include supervised and non-supervised machine learning algorithms, including regression algorithms (such as, for example, Ordinary Least Squares Regression), instance-based algorithms (such as, for example, Learning Vector Quantization), decision tree algorithms (such as, for example, classification and regression trees), Bayesian algorithms (such as, for example, Naive Bayes), clustering algorithms (such as, for example, k-means clustering), association rule learning algorithms (such as, for example, Apriori algorithms), artificial neural network algorithms (such as, for example, Perceptron), deep learning algorithms (such as, for example, Deep Boltzmann Machine), dimensionality reduction algorithms (such as, for example, Principal Component Analysis), ensemblealgorithms (such as, for example, Stacked Generalization), and / or other machine learning algorithm. These machine learning algorithms may include any type of machine learning algorithm including hierarchical clustering algorithms and cluster analysis algorithms, such as a k-means algorithm. In some cases, the performing of the machine learning algorithms may include the use of an artificial neural network. By using machine-learning techniques, large amounts (such as terabytes or petabytes) of received data may be analyzed to generate models using supervised and unsupervised processes.
[0058] As described further with reference to at least Figure 4, once an image of the skate blade 100 is obtained or the skate blade 100 is scanned, and the backend system can associate the image data with blade information, including a known blade geometry. The known geometry can be compared (e.g., via the backend system or the user computing device) to a desired skate blade profile. The desired skate blade profile may be input by the user via the profiling application before, after, or with the image data. The software can digitally superimpose the desired shape onto the blade and determine if that desired shape is capable of being machined into the skate blade 100. If insufficient material is available for the desired profile shape, the system may alert the user in the profiling application that the selected profile is not compatible with the skate blade 100. If the profile is compatible, the backend system may perform further determinations. For example, the backend system may determine the data associated with machining the locating features needed to fix the skate blade 100 on the base 202 of the profiling system 200. As described above, the fixture features can be customized for the particular skate blade 100. The backend system may also determine, relative to these fixturing features, the required path for machining the profile into the skate blade 100 and can generate machining instructions for the profiling system 200 to machine the skate blade 100 to desired profile.
[0059] As described herein, in some implementations, the profiling system 200 can create custom fixturing features that can be utilized during profiling operations. Information about such fixturing features can be stored in backend system. In conventional profiling machines, custom fixtures and / or advanced imaging systems (e.g. lasers) are typically required to locate the blades that are fixtured to the base of the profiling or milling machine. The profiling system 200 described herein can provide an improvement over such systems because the profiling system 200 can create the fixturing features based on the known geometry of skateblades (e.g., stored in the backend system) and / or obtained from images taken of skate blades via the user computing device. Utilizing this approach, where fixturing features arc created as part of the profiling operation, can improve the accuracy of the profiling process. Additionally, creating the fixturing features via the profiling system 200 can eliminate the need for the user to have on-hand the fixturing features for each type of skate blade the user will profile. Storing such a wide range of fixturing features is expensive, space consuming, and impractical given that new skate blade designs are released all the time. Additionally, since the fixturing features can be created during the profiling process, the profiling system 200 can define the positioning of the skate blade 100 within the profiling system 200. For example, the profiling system 200 may not require expensive and complex laser measurement or other such measurement systems to locate and measure the position of the skate blade 100. In some existing profiling systems, the imaging systems represent a major fraction of the overall system cost of the systems and are often a first point of failure in the systems. c. Profiling Application
[0060] A profiling application can be executed on a user computing device that provides an interface for a user to select and / or generate profiles for skate blades 100. For example, the user may provide instructions to the profiling application via the GUI displayed on the user computing device. The profiling application may include a profiling tool. The profiling tool can prompt the user with instructions on how to scan one or more skate blades 100 skate blades 100 for use with the profiling system 200. The profiling application can provide an interface for generating profiles for skate blades that are stored in the profiling application and / or a backend server. For example, the user may be looking for a new skate blade that is compatible with a desired profile. The profiling application can generate a list of potential profiles based on blade information associated with a skate blade. A user can select or modify an existing profile or create a custom profile. The selected or generated profile for the user can be output and used to generate profiling instructions for the profiling system 200.
[0061] The profiling application can provide additional information about certain profiles, such as the benefits of one profile vs another profile. For example, when the user is deciding which profile to select, the user may compare one profile to another to see which profile better fits their playing style. The profiling application can also allow an operator of theprofiling system 200 to easily keep track of which profiles are associated with which customer. For example, by associating a profile or skate blade with the skater profile, an operator can identify which profile a particular consumer used when their skates were last profiled. Additionally, the profiling application can allow the operator to easily identify which fixturing features are associated with a particular customer or profile, allowing for improved profiling operations.
[0062] In some implementations, the profiling application can be used to determine if another profiling operation is necessary. For example, a user can take an image of the skate blade and the profiling application can compare the image data to the current profile to determine the deviation of the actual skate blade from the ideal profile. In some implementations, the profiling application can be configured to quantify the amount of deviation from the ideal profile. For example, a threshold deviation limit can be set (e.g., 0.02”) and the profiling application can generate an alert or otherwise indicate when the actual skate blade has deviated beyond this threshold. When it is determined that the skate blade has deviated beyond the threshold, the profiling application may be configured to determine if sufficient blade material exists to machine the skate blade back to the desired profile. If sufficient material exists, the profiling application may generate profiling instructions for the profiling system 200.
[0063] In some implementations, the profiling application can be configured to determine the amount of wear or material removed from a skate blade based on the image data. In some cases, the user can specify an amount of wear that is desired on the skate blades before the blades are disposed of and new blades used. The profiling application can process the image of the blades and compare the images with a desired wear threshold. The profiling application can generate an alert or otherwise indicate to the user that the skate blades need to be replaced.
[0064] In some implementations, skate blades with machine -readable codes can be used with the profiling application and / or the profiling system 200. Including machine- readable codes on the skate blades can provide certain benefits. For example, whenever an operation is performed on the skate blades, such as a sharpening or profiling operation, the operation can be logged via the profiling application or the profiling system 200. As such, the entire life of processing on that skate blade could be stored and associated with a user account in the backend system. A user could then use the profiling application to look up the history ofa particular skate blade by scanning the machine-readable code. In some cases, the history can include information about the tools used to sharpen or profile the skate blade, such as the radii of the grinding ring used. By storing the history of the skate blade, a skater can move between different sharpening / profiling providers without needing to remember the settings used for their skate blades.
[0065] In some implementations, the profiling application can be used to predict or determine an existing profile of a skate blade based on an image of the skate blade. For example, the user can use the profiling application to take an image of the skate blade, and the profiling application can generate and display information about the current condition of the skate blade profile. The current condition can include a determination of the closest profile to the blade scanned. The profiling application can also indicate the deviation of the skate blade from the identified profile, as described above.
[0066] In some implementations, the profiling application can be used to provide a user with different profiling options. For example, the profiling application may be configured to prompt the user to indicate which direction they would like to go relative to their current setup. For example, does the user want to lean more forward, more back, etc. Similarly, the application can prompt the user to identify characteristics of a desired profile, such as speed or maneuverability, relative to their current profile. Based on the user responses or desired performance characteristics, the profiling application could then identify which profiles are a match for the desired performance and also highlight those which are compatible with their blades. Skate blades that are excessively worn down may not be capable of being profiled. The profiling application could prompt the user to order a replacement blade with the new, chosen profile, such as a factory profiled skate blade.
[0067] In some implementations, the profiling application can be configured to identify a current profile of a skate blade (e.g., based on the image data) and compare the current profile to a select profile. The profiling application can be configured to provide estimated differences between the current and selected profile (e.g., a 50% increase in forward lean, a 100% increase in ice contact, etc.) and the potential performance impact of switching to the selected profile.
[0068] In some implementations, the profiling application can be used to create a custom profile. The user can create a custom profile by defining the number and lengths ofsections of the blade and the shape of each section. Features such as these could be handled through an interactive graphics display or augmented images that update in real-time as the user makes changes to the profile definition. In one example, the profiling application can include graphical slider bars, which a user can use to modify the profile. With each profile modification, the displayed custom profile may be updated. Additionally, in some cases, the profiling application can also display how the changes in profile shape changes to speed, agility, and other skating parameters, in real time, as the user modifies the profiling definition. As the user completes the method 400, profiling instructions for the custom profile can be generated and transmitted to the profiling system 200. Custom profile creation can provide a benefit of allowing the user to focus on the effects of the profile, without a complex analysis of the particular profiled shape.
[0069] In some implementations, the profiling application can be configured to receive and log user feedback about a current or past profile. For example, after a profiling application is completed, the profiling application can prompt the user to provide performance feedback on the profile. If the profile does not mean the user’s expectations, the profiling application could prompt the user to input the necessary information to provide a new profile to try. For example, the profiling application can ask the user to identify the areas of issue with the current profile and may generate suggestions for a new profile to alleviate these issues. In some implementations, the profiling application can incorporate performance data from other systems that track the user performance during use of the skate blades. For example, the performance data can be compared before and after a profiling operation to provide the user with feedback on the impact of the new profile. Performance comparisons may include acceleration, speed, shift length, stopping distance, stride efficiency, and / or the like. Additionally, this feedback data can be provided to the backend system, and ratings can be created for each profile. These ratings can identify profiles that people find more helpful, and such profiles can be listed higher in the recommended profiles from the profiling application to the users. For example, the list of profiles may include a ranked list based on user feedback. In some instances, the profiles of professional skaters may be stored and included in lists.
[0070] In some implementations, the profiling application can allow users to track the wear of their skate blades in between profiling operations. For example, the profiling application could store a profile when the profile is machined into the skate blade. The profilingapplication could then allow users to take a picture of their skate blade at any time following a profiling operation and compare the image of the skate blade at the time of profiling to the current image. In this example, the profiling application could alert the user to the amount of wear that has occurred and alert the user when the skate blades should be profiled again to maintain the desired performance.
[0071] In some implementations, the profiling application can be configured to log or record skating and sharpening events. For example, the user could record each time they skate or sharpen the skate blades. In some cases, the skate blade sharpening system may log a sharpening in the profiling application. The profiling application could then alert the user when it is recommended that they re-profile their skate blades. Knowing how many times skates have been used and how often they are sharpened provides the profiling application with an estimate for material removal on the skate blades. From this information, the profiling application can estimate when the shape of the skate blade may have changed from the ideal shape and should be re-profiled to the desired profile shape.
[0072] In some implementations, the profiling application can share the profile information of others in order to help a skater choose a profile best for them. For example, the profiling application could maintain a database of professional / famous hockey players and the associated profiles. In some cases, the profiling application can allow a user to enter their skating style, position, and / or other factors, and the profiling application can present a list of profiles that may be relevant given the entered parameters.
[0073] In some implementations, the backend system can access and analyze any of the foregoing information from the profiling application and provide predictions (e.g., using the machine learning component). In one example, the backend system may determine the material removal characteristics of a sharpening operation for certain sharpening systems. By knowing the number of sharpenings between images taken of a set of skate blades, the backend system can generate improved predictions of when re -profiling is necessary.D. Profiling Process
[0074] Figure 4 illustrates a method 400 of generating profiling instructions for a profiling system 200. The profiling instructions can be generated using a profiling application, that can be accessed via a user computing device. It is recognized that there are otherembodiments of the method 400 which may not include some of the steps shown and / or may include additional steps not shown. The steps discussed may be combined, separated into substeps, and / or rearranged to be completed in a different order and / or in parallel. Additionally, operations performed on the user computing device can generally be performed on the backend system and vice-versa. For example, in some portions of the method 400 may be performed without the use of the user computing device or without the use of the backend system, in some implementations.
[0075] To perform the method 400, the user may open the profiling application on the user computing device. For example, the user may provide instructions to the profiling application via the GUI displayed on the user computing device. The profiling application may include a profiling tool. The profiling tool can prompt the user with instructions on how to scan one or more skate blades 100 (e.g., using a camera of the user computing device).
[0076] The method 400 can begin at block 410, when the user computing device obtains or receives an image of the skate blade 100. For example, the user computing device can obtain the image of the skate blade 100 when the user takes a picture of the skate blade 100. When profiling a pair of skate blades 100, the user may take a picture of one or both of the skate blades. When profiling multiple pairs of skate blades 100, the user may take a picture of each pair or each individual skate blade. In some implementations, the user may position the skate blade 100 on the reference device prior to obtaining the image. In other implementations, the reference device may not be used. In some embodiments, the application may load a stored image of a skate blade 100, such as a new skate blade that has not been purchased or used from a library of skate blades 100.
[0077] At block 420, the user computing device can analyze the image data associated with the image. The user computing device may transmit the image data associated with the image to the backend system. The backend system can receive the image data and analyze the image data. For example, analyzing can include comparing the image data to a plurality of skate blade images in a database of the backend system. By analyzing the image data, the backend system can determine the blade information, such as the make, model, size, and / or additional information about the skate blade 100. In some cases, the blade information can include an estimate of the remaining useable material available on the skate blade 100. In some implementations, the machine learning component can be used to analyze the image data.For example, an input to a machine learning model can be the image data and an output from the machine learning model can be the blade information.
[0078] When the blade information is available the user computing device can receive the skate blade information from the backend system. For example, the backend system can transmit the skate blade information to the user computing device. In some embodiments, a portion or all of the of the analysis can be performed on the user computing device. Optionally, when the backend system cannot identify skate blade information associated with the skate blade 100, the user computing device can prompt the user via the profiling application to enter in the skate blade information. This information can be uploaded to the backend system for future applications by the same user or a different user of the profiling application. If the skate blade cannot be identified, a geometry (2D and / or 3D) of the blade may be generated based on the image data.
[0079] Once skate blade information has been associated with the skate blade 100, the profiling application may optionally prompt the user to assign the skate blade 100 to a skater profile on the profiling application. For example, the profiling application can allow users to create profiles that include information about the users and their equipment. By associating the skate blade 100 with the user’s skater profile, the user can easily access the skate blade information during subsequent processes. When the user does not have a skater profile, the profiling application can provide the user with the option of creating a skater profile or continuing without assigning the skate blade 100 to a skater profile.
[0080] At block 430, the profiling application can generate a profile list. The profile list can include one or more profiles that can be machined into the skate blade 100. The profiling application can store at least a portion of the profile list on the user computing device. The profiling application may request the profile list or an update to the profile list from the backend system. In some cases, the profile list can be generated based on standard profiles associated with the skate blade 100 based at least in part on the blade information. In some cases, the profile list can be filtered based on the remaining material available on the skate blade 100. For example, the backend system may compare the skate blade information to the standard profiles to confirm sufficient material is available to produce each profile in the profile list. In some cases, this comparison is an initial calculation, and a subsequent calculation is performed once a profile is selected. In some implementations, the profiling application cangenerate a second list of one or more profile that are not available. For example, the second list can include profiles that could be machined into the skate blade 100 if the skate blade 100 were new or had more useable material remaining.
[0081] At block 440, the profiling application can allow a user to modify a selected profile. For example, the user may select a profile and make modifications to the profile, such as changing the radius along certain sections of the blade, changing the blend location of certain sections along the blade, and / or the like. In some implementations, the backend system may perform a calculation to confirm that the modified profile is compatible with the skate blade 100. The user can have the option of a creating a custom profile. For example, the profiling application may allow the user to section the skate blade 100 (such as illustrated in FIGs. 2C and 2D) along the length of the blade and defined radius’ for each section. The profiling application may also allow the user to blend the sections and / or create further custom modifications to the profile. If the selected profile is not compatible, the profiling application can prevent the user from finalizing the profile. When the modified or custom profile has been verified as compatible by the profiling application, the method may proceed to block 450.
[0082] At block 450, the profiling application can output the profile selection, the profiling application may optionally display the skate blade 100 with the selected profile. For example, the skate blade 100 can be displayed with a superimposed profile line shown. In this example, the profile line shows where the skate blade 100 will be machined, providing a view of current shape of the skate blade 100 along with the future shape of the skate blade 100 once the profiling operation is completed. In some implementations, the profiling application may show the skate blade 100 alongside a modified version of the skate blade 100 with the selected profile. In some implementations, the profiling application may allow the user to toggle or otherwise manipulate the display between the current skate blade 100 and the modified skate blade 100. The profiling application can allow the user to save the selected / generated profile to the user’s account. In some embodiments, the profiling application can allow the user to share created profiles with other users, such as through social media platforms. In some embodiments, the profiling application can allow users to directly purchase skate blades that are compatible with saved profiles. For example, the profiling system can identify skate blades that are compatible with saved profiles associated with professional skaters. After confirmation of a selected profile, the method may proceed to block 460.
[0083] At block 460, the profiling application generates profiling instructions. The profiling instructions can configure the profiling system 200 (or another profiling system) to machine the selected profile into the skate blade 100. For example, the profiling instructions can be machining instructions that allow the profiling system 200 to perform the profiling operation. The profiling instructions can be generated based on the user confirming the selected profile or providing a further confirmation to generate the instructions. In some implementations, the profiling instructions can be G-code. In some implementations, the profiling instructions can include instructions for the profiling system 200 to generate compatible fixturing features for the skate blade 100. The generated profiling instructions can be communicated to the profiling system 200 so that the profiling operation can be completed.
[0084] Figure 5 illustrates a method 500 of profiling one or more skate blades 100 using the profiling system 200. It is recognized that there are other embodiments of the method 500 which may not include some of the steps shown and / or may include additional steps not shown. The steps discussed may be combined, separated into sub-steps, and / or rearranged to be completed in a different order and / or in parallel. Additionally, any operations performed on the user computing device can be performed on the backend system and vice-versa. For example, the entire method 400 may be performed without the use of the user computing device or without the use of the backend system in some implementations.
[0085] To perform the method 500, the user may open the profiling application on the user computing device. For example, the user may provide instructions to the profiling application via the GUI displayed on the user computing device. The profiling application may include a profiling tool. The profiling tool can prompt the user with instructions on how to interact with the profiling system 200.
[0086] The method 500 can begin at block 510, when the profiling system 200 receives the profiling instructions from the profiling application. The profiling instructions may have been generated when the user performed the method 400 of Figure 4. In some cases, the profiling application may prompt the user to transmit the profiling instructions to the profiling system 200, for example, by displaying a user selectable “send instruction” option.
[0087] At block 520, the profiling system 200 can optionally create fixturing features for performing the profiling operation or may provide instructions for generating the required fixturing features on another system such as a 3D printer, laser cutter, and / or the like.Block 510 may not be required for all embodiments of the profiling system 200 and / or when the user has the required fixturing features on hand (c.g., from a previous profiling operation on a similar or identical skate blade 100). The profiling application can prompt the user to load consumables (e.g., engineering plastic) into the profiling system 200. The consumables may include reference block(s) and / or reference pin(s). Based on the prompt, the user can put the reference blocks and pins into the profiling system 200. The profiling system 200 may scan the consumables and verify that the profiling system 200 is ready to create the fixturing features. For example, the profiling system 200 may include a camera or other device for scanning the consumables. In some implementations, the profiling system 200 may be configured to verify that the consumables are properly associated with and compatible with the profiling system 200. For example, the consumables may include a machine-readable code for verification by the profiling system 200. Once the consumables are verified, the profiling system 200 may proceed with creating the fixturing features or may send a confirmation to the profiling application and wait for user confirmation to proceed. For example, when the user confirms via the profiling application, the profiling system 200 may proceed with creating the fixturing features. In some implementations, the profiling system 200 may include a cover that must be closed before creating the fixturing features. In some implementations, the profiling system 200 may confirm that the skate blade 100 is not loaded in the profiling system 200 during the creation of the fixturing features. The profiling system 200 can then create the fixturing features. The fixturing features can be pin locations that fixture the blades. Fixturing features may include holes for manual press pins. Alternatively, the profiling system 200 may machine the pins into the reference material or the profiling system 200 may place the pin(s) into the pin hole(s). In another example, the profiling system 200 may include a drill bit for creating the fixturing features and the drill bit may be used as the pin. For example, the profiling system 200 may leave the drill bit behind after drilling the hole.
[0088] At block 530, the profiling system 200 can receive the skate blades 100. For example, the user may insert the one or more skate blades 100 into the profiling system 200. In some implementations, the profiling application may provide the user with instructions on how to insert and clamp the skate blade(s) 100 into the profiling system 200. For example, the profiling application may provide the user with an indication of how to clamp the skate blade(s) 100 relative to the fixturing features.
[0089] At block 540, the profiling system 200 may optionally verify that the skate bladc(s) 100 arc properly sccurcd / installcd within the profiling system 200. Before performing the operations of block 530, the profiling system 200 may wait for a confirmation from the user via the profiling application. The profiling system 200 may also confirm that the cover is closed before performing the operations of block 530.
[0090] To confirm the skate blade(s) 100 are properly installed, the profiling system 200 may scan and / or probe a number of locations along the length of the skate blade(s) 100 using the probe tool. Information from the probe can be transmitted by the profiling system 200 to the backend system. The backend system can compare the anticipated blade shape (e.g., based on the method 400 of Figure 4) with the actual location and shape of the skate blade 100 as determined by the profiling system 200 after verification of the blade shape and / or position. If an inconsistency is identified, such as the shape of the skate blade(s) 100 not matching the anticipated shape, the profiling application may display troubleshooting options for the user and the user may redo one or more steps from the method 500 or the method 400. When the backend system confirms that the skate blade(s) 100 are secured in the profiling system 200 and consistent with the anticipated shape, the profiling system 200 is ready to profile the skate blade(s) 100. In some implementations, where there is a minor deviation between the actual shape and the anticipated shape of the skate blade(s) 100, the backend system can generate modified profiling instructions to account for the deviation. The modified instructions can be transmitted to the profiling system 200.
[0091] At block 550, the profiling system 200 can perform the profiling operation. In some cases, the profiling system 200 may wait for user confirmation via the profiling application before performing the profiling operation. For example, the profiling application may generate a prompt for display, such as a user- selectable “begin profiling” option. Once selected, the profiling system 200 may execute the profiling instruction and machine the skate blade(s) 100 to the desired profile.
[0092] In some implementations, the profiling system 200 and / or the profiling application may generate an auditory or visual output when the profiling operation is completed. Additionally, the profiling system may generate a notification on a user computing device. After the profiling operation is complete, the user can remove the skate blade(s) 100from the profiling system 200. The profiling system 200 can then reset and wait for further instructions for future operations from the user computing device.E. Computer Systems
[0093] Figure 6 is a block diagram depicting an operating environment for implementing for implementing one or more embodiments of the skate profiling systems and processes disclosed herein. The operating environment can include a skate profiling system 200, user computing devices 1210, a server computing system 1220, and measurement device 1240. The various components of the operating environment 1200 can be configured to communicate with each other over the network 1250.
[0094] Although only one network 1250 is illustrated, multiple distinct and / or distributed networks may exist. The network 1250 can include any type of communication network. For example, the network 1250 can include one or more of a wide area network (WAN), a local area network (LAN), a cellular network, an ad hoc network, a satellite network, a wired network, a wireless network, a short-range communication network (e.g., NFC, Bluetooth, and the like) and so forth. The network 1250 can enable communication between the various computing devices 1210, profiling system 200, measurements devices 1240, server computing system 1220, and / or other electronic devices.
[0095] The skate profiling system 200 can include computing resources 1204 for controlling operation of the hardware components 1206. The computing resources can include a control system configured to control operation of the skate sharpener. The control system can include at least one processor and one or more controllers or microcontrollers. The controllers can provide lower-level control of corresponding hardware components within the skate sharpener, such as a grinding wheel motor, a carriage motor, and a fan. The profiling system 200 can include a user interface (UI) display panel. The profiling system 200 can include one or more communication interface(s) for communicating over the network 1250. The profiling system 200 may be configured to communicate over one or more networks, including, for example, a local area network (LAN), wide area network (WAN), and / or the Internet, for example, via a wired, wireless, or a combination of wired and wireless, communication links. The skate sharpener can be configured to communicate using short-range wireless communication technologies such as near field communication (NFC), Bluetooth, and / or thelike. The profiling system 200 can utilize the communication interfaces to communicate with measurement devices 1240, user computing devices 1210, the server computing system 1220, and third party platforms (not shown), and / or additional computing devices.
[0096] The profiling system 200 can include sensors and other components (e.g., switches) can also be connected to the control system. For example, sensors or switches can be used to detect whether a skate blade is properly positioned for profiling, whether the door has been opened or is closed, whether a dust tray or filter member is properly positioned or the like. The information from these sensors and other components can be used to better control operations of the skate sharpener to provide improved performance or safer operation.
[0097] The computing resources 1204 can include controllers and processors that are hardware computing devices including memory, I / O interface circuitry and instruction processing circuitry for executing computer program instructions stored in the memory. The controllers may be specialized for low-level real-time control tasks such as achieving and maintaining a commanded rotational speed for a motor. The processor may have a more generalized architecture and a set of programming resources to perform a of higher-level tasks, including interfacing to a user via a UI display panel. The processor can be configured to communicate with other computing devices over the network 1250 using one or more communication interfaces. The processor executing instructions of a particular computing module may perform functions defined by the program. For example, the processor executing instructions of a sharpening operation, an alignment operation, or other operations controller may be referred to as sharpening control circuitry, and the processor executing instructions related to usage control may be referred to as usage control circuitry. In some embodiments, the skate blade sharpening system may include one or more measurement devices 1230. The control system of the skate sharpener can be configured to communicate with and control operation of the measurement device 1230.
[0098] The user computing device 1210 may be any type of computing system, such as a desktop, laptop, wearable device (for example, smart watches and glasses with computing functionality), and wireless mobile devices (for example, smart phones, PDAs, tablets, or the like), to name a few. The example user computing device 1210 can be in communication with one or more the profiling systems 200, measurement devices 1240, usercomputing devices 1210, the server computing system 1220, and third party platforms (not shown), and / or additional computing devices via one or more networks 1250.
[0099] The user computing system 1210 includes one or more processing units (CPU), which may comprise a microprocessor. The computing resources further include physical memory, such as random-access memory (RAM) for temporary storage of information, a read only memory (ROM) for permanent storage of information, and a mass storage device, such as a backing store, hard drive, rotating magnetic disks, solid state disks (SSD), flash memory, phase-change memory (PCM), 3D XPoint memory, diskette, or optical media storage device. Typically, the components of the computer system 1210 are connected to the computer using a standards-based bus system. The bus system can be implemented using various protocols, such as Peripheral Component Interconnect (PCI), Micro Channel, SCSI, Industrial Standard Architecture (ISA) and Extended ISA (EISA) architectures.
[0100] The computer system 1210 can include one or more input / output (VO) devices and interfaces 1212, such as a keyboard, mouse, touch pad, and printer. The VO devices and interfaces can include one or more display devices, such as a monitor, which allows the visual presentation of data to a user. More particularly, a display device provides for the presentation of GUIs as application software data, and multi-media presentations, for example. The VO devices and interfaces can also provide a communications interface to various external devices. The computer system 1210may comprise one or more multi-media devices, such as speakers, video cards, graphics accelerators, and microphones, for example.
[0101] The user computing device 1210 can comprise one or more programming modules, such as a sharpener module 1214 that carries out the functions, methods, acts, and / or processes described herein. The sharpener module 1214 is executed on the computer system 1210 by computing resources 1212, such as a central processing unit. The sharpener module 1214 can be an application installed on the user computing device, such as an “app” on a smartphone.
[0102] In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware or to a collection of software instructions, having entry and exit points. Modules are written in a program language, such as JAVA, C or C++, Python, or the like. Software modules may be compiled or linked into an executable program, installed in a dynamic link library, or may be written in an interpreted language such as BASIC, PERL,LUA, or Python. Software modules may be called from other modules or from themselves, and / or may be invoked in response to detected events or interruptions. Modules implemented in hardware include connected logic units such as gates and flip-flops, and / or may include programmable units, such as programmable gate arrays or processors.
[0103] Generally, the modules described herein refer to logical modules that may be combined with other modules or divided into sub-modules despite their physical organization or storage. The modules are executed by one or more computing systems and may be stored on or within any suitable computer readable medium or implemented in- whole or inpart within special designed hardware or firmware. Not all calculations, analysis, and / or optimization require the use of computer systems, though any of the above-described methods, calculations, processes, or analyses may be facilitated through the use of computers. Further, in some embodiments, process blocks described herein may be altered, rearranged, combined, and / or omitted.
[0104] The server computing system 1220 can include one or more application host systems 1224 and data source(s)1222. The server computing system 1220 may include one or more computing systems configured to execute a portion of the game application 110. In some embodiments, the one or more application host systems 122 can include one or more computing devices, such as servers and databases that may host and / or execute a portion of one or more instances of the sharpener module 1214. In certain embodiments, instead of or in addition to executing a portion of the sharpener module 1214, the application host systems 1224 may execute another application, which may complement and / or interact with the sharpener module 1214 during execution of an instance of the profiling module 1214 by the user computing device 1210.
[0105] The server computing system 1220 may ran on a variety of computing devices, such as a server, a Windows server, a Structure Query Language server, a Unix Server, a personal computer, a laptop computer, a smart phone, a personal digital assistant, a tablet, and so forth. Servers may include a variety of servers such as database servers (for example, Oracle, DB2, Informix, Microsoft SQL Server, MySQL, or Ingres), application servers, data loader servers, or web servers. In addition, the servers may run a variety of software for data visualization, distributed file systems, distributed processing, web portals, enterprise workflow, form management, and so forth. In other embodiments, the server computing system1220 may run on a cluster computer system, a mainframe computer system and / or other computing system suitable for controlling and / or communicating with large databases, performing high volume transaction processing, and generating reports from large databases. The computing system 1202 is generally controlled and coordinated by an operating system software, such as Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11, Windows Server, Unix, Linux (and its variants such as Debian, Linux Mint, Fedora, and Red Hat), SunOS, Solaris, Blackberry OS, z / OS, iOS, macOS, or other operating systems, including proprietary operating systems. Operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, and I / O services, and provide a user interface, such as a graphical user interface (GUI), among other things.
[0106] Access to the profiling module 1214 of the computer system 1202 by computing systems 1220 and / or by data sources 1222 may be through a web-enabled user access point such as the computing systems’ 1220 or data source’s 1222 personal computer, cellular phone, smartphone, laptop, tablet computer, e-reader device, audio player, or another device capable of connecting to the network 1250. Such a device may have a browser module that is implemented as a module that uses text, graphics, audio, video, and other media to present data and to allow interaction with data via the network 1250.
[0107] Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and / or states. Thus, such conditional language is not generally intended to imply that features, elements and / or states are in any way required for one or more embodiments or that one or more embodiments necessarily include these features, elements and / or states.
[0108] Conjunctive language such as the phrase “at least one of X, Y, and Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to convey that an item, term, etc. may be either X, Y, or Z. Thus, such conjunctive language is not generally intended to imply that certain embodiments require the presence of at least one of X, at least one of Y, and at least one of Z.
[0109] While the above detailed description may have shown, described, and pointed out novel features as applied to various embodiments, it may be understood that various omissions, substitutions, and / or changes in the form and details of any particular embodiment may be made without departing from the spirit of the disclosure. As may be recognized, certain embodiments may be embodied within a form that does not provide all of the features and benefits set forth herein, as some features may be used or practiced separately from others.
[0110] Additionally, features described in connection with one embodiment can be incorporated into another of the disclosed embodiments, even if not expressly discussed herein, and embodiments having the combination of features still fall within the scope of the disclosure. For example, features described above in connection with one embodiment can be used with a different embodiment described herein and the combination still fall within the scope of the disclosure.
[0111] It should be understood that various features and aspects of the disclosed embodiments can be combined with, or substituted for, one another in order to form varying modes of the embodiments of the disclosure. Thus, it is intended that the scope of the disclosure herein should not be limited by the particular embodiments described above. Accordingly, unless otherwise stated, or unless clearly incompatible, each embodiment of this disclosure may comprise, additional to its essential features described herein, one or more features as described herein from each other embodiment disclosed herein.
[0112] Features, materials, characteristics, or groups described in conjunction with a particular aspect, embodiment, or example are to be understood to be applicable to any other aspect, embodiment or example described in this section or elsewhere in this specification unless incompatible therewith. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and / or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and / or steps are mutually exclusive. The protection is not restricted to the details of any foregoing embodiments. The protection extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.
[0113] Furthermore, certain features that are described in this disclosure in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations, one or more features from a claimed combination can, in some cases, be excised from the combination, and the combination may be claimed as a subcombination or variation of a subcombination.
[0114] Moreover, while operations may be depicted in the drawings or described in the specification in a particular order, such operations need not be performed in the particular order shown or in sequential order, or that all operations be performed, to achieve desirable results. Other operations that are not depicted or described can be incorporated in the example methods and processes. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the described operations. Further, the operations may be rearranged or reordered in other implementations. Those skilled in the art will appreciate that in some embodiments, the actual steps taken in the processes illustrated and / or disclosed may differ from those shown in the figures. Depending on the embodiment, certain of the steps described above may be removed, others may be added.
[0115] Furthermore, the features and attributes of the specific embodiments disclosed above may be combined in different ways to form additional embodiments, all of which fall within the scope of the present disclosure. Also, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described components and systems can generally be integrated together in a single product or packaged into multiple products.
[0116] For purposes of this disclosure, certain aspects, advantages, and novel features are described herein. Not necessarily all such advantages may be achieved in accordance with any particular embodiment. Thus, for example, those skilled in the ail will recognize that the disclosure may be embodied or carried out in a manner that achieves one advantage or a group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
[0117] Language of degree used herein, such as the terms “approximately,” “about,” “generally,” and “substantially” as used herein represent a value, amount, or characteristic close to the stated value, amount, or characteristic that still performs a desired function or achieves a desired result. For example, the terms “approximately”, “about”, “generally,” and “substantially” may refer to an amount that is within less than 10% of, within less than 5% of, within less than 1% of, within less than 0.1% of, and within less than 0.01% of the stated amount. As another example, in certain embodiments, the terms “generally parallel” and “substantially parallel” refer to a value, amount, or characteristic that departs from exactly parallel by less than or equal to 15 degrees, 10 degrees, 5 degrees, 3 degrees, 1 degree, 0.1 degree, or otherwise.
[0118] The scope of the present disclosure is not intended to be limited by the specific disclosures of preferred embodiments in this section or elsewhere in this specification and may be defined by claims as presented in this section or elsewhere in this specification or as presented in the future. The language of the claims is to be interpreted broadly based on the language employed in the claims and not limited to the examples described in the present specification or during the prosecution of the application, which examples are to be construed as non-exclusive.
[0119] Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise”, “comprising”, and the like, are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense, that is to say, in the sense of “including, but not limited to”.
[0120] Reference to any prior art in this description is not, and should not be taken as, an acknowledgement or any form of suggestion that that prior art forms part of the common general knowledge in the field of endeavor in any country in the world.
[0121] The invention may also be said broadly to consist in the parts, elements and features referred to or indicated in the description of the application, individually or collectively, in any or all combinations of two or more of said parts, elements or features.
[0122] Where, in the foregoing description, reference has been made to integers or components having known equivalents thereof, those integers are herein incorporated as if individually set forth. In addition, where the term “substantially” or any of its variants have been used as a word of approximation adjacent to a numerical value or range, it is intended toprovide sufficient flexibility in the adjacent numerical value or range that encompasses standard manufacturing tolerances and / or rounding to the next significant figure, whichever is greater.
[0123] It should be noted that various changes and modifications to the presently preferred embodiments described herein will be apparent to those skilled in the art. Such changes and modifications may be made without departing from the spirit and scope of the invention and without diminishing its attendant advantages. For instance, various components may be repositioned as desired. It is therefore intended that such changes and modifications be included within the scope of the invention. Moreover, not all of the features, aspects and advantages are necessarily required to practice the present invention. The following lists have example embodiments that are within the scope of this disclosure. The example embodiments that are listed should in no way be interpreted as limiting the scope of the embodiments. Various features of the example embodiments that are listed can be removed, added, or combined to form additional embodiments, which are pail of this disclosure:First Set of Example Embodiments
[0124] Various example embodiments of the disclosure can be described by the following clauses:
[0125] Clause 1. A skate blade profiling system comprising: a base; a securing mechanism configured to secure at least one skate blade to the base; a carriage configured to move relative to the base; a motor assembly comprising: a grinding motor; and a grinding component, the grinding motor configured to rotate the grinding component; a motor arm coupled at a first end to the motor assembly, a second end of the motor arm pivotally coupled to the carriage; a biasing member extending between the carriage and the motor arm, the biasing member configured to bias the motor assembly in a first rotational direction; and a control system configured to control operation of the skate blade profiling system to perform a profiling operation.
[0126] Clause 2. The skate blade profiling system of clause 1, wherein the biasing member comprises a spring.
[0127] Clause 3. The skate blade profiling system of clause 2, wherein the biasing member further comprises a damper.
[0128] Clause 4. The skate blade profiling system of any of clauses 1 to 3, wherein the carriage further comprises a spindle shaft and a spindle, the spindle configured to rotate about the spindle shaft, the second end of the motor arm coupled to the spindle.
[0129] Clause 5. The skate blade profiling system of any of clauses 1 to 4, wherein the carriage further comprises a rigid stop, wherein the rigid stop is configured to define a maximum rotational position of the grinding component.
[0130] Clause 6. The skate blade profiling system of any of clauses 1 to 5, further comprising a gantry, the gantry supported by the base and configured to move relative to the base along a first axis.
[0131] Clause 7. The skate blade profiling system of clause 6, where the base comprises one or more first rails, the gantry configured to translate along the one or more first rails.
[0132] Clause 8. The skate blade profiling system of clause 7, further comprising a gantry motor, the gantry motor configured to cause the gantry to translate along the one or more first rails.
[0133] Clause 9. The skate blade profiling system of any of clauses 6 to 8, wherein the carriage is supported by the gantry and configured to move relative to the gantry along a second axis.
[0134] Clause 10. The skate blade profiling system of clause 9, wherein the gantry comprises one or more second rails, the carriage configured to translate along the one or more second rails.
[0135] Clause 11. The skate blade profiling system of clause 10, further comprising a carriage motor, the carriage motor configured to cause the carriage to translate along the one or more second rails.
[0136] Clause 12. The skate blade profiling system of any of clauses 1 to 11, wherein the control system is configured to control a gantry motor to move the gantry relative to the base, to control the carriage motor to move the carriage relative to the gantry, and to control the grinding motor to cause the grinding component to rotate.
[0137] Clause 13. The skate blade profiling system any of clauses 5 to 12, wherein the control system is configured to automatically adjust the rigid stop to change the maximum rotational position of the grinding component during the profiling operation, and move thegrinding component with the motor arm biased against the rigid stop to selectively grind portions of the at least one skate blade during the profiling operation.
[0138] Clause 14. The skate blade profiling system of clause 13, wherein the control system is configured to determine that the at least one skate blade has obtained a selected profile based on feedback from one of more sensors indicating that a shape of the at least one skate blade is within an acceptable tolerance of the selected profile.
[0139] Clause 15. The skate blade profiling system of clause 13 or clause 14, wherein the control system is configured to determine that the at least one skate blade has obtained the selected profile based on a current signal of the grinding motor.
[0140] Clause 16. The skate blade profiling system of any of clauses 1 to 15, wherein the control system is configured to receive control instructions for machining one or more skate blades from a user computing device.Second Set of Example Embodiments
[0141] Various example embodiments of the disclosure can be described by the following clauses:
[0142] Clause 1. A method of generating profiling instructions for a skate blade profiling system, the method comprising: receiving data associated with a skate blade; analyzing the data associated with the skate blade; and outputting a first set of one or more profiles compatible with the skate blade.
[0143] Clause 2. The method of clause 1, wherein the data associated with the skate blade comprises an image of the skate blade.
[0144] Clause 3. The method of clause 2, wherein the image is captured using an image capture device, wherein the image comprises the skate blade and a reference device, the reference device comprising a grid.
[0145] Clause 4. The method of any of clauses 1 to 3, wherein analyzing the data includes comparing the data to a plurality of skate blade images in a database.
[0146] Clause 5. The method of any of clauses 1 to 4, wherein analyzing the data includes identifying at least one of a make, model, or size of the skate blade.
[0147] Clause 6. The method of any of clauses 1 to 5, wherein analyzing the data includes: transmitting the data to a server computing system, wherein the server computingsystem is configured to input the data into at least one machine learning model and generate the first set of one or more profiles compatible with the skate blade; and receiving the first set of one or more profiles.
[0148] Clause 7. The method of any of clauses 1 to 6, wherein analyzing the data includes estimating an amount of useable material remaining on the skate blade.
[0149] Clause 8. The method of any of clauses 1 to 7, further comprising: assigning the skate blade to a skater profile associated with a user account.
[0150] Clause 9. The method of any of clauses 1 to 8, wherein the first set of one or more profiles are identified based on at least one of useable material remaining on the skate blade, make, model, or size of the skate blade.
[0151] Clause 10. The method of clause 7 or clause 8, wherein the first set of one or more profiles are identified based on the amount of useable material remaining on the skate blade.
[0152] Clause 11. The method of any of clauses 1 to 10, further comprising receiving, from a user computing device, a selection of a first profile of the first set of one or more profiles.
[0153] Clause 12. The method of clause 11, further comprising: displaying, via a graphical user interface of the user computing device, the skate blade with a representation of the first profile.
[0154] Clause 13. The method of clause 12, wherein the representation of the first profile comprises a profile line superimposed on the skate blade.
[0155] Clause 14. The method of any of clauses 11 to 13, further comprising receiving input to modify constraints of the first profile.
[0156] Clause 15. The method of clause 14, wherein the modification of constraints includes at least one of manually changing physical characteristics of the first profile or selecting desired skating characteristics associated with profile of the skate blade.
[0157] Clause 16. The method of any of clauses 14 or 15, further comprising: analyzing the modified constraints; and generating an updated first profile based at least in part on the modified constraints.
[0158] Clause 17. The method of any of clauses 13 to 16 further comprising generating profiling instructions for machining the first profile on the skate blade, the profilinginstructions configured to cause the skate blade profiling system to perform a profiling operation.
[0159] Clause 18. The method of clause 17, wherein the profiling instructions are in G-code.Third Set of Example Embodiments
[0160] Various example embodiments of the disclosure can be described by the following clauses;
[0161] Clause 1. A method of profiling a skate blade, the method comprising: receiving, by a control system of a skate blade profiling system, profiling instructions for profiling a first profile onto a skate blade; securing the skate blade with a securing mechanism of the skate blade profiling system; and performing, by the skate blade profiling system, a profiling operation according to the profiling instructions, the profiling operation including machining the first profile onto the skate blade.
[0162] Clause 2. The method of clause 1, wherein the profiling instructions are received from a user device.
[0163] Clause 3. The method of clause 1 or clause 2, further comprising: manufacturing, by the skate blade profiling system, one or more fixturing features configured to secure the skate blade within the securing mechanism in a first position corresponding to the first profile.
[0164] Clause 4. The method of clause 3, wherein the one or more fixturing features comprise an engineering plastic.
[0165] Clause 5. The method of any of clauses 1 to 4, further comprising: verifying, by the skate blade profiling system, the skate blade is properly secured within the securing mechanism for the profiling operation.
[0166] Clause 6. The method of clause 5, wherein a probe or a grinding component is configured to contact the skate blade at one or more location along a length of the skate blade to verify the skate blade is properly secured within the securing mechanism.
[0167] Clause 7. The method of clause 5, wherein an image capture device is configured to capture an image of at least a portion of the skate blade to verify the skate blade is properly secured within the securing mechanism.
[0168] Clause 8. The method of any of clauses 1 to 6, wherein the skate blade profiling system comprises the skate blade profiling system of any of the first set of example embodiments.
[0169] Clause 9. The method of any of clauses 1 to 6, wherein the profiling instructions are generated by the method of any of the second set of example embodiments.
Claims
WHAT TS CLAIMED TS:
1. A skate blade profiling system comprising: a base; a securing mechanism configured to secure at least one skate blade to the base; a carriage configured to move relative to the base; a motor assembly comprising: a grinding motor; and a grinding component, the grinding motor configured to rotate the grinding component; a motor arm coupled at a first end to the motor assembly, a second end of the motor arm pivotally coupled to the carriage; a biasing member extending between the carriage and the motor arm, the biasing member configured to bias the motor assembly in a first rotational direction; and a control system configured to control operation of the skate blade profiling system to perform a profiling operation.
2. The skate blade profiling system of claim 1 , wherein the biasing member comprises a spring.
3. The skate blade profiling system of claim 2, wherein the biasing member further comprises a damper.
4. The skate blade profiling system of any of claims 1 to 3, wherein the carriage further comprises a spindle shaft and a spindle, the spindle configured to rotate about the spindle shaft, the second end of the motor arm coupled to the spindle.
5. The skate blade profiling system of any of claims 1 to 4, wherein the carriage further comprises a rigid stop, wherein the rigid stop is configured to define a maximum rotational position of the grinding component.
6. The skate blade profiling system of any of claims 1 to 5, further comprising a gantry, the gantry supported by the base and configured to move relative to the base along a first axis.
7. The skate blade profiling system of claim 6, where the base comprises one or more first rails, the gantry configured to translate along the one or more first rails.
8. The skate blade profiling system of claim 7, further comprising a gantry motor, the gantry motor configured to cause the gantry to translate along the one or more first rails.
9. The skate blade profiling system of any of claims 6 to 8, wherein the carriage is supported by the gantry and configured to move relative to the gantry along a second axis.
10. The skate blade profiling system of claim 9, wherein the gantry comprises one or more second rails, the carriage configured to translate along the one or more second rails.
11. The skate blade profiling system of claim 10, further comprising a carriage motor, the carriage motor configured to cause the carriage to translate along the one or more second rails.
12. The skate blade profiling system of any of claims 1 to 11, wherein the control system is configured to control a gantry motor to move the gantry relative to the base, to control the carriage motor to move the carriage relative to the gantry, and to control the grinding motor to cause the grinding component to rotate.
13. The skate blade profiling system any of claims 5 to 12, wherein the control system is configured to automatically adjust the rigid stop to change the maximum rotational position of the grinding component during the profiling operation, and move the grinding component with the motor arm biased against the rigid stop to selectively grind portions of the at least one skate blade during the profiling operation.
14. The skate blade profiling system of claim 13, wherein the control system is configured to determine that the at least one skate blade has obtained a selected profile based on feedback from one of more sensors indicating that a shape of the at least one skate blade is within an acceptable tolerance of the selected profile.
15. The skate blade profiling system of claim 13 or claim 14, wherein the control system is configured to determine that the at least one skate blade has obtained the selected profile based on a current signal of the grinding motor.
16. The skate blade profiling system of any of claims 1 to 15, wherein the control system is configured to receive control instructions for machining one or more skate blades from a user computing device.
17. A method of generating profiling instructions for a skate blade profiling system, the method comprising: receiving data associated with a skate blade;analyzing the data associated with the skate blade; and outputting a first set of one or more profiles compatible with the skate blade.
18. The method of claim 17, wherein the data associated with the skate blade comprises an image of the skate blade.
19. The method of claim 18, wherein the image is captured using an image capture device, wherein the image comprises the skate blade and a reference device, the reference device comprising a grid.
20. The method of any of claims 17 to 19, wherein analyzing the data includes comparing the data to a plurality of skate blade images in a database.
21. The method of any of claims 17 to 20, wherein analyzing the data includes identifying at least one of a make, model, or size of the skate blade.
22. The method of any of claims 17 to 21, wherein analyzing the data includes: transmitting the data to a server computing system, wherein the server computing system is configured to input the data into at least one machine learning model and generate the first set of one or more profiles compatible with the skate blade; and receiving the first set of one or more profiles.
23. The method of any of claims 17 to 22, wherein analyzing the data includes estimating an amount of useable material remaining on the skate blade.
24. The method of any of claims 17 to 23, further comprising: assigning the skate blade to a skater profile associated with a user account.
25. The method of any of claims 17 to 24, wherein the first set of one or more profiles are identified based on at least one of useable material remaining on the skate blade, make, model, or size of the skate blade.
26. The method of claim 23 or claim 24, wherein the first set of one or more profiles are identified based on the amount of useable material remaining on the skate blade.
27. The method of any of claims 17 to 26, further comprising receiving, from a user computing device, a selection of a first profile of the first set of one or more profiles.
28. The method of claim 27, further comprising: displaying, via a graphical user interface of the user computing device, the skate blade with a representation of the first profile.
29. The method of claim 28, wherein the representation of the first profile comprises a profile line superimposed on the skate blade.
30. The method of any of claims 27 to 29, further comprising receiving input to modify constraints of the first profile.
31. The method of claim 30, wherein the modification of constraints includes at least one of manually changing physical characteristics of the first profile or selecting desired skating characteristics associated with profile of the skate blade.
32. The method of any of claims 30 or 31, further comprising: analyzing the modified constraints; and generating an updated first profile based at least in part on the modified constraints.
33. The method of any of claims 29 to 32 further comprising generating profiling instructions for machining the first profile on the skate blade, the profiling instructions configured to cause the skate blade profiling system to perform a profiling operation.
34. The method of claim 33, wherein the profiling instructions are in G-code.
35. A method of profiling a skate blade, the method comprising: receiving, by a control system of a skate blade profiling system, profiling instructions for profiling a first profile onto a skate blade; securing the skate blade with a securing mechanism of the skate blade profiling system; and performing, by the skate blade profiling system, a profiling operation according to the profiling instructions, the profiling operation including machining the first profile onto the skate blade.
36. The method of claim 35, wherein the profiling instructions are received from a user device.
37. The method of claim 35 or claim 36, further comprising: manufacturing, by the skate blade profiling system, one or more fixturing features configured to secure the skate blade within the securing mechanism in a first position corresponding to the first profile.
38. The method of claim 37, wherein the one or more fixturing features comprise an engineering plastic.
39. The method of any of claims 35 to 38, further comprising:verifying, by the skate blade profiling system, the skate blade is properly secured within the securing mechanism for the profiling operation.
40. The method of claim 39, wherein a probe or a grinding component is configured to contact the skate blade at one or more location along a length of the skate blade to verify the skate blade is properly secured within the securing mechanism.
41. The method of claim 39, wherein an image capture device is configured to capture an image of at least a portion of the skate blade to verify the skate blade is properly secured within the securing mechanism.
42. The method of any of claims 35 to 41, wherein the skate blade profiling system comprises the skate blade profiling system of any of claims 1 to 16.
43. The method of any of claims 35 to 42, wherein the profiling instructions are generated by the method of any of claims 33 to 34.
Citation Information
Patent Citations
Skate blade and apparatus for removing material from a skate blade
CA3135705A1
Skate blade sharpening system with alignment visualization and adjustment
US9242330B1