Control method and apparatus, control system, and vehicle
By introducing a control system into VR devices and utilizing chassis suspension linkage technology, the problem of motion interaction delay in VR devices on terminals such as vehicles has been solved, achieving smooth motion response and an immersive user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YINWANG INTELLIGENT TECHNOLOGIES CO LTD
- Filing Date
- 2024-11-07
- Publication Date
- 2026-05-15
AI Technical Summary
Existing VR devices suffer from motion interaction delays, stuttering, and sluggishness in terminals such as vehicles, affecting the user's interactive experience between the virtual and real worlds.
The system employs a chassis, a first controller, and a second controller. The chassis includes a suspension and a power generator. The first controller detects the actions or events of the virtual object, and the second controller drives the chassis to produce matching actions. Pre-stored execution programs and signal transmissions are used to reduce latency and ensure the continuity of action interaction.
It effectively reduces the latency between actions or events of virtual objects and chassis responses, avoiding delays, stutters, and sluggishness, and improving the smoothness of action interaction and the user's immersive experience.
Smart Images

Figure CN2024130546_15052026_PF_FP_ABST
Abstract
Description
Control methods and devices, control systems and vehicles Technical Field
[0001] This application relates to the field of vehicle control technology, and in particular to a control method and device, a control system and a vehicle. Background Technology
[0002] With the rapid development of social productivity and science and technology, virtual reality (VR) technology is being applied more and more widely in various industries, covering fields such as gaming, healthcare, education, architectural design, and virtual tourism. In recent years, VR technology has made significant progress, and continuous innovation in hardware and software has enabled users to experience more immersive and interactive virtual environments.
[0003] Dedicated VR devices, through specific design and engineering, offer users multi-dimensional movement and interaction, providing realistic scenes and scenarios and enhancing the user's interactive experience between the virtual and real worlds. With the increasing prevalence of VR devices, more and more manufacturers are attempting to apply VR technology to non-dedicated VR devices, such as vehicles and robots, to enhance their intelligence. However, these devices generally suffer from latency, stuttering, and sluggishness when performing VR-related actions, resulting in disjointed interaction and impacting the user's overall interactive experience between the virtual and real worlds.
[0004] Summary of the Invention
[0005] This application provides a control method and apparatus, a control system and a vehicle, with the aim of improving the user's interactive experience between the virtual world and the real world.
[0006] In a first aspect, this application provides a control system, which includes a chassis, a first controller, and a second controller. The chassis includes at least one suspension, and the at least one suspension includes at least one power generator. The at least one power generator is connected to the second controller, and the first controller is connected to the second controller.
[0007] VR technology can provide users with an immersive virtual world where they can manipulate virtual objects to perform different actions and / or experience different events. The control system provided in this application can provide users with a real-world experience that matches the actions and / or events of virtual objects. Specifically, a first controller can detect the actions or events of virtual objects, a second controller can drive the chassis to perform actions that match the virtual objects' actions or events, and at least one active power generator in at least one suspension can generate power to flexibly drive the chassis to perform actions, allowing the user to perceive actions in the real world similar to those in the virtual world, or to perceive events in the real world similar to those in the virtual world, thus providing the user with an immersive interactive experience.
[0008] For the first controller, the first controller can generate a first signal corresponding to the first behavioral information and send the first signal to the second controller. The first signal can be used by the second controller to drive the chassis to generate an action that matches the action or event of the virtual object.
[0009] The first behavioral information is a type of behavioral information that can be used to label or indicate the action or event of a virtual object.
[0010] The first signal can be a signal, status command, action code, or event code, and corresponds to the first behavioral information. The first signal has a relatively small amount of information. Because the signal has a small amount of information, the signal transmission delay and communication load between the first controller and the second controller are small, thereby reducing the delay between the generation of the virtual object's action or event and the second controller driving the chassis to generate a matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0011] In one possible implementation of the first aspect, the first controller is a processor or controller. For example, the first controller may be a system-on-a-chip (SoC), a central processing unit (CPU), a microcontroller unit (MCU), an electronic control unit (ECU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an artificial intelligence (AI) processor, a field-programmable gate array (FPGA), a programmable logic device, or a transistor logic device. The first controller may implement or execute various exemplary logic blocks, modules, or circuits described in connection with this embodiment. Additionally, the first controller may be a combination that implements computational functions; for example, the first controller may include one or more microprocessor combinations, or a combination of a DSP and a microprocessor, etc.
[0012] In one possible implementation of the first aspect, the actions or events of the virtual object include at least one of the following: a virtual character walking, a virtual character jumping, a virtual character running, a virtual character colliding, a virtual vehicle accelerating, a virtual vehicle braking, a virtual vehicle turning, a virtual vehicle colliding, a virtual vehicle climbing, or a virtual vehicle going downhill, etc.
[0013] As can be seen, this embodiment can realize different actions or events of virtual objects according to different user operations.
[0014] In another possible implementation of the first aspect, the first behavioral information is used to indicate one of the following: a virtual character's walking action, a virtual character's jumping action, a virtual character's running action, a virtual character's collision action, a virtual vehicle's acceleration event, a virtual vehicle's braking event, a virtual vehicle's steering event, a virtual vehicle's collision event, a virtual vehicle's climbing event, or a virtual vehicle's descending event, etc.
[0015] As can be seen, this embodiment can indicate or identify different actions or events of virtual objects through behavioral information.
[0016] The second controller can be used to receive a first signal from the first controller, determine a first execution program corresponding to the first signal from at least one pre-stored execution program, and execute the first execution program in the at least one execution program.
[0017] It is worth noting that the control system can pre-store at least one execution program and the correspondence between the at least one execution program and the signals. Thus, when the second controller receives a certain signal (i.e., the first signal), the second controller can determine the corresponding execution program (i.e., the first execution program) from the pre-stored at least one execution program based on the correspondence. Since these execution programs are pre-stored, the second controller can quickly query different execution programs corresponding to different signals. This allows the chassis to respond quickly when the second controller drives the chassis through these execution programs, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to produce the matching action. This avoids delays, stuttering, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0018] In one possible implementation of the first aspect, the second controller is a processor or controller. For example, the second controller may be a system-on-a-chip (SoC), a central processing unit (CPU), a microcontroller unit (MCU), an electronic control unit (ECU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an artificial intelligence (AI) processor, a field-programmable gate array (FPGA), a programmable logic device, or a transistor logic device. The second controller may implement or execute various exemplary logic blocks, modules, or circuits described in connection with this embodiment. Additionally, the second controller may be a combination that implements computational functions; for example, the second controller may include one or more microprocessor combinations, or a combination of a DSP and a microprocessor, etc.
[0019] In another possible implementation of the first aspect, the at least one execution program includes at least one of the following: a walking action execution program, a jumping action execution program, a running action execution program, a collision action execution program, an acceleration event execution program, a braking event execution program, a turning event execution program, a collision event execution program, a climbing event execution program, or a downhill event execution program, etc.
[0020] As can be seen, this embodiment can be divided into different execution programs according to the different actions or events of the virtual object.
[0021] In another possible implementation of the first aspect, the signal corresponding to the walking action execution program corresponds to the walking action of the virtual character, the signal corresponding to the jumping action execution program corresponds to the jumping action of the virtual character, the signal corresponding to the running action execution program corresponds to the running action of the virtual character, the signal corresponding to the collision action execution program corresponds to the collision action of the virtual character, the signal corresponding to the acceleration event execution program corresponds to the acceleration event of the virtual vehicle, the signal corresponding to the braking event execution program corresponds to the braking event of the virtual vehicle, the signal corresponding to the steering event execution program corresponds to the steering event of the virtual vehicle, the signal corresponding to the collision event execution program corresponds to the collision event of the virtual vehicle, the signal corresponding to the hill climbing event execution program corresponds to the hill climbing event of the virtual vehicle, and the signal corresponding to the downhill event execution program corresponds to the downhill event of the virtual vehicle.
[0022] As can be seen, by establishing the correspondence between the actions or events, signals and execution programs of the user's virtual object, the second controller can determine the execution program corresponding to the action or event of the user's virtual object based on the correspondence, so that after the execution program is executed, the chassis will produce an action that matches the action or event of the virtual object.
[0023] In another possible implementation of the first aspect, for the first controller to send a first signal or the second controller to receive a first signal, the second controller includes a first interface for the first controller to access or access the second controller; the first controller sends the first signal to the second controller through the first interface; correspondingly, the second controller receives the first signal from the first controller through the first interface. Thus, signal transmission between the first controller and the second controller is ensured through the first interface.
[0024] In other words, the first controller is used to send a first signal through the first interface; the second controller is used to receive the first signal through the first interface.
[0025] It should be noted that the first interface is a physical or logical connection point between a first controller and a second controller for transmitting signals. Data transmission can be achieved through various communication protocols and standards. For example, the first interface can be a CAN interface, RS-232 interface, UART interface, or USB interface, etc.
[0026] In another possible implementation of the first aspect, after the second controller executes the first execution program, the first controller may also be used to send a first instruction, the first instruction being used to update or upgrade at least one execution program, or the first instruction being used to update the correspondence between at least one execution program and a signal; correspondingly, the second controller may also be used to receive the first instruction.
[0027] In this way, the first instruction can be used to update or upgrade at least one executable program, or to update the correspondence between at least one executable program and signals, thereby achieving iterative updates of the control system.
[0028] In another possible implementation of the first aspect, after the second controller executes the first execution program, the second controller is further configured to update or upgrade at least one execution program, or update the correspondence between at least one execution program and signals.
[0029] In this way, the second controller can quickly respond to update or upgrade the at least one executable program, reducing update latency; or, the second controller can quickly respond to the correspondence between the at least one executable program and the signal, reducing update latency.
[0030] In another possible implementation of the first aspect, prior to the first controller generating the first signal, the first controller may also be used to generate first behavioral information in response to the action or event of the virtual object.
[0031] Thus, since the first behavioral information is generated in response to the action or event of the virtual object, the first behavioral information corresponds to the action or event of the virtual object.
[0032] In yet another possible implementation of the first aspect, for generating the first behavioral information, the first controller is further configured to determine the first behavioral information based on the actions or events of the virtual object and the artificial intelligence model.
[0033] In this way, the first controller can classify and identify the actions or events of virtual objects based on the artificial intelligence model to determine the first behavioral information, so that the first behavioral information can accurately identify or indicate the actions or events of virtual objects.
[0034] In another possible implementation of the first aspect, for at least one active power generator, the at least one active power generator may be used to generate a first power in response to the execution of a first execution program, the first power being used to drive the chassis to produce a first action, the first action being matched with first behavioral information.
[0035] In this way, when it is necessary to drive the chassis to produce actions that match the actions or events of the virtual object, the second controller can execute a program to control at least one active force generator in at least one suspension to generate power to flexibly drive the chassis to produce different actions, thereby realizing the flexibility and operability of the control system.
[0036] In another possible implementation of the first aspect, for at least one suspension, the at least one suspension includes a left front suspension of the chassis, a right front suspension of the chassis, a left rear suspension of the chassis, and a right rear suspension of the chassis.
[0037] In this way, the four suspensions can support the weight of the chassis more evenly and provide four directions (i.e., front left, front right, rear left, and rear right) for flexible control of the chassis, thereby improving the stability, handling, and agility of the chassis.
[0038] Secondly, this application provides a control method applied to a second controller in a control system, the control system including a chassis and a first controller, the chassis including at least one suspension, the at least one suspension including at least one active force generator, the at least one active force generator being connected to the second controller, and the first controller being connected to the second controller; the method includes: receiving a first signal from the first controller, the first signal corresponding to first behavioral information of a virtual object; determining a first execution program corresponding to the first signal from at least one pre-stored execution program, the first execution program being in the at least one execution program; executing the first execution program, the first execution program being used to control the at least one active force generator to generate a first power, the first power being used to drive the chassis to generate a first action, the first action being matched with the first behavioral information.
[0039] VR technology can provide users with an immersive virtual world where they can manipulate virtual objects to perform different actions and / or experience different events. The control system provided in this embodiment can provide users with a real-world experience that matches the actions and / or events of virtual objects. Specifically, a first controller can detect the actions or events of virtual objects, and a second controller can drive the chassis in the control system to perform actions that match the actions or events of virtual objects.
[0040] To enable the second controller to drive the chassis to generate actions or events matching the virtual object, the first controller generates a first signal corresponding to the first behavioral information and sends the first signal to the second controller. The first signal contains a relatively small amount of information. Because the signal contains less information, the signal transmission delay and communication load between the first and second controllers are low, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to generate the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0041] Furthermore, the control system can pre-store at least one execution program and the correspondence between the at least one execution program and the signals. Thus, when the second controller receives a signal (i.e., the first signal), it can determine the corresponding execution program (i.e., the first execution program) from the pre-stored at least one execution program based on this correspondence. Since these execution programs are pre-stored, the second controller can quickly retrieve different execution programs corresponding to different signals. This allows the chassis to respond quickly when the second controller drives the chassis using these execution programs, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to produce the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0042] Finally, when it is necessary to drive the chassis to produce actions that match the virtual object's movements or events, the second controller can execute a program to control the active force generator in the suspension to generate power to flexibly drive the chassis to produce different movements, thereby realizing the flexibility and operability of the control system.
[0043] In one possible implementation of the second aspect, the at least one execution program includes at least one of the following: a walking action execution program, a jumping action execution program, a running action execution program, a collision action execution program, an acceleration event execution program, a braking event execution program, a turning event execution program, a collision event execution program, a climbing event execution program, or a downhill event execution program, etc.
[0044] As can be seen, this embodiment can be divided into different execution programs according to the different actions or events of the virtual object.
[0045] In another possible implementation of the second aspect, regarding the correspondence between actions or events, signals, and execution programs of user virtual objects, the signal corresponding to the walking action execution program corresponds to the walking action of the virtual character; the signal corresponding to the jumping action execution program corresponds to the jumping action of the virtual character; the signal corresponding to the running action execution program corresponds to the running action of the virtual character; the signal corresponding to the collision action execution program corresponds to the collision action of the virtual character; the signal corresponding to the acceleration event execution program corresponds to the acceleration event of the virtual vehicle; the signal corresponding to the braking event execution program corresponds to the braking event of the virtual vehicle; the signal corresponding to the steering event execution program corresponds to the steering event of the virtual vehicle; the signal corresponding to the collision event execution program corresponds to the collision event of the virtual vehicle; the signal corresponding to the hill climbing event execution program corresponds to the hill climbing event of the virtual vehicle; and the signal corresponding to the downhill event execution program corresponds to the downhill event of the virtual vehicle.
[0046] As can be seen, by establishing the correspondence between the actions or events, signals and execution programs of the user's virtual object, the second controller can determine the execution program corresponding to the action or event of the user's virtual object based on the correspondence, so that after the execution program is executed, the chassis will produce an action that matches the action or event of the virtual object.
[0047] In another possible implementation of the second aspect, for sending the first signal, the second controller includes a first interface for the first controller to access or access the second controller; and sends the first signal to the second controller through the first interface.
[0048] In this way, the first interface ensures the transmission of signals between the first controller and the second controller.
[0049] In another possible implementation of the second aspect, after the second controller executes the first execution program, the method further includes: receiving a first instruction for updating or upgrading at least one execution program, or for updating the correspondence between at least one execution program and a signal.
[0050] In this way, the first instruction can be used to update or upgrade at least one executable program, or to update the correspondence between at least one executable program and signals, thereby achieving iterative updates of the control system.
[0051] In another possible implementation of the second aspect, after the second controller executes the first execution program, the method further includes: updating or upgrading at least one execution program, or updating the correspondence between at least one execution program and a signal.
[0052] In this way, the second controller can quickly respond to update or upgrade the at least one executable program, reducing update latency; or, the second controller can quickly respond to the correspondence between the at least one executable program and the signal, reducing update latency.
[0053] In another possible implementation of the second aspect, for at least one suspension, the at least one suspension includes a left front suspension of the chassis, a right front suspension of the chassis, a left rear suspension of the chassis, and a right rear suspension of the chassis.
[0054] In this way, the four suspensions can support the weight of the chassis more evenly and provide four directions (i.e., front left, front right, rear left, and rear right) for flexible control of the chassis, thereby improving the stability, handling, and agility of the chassis.
[0055] Thirdly, this application provides a control method applied to a first controller in a control system, the control system including a second controller and a chassis, the chassis including at least one suspension, the at least one suspension including at least one active force generator, the at least one suspension active force generator being connected to the second controller, and the first controller being connected to the second controller; the method includes: generating a first signal, the first signal corresponding to first behavioral information of a virtual object; sending the first signal to the second controller to cause the second controller to execute a first execution program corresponding to the first signal; wherein, the first execution program is in at least one pre-stored execution program, the first execution program being used to control at least one active force generator to generate a first power, the first power being used to drive the chassis to generate a first action, the first action being matched with the first behavioral information.
[0056] VR technology can provide users with an immersive virtual world where they can manipulate virtual objects to perform different actions and / or experience different events. The control system provided in this embodiment can provide users with a real-world experience that matches the actions and / or events of virtual objects. Specifically, the first controller can detect the actions or events of virtual objects, and the second controller can drive the chassis in the control system to perform actions that match the actions or events of virtual objects.
[0057] To enable the second controller to drive the chassis to generate actions or events matching the virtual object, the first controller generates a first signal corresponding to the first behavioral information and sends the first signal to the second controller. The first signal contains a relatively small amount of information. Because the signal contains less information, the signal transmission delay and communication load between the first and second controllers are low, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to generate the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0058] Furthermore, the control system can pre-store at least one execution program and the correspondence between the at least one execution program and the signals. Thus, when the second controller receives a signal (i.e., the first signal), it can determine the corresponding execution program (i.e., the first execution program) from the pre-stored at least one execution program based on this correspondence. Since these execution programs are pre-stored, the second controller can quickly retrieve different execution programs corresponding to different signals. This allows the chassis to respond quickly when the second controller drives the chassis using these execution programs, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to produce the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0059] Finally, when it is necessary to drive the chassis to produce actions that match the virtual object's movements or events, the second controller can execute a program to control the active force generator in the suspension to generate power to flexibly drive the chassis to produce different movements, thereby realizing the flexibility and operability of the control system.
[0060] In one possible implementation of the third aspect, the first behavioral information is used to indicate one of the following: a virtual character's walking action, a virtual character's jumping action, a virtual character's running action, a virtual character's collision action, a virtual vehicle's acceleration event, a virtual vehicle's braking event, a virtual vehicle's steering event, a virtual vehicle's collision event, a virtual vehicle's climbing event, or a virtual vehicle's descending event, etc.
[0061] In another possible implementation of the third aspect, the at least one execution program includes at least one of the following: a walking action execution program, a jumping action execution program, a running action execution program, a collision action execution program, an acceleration event execution program, a braking event execution program, a turning event execution program, a collision event execution program, a climbing event execution program, or a downhill event execution program, etc.
[0062] As can be seen, this embodiment can be divided into different execution programs according to the different actions or events of the user's virtual object.
[0063] In another possible implementation of the third aspect, the method further includes, prior to generating the first signal, generating first behavioral information in response to an action or event of the virtual object.
[0064] Thus, since the first behavioral information is generated in response to the action or event of the virtual object, the first behavioral information corresponds to the action or event of the virtual object.
[0065] In another possible implementation of the third aspect, for generating the first behavioral information, the first behavioral information is determined based on the actions or events of the virtual object and the artificial intelligence model.
[0066] In this way, the first controller can classify and identify the actions or events of virtual objects based on the artificial intelligence model to determine the first behavioral information, so that the first behavioral information can accurately identify or indicate the actions or events of virtual objects.
[0067] In another possible implementation of the third aspect, for at least one suspension, the at least one suspension includes a left front suspension of the chassis, a right front suspension of the chassis, a left rear suspension of the chassis, and a right rear suspension of the chassis.
[0068] In this way, the four suspensions can support the weight of the chassis more evenly and provide four directions (i.e., front left, front right, rear left, and rear right) for flexible control of the chassis, thereby improving the stability, handling, and agility of the chassis.
[0069] Fourthly, this application provides a control device for use as a second controller in a control system. The control system includes a chassis and a first controller. The chassis includes at least one suspension, and the at least one suspension includes at least one active force generator. The at least one active force generator is connected to the second controller, and the first controller is connected to the second controller. The device includes:
[0070] A receiving unit is configured to receive a first signal from a first controller, wherein the first signal corresponds to first behavioral information of a virtual object;
[0071] A determining unit is configured to determine, from at least one pre-stored executable program, the first executable program corresponding to the first signal, wherein the first executable program is among at least one executable program;
[0072] An execution unit is used to execute a first execution program, which controls at least one active power generator to generate a first power, which drives the chassis to produce a first action, and the first action is matched with first behavior information.
[0073] Fifthly, this application provides a control device for a first controller in a control system. The control system includes a second controller and a chassis. The chassis includes at least one suspension, and the at least one suspension includes at least one active force generator. The at least one active force generator is connected to the second controller, and the first controller is connected to the second controller. The device includes:
[0074] The generation unit is used to generate a first signal, which corresponds to the first behavioral information of the virtual object.
[0075] The sending unit is used to send a first signal to the second controller so that the second controller executes the first execution program corresponding to the first signal;
[0076] Among them, the first execution program is in at least one pre-stored execution program, the first execution program is used to control at least one active power generator to generate a first power, the first power is used to drive the chassis to generate a first action, and the first action is matched with the first behavior information.
[0077] Sixthly, this application provides a vehicle including the control system described in the first aspect above.
[0078] It should be noted that the vehicle described in this application can be a device that integrates traditional transportation and VR technology, capable of driving on the ground or fixed to the ground, while providing users with an immersive VR experience. Furthermore, the product form of the vehicle described in this application is not limited to traditional cars, trucks, automobiles, motorcycles, or electric vehicles.
[0079] In a seventh aspect, this application provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the steps of the methods involved in the second or third aspects described above.
[0080] Eighthly, this application provides a computer program product, including a computer program or instructions, wherein the computer program or instructions, when executed, implement the steps in the methods involved in the second or third aspects described above. For example, the computer program product may be a software installation package.
[0081] It is worth noting that the beneficial effects of the technical solutions in aspects four through eight can be found in the technical effects of the technical solutions in aspects one, two, or three, and will not be repeated here. Attached Figure Description
[0082] Figure 1 is a schematic diagram of the architecture of a control system according to an embodiment of this application;
[0083] Figure 2 is a schematic diagram of a suspension structure according to an embodiment of this application;
[0084] Figure 3 is a schematic diagram of the structure of a chassis according to an embodiment of this application;
[0085] Figure 4 is a schematic diagram of the chassis structure in a vehicle according to an embodiment of this application;
[0086] Figure 5 is a flowchart illustrating a control method according to an embodiment of this application;
[0087] Figure 6 is a schematic diagram of the action of a virtual object according to an embodiment of this application;
[0088] Figure 7 is a schematic diagram of an event of a virtual object according to an embodiment of this application;
[0089] Figure 8 is a flowchart illustrating another control method according to an embodiment of this application;
[0090] Figure 9 is a flowchart illustrating another control method according to an embodiment of this application;
[0091] Figure 10 is a functional unit block diagram of a control device according to an embodiment of this application;
[0092] Figure 11 is a block diagram of the functional units of another control device according to an embodiment of this application. Detailed Implementation
[0093] It should be understood that the terms "first," "second," etc., used in the embodiments of this application are used to distinguish different objects, rather than to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, software, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may also include steps or units not listed, or may also include other steps or units inherent to these processes, methods, products, or devices.
[0094] The term "embodiment" as used in the embodiments of this application means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0095] In the embodiments of this application, "at least one" or "at least one item" refers to one or more, and "multiple" refers to two or more.
[0096] In the embodiments of this application, "and / or" describes the association relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent the following three situations: A exists alone, A and B exist simultaneously, and B exists alone. Among them, A and B can be singular or plural.
[0097] In the embodiments of this application, "at least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent the following seven cases: a, b, c, a and b, a and c, b and c, a, b, and c. Each of a, b, and c can be an element or a set containing one or more elements.
[0098] The orientations or positional relationships indicated by terms such as "up," "down," "left," "right," "vertical," "horizontal," "inner," and "outer" in the embodiments of this application are based on the orientations or positional relationships shown in the accompanying drawings, or the orientations or positional relationships that the product of this invention is usually placed in during use. They are only for the convenience of describing this application and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this application.
[0099] In this application's embodiments, the terms "set," "install," "connect," and "connect" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection between two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0100] With the increasing prevalence of VR devices, more and more manufacturers are trying to apply VR technology to non-dedicated VR devices, such as vehicles and robots, to enhance the intelligence of these devices. However, these devices generally suffer from latency, stuttering, and sluggishness when performing VR-related actions, resulting in disjointed interaction and affecting the user's overall interactive experience between the virtual and real worlds.
[0101] Based on this, in order to improve the user's interactive experience between the virtual world and the real world, this embodiment proposes a control system that links virtual actions with chassis suspension.
[0102] As shown in Figure 1, Figure 1 is a control system according to an embodiment of this application. The control system 10 includes a chassis 110, a first controller 120 and a second controller 130. The chassis 110 includes at least one suspension 1101, and the at least one suspension 1101 includes at least one active force generator 1102. The at least one active force generator 1102 is connected to the first controller 120, and the first controller 120 is connected to the second controller 130.
[0103] It should be noted that VR technology can provide users with an immersive virtual world, where users can manipulate virtual objects to perform different actions and / or experience different events. The control system 10 can provide users with a real-world experience that matches the actions and / or events of the virtual objects. Specifically, the first controller 120 can detect the actions or events of the virtual objects, the second controller 130 can drive the chassis to perform actions that match the virtual objects' actions or events, and at least one active power generator 1102 in at least one suspension 1101 can generate power to flexibly drive the chassis 110 to perform actions, allowing the user to perceive actions in the real world similar to those in the virtual world, or to perceive events in the real world similar to those in the virtual world, thus providing the user with an immersive interactive experience.
[0104] The chassis 110 is illustrated below.
[0105] The chassis 110 can be the bottom structure of the terminal, used to support and install other components of the terminal. Here, the terminal can be understood as a device including the control system 10, such as a vehicle or a robot. The design of the chassis 110 not only affects the strength and rigidity of the terminal, but also plays a crucial role in its overall performance, safety, and comfort.
[0106] Optionally, the control system 10 may include a cabin for accommodating users, and the chassis 110 may be the bottom structure of the cabin for supporting the cabin.
[0107] Optionally, the chassis 110 includes at least one suspension 1101, as well as a frame and other key components. The frame is the main load-bearing structure of the chassis 110, responsible for supporting the weight of the control system 10 and withstanding external impact forces, and providing a mounting base for other components besides the chassis 110. Furthermore, the frame can be made of high-strength steel or aluminum alloy to improve strength and reduce weight, and its design can be either monolithic or modular, without specific limitations.
[0108] The following is an example of suspension 1101.
[0109] The suspension 1101 can be an important component of the chassis 110, used to transmit forces and torques, and to provide cushioning, shock absorption, and support. There can be one or more suspension 1101 units.
[0110] Optionally, the suspension 1101 can be an independent suspension, a non-independent suspension, an air suspension, a passive suspension, a semi-active suspension, or an active suspension. Thus, this embodiment can determine different suspension types based on factors such as design objectives, usage scenarios, and cost budgets.
[0111] Optionally, in addition to the main force generator 1102, the suspension 1101 also includes components such as elastic elements (e.g., springs), shock absorbers, and linkages. For example, as shown in Figure 2, the suspension 1101 connects to the wheel 210, and the suspension 1101 includes an elastic element 220.
[0112] In this way, the suspension, through its elastic elements, can support the weight of the chassis and withstand the loads generated by the chassis, ensuring the chassis's height and stability. The suspension, through its shock absorbers, can control the rebound speed of the elastic elements, preventing excessive vertical vibration and lateral swaying of the chassis, thus ensuring chassis stability. The suspension is connected to the chassis via a linkage, achieving the connection between the suspension and the chassis.
[0113] Optionally, the at least one suspension 1101 includes a left front suspension, a right front suspension, a left rear suspension, and a right rear suspension of the chassis 110. This is equivalent to installing one suspension 1101 at each of the four corners (i.e., left front, right front, left rear, and right rear) of the chassis 110. In this way, the four suspensions can more evenly support the weight of the chassis and provide flexible chassis control in four directions (i.e., left front, right front, left rear, and right rear), thereby improving the chassis's stability, handling, and agility.
[0114] For example, as shown in Figure 3, the chassis 110 includes four suspensions 1101. These four suspensions 1101 include a left front suspension 3101, a right front suspension 3102, a left rear suspension 3103, and a right rear suspension 3104. The left front suspension 3101 connects to the left front wheel 3201, the right front suspension 3102 connects to the right front wheel 3202, the left rear suspension 3103 connects to the left rear wheel 3203, and the right rear suspension 3104 connects to the right rear wheel 3204.
[0115] The main power generator 1102 is described below.
[0116] The active power generator 1102 can be the power source for the suspension 1101, and can actively generate power that acts on the chassis 110, which can drive the chassis 110 to perform different actions. The number of active power generators 1102 can be one or more.
[0117] In this way, the power generator 1102 generates the power to drive the chassis 110, ensuring that the chassis 110 can perform different actions under the drive of the power.
[0118] Optionally, the main power generator 1102 may include, but is not limited to, air springs, hydraulic springs, hydraulic rods, electrically controlled stabilizer bars, or magnetic levitation motors.
[0119] Optionally, each of the at least one suspension 1101 includes a power generator 1102. In this way, each suspension 1101 can provide a power source to its respective suspension 1101 through each power generator 1102, thereby generating power acting on the chassis 110 to flexibly control the movement of the chassis 110.
[0120] For example, taking the four suspensions 1101 of the chassis 110 in a vehicle as an example, as shown in Figure 4, Figure 4(a) shows the front of the vehicle, and Figure 4(b) shows the side of the vehicle. The chassis 110 connects the body 410 and the four wheels 420 through the four suspensions 1101. Figure 4 does not show the chassis 110 and the suspensions 1101. The four suspensions 1101 are the left front suspension, right front suspension, left rear suspension, and right rear suspension. The left front suspension includes a left front main power generator, a left front shock absorber, and a left front elastic element; the right front suspension includes a right front main power generator, a right front shock absorber, and a right front elastic element; the left rear suspension includes a left rear main power generator, a left rear shock absorber, and a left rear elastic element; and the right rear suspension includes a right rear main power generator, a right rear shock absorber, and a right rear elastic element.
[0121] In other words, each of the four suspensions 1101 includes a power generator 1102, a shock absorber 430, and an elastic element 440. A power generator 1102 is added between each of the four wheels 420 and the body 410, thereby actively generating power to act on the body 410 through the power generator 1102, so as to realize the lifting, pulling, tilting, or pitching of the body 410.
[0122] The first controller 120 is illustrated below.
[0123] The first controller 120 may be a processor or a controller. For example, the first controller 120 may be a system-on-chip (SoC), a central processing unit (CPU), a microcontroller unit (MCU), an electronic control unit (ECU), a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an artificial intelligence (AI) processor, a field-programmable gate array (FPGA), a programmable logic device, or a transistor logic device. The first controller 120 may implement or execute various exemplary logic blocks, modules, or circuits described in connection with this embodiment. Furthermore, the first controller 120 may be a combination that implements computational functions; for example, the first controller 120 may include one or more microprocessor combinations, or a combination of a DSP and a microprocessor.
[0124] Optionally, the first controller 120 is a cockpit domain controller. The cockpit domain controller can be a highly integrated electronic system used for centralized management and control of various functions and systems within the cockpit. It can integrate multiple subsystems such as VR systems, central control systems, entertainment systems, and air conditioning controls to achieve functions such as intelligent interaction, entertainment information management, and environmental control. Thus, the cockpit domain controller enables the intelligent control system 10.
[0125] Optionally, the hardware architecture of the first controller 120 includes components such as a controller, memory, or storage. These hardware components work together to support the operation of the first controller 120, ensuring that it can process various types of data and commands in real time and respond accordingly.
[0126] Optionally, the software component of the first controller 120 includes an operating system, middleware, or applications. The operating system provides the runtime environment, the middleware enables communication and data exchange between various subsystems, and the applications provide the user interface and interactive functions. Furthermore, the first controller 120 employs advanced algorithms, such as voice recognition and gesture recognition, to enhance the user experience.
[0127] The steps performed by the first controller 120 are described below. As shown in Figure 5, which is a flowchart illustrating a control method according to an embodiment of this application, the first controller 120 can perform at least one of the following steps:
[0128] S510. Detect whether virtual objects in the virtual world provided by the VR application generate actions or events.
[0129] VR applications provide users with an immersive virtual world. Within this virtual world, users can manipulate virtual objects in various ways, including pressing buttons, using control keys, sliding touchpads, body movements, gesture recognition, or voice recognition. Virtual objects can react to different actions and / or experience different events in the virtual world based on the user's actions, and these actions or events can be represented by data. Furthermore, each user action immediately generates feedback in the virtual world, with feedback mechanisms encompassing visual effects (such as scene animations), auditory effects (such as sound effects and voice prompts), and tactile effects (such as vibrations).
[0130] For example, as shown in Figure 6, a user plays the role of a virtual character 610 in a virtual world through a VR application. In Figure 6(a), the virtual character 610 walks in the virtual world according to the user's control; in Figure 6(b), the virtual character 610 jumps in the virtual world according to the user's control; in Figure 6(c), the virtual character 610 runs in the virtual world according to the user's control; and in Figure 6(d), the virtual character 610 collides in the virtual world according to the user's control. In this case, the actions of the virtual object can include at least one of the following: walking, jumping, running, or colliding. Of course, the behavior of the virtual object in this embodiment is not limited to what is shown in Figure 6.
[0131] For example, as shown in Figure 7, a user drives a virtual vehicle 710 in a virtual world through a VR application. In Figure 7(a), the virtual vehicle 710 accelerates in the virtual world according to the user's control; in Figure 7(b), the virtual vehicle 710 brakes in the virtual world according to the user's control; in Figure 7(c), the virtual vehicle 710 climbs a hill in the virtual world according to the user's control; in Figure 7(d), the virtual vehicle 710 descends a hill in the virtual world according to the user's control; in Figure 7(e), the virtual vehicle 710 steers in the virtual world according to the user's control; and in Figure 7(f), the virtual vehicle 710 collides in the virtual world according to the user's control. In this case, the events of the virtual object can include at least one of the following: acceleration event of the virtual vehicle 710, braking event of the virtual vehicle 710, hill climbing event of the virtual vehicle 710, downhill event of the virtual vehicle 710, steering event of the virtual vehicle 710, or collision event of the virtual vehicle 710. Of course, the behavior of the virtual object in this embodiment is not limited to what is shown in Figure 7.
[0132] Optionally, the first controller 120 can run VR applications.
[0133] Optionally, in VR applications, users can generate input commands to manipulate virtual objects through certain methods (such as control buttons, touchpad swipes, body movements, gesture recognition, or voice recognition) to produce various actions or events. Therefore, the first controller 120 can detect whether the virtual object produces actions or events in the virtual world based on whether there is an input command. When there is an input command, the first controller 120 detects that the virtual object has produced an action or event and executes S520. When there is no input command, the first controller 120 detects that the virtual object has not produced an action or event and returns to S510.
[0134] S520. Generate behavioral information in response to actions or events of virtual objects.
[0135] It should be noted that when a virtual object's action or event occurs, the first controller 120 can respond to the virtual object's action or event to generate behavioral information. This behavioral information can be used to label or indicate the virtual object's action or event, and can be the result of classifying and identifying the virtual object's action or event.
[0136] Furthermore, the behavioral information generated by the first controller 120 differs depending on the actions or events of the virtual object. In other words, the actions or events of the virtual object can be matched one-to-one with the behavioral information.
[0137] For example, as shown in Table 1, when the virtual object's action is a virtual character's walking action, the behavior information is "0"; when the virtual object's action is a virtual character's jumping action, the behavior information is "1"; when the virtual object's action is a virtual character's running action, the behavior information is "2"; when the virtual object's action is a virtual character's collision action, the behavior information is "3"; when the virtual object's event is a virtual vehicle's acceleration event, the behavior information is "4"; when the virtual object's event is a virtual vehicle's braking event, the behavior information is "5"; when the virtual object's event is a virtual vehicle's turning event, the behavior information is "6"; when the virtual object's event is a virtual vehicle's collision event, the behavior information is "7"; when the virtual object's event is a virtual vehicle's climbing event, the behavior information is "8"; and when the virtual object's event is a virtual vehicle's descending event, the behavior information is "9".
[0138] Table 1
[0139] Of course, the “actions or events of virtual objects” mentioned in this embodiment are not limited to the contents shown in Table 1, and the behavioral information is not limited to the contents shown in Table 1.
[0140] In some possible examples, the first controller 120 can determine the behavioral information based on the actions or events of the virtual object and the AI model.
[0141] It's important to note that an AI model refers to a system trained using computer programs, algorithms, and data to perform specific tasks or solve specific problems. AI modeling involves several steps: data collection, data preprocessing, feature extraction, AI model training, AI model testing, and AI model deployment. Data collection involves providing the input data needed to train the AI model; data preprocessing involves preprocessing the input data, such as quantization and encoding; feature extraction involves extracting key features from the input data; AI model training uses these extracted features to train the AI model, minimizing the error between the predicted output and the actual output, enabling it to accurately classify and recognize different actions or events of virtual objects; model testing evaluates the AI model's performance on an independent test set; and AI model deployment involves deploying the trained AI model into a real-world application and using a monitoring system to evaluate its performance in real time, making adjustments or retraining as needed.
[0142] In this way, since the actions or events of virtual objects are represented by data, the first controller 120 can classify and identify the actions or events of virtual objects according to the AI model to determine behavioral information, so that the behavioral information can accurately identify or indicate the actions or events of virtual objects.
[0143] AI models can include classifiers, convolutional neural networks (CNNs), recurrent neural networks (RNNs), support vector machines (SVMs), or generative adversarial networks (GANs), etc.
[0144] S530. Generate a signal that corresponds to or is associated with this behavioral information.
[0145] It should be noted that when virtual objects generate actions or events, in order to enhance the user's interactive experience and provide more realistic scenes and situations, the second controller 130 in this embodiment needs to drive the chassis 110 to generate actions that match the virtual objects' actions or events, thereby bringing users an immersive action interaction experience.
[0146] For example, when the virtual object's action is the walking action of a virtual character, the second controller 130 drives the chassis 110 to generate an action that matches the walking action of the virtual character.
[0147] For example, when the virtual object's event is an acceleration event of a virtual vehicle, the second controller 130 drives the chassis 110 to generate an action that matches the acceleration event of the virtual vehicle.
[0148] In order for the second controller 130 to drive the chassis 110 to generate actions that match the actions or events of the virtual object, the first controller 120 can generate signals corresponding to or associated with the behavioral information. These signals can be understood as status commands, action codes, or event codes.
[0149] It should be noted that the behavioral information corresponding to or associated with the signal can be understood as the action or event corresponding to or associated with the virtual object identified or indicated by the behavioral information.
[0150] Different behavioral information corresponds to or is associated with different signals, ensuring that the control system 10 can distinguish different user operations and respond appropriately.
[0151] The format and composition of the signal can be determined according to the communication protocol between the first controller 120 and the second controller 130. The communication protocol is a set of rules and conventions that ensure that the first controller 120 and the second controller 130 can effectively communicate and understand each other's information.
[0152] For example, a communication protocol defines the format of a signal, including a header, payload, and trailer. The header may contain control information, such as address, data type, or serial number, while the payload is the actual data transmitted. Additionally, communication protocols may include Controller Area Network (CAN) bus, Recommended Standard-232 (RS-232), Modbus protocol, Inter-Integrated Circuit (I2C) bus, Serial Peripheral Interface (SPI), Universal Asynchronous Receiver-Transmitter (UART), or Universal Serial Bus (USB).
[0153] In addition, the signal contains a small amount of information, such as a signal payload of a few bits.
[0154] Taking a signal payload of 4 bits as an example, as shown in Table 2, when the action information is "0", the signal payload is "0000"; when the action information is "1", the signal payload is "0001"; when the action information is "2", the signal payload is "0010"; when the action information is "3", the signal payload is "0010"; when the action information is "4", the signal payload is "0011"; when the action information is "5", the signal payload is "0100"; when the action information is "6", the signal payload is "0110"; when the action information is "7", the signal payload is "0111"; when the action information is "8", the signal payload is "1000"; and when the action information is "9", the signal payload is "1001".
[0155] Table 2
[0156] Of course, the “signal payload” mentioned in this embodiment is not limited to the contents shown in Table 2.
[0157] In this way, because the amount of information in the signal is small, the signal transmission delay between the first controller 120 and the second controller 130 is small and the communication load is low, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller 130 driving the chassis 110 to generate a matching action, thereby avoiding delays, stuttering and sluggishness in the action response of the chassis 110, and ensuring the continuity of action interaction.
[0158] S540. Send signal.
[0159] It should be noted that the first controller 120 can establish a connection with the second controller 130 via Ethernet, CAN or other communication methods, and can send signals to the second controller 130 periodically or non-periodically.
[0160] The second controller 130 is illustrated below.
[0161] The second controller 130 may be a processor or a controller. For example, the second controller 130 may be a SoC, CPU, MCU, ECU, general-purpose processor, DSP, ASIC, AI processor, FPGA, programmable logic device, or transistor logic device. The second controller 130 may implement or execute various exemplary logic blocks, modules, or circuits described in connection with this embodiment. Furthermore, the second controller 130 may be a combination that implements computing functions; for example, the second controller 130 may include one or more microprocessor combinations, or a combination of a DSP and a microprocessor.
[0162] Optionally, the second controller 130 is a chassis domain controller. The chassis domain controller can be an electronic system integrating hardware, software, and algorithms related to chassis 110 control, responsible for controlling functions such as transmission, driving, steering, and braking. Thus, the chassis domain controller enables the stability, handling, and flexibility of the control system 10.
[0163] Optionally, the hardware architecture of the second controller 130 includes components such as a controller, sensors, or actuators. The controller is responsible for the actual execution of chassis 110 control, the sensors are used to acquire the status information of the chassis 110, and the actuators can perform corresponding actions according to control commands.
[0164] Optionally, the software portion of the second controller 130 may include an operating system, control algorithms, or application software. The operating system provides the runtime environment, the control algorithm enables precise control of the chassis 110, and the application software can implement various chassis functions through algorithms.
[0165] The steps performed by the second controller 130 are described below. As shown in Figure 8, which is a flowchart illustrating another control method according to an embodiment of this application, the second controller 130 can perform at least one of the following steps:
[0166] S810. Receive signal.
[0167] It should be noted that when a virtual object's action or event is generated, in order for the second controller 130 to drive the chassis 110 to produce an action matching the virtual object's action or event, the first controller 120 generates a signal and sends the signal to the second controller 130. Correspondingly, the second controller 130 receives the signal.
[0168] In some possible examples, the second controller 130 may include an interface for the first controller 120 to access or connect to the second controller 130. Thus, the first controller 120 can send signals to the second controller 130 through this interface, and correspondingly, the second controller 130 can receive signals through this interface.
[0169] It should be noted that this interface can be a physical or logical connection point between the first controller 120 and the second controller 130 for signal transmission, and data transmission can be achieved through various communication protocols and standards. For example, this interface can be a CAN interface, RS-232 interface, UART interface, or USB interface, etc.
[0170] S820. Determine the executable program corresponding to the signal from at least one pre-stored executable program.
[0171] S830. Execute the program corresponding to this signal.
[0172] It should be noted that the control system 10 can pre-store at least one execution program. For example, these execution programs can be pre-stored in the memory of the control system 10. The second controller 130 can execute these execution programs. When an execution program is executed, the executed program can control at least one active power generator 1102 to generate power, and use this power to drive the chassis 110 to produce actions that match the actions or events of the virtual object.
[0173] Because the actions or events of the virtual objects are different, the behavioral information generated by the first controller 120 is different, and the signals corresponding to the different behavioral information are also different. In order to ensure that the actions of these power-driven chassis 110 match the actions or events of the virtual objects, this embodiment needs to establish a one-to-one correspondence between these execution programs and these signals in advance.
[0174] Thus, when the second controller 130 receives a certain signal, it can determine the corresponding execution program from at least one pre-stored execution program based on the correspondence. Since these execution programs are pre-stored, the second controller 130 can quickly retrieve different execution programs corresponding to different signals. This allows the chassis 110 to respond quickly when the second controller 130 drives the chassis 110 through these execution programs, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller 130 driving the chassis 110 to generate a matching action. This avoids delays, stuttering, and sluggishness in the chassis 110's action response, ensuring the continuity of action interaction.
[0175] For example, based on Tables 1 and 2, as shown in Table 3, the control system 10 can pre-store the following correspondence:
[0176] The signal payload "0000" corresponds to the walking action execution program; at this time, the signal corresponding to the walking action execution program corresponds to the walking action of the virtual character; wherein, when the walking action execution program is executed, the walking action execution program can control at least one active power generator 1102 to generate power, which is used to drive the chassis 110 to generate an action that matches the walking action of the virtual character.
[0177] The signal payload "0001" corresponds to the jump action execution program; at this time, the signal corresponding to the jump action execution program corresponds to the jump action of the virtual character; wherein, when the jump action execution program is executed, the jump action execution program can control at least one active force generator 1102 to generate power, which is used to drive the chassis 110 to generate an action that matches the jump action of the virtual character.
[0178] The signal payload "0010" corresponds to the running action execution program; at this time, the signal corresponding to the running action execution program corresponds to the running action of the virtual character; wherein, when the jumping action execution program is executed, the jumping action execution program can control at least one active force generator 1102 to generate power, which is used to drive the chassis 110 to generate an action that matches the jumping action of the virtual character.
[0179] The signal payload "0010" corresponds to the collision action execution program; at this time, the signal corresponding to the collision action execution program corresponds to the collision action of the virtual character; wherein, when the collision action execution program is executed, the collision action execution program can control at least one active force generator 1102 to generate power, which is used to drive the chassis 110 to generate an action that matches the collision action of the virtual character.
[0180] The signal payload "0011" corresponds to the acceleration event execution program; at this time, the signal corresponding to the acceleration event execution program corresponds to the acceleration event of the virtual vehicle; wherein, when the acceleration event execution program is executed, the acceleration event execution program can control at least one active power generator 1102 to generate power, which is used to drive the chassis 110 to produce an action that matches the acceleration event of the virtual vehicle.
[0181] The signal payload "0100" corresponds to the braking event execution program; at this time, the signal corresponding to the braking event execution program corresponds to the braking event of the virtual vehicle; wherein, when the braking event execution program is executed, the braking event execution program can control at least one active force generator 1102 to generate power, which is used to drive the chassis 110 to produce an action that matches the braking event of the virtual vehicle.
[0182] The signal payload "0110" corresponds to the steering event execution program; at this time, the signal corresponding to the steering event execution program corresponds to the steering event of the virtual vehicle; wherein, when the steering event execution program is executed, the steering event execution program can control at least one active force generator 1102 to generate power, which is used to drive the chassis 110 to produce an action that matches the steering event of the virtual vehicle.
[0183] The signal payload "0111" corresponds to the collision event execution program; at this time, the signal corresponding to the collision event execution program corresponds to the collision event of the virtual vehicle; wherein, when the collision event execution program is executed, the collision event execution program can control at least one active force generator 1102 to generate power, which is used to drive the chassis 110 to produce an action that matches the collision event of the virtual vehicle.
[0184] Table 3
[0185] The signal payload "1000" corresponds to the hill-climbing event execution program; at this time, the signal corresponding to the hill-climbing event execution program corresponds to the hill-climbing event of the virtual vehicle; wherein, when the hill-climbing event execution program is executed, the hill-climbing event execution program can control at least one active power generator 1102 to generate power, which is used to drive the chassis 110 to generate an action that matches the hill-climbing event of the virtual vehicle.
[0186] The signal payload "1001" corresponds to the downhill event execution procedure; at this time, the signal corresponding to the downhill event execution procedure corresponds to the downhill event of the virtual vehicle; wherein, when the downhill event execution procedure is executed, the downhill event execution procedure can control at least one active power generator 1102 to generate power, which is used to drive the chassis 110 to produce an action that matches the downhill event of the virtual vehicle.
[0187] Of course, the "executable program" mentioned in this embodiment is not limited to the contents shown in Table 3.
[0188] For the walking action execution program, one possible implementation method is:
[0189] Taking Figure 4 as an example, the walking action execution program can control the left front main power generator 1102 and the left rear main power generator 1102 to generate periodic power with the same frequency, amplitude and phase, and control the right front main power generator 1102 and the right rear main power generator 1102 to generate periodic power with the same frequency, amplitude and phase, with a frequency <1Hz; wherein, the power generated by the left front main power generator 1102 and the right front main power generator 1102 is out of phase, and the power generated by the left rear main power generator 1102 and the right rear main power generator 1102 is out of phase;
[0190] For the jump action execution procedure, one possible implementation is as follows:
[0191] Taking Figure 4 as an example, the jump action execution program can control the main power generator 1102 at the front left, the main power generator 1102 at the rear left, the main power generator 1102 at the front right, and the main power generator 1102 at the rear right to simultaneously generate the power to apply downward pressure to the chassis 110, and then control the main power generator 1102 at the front left, the main power generator 1102 at the rear left, the main power generator 1102 at the front right, and the main power generator 1102 at the rear right to simultaneously release the power applied to the chassis 110.
[0192] For the running action execution program, one possible implementation is as follows:
[0193] Taking Figure 4 as an example, the walking action execution program can control the main power generator 1102 at the front left and the main power generator 1102 at the rear left to generate periodic power with the same frequency, amplitude, and phase, and control the main power generator 1102 at the front right and the main power generator 1102 at the rear right to generate periodic power with the same frequency, amplitude, and phase, with a frequency ≥ 1Hz; wherein, the power generated by the main power generator 1102 at the front left and the main power generator 1102 at the front right are out of phase, and the power generated by the main power generator 1102 at the rear left and the main power generator 1102 at the rear right are out of phase;
[0194] For the collision action execution procedure, one possible implementation is as follows:
[0195] Taking Figure 4 as an example, the collision action execution program can control the front left main power generator 1102 and the rear left main power generator 1102 to simultaneously generate a half-cycle small wavelength pulse force, or the collision action execution program can control the front right main power generator 1102 and the rear right main power generator 1102 to simultaneously generate a half-cycle small wavelength pulse force.
[0196] To accelerate event execution procedures, one possible implementation is as follows:
[0197] Taking Figure 4 as an example, the acceleration event execution program can control the main power generator 1102 on the left front and the main power generator 1102 on the right front to generate power for lifting the vehicle body 410 at the same time, and the power generation speed is >10kN / s.
[0198] For the braking event execution procedure, one possible implementation is as follows:
[0199] Taking Figure 4 as an example, the braking event execution program can control the left rear main power generator 1102 and the right rear main power generator 1102 to simultaneously generate power to lift the chassis 110 and the vehicle body 410, and the power generation speed is >10kN / s.
[0200] For the redirection event execution procedure, one possible implementation is as follows:
[0201] Taking Figure 4 as an example, the steering event execution program can control the front left main power generator 1102 and the rear left main power generator 1102 to generate power for lifting the vehicle body 410 at the same time, or the steering event execution program can control the front right main power generator 1102 and the rear right main power generator 1102 to generate power for lifting the vehicle body 410 at the same time, and the power generation speed is ≤10kN / s.
[0202] For the collision event execution procedure, one possible implementation is as follows:
[0203] Taking Figure 4 as an example, the collision action execution program can control the front left main power generator 1102 and the rear left main power generator 1102 to simultaneously generate a half-cycle small wavelength pulse force, or the collision action execution program can control the front right main power generator 1102 and the rear right main power generator 1102 to simultaneously generate a half-cycle small wavelength pulse force.
[0204] For the hill-climbing event execution procedure, one possible implementation is as follows:
[0205] Taking Figure 4 as an example, the hill-climbing event execution program can control the main power generator 1102 on the left front and the main power generator 1102 on the right front to generate power for lifting the vehicle body 410 at the same time, and the power generation speed is ≤10kN / s.
[0206] For the downhill event execution procedure, one possible implementation is as follows:
[0207] Taking Figure 4 as an example, the hill-climbing event execution program can control the left rear main power generator 1102 and the right rear main power generator 1102 to generate power for lifting the vehicle body 410 at the same time, and the power generation speed is ≤10kN / s.
[0208] The following example illustrates the updating or upgrading of at least one pre-stored execution program in the control system 10.
[0209] In some possible examples, when a user or a specific person needs to update or upgrade at least one pre-stored execution program in the control system 10, the second controller 130 can update or upgrade the at least one execution program in response to the input command of the user or a specific person, thereby realizing iterative updates of the control system.
[0210] It should be noted that updating or upgrading the execution program can be understood as adjusting the relevant parameters of the power generated by the main power generator 1102 controlled by the execution program. For example, taking the walking action execution program controlling the main power generator 1102 at the front left and the main power generator 1102 at the rear left to generate periodic power with the same frequency, amplitude, and phase as an example, the second controller 130 can adjust the frequency, amplitude, and phase of the power.
[0211] One possible implementation for updating or upgrading the at least one executable program is as follows: the first controller 120 can send an instruction to the second controller 130 in response to an input command from a user or a specific person, the instruction being used to update or upgrade the at least one executable program; correspondingly, the second controller 130 receives the instruction. In this way, the second controller 130 can update or upgrade the at least one executable program according to the signaling.
[0212] One possible implementation for updating or upgrading the at least one executable program is that the second controller 130 can directly respond to input commands from users or specific personnel to update or upgrade the at least one executable program. In this way, the second controller 130 can quickly respond to updates or upgrades of the at least one executable program, reducing update latency.
[0213] The following example illustrates how to update the correspondence between at least one pre-stored execution program and signal in the control system 10.
[0214] In some possible examples, when a user or a specific person needs to update the correspondence between at least one execution program and signal pre-stored in the control system 10, the second controller 130 can update the correspondence between the at least one execution program and signal in response to the input command of the user or a specific person, thereby realizing the iterative update of the control system 10.
[0215] It should be noted that updating the correspondence between the executable program and the signal can be understood as updating the signal corresponding to the executable program while keeping the executable program unchanged, updating the executable program corresponding to the signal while keeping the signal unchanged, or updating both the executable program and the signal.
[0216] For example, taking the updating of the signal corresponding to the execution program while keeping the execution program unchanged as an example, the walking action execution program in Table 3 corresponds to the signal payload "0000". Subsequently, the second controller 130 can respond to the input command of the user or a specific person and update the payload of the signal corresponding to the walking action execution program to "1010".
[0217] One possible implementation for updating the correspondence between the at least one executable program and the signal is as follows: The first controller 120 can send an instruction to the second controller 130 in response to an input command from a user or a specific person. This instruction is used to update the correspondence between the at least one executable program and the signal; correspondingly, the second controller 130 receives the instruction. In this way, the second controller 130 can update the correspondence between the at least one executable program and the signal according to the signaling.
[0218] One possible implementation for updating the correspondence between the at least one executable program and the signal is that the second controller 130 can directly respond to input commands from the user or a specific person to update the correspondence between the at least one executable program and the signal. In this way, the second controller 130 can quickly respond to the correspondence between the at least one executable program and the signal, reducing update latency.
[0219] Based on the above, the following example illustrates a control method of this embodiment by taking the example of the first controller 120 responding to the action or event of a virtual object, generating first behavioral information, and sending a first signal.
[0220] It should be noted that the first behavioral information is one type of behavioral information mentioned above, meaning that the first behavioral information can be used to label or indicate an action or event of a virtual object. Specifically, the first behavioral information is used to label or indicate one of the following: a virtual character's walking action, a virtual character's jumping action, a virtual character's running action, a virtual character's collision action, a virtual vehicle's acceleration event, a virtual vehicle's braking event, a virtual vehicle's turning event, a virtual vehicle's collision event, a virtual vehicle's hill-climbing event, or a virtual vehicle's downhill event. For example, the first behavioral information is behavioral information 0 in Table 1.
[0221] In addition, the first signal is one of the signals mentioned above, and the first signal corresponds to the first line information. For example, if the first line information is line information 0 in Table 1, then the payload of the first signal is "0000" in Table 2.
[0222] As shown in Figure 9, which is a flowchart illustrating a control method according to an embodiment of this application, the control method includes the following steps:
[0223] S910. The first controller 120 generates a first signal, which corresponds to the first behavior information of the virtual object.
[0224] In other words, the first controller 120 is used to generate the first signal.
[0225] S920. The first controller 120 sends the first signal.
[0226] Correspondingly, the second controller 130 receives the first signal.
[0227] That is, the first controller 120 is used to send the first signal; the second controller 130 is used to receive the first signal.
[0228] S930. The second controller 130 determines the first execution program corresponding to the first signal from at least one pre-stored execution program, wherein the first execution program is in the at least one execution program.
[0229] In other words, the second controller 130 is used to determine the first executable program from at least one pre-stored executable program.
[0230] It should be noted that the at least one execution program can be found in the above description and will not be repeated here. The first execution program can be the execution program corresponding to the first signal among the at least one execution program. For example, in Table 3, if the payload of the first signal is "0000", then the first execution program is the "walking action execution program".
[0231] S940. The second controller 130 executes a first execution program, which controls at least one active power generator 1102 to generate a first power, which drives the chassis 110 to generate a first action, and the first action is matched with the first behavior information.
[0232] That is, the second controller 130 is used to execute the first execution program; at least one active power generator 1102 is used to generate the first power in response to the execution of the first execution program.
[0233] It should be noted that matching the first action with the first behavior information can be understood as matching the first action with the action or event of the virtual object labeled or indicated by the first behavior information.
[0234] As can be seen, VR technology can provide users with an immersive virtual world, where users can manipulate virtual objects to perform different actions and / or experience different events. The control system 10 provided in this embodiment can provide users with a real-world experience that matches the actions and / or events of virtual objects in the virtual world. Specifically, the first controller 120 can be used to detect the actions or events of virtual objects, and the second controller 130 is used to drive the chassis 110 in the control system to produce actions that match the actions or events of virtual objects.
[0235] To enable the second controller 130 to drive the chassis 110 to generate an action matching the virtual object's action or event, the first controller 120 generates a first signal corresponding to the first behavioral information and sends the first signal to the second controller 130. The first signal contains a relatively small amount of information. Because the signal contains a small amount of information, the signal transmission delay and communication load between the first controller 120 and the second controller 130 are small, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller 130 driving the chassis 110 to generate the matching action. This avoids delays, stuttering, and sluggishness in the chassis 110's action response, ensuring the continuity of action interaction.
[0236] Furthermore, the control system 10 can pre-store at least one execution program and the correspondence between the at least one execution program and the signal. Thus, when the second controller 130 receives a signal (i.e., the first signal), the second controller 130 can determine the corresponding execution program (i.e., the first execution program) from the pre-stored at least one execution program based on the correspondence. Since these execution programs are pre-stored, the second controller 130 can quickly query different execution programs corresponding to different signals, enabling the chassis 110 to respond quickly when the second controller 130 drives the chassis 110 through these execution programs. This reduces the time delay between the generation of the virtual object's action or event and the second controller 130 driving the chassis 110 to produce a matching action, thereby avoiding delays, stuttering, and sluggishness in the chassis 110's action response and ensuring the continuity of action interaction.
[0237] Finally, when it is necessary to drive the chassis 110 to produce actions that match the actions or events of the virtual object, the second controller 130 can execute a program to control the active force generator 1102 in the suspension 1101 to generate power to flexibly drive the chassis 110 to produce different actions, thereby realizing the flexibility and operability of the control system.
[0238] One possible implementation of the at least one execution procedure is as follows: the at least one execution procedure includes at least one of the following: a walking action execution procedure, a jumping action execution procedure, a running action execution procedure, a collision action execution procedure, an acceleration event execution procedure, a braking event execution procedure, a turning event execution procedure, a collision event execution procedure, a climbing event execution procedure, or a downhill event execution procedure.
[0239] It should be noted that the relevant explanations of the walking action execution procedure, jumping action execution procedure, running action execution procedure, collision action execution procedure, acceleration event execution procedure, braking event execution procedure, turning event execution procedure, collision event execution procedure, climbing event execution procedure, and downhill event execution procedure can be found in the above description, and will not be repeated here.
[0240] As can be seen, this embodiment can be divided into different execution programs according to the different actions or events of the user's virtual object.
[0241] Regarding the correspondence between actions or events, signals, and execution programs of user virtual objects, one possible implementation is as follows: the signal corresponding to the walking action execution program corresponds to the walking action of the virtual character; the signal corresponding to the jumping action execution program corresponds to the jumping action of the virtual character; the signal corresponding to the running action execution program corresponds to the running action of the virtual character; the signal corresponding to the collision action execution program corresponds to the collision action of the virtual character; the signal corresponding to the acceleration event execution program corresponds to the acceleration event of the virtual vehicle; the signal corresponding to the braking event execution program corresponds to the braking event of the virtual vehicle; the signal corresponding to the steering event execution program corresponds to the steering event of the virtual vehicle; the signal corresponding to the collision event execution program corresponds to the collision event of the virtual vehicle; the signal corresponding to the hill climbing event execution program corresponds to the hill climbing event of the virtual vehicle; and the signal corresponding to the downhill event execution program corresponds to the downhill event of the virtual vehicle.
[0242] As can be seen, by establishing the correspondence between the actions or events, signals and execution programs of the user's virtual object, the second controller 130 can determine the execution program corresponding to the action or event of the user's virtual object based on the correspondence, so that after the execution program is executed, the chassis 110 will generate an action that matches the action or event of the virtual object.
[0243] One possible implementation for the first controller 120 sending the first signal is as follows: the second controller 130 includes a first interface for the first controller 120 to access or access the second controller 130; the first controller 120 sends the first signal to the second controller 130 through the first interface; correspondingly, the second controller 130 receives the first signal through the first interface. In this way, signal transmission between the first controller 120 and the second controller 130 is ensured through the first interface.
[0244] That is, the first controller 120 is used to send the first signal through the first interface; the second controller 130 is used to receive the first signal through the first interface.
[0245] It should be noted that the first interface is a physical or logical connection point between the first controller 120 and the second controller 130 for transmitting signals, and data transmission can be achieved through various communication protocols and standards. For example, the first interface can be a CAN interface, RS-232 interface, UART interface, or USB interface, etc.
[0246] After S940, one possible implementation is as follows: the first controller 120 sends a first instruction, which is used to update or upgrade at least one executable program, or to update the correspondence between at least one executable program and a signal; correspondingly, the second controller 130 receives the first instruction.
[0247] In other words, the first controller 120 is also used to send the first instruction; the second controller 130 is also used to receive the first instruction.
[0248] It should be noted that updates or upgrades to the executable program, as well as updates to the correspondence between the executable program and signals, can be found in the above content and will not be repeated here.
[0249] In this way, the first instruction can be used to update or upgrade at least one execution program, or to update the correspondence between at least one execution program and the signal, thereby realizing the iterative update of the control system 10.
[0250] Following S940, one possible implementation is that the second controller 130 updates or upgrades at least one executable program, or updates the correspondence between at least one executable program and signals.
[0251] In other words, the second controller 130 is also used to update or upgrade at least one executable program, or to update the correspondence between at least one executable program and signals.
[0252] In this way, the second controller 130 can quickly respond to update or upgrade the at least one executable program, reducing update latency; or, the second controller 130 can quickly respond to the correspondence between the at least one executable program and the signal, reducing update latency.
[0253] Prior to S910, a possible implementation was as follows: the first controller 120 generated first behavioral information in response to the action or event of the virtual object.
[0254] In other words, the first controller 120 is also used to generate first behavioral information in response to the actions or events of the virtual object.
[0255] Thus, since the first behavioral information is generated in response to the action or event of the virtual object, the first behavioral information corresponds to the action or event of the virtual object.
[0256] One possible implementation for generating the first behavioral information is as follows: the first controller 120 determines the first behavioral information based on the actions or events of the virtual object and the AI model.
[0257] In other words, the first controller 120 is also used to respond to the actions or events of the virtual object and determine the first behavioral information based on the actions or events of the virtual object and the AI model.
[0258] It should be noted that the AI model can be found in the above content and will not be repeated here. In this way, the first controller 120 can classify and identify the actions or events of the virtual object according to the AI model to determine the first behavioral information, so that the first behavioral information can accurately identify or indicate the actions or events of the virtual object.
[0259] The control device of this embodiment will be described below as an example.
[0260] The above mainly describes the solution of the embodiments of this application from the perspective of the method. The functional units of a control device in this embodiment will be illustrated below. It is understood that, in order to achieve the above functions, the first controller 120 or the second controller 130 includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this embodiment can be implemented in hardware or a combination of hardware and computer software. Whether a certain function is executed in a hardware or computer software-driven hardware manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this embodiment.
[0261] This application embodiment can divide the first controller 120 or the second controller 130 into functional units according to the above method example. For example, each function can be divided into different functional units, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software program module. It should be noted that the unit division in this application embodiment is illustrative and only represents a logical functional division, while other division methods may be used in actual implementation.
[0262] In the case of using integrated units, FIG10 is a functional unit block diagram of a control device according to an embodiment of the present application. The control device 1000 includes a receiving unit 1010, a determining unit 1020, and an executing unit 1030.
[0263] Optionally, the receiving unit 1010 can be a module unit for receiving and processing signals, information, etc., and there are no specific limitations on this.
[0264] Optionally, the determining unit 1020 can be a module unit used to determine relevant information, without specific limitations.
[0265] Optionally, the execution unit 1030 can be a module unit for executing related information, without specific limitations.
[0266] Optionally, the control device 1000 may also include a transmitting unit. The transmitting unit can be a module unit for transmitting and processing signals, information, etc., and there are no specific limitations on this.
[0267] Optionally, the control device 1000 may further include a storage unit for storing computer program code or instructions executed by the control device 1000. The storage unit may be a memory.
[0268] Optionally, the control device 1000 may be a chip or a chip module.
[0269] Optionally, the receiving unit 1010 can be integrated into the communication unit. The communication unit can be a communication interface, transceiver, transceiver circuit, etc. The communication unit may also include the receiving unit.
[0270] Optionally, the determining unit 1020 and the executing unit 1030 can be integrated into the processing unit. The processing unit can be a processor or controller, such as a SoC, CPU, MCU, ECU, general-purpose processor, DSP, ASIC, AI processor, FPGA, programmable logic device, or transistor logic device. The processing unit can implement or execute various exemplary logic blocks, modules, or circuits described in conjunction with this embodiment. Furthermore, the processing unit can be a combination that implements computational functions; for example, the processing unit may include one or more microprocessor combinations, or a combination of a DSP and a microprocessor.
[0271] Optionally, the control device 1000 is used to perform any of the steps performed by the first controller 120, the chip, or the chip module as described in the above method embodiments.
[0272] In specific implementation, the control device 1000 is used to execute any of the steps in the above method embodiments, and when performing actions such as receiving, it can selectively call other units to complete the corresponding operation. A detailed description follows.
[0273] The receiving unit 1010 is used to receive a first signal from the first controller, the first signal corresponding to the first behavior information of the virtual object;
[0274] The determining unit 1020 is configured to determine the first execution program corresponding to the first signal from at least one pre-stored execution program, wherein the first execution program is among at least one execution program;
[0275] The execution unit 1030 is used to execute a first execution program, which controls at least one active power generator to generate a first power, which drives the chassis to generate a first action, and the first action is matched with first behavior information.
[0276] As can be seen, VR technology can provide users with an immersive virtual world, where users can manipulate virtual objects to perform different actions and / or experience different events. The control system provided in this embodiment can provide users with a real-world experience that matches the actions and / or events of virtual objects. Specifically, the first controller can detect the actions or events of virtual objects, and the second controller can drive the chassis in the control system to produce actions that match the actions or events of virtual objects.
[0277] To enable the second controller to drive the chassis to generate actions or events matching the virtual object, the first controller generates a first signal corresponding to the first behavioral information and sends the first signal to the second controller. The first signal contains a relatively small amount of information. Because the signal contains less information, the signal transmission delay and communication load between the first and second controllers are low, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to generate the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0278] Furthermore, the control system can pre-store at least one execution program and the correspondence between the at least one execution program and the signals. Thus, when the second controller receives a signal (i.e., the first signal), it can determine the corresponding execution program (i.e., the first execution program) from the pre-stored at least one execution program based on this correspondence. Since these execution programs are pre-stored, the second controller can quickly retrieve different execution programs corresponding to different signals. This allows the chassis to respond quickly when the second controller drives the chassis using these execution programs, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to produce the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0279] Finally, when it is necessary to drive the chassis to produce actions that match the virtual object's movements or events, the second controller can execute a program to control the active force generator in the suspension to generate power to flexibly drive the chassis to produce different movements, thereby realizing the flexibility and operability of the control system.
[0280] Optionally, at least one execution procedure includes at least one of the following: a walking action execution procedure, a jumping action execution procedure, a running action execution procedure, a collision action execution procedure, an acceleration event execution procedure, a braking event execution procedure, a turning event execution procedure, a collision event execution procedure, a climbing event execution procedure, or a downhill event execution procedure.
[0281] Optionally, the signals corresponding to the walking action execution program correspond to the walking action of the virtual character; the signals corresponding to the jumping action execution program correspond to the jumping action of the virtual character; the signals corresponding to the running action execution program correspond to the running action of the virtual character; the signals corresponding to the collision action execution program correspond to the collision action of the virtual character; the signals corresponding to the acceleration event execution program correspond to the acceleration event of the virtual vehicle; the signals corresponding to the braking event execution program correspond to the braking event of the virtual vehicle; the signals corresponding to the steering event execution program correspond to the steering event of the virtual vehicle; the signals corresponding to the collision event execution program correspond to the collision event of the virtual vehicle; the signals corresponding to the hill climbing event execution program correspond to the hill climbing event of the virtual vehicle; and the signals corresponding to the downhill event execution program correspond to the downhill event of the virtual vehicle.
[0282] Optionally, the second controller includes a first interface for the first controller to access or access the second controller; the receiving unit 1010 is used to receive a first signal from the first controller through the first interface.
[0283] Optionally, the receiving unit 1010 is further configured to receive a first instruction, which is used to update or upgrade at least one executable program, or to update the correspondence between at least one executable program and a signal.
[0284] Optionally, the execution unit 1030 is also used to update or upgrade at least one executable program, or to update the correspondence between at least one executable program and signals.
[0285] Optionally, at least one suspension includes the left front suspension of the chassis, the right front suspension of the chassis, the left rear suspension of the chassis, and the right rear suspension of the chassis.
[0286] In the case of using integrated units, FIG11 is a functional unit block diagram of another control device according to an embodiment of the present application. The control device 1100 includes a generation unit 1110 and a transmission unit 1120.
[0287] Optionally, the generation unit 1110 can be a module unit for generating relevant information or signals, without specific limitations.
[0288] Optionally, the transmitting unit 1120 can be a module unit used for transmitting signals, information, etc., and there are no specific limitations on this.
[0289] Optionally, the control device 1100 may also include a receiving unit. The transmitting unit can be a module unit for receiving and processing signals, information, etc., and there are no specific limitations on this.
[0290] Optionally, the control device 1100 may further include a storage unit for storing computer program code or instructions executed by the control device 1100. The storage unit may be a memory.
[0291] Optionally, the control device 1100 may be a chip or a chip module.
[0292] Optionally, the transmitting unit 1120 can be integrated into the communication unit. The communication unit can be a communication interface, transceiver, transceiver circuit, etc. The communication unit may also include a receiving unit.
[0293] Optionally, the generation unit 1110 can be integrated into the processing unit. The processing unit can be a processor or controller, such as a SoC, CPU, MCU, ECU, general-purpose processor, DSP, ASIC, AI processor, FPGA, programmable logic device, or transistor logic device. The processing unit can implement or execute the various exemplary logic blocks, modules, or circuits described in conjunction with this embodiment. Furthermore, the processing unit can be a combination that implements computational functions; for example, the processing unit may include one or more microprocessor combinations, or a combination of a DSP and a microprocessor.
[0294] Optionally, the control device 1100 is used to perform any of the steps performed by the second controller 130, chip, or chip module as described in the above method embodiments.
[0295] In specific implementation, the control device 1100 is used to execute any of the steps in the above method embodiments, and when performing actions such as receiving, it can selectively call other units to complete the corresponding operation. A detailed description follows.
[0296] The generation unit 1110 is used to generate a first signal, which corresponds to the first behavior information of the virtual object.
[0297] The sending unit 1120 is used to send a first signal to the second controller so that the second controller executes the first execution program corresponding to the first signal;
[0298] Among them, the first execution program is in at least one pre-stored execution program, the first execution program is used to control at least one active power generator to generate a first power, the first power is used to drive the chassis to generate a first action, and the first action is matched with the first behavior information.
[0299] As can be seen, VR technology can provide users with an immersive virtual world, where users can manipulate virtual objects to perform different actions and / or experience different events. The control system provided in this embodiment can provide users with a real-world experience that matches the actions and / or events of virtual objects. Specifically, the first controller can detect the actions or events of virtual objects, and the second controller can drive the chassis in the control system to produce actions that match the actions or events of virtual objects.
[0300] To enable the second controller to drive the chassis to generate actions or events matching the virtual object, the first controller generates a first signal corresponding to the first behavioral information and sends the first signal to the second controller. The first signal contains a relatively small amount of information. Because the signal contains less information, the signal transmission delay and communication load between the first and second controllers are low, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to generate the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0301] Furthermore, the control system can pre-store at least one execution program and the correspondence between the at least one execution program and the signals. Thus, when the second controller receives a signal (i.e., the first signal), it can determine the corresponding execution program (i.e., the first execution program) from the pre-stored at least one execution program based on this correspondence. Since these execution programs are pre-stored, the second controller can quickly retrieve different execution programs corresponding to different signals. This allows the chassis to respond quickly when the second controller drives the chassis using these execution programs, thereby reducing the time delay between the generation of the virtual object's action or event and the second controller driving the chassis to produce the matching action. This avoids delays, stutters, and sluggishness in the chassis's action response, ensuring the continuity of action interaction.
[0302] Finally, when it is necessary to drive the chassis to produce actions that match the virtual object's movements or events, the second controller can execute a program to control the active force generator in the suspension to generate power to flexibly drive the chassis to produce different movements, thereby realizing the flexibility and operability of the control system.
[0303] Optionally, the first line of information is used to indicate one of the following:
[0304] The virtual character's walking action, virtual character's jumping action, virtual character's running action, virtual character's collision action, virtual vehicle's acceleration event, virtual vehicle's braking event, virtual vehicle's turning event, virtual vehicle's collision event, virtual vehicle's climbing event, or virtual vehicle's descending event.
[0305] Optionally, at least one execution procedure includes at least one of the following: a walking action execution procedure, a jumping action execution procedure, a running action execution procedure, a collision action execution procedure, an acceleration event execution procedure, a braking event execution procedure, a turning event execution procedure, a collision event execution procedure, a climbing event execution procedure, or a descending event execution procedure.
[0306] Optionally, the generation unit 1110 is also used to generate first behavioral information in response to the action or event of the virtual object.
[0307] Optionally, the generation unit 1110 is also used to determine first behavioral information based on the actions or events of the virtual object and the artificial intelligence model.
[0308] Optionally, at least one suspension includes the left front suspension of the chassis, the right front suspension of the chassis, the left rear suspension of the chassis, and the right rear suspension of the chassis.
[0309] The vehicle in this embodiment will be described below as an example.
[0310] In some possible examples, the vehicle includes the aforementioned control system 10. Details of the control system 10 can be found above and will not be repeated here.
[0311] It should be noted that the vehicle in this embodiment can be a device that integrates traditional transportation and VR technology, capable of driving on the ground or fixed to the ground, while providing users with an immersive VR experience. Furthermore, the product form of the vehicle in this embodiment is not limited to traditional cars, trucks, automobiles, motorcycles, or electric vehicles.
[0312] Optionally, various games can be installed in the vehicle to enhance the user's entertainment experience through VR technology, supporting single-player or multiplayer modes.
[0313] Optionally, multiple displays can be installed inside the vehicle, allowing users to select different visual modes, such as the road ahead, side views, and rear view.
[0314] Optionally, the vehicle can be equipped with a 360-degree VR view, comfortable seats, and an adjustable steering wheel for a comfortable ride.
[0315] Optionally, the vehicle is equipped with a powerful computer system that supports real-time rendering and data processing of VR content, ensuring a smooth user experience.
[0316] Optionally, the vehicle has strong network connectivity, supporting cloud content updates and real-time data exchange.
[0317] Optionally, the vehicle's interior is designed to be a VR-friendly environment, equipped with devices such as headphones and glasses to create an immersive virtual scene.
[0318] This application also provides a computer-readable storage medium storing a computer program or instructions that, when executed, implement the methods described in the above-described method embodiments.
[0319] This application also provides a computer program product, including a computer program or instructions, which, when executed, implement the method described in the above-described method embodiments.
[0320] It should be noted that, for the sake of simplicity, the above embodiments are all described as a series of actions. Those skilled in the art should understand that this application is not limited to the described order of actions, as some steps in the embodiments of this application can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions, steps, modules, or units involved are not necessarily essential to the embodiments of this application.
[0321] In the above embodiments, the descriptions of each embodiment in this application have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0322] The steps of the methods or algorithms described in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in RAM, flash memory, ROM, EPROM, electrically erasable programmable read-only memory (EEPROM), registers, hard disk, portable hard disk, read-only optical disk (CD-ROM), or any other form of storage medium well known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Furthermore, the ASIC can reside in a terminal device or management device. Alternatively, the processor and storage medium can exist as discrete components in the terminal device or management device.
[0323] Those skilled in the art will recognize that, in one or more of the examples above, the functions described in the embodiments of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).
[0324] The modules or units included in the various devices and products described in the above embodiments can be software modules or units, hardware modules or units, or a combination of both. For example, for devices and products applied to or integrated into a chip, all modules or units can be implemented using hardware methods such as circuits, or at least some modules or units can be implemented using software programs that run on a processor integrated within the chip, while the remaining (if any) modules or units can be implemented using hardware methods such as circuits. For devices and products applied to or integrated into a chip module, all modules or units can be implemented using hardware methods such as circuits. Different modules or units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules or units can be implemented using hardware methods such as circuits. The implementation is achieved through a software program that runs on a processor integrated within the chip module. The remaining modules or units (if any) can be implemented using hardware methods such as circuits. For various devices or products applied to or integrated into terminal equipment, each of its modules or units can be implemented using hardware methods such as circuits. Different modules or units can be located in the same component (e.g., chip, circuit module, etc.) or different components within the terminal equipment. Alternatively, at least some modules or units can be implemented using a software program that runs on a processor integrated within the terminal equipment, while the remaining modules or units (if any) can be implemented using hardware methods such as circuits.
[0325] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the embodiments of this application. It should be understood that the above descriptions are merely specific embodiments of the embodiments of this application and are not intended to limit the protection scope of the embodiments of this application. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solutions of the embodiments of this application should be included within the protection scope of the embodiments of this application.
Claims
1. A control method, characterized in that, A second controller is applied in a control system, the control system including a chassis and a first controller, the chassis including at least one suspension, the at least one suspension including at least one active power generator, the at least one active power generator being connected to the second controller, and the first controller being connected to the second controller; the method includes: Receive a first signal from the first controller, the first signal corresponding to the first behavior information of the virtual object; The first execution program corresponding to the first signal is determined from at least one pre-stored execution program, wherein the first execution program is among the at least one execution program; The first execution program is executed, which controls the at least one active power generator to generate a first power, which drives the chassis to produce a first action, and the first action is matched with the first behavior information.
2. The method according to claim 1, characterized in that, The at least one executable program includes at least one of the following: The program executes the following events: walking, jumping, running, collision, acceleration, braking, turning, collision, climbing, or descending.
3. The method according to claim 2, characterized in that, The signals corresponding to the walking action execution program correspond to the walking actions of the virtual character; The signal corresponding to the jump action execution program corresponds to the jump action of the virtual character; The signals corresponding to the running action execution program correspond to the running action of the virtual character; The signal corresponding to the collision action execution program corresponds to the collision action of the virtual character; The signal corresponding to the acceleration event execution procedure corresponds to the acceleration event of the virtual vehicle; The signal corresponding to the braking event execution procedure corresponds to the braking event of the virtual vehicle; The signals corresponding to the steering event execution procedure correspond to the steering events of the virtual vehicle; The signal corresponding to the collision event execution procedure corresponds to the collision event of the virtual vehicle; The signal corresponding to the hill-climbing event execution procedure corresponds to the hill-climbing event of the virtual vehicle; The signal corresponding to the downhill event execution procedure corresponds to the downhill event of the virtual vehicle.
4. The method according to any one of claims 1-3, characterized in that, The second controller includes a first interface, which is used by the first controller to access or access the second controller; Receiving the first signal from the first controller includes: The system receives a first signal from the first controller through the first interface.
5. The method according to any one of claims 1-4, characterized in that, The method further includes: Receive a first instruction, the first instruction being used to update or upgrade the at least one executable program, or the first instruction being used to update the correspondence between the at least one executable program and the signal.
6. The method according to any one of claims 1-4, characterized in that, The method further includes: The at least one executable program may be updated or upgraded, or the correspondence between the at least one executable program and the signal may be updated.
7. The control system according to any one of claims 1-6, characterized in that, The at least one suspension includes the left front suspension of the chassis, the right front suspension of the chassis, the left rear suspension of the chassis, and the right rear suspension of the chassis.
8. A control method, characterized in that, A first controller is applied in a control system, the control system including a second controller and a chassis, the chassis including at least one suspension, the at least one suspension including at least one active force generator, the at least one suspension active force generator being connected to the second controller, and the first controller being connected to the second controller; the method includes: A first signal is generated, and the first signal corresponds to the first behavioral information of the virtual object; Send the first signal to the second controller so that the second controller executes the first execution program corresponding to the first signal; Wherein, the first execution program is in at least one pre-stored execution program, the first execution program is used to control the at least one active power generator to generate a first power, the first power is used to drive the chassis to generate a first action, and the first action is matched with the first behavior information.
9. The method according to claim 8, characterized in that, The first behavioral information is used to indicate one of the following: The virtual character's walking action, virtual character's jumping action, virtual character's running action, virtual character's collision action, virtual vehicle's acceleration event, virtual vehicle's braking event, virtual vehicle's turning event, virtual vehicle's collision event, virtual vehicle's climbing event, or virtual vehicle's descending event.
10. The method according to claim 8, characterized in that, The at least one execution procedure includes at least one of the following: a walking action execution procedure, a jumping action execution procedure, a running action execution procedure, a collision action execution procedure, an acceleration event execution procedure, a braking event execution procedure, a turning event execution procedure, a collision event execution procedure, a climbing event execution procedure, or a downhill event execution procedure.
11. The method according to any one of claims 8-10, characterized in that, The method further includes: The first behavioral information is generated in response to the action or event of the virtual object.
12. The method according to claim 10, characterized in that, The generation of the first behavioral information includes: The first behavioral information is determined based on the actions or events of the virtual object and the artificial intelligence model.
13. The method according to any one of claims 8-12, characterized in that, The at least one suspension includes the left front suspension of the chassis, the right front suspension of the chassis, the left rear suspension of the chassis, and the right rear suspension of the chassis.
14. A control system, characterized in that, The control system includes a chassis, a first controller, and a second controller. The chassis includes at least one suspension, and the at least one suspension includes at least one power generator. The at least one power generator is connected to the second controller, and the first controller is connected to the second controller. The first controller is configured to generate a first signal and send the first signal to the second controller, wherein the first signal corresponds to the first behavior information of the virtual object; The second controller is configured to receive the first signal, determine the first execution program corresponding to the first signal from at least one pre-stored execution program, and execute the first execution program, wherein the first execution program is in the at least one execution program; The at least one active power generator is used to generate a first power in response to the execution of the first execution program, the first power being used to drive the chassis to produce a first action, the first action being matched with the first behavior information.
15. The control system according to claim 14, characterized in that, The at least one execution procedure includes at least one of the following: a walking action execution procedure, a jumping action execution procedure, a running action execution procedure, a collision action execution procedure, an acceleration event execution procedure, a braking event execution procedure, a turning event execution procedure, a collision event execution procedure, a climbing event execution procedure, or a downhill event execution procedure.
16. The control system according to claim 15, characterized in that, The signals corresponding to the walking action execution program correspond to the walking actions of the virtual character; The signal corresponding to the jump action execution program corresponds to the jump action of the virtual character; The signals corresponding to the running action execution program correspond to the running action of the virtual character; The signal corresponding to the collision action execution program corresponds to the collision action of the virtual character; The signal corresponding to the acceleration event execution procedure corresponds to the acceleration event of the virtual vehicle; The signal corresponding to the braking event execution procedure corresponds to the braking event of the virtual vehicle; The signals corresponding to the steering event execution procedure correspond to the steering events of the virtual vehicle; The signal corresponding to the collision event execution procedure corresponds to the collision event of the virtual vehicle; The signal corresponding to the hill-climbing event execution procedure corresponds to the hill-climbing event of the virtual vehicle; The signal corresponding to the downhill event execution procedure corresponds to the downhill event of the virtual vehicle.
17. The control system according to any one of claims 14-16, characterized in that, The first behavioral information is used to indicate one of the following: The virtual character's walking action, virtual character's jumping action, virtual character's running action, virtual character's collision action, virtual vehicle's acceleration event, virtual vehicle's braking event, virtual vehicle's turning event, virtual vehicle's collision event, virtual vehicle's climbing event, or virtual vehicle's descending event.
18. The control system according to any one of claims 14-17, characterized in that, The second controller includes a first interface, which is used by the first controller to access or access the second controller; The second controller is used to receive the first signal through the first interface.
19. The control system according to any one of claims 14-18, characterized in that, The second controller is further configured to receive a first instruction, the first instruction being configured to update the at least one executable program, or the first instruction being configured to update the correspondence between the at least one executable program and a signal.
20. The control system according to any one of claims 14-18, characterized in that, The second controller is also configured to update or upgrade the at least one executable program, or update the correspondence between the at least one executable program and the signal.
21. The control system according to any one of claims 14-20, characterized in that, The first controller is also configured to generate the first behavior information in response to the behavior of the virtual object.
22. The control system according to claim 21, characterized in that, The first controller is further configured to, in response to the behavior of the virtual object, determine the first behavior information based on the behavior of the virtual object and an artificial intelligence model.
23. The control system according to any one of claims 14-22, characterized in that, The at least one suspension includes the left front suspension of the chassis, the right front suspension of the chassis, the left rear suspension of the chassis, and the right rear suspension of the chassis.
24. A control device, characterized in that, A second controller is used in a control system, the control system including a chassis and a first controller, the chassis including at least one suspension, the at least one suspension including at least one active power generator, the at least one active power generator being connected to the second controller, and the first controller being connected to the second controller; the device includes: The receiving unit is configured to receive a first signal from the first controller, wherein the first signal corresponds to the first behavioral information of the virtual object; A determining unit is configured to determine a first execution program corresponding to the first signal from at least one pre-stored execution program, wherein the first execution program is among the at least one execution program; An execution unit is configured to execute the first execution program, which controls the at least one active power generator to generate a first power, which drives the chassis to perform a first action, the first action being matched with the first behavior information.
25. A control device, characterized in that, A first controller is applied in a control system, the control system including a second controller and a chassis, the chassis including at least one suspension, the at least one suspension including at least one active force generator, the at least one active force generator being connected to the second controller, and the first controller being connected to the second controller; the device includes: A generation unit is used to generate a first signal, which corresponds to the first behavioral information of the virtual object. The sending unit is configured to send the first signal to the second controller, so that the second controller executes the first execution program corresponding to the first signal; Wherein, the first execution program is in at least one pre-stored execution program, the first execution program is used to control the at least one active power generator to generate a first power, the first power is used to drive the chassis to generate a first action, and the first action is matched with the first behavior information.
26. A vehicle, characterized in that, The vehicle includes a control system as described in any one of claims 14-23.
27. A computer-readable storage medium, characterized in that, It stores a computer program or instructions that, when executed, implement the method as described in any one of claims 1-7 or 8-13.