A method and system for remote control of a model vehicle

By generating differential encoded data using control values ​​within a historical window during remote control of the model vehicle, filtering and repeatedly sending update data packets, the problem of balancing transmission overhead and single-slot capacity during baseline updates is solved, thereby improving the continuity and response speed of the remote control process.

CN123047422APending Publication Date: 2026-11-06SHENZHEN ALMU INNOVATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611483575.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-22
Publication Date
2026-11-06

AI Technical Summary

Technical Problem

In remote control of model vehicles, it is difficult to balance transmission overhead and single-slot capacity during the baseline update process. Furthermore, the loss of update information leads to the spread of decoding errors, affecting the continuity and response speed of the remote control process.

Method used

By saving the current reference value of the control channel at the transmitting end, generating control difference encoded data using the control values ​​within the historical window, comparing the transmission volume before and after the reference update within the same historical window, filtering out update combinations with reduced transmission volume, selecting update combinations that do not exceed the maximum effective payload of a single transmission, and repeatedly sending update data packets before and after the switching time, the receiving end can correctly restore the control value.

Benefits of technology

It effectively reduces the amount of control data transmitted, maintains the continuity and response speed of the remote control process, and avoids transmission delays and decoding errors caused by baseline updates. It is suitable for model vehicles with high requirements for control continuity and response speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123047422A_ABST
    Figure CN123047422A_ABST
Patent Text Reader

Abstract

This application discloses a remote control method and system for a model vehicle. The transmitter stores the current reference value for each control channel, periodically acquires the current control value, calculates the control difference between the current control value and the corresponding current reference value, and encodes and transmits it. Based on the control values ​​within the historical window, candidate reference values ​​and update combinations are determined. The transmission volume when maintaining the current reference value is compared with that when using the update combination, and the repeated transmission volume of reference update information is included in the latter. The maximum length of the update data packet is determined based on the allowable control value range for each channel. The channel to be updated, the candidate reference value, and the switching time are determined from the update combinations with reduced transmission volume and a maximum length not exceeding the maximum effective payload of a single transmission. The update data packet is repeatedly transmitted before and after the switching time, and the current reference value of the channel to be updated is updated at the switching time. This application can reduce the transmission volume of control data and the transmission peak caused by reference updates, while maintaining the continuity of the remote control process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of model aircraft, and more particularly to a remote control method for a model vehicle. Background Technology

[0002] Remote control technology for model vehicles transmits operator control inputs such as steering, throttle, braking, attitude, and auxiliary functions to the vehicle side, where the receiving end converts the control values ​​from each control channel into control signals for the actuators. To ensure the vehicle responds promptly to operational changes, the remote control link needs to continuously transmit the current values ​​of multiple control channels at short intervals. Given a fixed wireless transmission rate and frame structure, shortening the transmission time slot limits the amount of data that can be transmitted in a single transmission. Therefore, it is necessary to complete the transmission of multi-channel control data within a limited time slot capacity.

[0003] To reduce the amount of control data transmitted, differential encoding can be used. Transmitted data is formed based on the difference between the current control value and a reference value, and the receiving end uses this difference to recover the current control value. When the control value from a previous data packet is used as a reference, the recovery of subsequent data depends on the correct reception of the preceding data. Using a reference established over a period of time reduces reliance on continuously receiving preceding data packets, but as the control value deviates from this reference, the required encoding length for the residual may increase, necessitating updating the reference to shorten subsequent residuals. During the reference update process, information for establishing or identifying the new reference also needs to be transmitted to the receiving end to maintain consistency in the decoding basis between the transmitting and receiving ends.

[0004] However, the synchronization information required for reference updates, along with its repeated transmission and packet loss recovery, incurs additional transmission overhead. Selecting a new reference solely based on the residual length cannot guarantee a reduction in overall transmission volume after the update, and the frame composed of the updated information and the continuously changing current control data may exceed the capacity of a single time slot. Furthermore, if the receiver misses reference update information, it may be unable to correctly recover subsequent control values ​​due to the continued use of the old reference. If multiple channels are encapsulated together without independent identification and resolution mechanisms, local reference mismatch may also hinder data recovery from other channels. Therefore, it is necessary to address the difficulty in balancing transmission overhead and single time slot capacity during reference updates, as well as the decoding errors caused by lost update information and their spillover effects. Summary of the Invention

[0005] The purpose of this application is to provide a model vehicle remote control method that reduces the amount of control data transmitted while maintaining the continuity of reference switching, while satisfying the maximum effective payload constraint for a single transmission.

[0006] According to one aspect of this application, a remote control method for a model vehicle is provided, applied to a transmitter, comprising: saving the current reference value of each control channel, acquiring the current control value at a fixed period and storing it in a history window, calculating the control difference between the current control value and the corresponding current reference value, and generating control code data according to the code length corresponding to the control difference and then sending it.

[0007] Based on the control values ​​within the historical window, candidate reference values ​​for at least one channel are determined, forming an update combination that includes the channel to be updated and the candidate reference values. The transmission volume when maintaining the current reference value and using the update combination within the same historical window are compared, with the latter being counted as the repeated transmission volume of reference update information. Update combinations with reduced transmission volume are selected. The maximum length of the update data packet is determined according to the allowable control value range for each channel, and an update combination that does not exceed the maximum effective payload of a single transmission is selected. A switching time is determined for the selected update combination, and update data packets are repeatedly transmitted before and after it. The update data packets carry the identifier of the channel to be updated, candidate reference information, switching time, and control coding data. The channel to be updated generates a control difference based on the candidate reference value, and the other channels generate a control difference based on the current reference value. When the switching time is reached, the current reference value of the channel to be updated is updated to the candidate reference value.

[0008] In one specific embodiment, determining the candidate reference value of at least one channel based on the control values ​​within the historical window includes: taking the different control values ​​appearing in the historical window for each control channel as candidate reference values ​​for the corresponding channel, and for each candidate reference value, accumulating the encoding length of the control difference between each control value of the channel within the historical window and the candidate reference value to obtain the candidate encoding amount of the corresponding candidate reference value.

[0009] In one specific embodiment, the formation of an update combination including the channel to be updated and candidate benchmark values ​​includes:

[0010] One or more channels are selected from each control channel as channels to be updated, and a candidate reference value is selected for each channel to be updated to form multiple update combinations. For each update combination, the encoding length of the control difference of each channel in the historical window relative to the current reference value is accumulated according to the same encoding rule to obtain the first transmission amount. The candidate encoding amount of each channel to be updated, the encoding length of the control difference of the remaining channels in the historical window relative to the current reference value, and the transmission amount generated by the reference update information being sent according to a preset number of repetitions are added together to obtain the second transmission amount.

[0011] In one specific embodiment, the step of filtering update combinations with reduced transmission volume includes: calculating the difference between the first transmission volume and the second transmission volume of each update combination, sorting update combinations with a difference greater than zero in descending order of difference, and sorting them in ascending order of the number of channels to be updated when the differences are the same.

[0012] In one specific embodiment, determining the maximum length of the update data packet based on the allowable control value range of each channel includes: for each selected update combination, determining the maximum encoding length of the control difference between the channel to be updated and the candidate reference value, and the control difference between the remaining channels and the current reference value, based on the allowable control value range of each channel; adding the sum of the maximum encoding lengths of each channel to the maximum length of all data in the update data packet except for the control encoding data, to obtain the maximum length of the update data packet for the corresponding update combination; selecting the update combination whose maximum update data packet length does not exceed the maximum effective payload of a single transmission and is ranked first among the sorted update combinations; and keeping the current reference value of each channel unchanged when there is no update combination that meets the conditions.

[0013] In one specific embodiment, repeatedly sending update data packets before and after the switching time includes: sending update data packets at multiple fixed periods before and after the switching time according to the preset number of repetitions, and sending them at least once before and after the switching time; the channel identifier to be updated, candidate reference information and switching time corresponding to the same reference update remain unchanged, and the control coding data in each update data packet is regenerated according to the current control value obtained in the corresponding fixed period.

[0014] In one specific embodiment, when forming each update combination, at least one of the channels to be updated is identified as a recovery channel, and the transmission volume generated by sending recovery data packets according to a predetermined number of recovery cycles is included in the second transmission volume; the maximum length of the recovery data packet is determined according to the allowable control value range of each channel, and only update combinations whose maximum length of the recovery data packet does not exceed the maximum payload of a single transmission are retained; at a predetermined fixed period after the switching time, recovery data packets are sent according to the predetermined number of recovery cycles, and the recovery data packets carry a recovery channel identifier, direct encoded data of the current reference value of the recovery channel, control encoded data generated relative to the current reference value, and control encoded data generated by the other channels according to their respective current reference values. In one specific embodiment, each data packet carrying control encoded data carries an encoding index, which is used to indicate whether control encoded data of each control channel exists, and when the corresponding control encoded data exists, it indicates its offset and data length relative to the starting point of the data area of ​​the corresponding data packet.

[0015] In one specific embodiment, a current channel version number is set for the current reference value of each control channel, and a global version number shared by all control channels is set. When the current channel version number of the channel to be updated does not reach a preset maximum value, the current channel version number is incremented to obtain the target channel version number. The candidate reference information also includes the current channel version number of the channel to be updated and the target channel version number. The encoding index also records the channel version number corresponding to the reference value used to generate each control encoding data, and each data packet carrying the control encoding data also carries the global version number. When the switching time is reached, the current channel version number of the channel to be updated is updated to the target channel version number. When any current channel version number reaches the preset maximum value, after the corresponding update data packet is repeatedly sent, the global version number is updated, the current reference value of each channel is set to the corresponding preset reset reference value, the current channel version number is set to the preset initial version number, and the control encoding data is regenerated according to the preset reset reference value.

[0016] According to another aspect of this application, a model vehicle remote control system is provided, including a transmitter and a receiver; the transmitter is used to store the current reference value of each control channel, generate and send control coded data based on the current control value obtained periodically and the current reference value; determine an update combination based on a historical window, compare the transmission volume before and after adopting the update combination, and determine the channel to be updated, the candidate reference value, and the switching time from the update combination where the transmission volume is reduced and the maximum length of the update data packet does not exceed the maximum effective payload of a single transmission; repeatedly send update data packets before and after the switching time, and update the current reference value of the channel to be updated at the switching time; the receiver is used to recover the current control value based on the candidate reference information and control coded data in the update data packet, and update the current reference value of the channel to be updated at the switching time.

[0017] Therefore, this application maintains a current reference value for each control channel and encodes the control difference between the current control value and the corresponding current reference value, which helps to shorten the control coding data. By comparing the transmission volume before and after the reference update within the same historical window and including the repeated transmission volume of the reference update information in the update cost, the transmission volume reduced by the difference coding can be avoided due to the update overhead offsetting the transmission volume. Furthermore, by verifying the maximum length of the update data packet according to the allowable value range of each channel, the reference update process can meet the maximum effective payload of a single transmission, reducing the transmission delay caused by excessively long data packets. By repeatedly sending update data packets before and after the switching time and updating the current reference value of the channel to be updated only at the switching time, the reference switching of the target channel can be completed while the other channels continue to transmit normally, thus taking into account the reduction of transmission volume, load constraints, and the continuity of the remote control process. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0019] Figure 1 This is a flowchart illustrating a remote control method for a model vehicle in one embodiment of this application;

[0020] Figure 2 This is a flowchart illustrating the process of updating the combined screening and benchmark switching in one embodiment of this application;

[0021] Figure 3 This is a flowchart illustrating the process of determining and updating the combined transmission volume calculation for candidate reference values ​​in one embodiment of this application.

[0022] Figure 4 This is a structural block diagram of a model vehicle remote control system in one embodiment of this application;

[0023] Figure 5 This is a timing diagram illustrating the control data transmission between the transmitter and receiver in one embodiment of this application. Detailed Implementation

[0024] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings. Preferred embodiments of this application are shown in the drawings. However, this application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the disclosure of this application.

[0025] Please refer to Figure 1 - Figure 5 This application provides a method for remotely controlling a model vehicle, applied at a transmitting end. The model vehicle remote control system includes a transmitting end and a receiving end. The transmitting end is held by an operator, and the receiving end is located on the model vehicle. The transmitting end and the receiving end are wirelessly connected. Specifically, the transmitting end includes a first operation input unit, a first microcontroller, and a first radio frequency transceiver module, which are respectively connected to the first microcontroller. The receiving end includes a second radio frequency transceiver module, a second microcontroller, and a servo or ESC output unit, which are respectively connected to the second microcontroller. The first operation input unit is used to generate current control values ​​for multiple control channels in response to the operation of a joystick, knob, or DIP switch. The first microcontroller is used to store the current reference value of each control channel and acquire the current control value of each control channel at a fixed period.

[0026] In one specific embodiment, the fixed period is 500 μs, corresponding to a control data transmission frequency of 2 kHz. The first operation input unit provides eight control channels, each storing the current control value in 2 bytes. The first microcontroller stores the acquired current control value in a history window, calculates the control difference between the current control value and the corresponding current reference value, and then generates control coded data according to the required encoding length of the control difference. Thus, when the current control value is close to the current reference value, a shorter encoding field can be used to represent the control difference, avoiding the repeated transmission of the complete control value in each fixed period. In the customer prototype, the original data length of the eight control channels is 16 bytes, and the typical data length after control difference encoding is approximately 12 bytes; when LZF compression is further applied after control difference encoding, the typical data length is 7-9 bytes. It should be noted that LZF compression is an optional processing step after control difference encoding, and is not a necessary process for determining candidate reference values ​​or selecting update combinations.

[0027] Furthermore, the first microcontroller determines candidate reference values ​​for at least one control channel based on the control values ​​within the historical window, and forms an update combination with the channel to be updated and the candidate reference values ​​determined for that channel. For each update combination, the first microcontroller, based on the same historical window, determines the transmission volume when maintaining the current reference value of each control channel and the transmission volume when using the update combination. The transmission volume when using the update combination includes not only the control coded data of each control channel, but also the transmission volume generated by the repeated transmission of reference update information, to avoid judging the reference update as advantageous solely based on the shortening of the control difference, while ignoring the transmission load occupied by the reference update itself.

[0028] The first microcontroller selects update combinations where the transmission volume during the update combination is less than the transmission volume when maintaining the current baseline value. Then, based on the allowable control value range for each control channel, it determines the maximum length of the update data packet corresponding to each update combination. The maximum length of the update data packet includes the maximum length of the control coding data that may be generated by each control channel, as well as the length of data such as the channel identifier to be updated, candidate baseline information, and switching time. The first microcontroller only selects update combinations whose maximum update data packet length does not exceed the maximum payload of a single transmission to avoid the update data packet being split into multiple fixed cycles due to its length exceeding the payload that can be transmitted within a fixed period, thus causing increased transmission latency. When the customer prototype uses a 1 MHz bandwidth FLRC physical layer for transmission, the air time of a 13-byte data packet is approximately 280–340 μs, less than the fixed period of 500 μs. This data can be used as a specific transmission condition for determining the maximum payload of a single transmission, but 13 bytes is not limited to the maximum payload in all implementations.

[0029] Furthermore, the first microcontroller determines the switching time for the selected update combination and repeatedly transmits update data packets before and after the switching time via the first RF transceiver module. The update data packet carries the identifier of the channel to be updated, candidate reference information, the switching time, and control coding data. The candidate reference information is used by the receiver to determine the candidate reference value corresponding to the channel to be updated. In each update data packet, the control difference of the channel to be updated is generated based on the current control value of that channel and the candidate reference value; the control difference of the other channels is generated based on the current control value of the corresponding channel and the current reference value. Thus, control coding data generated using different reference values ​​can be carried in parallel within the same update data packet without requiring control channels not participating in the update to synchronously change their reference values.

[0030] When the switching time arrives, the first microcontroller updates the current reference value of the channel to be updated to a candidate reference value, while the other channels retain their respective current reference values. After receiving the update data packet, the second microcontroller obtains the candidate reference value of the channel to be updated based on the candidate reference information and restores the current control value based on the reference value used when generating the corresponding control code data. When the switching time arrives, the second microcontroller synchronously updates the current reference value of the channel to be updated. By repeatedly transmitting the same reference update relationship before and after the switching time, the chance of the receiving end obtaining candidate reference information near the switching time can be increased, while the periodic transmission of the current control value is not stopped. This is suitable for model vehicles such as remote-controlled drift cars, racing cars, racing drones, and stunt model aircraft that require continuous output of multiple control channels and are sensitive to control latency.

[0031] In one specific embodiment, please refer to Figure 3 The first microcontroller uses the different control values ​​that appear in the historical window for each control channel as candidate reference values ​​for the corresponding channel. The historical window is used to store the control values ​​acquired within multiple consecutive fixed periods, and the latest control value is added as the fixed period progresses. For the same control channel, historical control values ​​with the same value are treated as the same candidate reference value, and historical control values ​​with different values ​​form different candidate reference values.

[0032] For each candidate reference value, the first microcontroller sequentially calculates the control difference between each control value of that channel within the historical window and the candidate reference value. Following the encoding rules used when actually transmitting control encoded data, it determines the encoding length corresponding to each control difference. Then, it accumulates these encoding lengths to obtain the candidate encoding quantity corresponding to the candidate reference value. The candidate encoding quantity reflects the cumulative length required to generate control encoded data for the corresponding candidate reference value under the control change states covered by the historical window. The candidate reference value is directly taken from the control values ​​that have already appeared within the historical window, eliminating the need to fit values ​​that have not yet appeared. This reduces the computational burden of generating candidate reference values ​​and ensures that the candidate reference value is within the control area that the corresponding control channel has actually reached.

[0033] For control channels such as steering, throttle, braking, and auxiliary switches of the model vehicle, the frequency and magnitude of control value changes may vary. Calculating candidate coding quantities separately allows each control channel to determine its candidate baseline value based on its historical changes, avoiding the situation where a single baseline is used to process all channels, which could lead to persistently large control discrepancies in some channels. It should be noted that the current baseline value remains unchanged across multiple fixed periods during which the corresponding channel has not undergone baseline updates, and is not equivalent to the control value of the previous fixed period. Therefore, the candidate coding quantity evaluates the possible change in coding length after changing the cross-period baseline, rather than simply evaluating the change between two adjacent control values.

[0034] In one specific embodiment, please refer to Figure 3 The first microcontroller selects one or more channels from the various control channels as channels to be updated, and selects a candidate reference value for each channel to be updated, thus forming multiple update combinations. Different update combinations can contain different channels to be updated, or different candidate reference values ​​can be used for the same channel to be updated. For each update combination, the first microcontroller uses the control values ​​within the same historical window as the evaluation input, and uses the same encoding rules as the actual control encoded data to ensure that the transmission volume between each update combination is comparable.

[0035] Specifically, the first microcontroller accumulates the encoding length of the control difference between each control channel and its corresponding current reference value within the historical window to obtain a first transmission quantity. The first transmission quantity represents the expected transmission quantity when no reference update is performed. The first microcontroller adds the candidate encoding quantities of each channel to be updated, the encoding length of the control difference between the remaining channels within the historical window and the current reference value, and the transmission quantity generated by sending the reference update information according to a preset number of repetitions to obtain a second transmission quantity. The reference update information includes the identifier of the channel to be updated, candidate reference information, and the switching time. The preset number of repetitions is consistent with the number of times update data packets are actually sent subsequently, so that the second transmission quantity can reflect the complete transmission cost generated by completing a reference update, rather than just reflecting the control difference length after the reference switch.

[0036] For update combinations that update only one control channel, the second transmission quantity includes the candidate coding quantity and benchmark update information after the candidate benchmark value is adopted for that channel. For update combinations that update multiple control channels simultaneously, the second transmission quantity includes the candidate coding quantity corresponding to each channel to be updated and the common data required for the same benchmark update. By calculating the first and second transmission quantities under the same historical data and the same coding rules, the influence of changes in control values ​​and differences in coding rules on the comparison results can be eliminated, so that the selection of update combinations directly corresponds to whether the transmission quantity is actually reduced.

[0037] In one specific embodiment, the first microcontroller calculates the difference between the first and second transmission amounts for each update combination, and uses the resulting difference as the reduction value of the transmission amount for the corresponding update combination. If the reduction value of the transmission amount is greater than zero, it indicates that the total transmission amount of the control coded data and the baseline update information after adopting the update combination is less than the transmission amount when maintaining the current baseline value; if the reduction value of the transmission amount is equal to or less than zero, it indicates that the repetitive transmission overhead generated by the baseline update has offset or exceeded the reduction of the transmission amount by the control difference coding, and the first microcontroller no longer considers the update combination as a candidate scheme.

[0038] For update combinations with a transmission reduction value greater than zero, the first microcontroller sorts them from largest to smallest transmission reduction value, giving higher selection priority to update combinations that can reduce transmission volume significantly. When two or more update combinations have the same transmission reduction value, the first microcontroller sorts them from smallest to largest number of channels to be updated. Using a smaller number of channels to be updated as the priority condition for equal transmission benefits can reduce the channel range involved in the same baseline update and reduce the number of candidate baseline information that needs to be kept synchronized.

[0039] The sorting does not directly determine the final update combination. The sorted update combination also needs to undergo a maximum update packet length check to prevent the overall transmission volume from decreasing within the historical window. However, the update packet length for a certain fixed period may exceed the maximum effective payload of a single transmission due to a large control difference. Therefore, the transmission volume reduction value is used to evaluate the overall benefit within a historical window, and the maximum update packet length is used to limit the transmission peak that may occur within a single fixed period. The two respectively constrain the overall transmission volume and the length of a single transmission.

[0040] In one specific embodiment, please refer to Figure 2 and Figure 3 For each selected update combination, the first microcontroller determines the maximum encoding length of the control difference based on the allowable control value range of each control channel. The allowable control value range of each control channel can be determined when the first operation input unit completes calibration and is stored in the first microcontroller. For the channel to be updated, the first microcontroller determines its maximum encoding length based on the possible control difference between the channel's allowable control value range and the candidate reference value; for the remaining channels, the first microcontroller determines its maximum encoding length based on the possible control difference between the channel's allowable control value range and the current reference value.

[0041] Subsequently, the first microcontroller sums the maximum encoding lengths of each control channel and adds the maximum length of all data in the update data packet, excluding control encoding data, to obtain the maximum length of the update data packet for the corresponding update combination. The data excluding control encoding data includes at least the channel identifier to be updated, candidate reference information, and switching time; when the data packet further carries the encoding index, current channel version number, target channel version number, and global version number, the length of the corresponding data is also included in the maximum length of the update data packet.

[0042] The first microcontroller sequentially verifies the updated combinations from the sorted list, selecting the highest-ranked updated combination whose maximum update data packet length does not exceed the maximum payload of a single transmission. If the current updated combination fails verification, it continues to verify the next-ranked updated combinations; if no matching updated combination exists, it maintains the current baseline value for each control channel and continues to generate control coding data according to its respective current baseline value. This process avoids determining the packet length solely based on typical control values ​​within a historical window, ensuring that updated data packets can still be transmitted in a single transmission even when the model vehicle suddenly reaches the end of the allowable range in the steering or throttle channels, thereby reducing latency peaks caused by packet unpacking or transmission across fixed periods.

[0043] In one specific embodiment, please refer to Figure 1 and Figure 2 The first microcontroller determines the switching time for the selected update combination and generates update data packets at multiple fixed periods before and after the switching time, according to a preset repetition number. At least one update data packet is sent before and after the switching time, enabling the receiving end to obtain candidate reference information in advance before the switching occurs and to obtain the same reference update data again after the switching occurs.

[0044] The channel identifier to be updated, candidate reference information, and switching time corresponding to the same reference update remain unchanged in each update data packet, so that the receiving end can identify multiple update data packets as the same reference update. The control coding data in each update data packet is not a repeated copy of the control coding data in the earliest update data packet, but is regenerated by the first microcontroller based on the current control value obtained in the corresponding fixed period. For the channel to be updated, the control coding data for each fixed period is generated based on the control difference between the current control value and the candidate reference value in that fixed period; for the other channels, the control coding data for each fixed period is generated based on the control difference between the current control value and the current reference value in that fixed period.

[0045] Therefore, the reference update information can remain stable over multiple fixed periods, while the actual remote control commands still change in real time according to the operator's actions on the first operation input unit. At the switching time, the first microcontroller updates the current reference value of the channel to be updated to a candidate reference value, and the second microcontroller, having already obtained the candidate reference information, synchronously updates the current reference value of the corresponding channel. This process does not require pausing control value acquisition and transmission, avoiding control output gaps created for reference synchronization. It is suitable for applications such as continuous steering correction in drift cars, continuous throttle adjustment in racing cars, and continuous attitude control changes in drones.

[0046] In one specific embodiment, please refer to Figure 2 When forming each update combination, the first microcontroller determines at least one recovery channel from the channels to be updated in that update combination and forms a recovery plan corresponding to that update combination. The first microcontroller includes the transmission volume generated by sending recovery data packets according to a predetermined number of recovery attempts in the second transmission volume, so that the transmission volume evaluation of the update combination simultaneously covers the control coding data in the historical window, the repeated transmission data of the baseline update information, and the recovery data after the switch.

[0047] The first microcontroller also determines the maximum length of the recovery data packet based on the allowable control value range of each control channel, retaining only update combinations whose maximum recovery data packet length does not exceed the maximum payload of a single transmission. This avoids situations where the update data packet can be included in a single transmission, but the recovery data packet used to restore the baseline state exceeds the maximum payload of a single transmission due to carrying the directly encoded current baseline value.

[0048] At a predetermined fixed period following the switching time, the first microcontroller sends recovery data packets through the first RF transceiver module according to a predetermined number of recovery cycles. The recovery data packet carries the recovery channel identifier, directly encoded data of the current reference value of the recovery channel, and control encoded data generated relative to that current reference value. It also carries control encoded data generated by the remaining channels according to their respective current reference values. After receiving the recovery data packet, the second microcontroller re-establishes the reference state of the recovery channel based on the directly encoded current reference value, and then restores the current control value by combining it with the control encoded data of that channel. For the remaining channels, the second microcontroller continues to restore the current control value according to the saved current reference value. The recovery data packet only carries reference data for the channel that needs to be restored, eliminating the need to retransmit the reference state of all channels. This limits the data length added during the restoration process and avoids interrupting the remote control output of other channels while restoring one channel.

[0049] In one specific embodiment, each data packet carrying control coded data includes an encoding index and a data area. The encoding index describes the organization of the control coded data for each control channel within the corresponding data packet. The encoding index indicates whether the corresponding control coded data exists for each control channel; when the corresponding control coded data exists, the encoding index further indicates the offset of the control coded data relative to the start of the data area and the data length.

[0050] When generating, updating, or restoring normal control data packets, the first microcontroller generates a coding index based on the actual length of the control coding data generated by each control channel, and then writes the control coding data of each control channel into the data area according to the order recorded in the coding index. After receiving the data packet, the second microcontroller first reads the coding index, and then locates the control coding data according to the offset and data length of the corresponding channel, without relying on the fact that the control coding data of each channel has the same length.

[0051] If the control code data for a certain control channel is not carried, the second microcontroller skips that channel based on the encoding index, preventing the subsequent control code data of other channels from being misidentified as data from that channel. Since the control differences between control channels may correspond to different encoding lengths, the encoding index allows the second microcontroller to independently determine the data boundaries of each control channel and continue parsing other control channels. This process is particularly suitable for update and recovery data packets where different channels use different reference values, and some channels carry additional reference data. It avoids changes in the data length of one channel from disrupting the field boundaries of the entire data packet and provides a basis for determining the reference value used for control code data based on the channel version number.

[0052] In one specific embodiment, please refer to Figure 2 The first and second microcontrollers respectively store the current channel version number of each control channel's current reference value and a global version number shared by all control channels. For a channel to be updated whose current channel version number has not reached the preset maximum value, the first microcontroller increments the current channel version number to obtain the target channel version number, and writes the current channel version number and the target channel version number of the channel to be updated into the candidate reference information.

[0053] The encoding index also records the channel version number corresponding to the reference value used to generate each control encoding data. Each data packet carrying control encoding data carries a global version number. After receiving the data packet, the second microcontroller first checks the global version number, and then determines the reference state used for the corresponding control encoding data based on the channel version number recorded in the encoding index. For the channel to be updated in the update data packet, the control encoding data is generated based on the candidate reference value and corresponds to the target channel version number; for the other channels, the control encoding data is generated based on the current reference value and corresponds to the current channel version number.

[0054] When the switching time arrives, the first and second microcontrollers update the current channel version number of the channel to be updated to the target channel version number, ensuring that the channel version number corresponds to the current reference value after the switch. When any current channel version number reaches a preset maximum value, the first microcontroller waits for the corresponding reference update data packet to be repeatedly sent before updating the global version number to the new global version number, setting the current reference value of each control channel to the corresponding preset reset reference value, and setting each current channel version number to the preset initial version number. After receiving the data packet carrying the new global version number, the second microcontroller performs the same reference reset and version reset. By changing the global version number before a local channel version number is reused, it is possible to distinguish channel version numbers with the same value in different reset phases, preventing the receiver from mistaking control coded data generated in an earlier reference state for current data.

[0055] According to another aspect of this application, please refer to Figure 4 and Figure 5 This application also provides a remote control system for a model vehicle in one embodiment. The remote control system includes a transmitter and a receiver. The transmitter includes a first operation input unit, a first microcontroller, and a first radio frequency transceiver module, which are respectively connected to the first microcontroller. The receiver includes a second radio frequency transceiver module, a second microcontroller, and a servo or ESC output unit, which are respectively connected to the second microcontroller. The receiver is located on the model vehicle.

[0056] The first microcontroller stores the current reference value of each control channel, acquires the current control value at a fixed period, generates control coded data based on the current control value and the current reference value, and transmits it through the first radio frequency transceiver module. The first microcontroller also determines the update combination based on the historical window, compares the transmission volume before and after adopting the update combination, and determines the channel to be updated, the candidate reference value, and the switching time from the update combination where the transmission volume is reduced and the maximum length of the update data packet does not exceed the maximum effective payload of a single transmission.

[0057] The first RF transceiver module repeatedly sends update data packets before and after the switching time. The first microcontroller updates the current reference value of the channel to be updated to the candidate reference value at the switching time. The second RF transceiver module receives the control coded data and update data packets and transmits them to the second microcontroller. The second microcontroller recovers the current control value of each control channel based on the candidate reference information and control coded data. At the switching time, it updates the current reference value of the channel to be updated and then converts the recovered current control value into steering, throttle, braking or attitude control outputs of the model vehicle through the servo motor or ESC output unit.

[0058] In one specific embodiment, the first microcontroller is an ESP32-WROOM-32, the second microcontroller is an ESP32-PICO-V3-02, and both the first and second RF transceiver modules use the SX1281. Data is transmitted between the first microcontroller and the first RF transceiver module, and between the second microcontroller and the second RF transceiver module, via SPI DMA. The first microcontroller uses a 2 kHz hardware timer as a fixed-period trigger source. After the second RF transceiver module completes reception, the second microcontroller reads the data via a hardware interrupt and updates the servo or ESC output unit via LEDC or MCPWM DMA.

[0059] In the customer prototype, the DMA sampling time was less than 10 μs, the control differential encoding and subsequent LZF compression time was less than 30 μs, the SPI DMA write time was less than 20 μs, the air time for a 13-byte data packet was approximately 280–340 μs, the receive interrupt response time was less than 10 μs, and the decoding and PWM update time was less than 60 μs. Using an oscilloscope, the transmitter control input and receiver PWM output were measured. In a test with 10 groups of 10,000 data packets each, the average end-to-end delay was 542 μs, the minimum delay was 488 μs, the maximum delay was 612 μs, the standard deviation of the delay was 28 μs, and the packet loss rate under interference-free conditions was 0.03%.

[0060] It should be noted that the above test data corresponds to a complete prototype using DMA, interrupt handling, FLRC transmission, control differential encoding, and LZF compression. It is used to illustrate that a specific hardware implementation of the system can meet the low-latency remote control requirements. The above values ​​are not limited to parameters that must be achieved in other implementation methods, nor are the test results attributed solely to a single data processing step.

[0061] In summary, this model vehicle remote control system can dynamically adjust the reference values ​​of some control channels based on historical control values ​​while maintaining continuous transmission across multiple control channels. It also limits the total transmission volume and the peak value of a single transmission by comparing the transmission volume and verifying the maximum load. This ensures that the subsequent coding benefits brought by the reference update can cover the additional transmission volume generated by the reference update itself. At the same time, it reduces the possibility of sudden increases in data packet length or transmission across fixed periods caused by reference switching. It is suitable for model vehicles with high requirements for operational continuity and response speed.

[0062] The embodiments described above are merely examples of several implementations of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these modifications and improvements all fall within the scope of protection of this application.

Claims

1. A method for remotely controlling a model vehicle, applied at a transmitting end, characterized in that, include: Save the current reference value of each control channel, acquire the current control value at a fixed period and store it in the history window, calculate the control difference between it and the corresponding current reference value, and generate control code data according to the code length corresponding to the control difference before sending it. Based on the control values ​​within the historical window, candidate reference values ​​for at least one channel are determined, forming an update combination that includes the channel to be updated and the candidate reference values. Compare the transmission volume when maintaining the current baseline value within the same historical window with the transmission volume when using the update combination, the latter including the repeated transmission volume of baseline update information, and filter the update combination with reduced transmission volume; The maximum length of the update data packet is determined based on the allowable control value range of each channel, and the update combination is selected that does not exceed the maximum payload of a single transmission. A switching time is determined for the selected update combination, and update data packets are repeatedly sent before and after it. The update data packets carry the identifier of the channel to be updated, candidate reference information, switching time, and control coding data. The channel to be updated generates a control difference based on the candidate reference value, and the other channels generate a control difference based on the current reference value. When the switching time is reached, the current reference value of the channel to be updated is updated to the candidate reference value.

2. The remote control method for a model vehicle according to claim 1, characterized in that, The process of determining candidate reference values ​​for at least one channel based on control values ​​within a historical window includes: The different control values ​​that appear in each control channel within the historical window are respectively used as candidate reference values ​​for the corresponding channel. For each candidate reference value, the encoding length of the control difference between each control value of the channel within the historical window and the candidate reference value is accumulated to obtain the candidate encoding amount of the corresponding candidate reference value.

3. The remote control method for a model vehicle according to claim 2, characterized in that, The formation of the update combination, which includes the channel to be updated and the candidate benchmark value, includes: One or more channels are selected from each control channel as channels to be updated, and a candidate baseline value is selected for each channel to be updated, forming multiple update combinations; For each update combination, following the same encoding rules, the encoding length of the control difference of each channel relative to the current reference value within the historical window is accumulated to obtain the first transmission amount; The second transmission amount is obtained by adding the candidate coding amount of each channel to be updated, the coding length of the control difference of the other channels in the historical window relative to the current reference value, and the transmission amount generated by sending the reference update information according to a preset number of repetitions.

4. The remote control method for a model vehicle according to claim 3, characterized in that, The updated combinations with reduced sending volume include: Calculate the difference between the first and second transmission amounts for each update combination. Sort the update combinations with a difference greater than zero in descending order of the difference. If the differences are the same, sort them in ascending order of the number of channels to be updated.

5. The remote control method for a model vehicle according to claim 4, characterized in that, The process of determining the maximum length of the update data packet based on the allowable control value range for each channel includes: For each selected update combination, the maximum encoding length of the control difference between the channel to be updated and the candidate baseline value, and the control difference between the other channels and the current baseline value, is determined according to the allowable control value range of each channel. The maximum length of the update data packet for the corresponding update combination is obtained by adding the sum of the maximum encoding lengths of each channel to the maximum length of all data in the update data packet except for the control encoding data. Among the sorted update combinations, the update combination with the largest update data packet length not exceeding the maximum effective payload of a single transmission and the highest sorted combination is selected; if no update combination meets the conditions, the current baseline value of each channel remains unchanged.

6. The remote control method for a model vehicle according to claim 5, characterized in that, The repeated transmission of update data packets before and after the switching time includes: According to the preset number of repetitions, update data packets are sent at multiple fixed periods before and after the switching time, and are sent at least once before and after the switching time; The channel identifier to be updated, candidate reference information and switching time corresponding to the same reference update remain unchanged, and the control code data in each update data packet is regenerated according to the current control value obtained in the corresponding fixed period.

7. The remote control method for a model vehicle according to claim 6, characterized in that: When forming each update combination, at least one of the channels to be updated is identified as a recovery channel, and the amount of data sent by sending recovery data packets according to a predetermined number of recovery attempts is included in the second amount of data sent. The maximum length of the recovery data packet is determined according to the allowable control value range of each channel, and only the update combination whose maximum length of the recovery data packet does not exceed the maximum effective payload of a single transmission is retained. At a predetermined fixed period after the switching time, a recovery data packet is sent according to the predetermined number of recovery cycles. The recovery data packet carries a recovery channel identifier, direct encoded data of the current reference value of the recovery channel, control encoded data generated relative to the current reference value, and control encoded data generated by the other channels according to their respective current reference values.

8. The remote control method for a model vehicle according to claim 7, characterized in that: Each data packet carrying control coded data carries a coding index, which is used to indicate whether control coded data exists in each control channel, and when the corresponding control coded data exists, it indicates the offset and data length relative to the starting point of the data area of ​​the corresponding data packet.

9. The remote control method for a model vehicle according to claim 8, characterized in that: Set the current channel version number for the current reference value of each control channel, and set a global version number shared by all control channels; When the current channel version number of the channel to be updated has not reached the preset maximum value, the current channel version number is incremented to obtain the target channel version number. The candidate benchmark information also includes the current channel version number and the target channel version number of the channel to be updated. The encoding index also records the channel version number corresponding to the reference value used to generate each control encoding data, and each data packet carrying the control encoding data also carries the global version number; When the switching time is reached, the current channel version number of the channel to be updated is updated to the target channel version number; When any current channel version number reaches the preset maximum value, after the corresponding update data packet is repeatedly sent, the global version number is updated, the current reference value of each channel is set to the corresponding preset reset reference value, the current channel version number is set to the preset initial version number, and the control coding data is regenerated according to the preset reset reference value.

10. A remote control system for a model vehicle, characterized in that, Includes the transmitter and receiver; The transmitter is used to store the current reference value of each control channel, generate and send control coded data based on the current control value obtained periodically and the current reference value; determine the update combination based on the historical window, compare the transmission volume before and after adopting the update combination, and determine the channel to be updated, candidate reference value and switching time from the update combination where the transmission volume is reduced and the maximum length of the update data packet does not exceed the maximum effective payload of a single transmission; repeatedly send update data packets before and after the switching time, and update the current reference value of the channel to be updated at the switching time; The receiving end is used to recover the current control value based on the candidate reference information and control coding data in the update data packet, and to update the current reference value of the channel to be updated at the switching time.