MODEL VEHICLE RECEIVER CENTRIC PARAMETER SYSTEM

Abstract

A radio-controlled (RC) model vehicle system is provided including a transmitter and an RC model vehicle containing a receiver. The transmitter includes a transmitter binary large object (BLOB) parameter profile and a transmitter BLOB Version. The receiver is wirelessly, communicably coupled with the transmitter and includes a receiver BLOB parameter profile comprising RC model vehicle parameters corresponding to the RC model vehicle, and a receiver BLOB Version. Changes to the transmitter BLOB are saved to the transmitter and increment the transmitter BLOB Version by one. The transmitter is linked and bound to the receiver, and the receiver BLOB Version is compared to the transmitter BLOB Version. When the RC model vehicle is motionless and the receiver BLOB Version is less than the transmitter BLOB Version, the receiver BLOB is updated with the transmitter BLOB and the receiver BLOB Version is updated to the transmitter BLOB Version.

Claims

1. A radio-controlled (RC) model vehicle system comprising: a transmitter comprising: a transmitter binary large object (BLOB) parameter profile; a transmitter BLOB Version; an RC model vehicle comprising: a receiver wirelessly communicably coupled with the transmitter and comprising; a receiver BLOB parameter profile comprising RC model vehicle parameters corresponding to the RC model vehicle; a receiver BLOB Version; wherein changes to the transmitter BLOB are saved to the transmitter and increment the transmitter BLOB Version+1; wherein the transmitter is linked to the receiver and the receiver BLOB Version and the transmitter BLOB Version are compared to one another; wherein when the RC model vehicle is motionless and the receiver BLOB Version is less than the transmitter BLOB Version, the receiver BLOB is updated with the transmitter BLOB and the receiver BLOB Version updated to the transmitter BLOB Version; and wherein when the RC model vehicle is motionless and the transmitter BLOB Version is less than the receiver BLOB Version, the transmitter BLOB is updated with the receiver BLOB and the transmitter BLOB Version is updated to the receiver BLOB Version.

2. The RC model vehicle system according to claim 1, wherein the receiver is a single computer processing unit (CPU) that performs one or more steering, throttle, channel assignment or stability management functions.

3. The RC model vehicle system according to claim 1, wherein the transmitter BLOB Version is compared to the receiver BLOB Version at various times while the transmitter and the receiver are powered on and linked to one another.

4. The RC model vehicle system according to claim 1, wherein changes to the transmitter BLOB are made via an app.

5. The RC model vehicle system according to claim 1, wherein a transmitter switch is assigned via the transmitter BLOB to control auxiliary lights.

6. A radio-controlled (RC) model vehicle comprising: a receiver configured to wirelessly communicate with a transmitter and comprising; a receiver binary large object (BLOB) parameter profile comprising RC model vehicle parameters corresponding to the RC model vehicle; a receiver BLOB Version; wherein linking the receiver to the transmitter compares the receiver BLOB and a transmitter BLOB; wherein when the RC model vehicle is motionless and the receiver BLOB Version is greater than the transmitter BLOB Version, the receiver BLOB is saved to the transmitter BLOB and the transmitter BLOB Version is updated to the receiver BLOB Version; and wherein when the RC model vehicle is motionless and the receiver BLOB Version is less than the transmitter BLOB Version, the transmitter BLOB is saved to the receiver BLOB and the receiver BLOB Version is equal to the transmitter BLOB Version.

7. The RC model vehicle according to claim 6 wherein while the receiver is linked to the transmitter, changes to the transmitter BLOB are saved to the transmitter and increment the transmitter BLOB Version+1.

8. The RC model vehicle according to claim 7 wherein the receiver BLOB Version is compared with the transmitter BLOB Version; and wherein when the receiver BLOB Version is less than the transmitter BLOB Version and the RC model vehicle is motionless, the transmitter BLOB is saved to the receiver BLOB and the receiver BLOB Version is updated to the transmitter BLOB Version.

9. The RC model vehicle according to claim 1 wherein the receiver BLOB comprises one or more of a steering direction, a steering sensitivity, or a throttle sensitivity.

10. A method for a model vehicle receiver centric parameter system as follows: linking a receiver located in a radio-controlled (RC) model vehicle to a transmitter; comparing a transmitter binary large object (BLOB) Version to a receiver BLOB Version; wherein when the transmitter BLOB Version is greater than the receiver BLOB Version, waiting for the RC model vehicle to become motionless, updating a receiver BLOB with a transmitter BLOB and updating the receiver BLOB Version with the transmitter BLOB Version; and wherein when the receiver BLOB Version is greater than the transmitter BLOB Version, waiting for the RC model vehicle to become motionless, updating the transmitter BLOB with the receiver BLOB and updating the transmitter BLOB version with the receiver BLOB version.

11. The method according to claim 10, further comprising: changing a transmitter BLOB parameter profile to match an operator's preference; and incrementing a transmitter BLOB Version+1.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Certain embodiments will hereafter be described with reference to the accompanying drawings, wherein like reference numerals denote like elements. It should be understood, however, that the accompanying drawings illustrate only the various implementations described herein and are not meant to limit the scope of various technologies described herein. The drawings are as follows:

[0015] FIG. 1A is a radio-controlled (RC) model vehicle receiver centric parameter system schematic showing a successful update of a receiver BLOB, according to an embodiment of the present disclosure;

[0016] FIG. 1B is a radio-controlled (RC) model vehicle receiver centric parameter system schematic in which there is an initial failure to update the receiver BLOB of FIG. 1A, according to an embodiment of the present disclosure;

[0017] FIG. 2 is a portion of an exemplary Binary Large Object (BLOB) parameter profile table, according to an embodiment of the present disclosure;

[0018] FIG. 3 is a schematic flowchart showing the process to maintain backwards compatibility, according to an embodiment of the present disclosure; and

[0019] FIG. 4 is a schematic flowchart showing the process of updating and storage of data, according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

[0020] In the following specification, numerous specific details are set forth to provide a thorough understanding of embodiments of the present disclosure. However, those skilled in the art will appreciate that the embodiments may be practiced without such specific details. In other instances, well-known elements have been illustrated in schematic or block diagram form in order not to obscure embodiments of the present disclosure in unnecessary detail.

[0021] Reference throughout the specification to one embodiment, an embodiment, some embodiments, one aspect, an aspect, or some aspects means that a particular feature, structure, method, or characteristic described in connection with the embodiment or aspect is included in at least one embodiment of the present disclosure. Thus, the appearance of the phrases in one embodiment or in an embodiment or in some embodiments in various places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, methods, or characteristics may be combined in any suitable manner in one or more embodiments. The words including and having shall have the same meaning as the word comprising.

[0022] Moreover, inventive aspects lie in less than all features of a single disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment.

[0023] As seen in FIG. 1A, a radio-controlled (RC) model vehicle system typically includes a transmitter and an RC model vehicle. The transmitter may remotely and wirelessly control the RC model vehicle using a steering input (e.g., such as a steering wheel) and a throttle input (e.g., such as a throttle trigger). The transmitter traditionally contained RC model vehicle parameters or settings (e.g., steering configuration, orientation, and sensitivity, throttle sensitivity, etc.) as well as function controls for operator assigned optional functions, such as lighting, stability controls, etc. (i.e., parameter profiles specific to an RC model vehicle).

[0024] In previous situations, an operator entered the RC model vehicle parameter profile into the transmitter each time for every RC model vehicle they wish to control with that transmitter. In some other previous situations, the RC model vehicle parameters were stored by the operator in a specialized memory location in the transmitter and identified by either an operator assigned specific vehicle name, or a system generated unique identifier. Traditionally, a transmitter may be used to individually operate multiple RC model vehicles, and an RC model vehicle may be individually operated by multiple transmitters. Although only a single transmitter and RC model vehicle may be linked together for operation at a particular time.

[0025] Some manufacturers with a large range of RC model vehicle products stored a database of all the various RC model vehicle configurations and settings in a portion of the transmitter's memory or database. As an operator makes use of a particular RC model vehicle parameter profile, the operator may adjust the settings to reflect their personalized preferences with respect to controlling that RC model vehicle. These changes were then stored in the transmitter's memory or database. The various parameter profiles were either given unique names by an operator, referred to the original product names, or used system generated unique identifiers assigned by the manufacturer.

[0026] Selecting the appropriate RC model vehicle parameter profile or entering a new parameter profile from scratch takes valuable time during the initial set up and binding and linking of an RC model vehicle (and associated receiver) to a particular transmitter. Reducing the time and complexity of this initial set-up may allow a wider range of inexperienced operators to more quickly get to a point of enjoying and operating their RC model vehicle. In addition, the efficiency of an RC model vehicle system can be improved by tying a unique, initial parameter profile to the receiver of an individual RC model vehicle. In this case, the RC model vehicle parameter profile is stored and ready for use regardless of which transmitter is used.

[0027] One specific example of an advantage of storing the RC model vehicle parameter profile in the receiver is when an operator uses an upgraded transmitter from another manufacturer that may not have all of the various RC model vehicle parameter profiles stored in a transmitter database. The operator does not have to build a parameter profile from scratch; the receiver could automatically update the upgraded transmitter with the full parameter profile upon initial linking with the motionless RC model vehicle.

[0028] According to an illustrative embodiment of the current disclosure, an RC model vehicle's receiver may be manufactured and programmed with the receiver specific parameter profile or BLOB (Binary Large Object) at the factory (see FIG. 1A at the top of the figure). The BLOB is a versatile packet of data that encapsulates configuration settings (i.e., the parameter profile) for the specific RC model vehicle that is stored in the receiver and installed in the RC model vehicle.

[0029] The BLOB data packet or parameter profile is specifically designed to be recognized and processed by the receiver within the RC model vehicle. To any other system or software, the BLOB data packet may appear as a non-descript collection of data. In fact, the BLOB data packet may be created by maintaining its information (the schema version) in a database that ties C-structures to the BLOB's fields and programmatically generates a header file with a structure that overlays the BLOB in memory.

[0030] The receiver understands the BLOB parameter profile and uses this as an initial operating configuration. Examples of the various parameters in a parameter profile may be self-righting ability, lighting, directional operation of a servo, sensitivity of input controls, or specific stability control gains, among others according to the application of a specific RC model vehicle. When the RC model vehicle is initially manufactured, the transmitter (e.g. included in some embodiments when the RC model vehicle is sold with an included transmitter) and receiver are linked, and a transmitter BLOB and BLOB Version are updated with the receiver BLOB and BLOB Version.

[0031] Referring generally to FIG. 2 as an example, this figure illustrates some parameters in a parameter profile table (i.e., BLOB) according to an embodiment. As shown in the table, the BLOB Version (i.e., first line after the header line), is currently at 0 while channel 1 represents a CHANNEL_STEERING Property parameter. The CHANNEL_STEERING Property parameter ranges from 500 to 1000 (e.g., sensitivity of the steering input), with 0 trim and no reverse. Channel 2 represents a CHANNEL_THROTTLE Property parameter. CHANNEL_THROTTLE Property is also shown as ranging from 500 to 1000 (e.g., sensitivity of the throttle input) with 0 trim and no reverse. As an operator adjusts the RC model vehicle actions to their preference, some of these values may change and the BLOB Version may be incremented beyond 0. In addition, improvements in skill level, variations in course conditions, and lighting needs may result in further modification of an RC model vehicle parameter profile.

[0032] As shown in FIG. 2, in some embodiments, a BLOB Version is stored along with the BLOB. When the RC model vehicle is initially manufactured and programmed, the BLOB Version is 0. As the operator makes changes to the transmitter's settings in the BLOB either physically (e.g., via the transmitter's control switches, buttons, or dials, for example), or virtually (e.g., via an app for example), the transmitter increments the BLOB Version+1. Since an operator primarily makes changes to the parameter profile through the transmitter via physical controls or a wireless interface, the transmitter in some embodiments may be the component incrementing the transmitter BLOB Version. The incremented transmitter BLOB Version is then saved to the transmitter's flash memory. The transmitter then checks if the transmitter BLOB Version is greater than a receiver BLOB Version. If so, the receiver waits until the RC model vehicle is motionless and then updates the receiver BLOB Version with the transmitter BLOB Version and updates the receiver BLOB with the transmitter BLOB.

[0033] In other embodiments, the receiver may include a single computer processing unit (CPU) that performs the functions for steering, throttle, channels, stability management, etc. The receiver's CPU waits until the RC model vehicle is motionless and then compares the transmitter BLOB Version to the receiver BLOB Version. If the transmitter BLOB Version is greater than the receiver BLOB Version, then the receiver will write the transmitter BLOB to the receiver's flash memory along with the new, incremented transmitter BLOB Version, updating both the receiver BLOB and the receiver BLOB Version. This only happens when the transmitter BLOB Version is greater than the receiver BLOB Version currently stored in the receiver's persistent, non-volatile flash memory.

[0034] During operation of the RC model vehicle, various functions of the receiver may not allow for the dynamic updating of the RC model vehicle parameter profile receiver BLOB and receiver BLOB Version (see FIG. 1B). In circumstances where there is a failure to update the receiver BLOB and receiver BLOB Version, upon the next linking of the transmitter and receiver, the transmitter BLOB Version and the receiver BLOB Version will be compared and the appropriate updating will occur. Although many examples show the receiver being updated with the transmitter BLOB information, this is only for the convenience of description and the reverse, the transmitter being updated with the receiver BLOB information occurs when circumstances warrant.

[0035] The use of the BLOB Version field may allow multiple transmitters to work with the same receiver (i.e., the same RC model vehicle, assuming that the receiver is installed in an RC model vehicle). Just as the RC model vehicle receiver compared the transmitter BLOB Version and the receiver BLOB Version, the transmitter may also compare the transmitter BLOB Version to the receiver BLOB Version. If the saved transmitter BLOB Version is higher than the receiver BLOB Version, the transmitter sends the transmitter BLOB to the receiver for saving and updates the receiver BLOB to the transmitter BLOB, and the receiver BLOB Version to the transmitter BLOB Version. However, if the saved transmitter BLOB Version is less than the receiver BLOB Version, such as the process of initially binding and linking a new transmitter to the RC model vehicle, the receiver sends the receiver BLOB to the transmitter for storage in the transmitter's non-volatile flash memory (i.e., updating the transmitter BLOB) along with updating the transmitter BLOB Version to the receiver BLOB Version.

[0036] If the transmitter BLOB Version is equal to the receiver BLOB Version, then both the transmitter and the receiver are operating using the same BLOB and BLOB Version. However, even during operation, the receiver and transmitter will continue to compare the receiver BLOB Version and the transmitter BLOB Version to check for any dynamic changes during operation. If there is a difference, the older BLOB and BLOB Version will be updated with the newer BLOB and BLOB Version when the RC model vehicle is motionless.

[0037] In this exemplary embodiment, these two mechanisms (BLOB Version comparison and waiting for the RC model vehicle to become motionless) allow the use of a single processor receiver to save dynamically changed or modified transmitter parameter profile (i.e., transmitter BLOB) information, when that profile information is more current than the version of profile information residing in the receiver (i.e., receiver BLOB). In future embodiments due to increases in processing power and speed, some RC model vehicle systems may not have to wait until the RC model vehicle is motionless to perform updating.

[0038] The origin of the change to either the transmitter BLOB or the receiver BLOB does not matter, however the change is made, the change will be processed, and the old BLOB and BLOB version will be upgraded to the new BLOB and BLOB version when the RC model vehicle is motionless. In some embodiments, a smartphone App may connect to the transmitter over Blue Tooth Low Energy (BTLE), allowing the operator to change the transmitter settings via a mobile graphical interface. The transmitter updates its BLOB and BLOB Version in the same manner as when a parameter is changed using the transmitter's physical controls.

[0039] To maintain backwards compatibility, the minimum software version of the transmitter BLOB support for the receiver is noted in the transmitter (Refer to FIG. 3). If the receiver software does not support the minimum version of the transmitter BLOB support, the transmitter does not send its BLOB. The receiver will then revert to a default profile and an operator will have to reset the parameter profile to their preferred selections and options.

[0040] If an RC model vehicle receiver had been updated with a new parameter profile by a supported transmitter, the operator will not be able to immediately use that parameter profile with the unsupported transmitter. The operator may modify the default parameter profile to reflect some or all of the new parameter profile, but no changes will be saved in the receiver. If the operator changes back to the supported transmitter, the last version (i.e., in this case, the new parameter profile) of the updated receiver BLOB will be available to use.

[0041] Some embodiments may have several mechanisms implemented to ensure that the BLOBs were successfully saved either when the receiver is initially programmed or when the transmitter or app sets or changes the BLOB. For the programmer and a mobile app, when the BLOB is written the programmer or app reads the BLOB back and performs a comparison step to ensure the BLOB is accurately written. This comparison step is crucial for avoiding issues that might arise from hardware faults or software errors in the writing process.

[0042] When a transmitter sends a transmitter BLOB, the protocol layers perform cyclical redundancy check (CRC) or check sum checking, and the overall length is checked. The versioning (i.e., currency, transmitter BLOB Version) and the transmitter saving its current state and BLOB Version in its flash memory addresses a situation in which the receiver cannot or fails to save a transmitter's new BLOB. For a situation in which a new transmitter binds to a receiver with an out of the date transmitter BLOB, the new transmitter will be updated with the out-of-date BLOB Version.

[0043] If the previous transmitter, which had the current BLOB Version, is rebound to the receiver with the out-of-date BLOB Version, then the receiver will wait until the RC model vehicle is motionless and attempt to save the current BLOB Version. After which, if the new transmitter that was updated with the out-of-date BLOB Version is bound to the receiver with the now current BLOB Version, then the new transmitter will also be updated with the current BLOB Version.

[0044] There is a chance that the parameter profile that was in the current transmitter BLOB Version, which had initially failed to be updated to the receiver, may be lost. Since the current transmitter BLOB Version failed to update, the receiver still has the out-of-date BLOB Version. If a new transmitter is bound to the receiver with the out-of-date BLOB Version, the new transmitter (assuming that the BLOB Version is less than the receiver's BLOB Version) is updated with the out-of-date BLOB Version

[0045] If the operator then changes some of the parameters in the parameter profile in the new transmitter with the out-of-date BLOB Version, the transmitter BLOB Version of the new transmitter would be incremented for the new transmitter BLOB. The new transmitter would then attempt to update the receiver. When the RC model vehicle is motionless, the newly incremented transmitter BLOB Version would be higher than the out-of-date BLOB Version of the receiver and the receiver BLOB and receiver BLOB Version would be updated.

[0046] The new transmitter would send the updated transmitter BLOB Version for the altered parameter profile and the receiver would be updated with the transmitter BLOB Version containing the altered transmitter parameter profile. After which, the receiver BLOB Version is updated to match the transmitter BLOB Version. The previous current transmitter BLOB that had failed to update will then be lost, as the previous transmitter will be updated with the altered transmitter profile (receiver BLOB) and receiver BLOB Version of the new transmitter.

[0047] In manufacturing, when a transmitter is first bound to a car and its receiver, the transmitter is updated with the receiver BLOB and receiver BLOB Version for that RC model vehicle that is programmed into that receiver. Manufacturing no longer has to perform individual manual transmitter configurations aside from the binding and linking process. The transmitter (containing the steering wheel, throttle, switches, etc) is automatically configured when connected to RC model vehicle and its receiver. This includes important things like servo directions, controller gains for steering stability and other advanced features and options.

[0048] The transmitter BLOB layout has been designed to allow a large variation of transmitter customization for specific RC model vehicles. For example, in some embodiments, the switch channels (channel 3, 4, and 5) may default to Pulse Width Modulated (PWM) outputs. In addition, the BLOB may provide a mechanism for redefining certain channels, such as channel 3 for example, to function as a light switch for a lighting equipped RC model vehicle. Along the same lines, embodiments of this disclosure could allow the operator to configure a physical switch to operate channel 3 for lights, and the transmitter would then save this transmitter BLOB configuration to the receiver BLOB when the RC model vehicle is motionless. Every new, supported transmitter connected (i.e., linked and bound) to the receiver would then be configured to have channel 3 operate as a light switch.

[0049] One embodiment may include a method for a model vehicle receiver centric parameter system. Referring generally to FIG. 4, the method may involve linking a receiver located in a radio-controlled (RC) model vehicle and a transmitter and comparing a transmitter binary large object (BLOB) Version to a receiver BLOB Version. If the transmitter BLOB Version is greater than the receiver BLOB Version, the method may include waiting until the RC model vehicle becomes motionless, updating a receiver BLOB with a transmitter BLOB and updating the receiver BLOB Version with the transmitter BLOB Version. If the receiver BLOB Version is greater than the transmitter BLOB Version, the method may include waiting for the RC model vehicle to become motionless, updating the transmitter BLOB with the receiver BLOB and updating the transmitter BLOB version with the receiver BLOB version.

[0050] The method then involves continuing to run and operate the RC model vehicle, unless and until a transmitter BLOB is changed via an app or physically. In some embodiments, if the operator changes the parameter profile via an app or physically, the changes may be saved to the transmitter BLOB, and the transmitter BLOB may be incremented by one. The method may then return to the point of comparing the transmitter BLOB Version to the receiver BLOB Version.

[0051] In still other embodiments, an operator may try to link another or second transmitter to the receiver. Only one transmitter may be used for operating an RC model vehicle at a time. In situations where an operator upgrades to a new transmitter and wishes to use the new transmitter with the RC model vehicle, the new transmitter enters the flowchart at the start, where the new transmitter is linked to the receiver. From that point forward, the rest of the flowchart continues with transmitter now being the new transmitter. The new transmitter will then be updated with the last receiver BLOB parameter profile stored in the RC model vehicle, assuming the receiver BLOB Version is greater than the new transmitter BLOB Version and the RC model vehicle is motionless.

[0052] Various embodiments may be configured as follows. The feature activation and control definition stay with the RC model vehicle and its receiver. A transmitter connected to another RC model vehicle and then reconnected to the target RC model vehicle receives the latest transmitter configuration for the target RC model vehicle. A new transmitter is automatically and accurately configured anytime it is connected to an RC model vehicle. Model specific transmitter controls and interpretation of transmitter controls is possible using this system. A vehicle-centric approach to customization and retention of settings allow the customized settings to persist and be accessible regardless of transmitter swaps or upgrades. Embedded firmware may enable memory overlaying structures as part of the schema versioning. Some embodiments allow single processor receivers to be used during real time operation without waiting for the RC model vehicle to become motionless, based on speed and processing power of the single processor.

[0053] Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that a wide range of variations, modifications, changes, and substitutions are contemplated in the foregoing disclosure and, in some instances, some features of the present disclosure may be employed without a corresponding use of the other features.

[0054] In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in the environment of fastening wooden parts, a nail and a screw may be equivalent structures.

[0055] It is the express intention of the applicant not to invoke 35 U.S.C. 112, paragraph 6 for any limitations of any of the claims herein, except for those in which the claim expressly uses the words means for together with an associated function.