A power management and load distribution method, system, apparatus, and medium

CN122945462APending Publication Date: 2026-10-20HANSONG NANJING TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611124883.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-28
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

然而在实际使用过程中,即使功能模块处于待机模式,其内部的控制芯片、驱动电路等元件依然存在静态电流消耗,主控制器也无法从物理上彻底切断已待机模块的电源,因此这种累积的静态功耗会显著浪费电池能量,缩短机器人的续航时间

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure FT_1
    Figure FT_1
  • Figure FT_2
    Figure FT_2
  • Figure FT_3
    Figure FT_3
Patent Text Reader

Abstract

This specification provides a power management and load distribution method, system, device, and medium, executed by a first controller on a modular electronic device. The first controller is connected to at least one peripheral module via a communication bus, and the controlled power rail of the communication bus is connected in series with a physical power supply switch controlled by the first controller. The method includes: updating the module parameter table based on the peripheral module's device descriptor; acquiring activity status information and determining the current status; turning off the physical power supply switch when the duration of the idle candidate state meets the power-off condition; receiving a wake-up command and determining the target action parameters of the target peripheral module based on the wake-up command and the module parameter table, and generating an action execution command; outputting an on signal to restore power supply; sending the action execution command to control the second controller of the target peripheral module to drive the actuator to perform the target action, and automatically turning off the drive signal if no new command is received within a preset time after completion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of device power management, and in particular to a power management and load distribution method, system, device and medium. Background Technology

[0002] Modular electronic devices (such as modular robots) are widely used in consumer and educational settings. Currently, the primary controller of such modular robots supplies power to all functional modules (such as robotic arms, displays, and sensors) via a power supply bus. Each module performs its corresponding actions during operation and typically switches to a low-power standby or sleep mode during non-operational periods to conserve energy. However, in actual use, even when a module is in standby mode, its internal control chips, drive circuits, and other components still consume static current. The main controller cannot physically disconnect the power to standby modules, resulting in significant waste of battery energy and shortening the robot's runtime.

[0003] Meanwhile, when the modular robot performs complex actions (such as multiple motors running at high speed simultaneously, or a brightly lit screen displaying voice announcements), the system's total power consumption will instantly reach its peak. If the battery is low at this time, this peak power can easily cause a sudden drop in the supply voltage, leading to the main controller resetting or restarting due to undervoltage, manifesting as system crashes, voice stuttering, or action interruptions. Currently, most systems rely on hardware overcurrent protection or simple voltage monitoring. These passive protection methods only trigger after a fault occurs, resulting in a delayed response. They cannot predict or schedule actions before execution, making it difficult to ensure the system's stability and reliability under high loads.

[0004] Therefore, there is an urgent need for a power management and load distribution method, system, device, and medium that can physically and completely cut off the power supply to idle modules and has the ability to predict and dynamically allocate peak power of the system, thereby fundamentally solving the standby power consumption problem and instantaneous overload crash problem of modular electronic devices. Summary of the Invention

[0005] This specification provides one or more embodiments of a power management and load distribution method, the method being executed by a first controller on a modular electronic device. The first controller is connected to at least one peripheral module via a communication bus, and a physical power switch controlled by the first controller is connected in series on a controlled power rail of the communication bus. The method includes: updating a module parameter table stored in the modular electronic device based on a device descriptor obtained from the at least one peripheral module; acquiring activity state information of the modular electronic device and determining the current state of the modular electronic device, the current state including an idle candidate state; and outputting a shutdown signal to the physical power switch in response to the duration of the idle candidate state satisfying a power-off condition, thereby physically disconnecting the controlled power rail. The system controls the power rail to supply power to the at least one peripheral module; in response to receiving a wake-up command, it determines the target action parameters of the target peripheral module among the at least one peripheral modules and generates an action execution command based on the wake-up command and the module parameter table; it outputs an on signal to the physical power switch to restore the power supply of the controlled power rail to the at least one peripheral module, the on signal including a first on signal with a fixed duty cycle; it sends the action execution command to the target peripheral module to control the second controller of the target peripheral module to drive the actuator of the target peripheral module to perform the target action; wherein, if the target peripheral module does not receive a new action execution command within a preset time after completing the target action, it automatically shuts off the drive signal of the actuator.

[0006] This specification provides one or more embodiments of a power management and load distribution system, the system including a first controller, a communication bus, and at least one peripheral module. The first controller is connected to the at least one peripheral module via the communication bus. A physical power switch controlled by the first controller is connected in series on a controlled power rail of the communication bus. The first controller is configured to: update a module parameter table stored in the modular electronic device based on a device descriptor obtained from the at least one peripheral module; acquire activity status information of the modular electronic device and determine the current state of the modular electronic device, the current state including an idle candidate state; and output a shutdown signal to the physical power switch in response to the duration of the idle candidate state satisfying a power-off condition. The system disconnects the power supply from the controlled power rail to the at least one peripheral module; in response to receiving a wake-up command, it determines the target action parameters of the target peripheral module among the at least one peripheral modules and generates an action execution command based on the wake-up command and the module parameter table; it outputs an on signal to the physical power switch to restore the power supply from the controlled power rail to the at least one peripheral module, the on signal including a first on signal with a fixed duty cycle; it sends the action execution command to the target peripheral module to control the second controller of the target peripheral module to drive the actuator of the target peripheral module to perform the target action; the target peripheral module is configured to automatically turn off the drive signal of the actuator if it does not receive a new action execution command within a preset time after completing the target action.

[0007] One or more embodiments of this specification also provide a power management and load distribution apparatus, the apparatus including at least one controller and at least one memory; the at least one memory is used to store computer instructions; the at least one controller is used to execute at least a portion of the computer instructions to implement a power management and load distribution method.

[0008] This specification also provides a computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes a power management and load distribution method. Attached Figure Description

[0009] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting; in these embodiments, the same reference numerals denote the same structures, wherein: Figure 1 These are application scenario diagrams illustrating the power management and load distribution methods shown in some embodiments of this specification; Figure 2This is an exemplary block diagram of a power management and load distribution system according to some embodiments of this specification; Figure 3 This is an exemplary flowchart illustrating a power management and load distribution method according to some embodiments of this specification; Figure 4 This is an exemplary flowchart illustrating the determination of a second enable signal according to some embodiments of this specification; Figure 5 This is an exemplary schematic diagram illustrating the sending of action execution instructions according to some embodiments of this specification; Figure 6 This is an exemplary flowchart illustrating the adjustment action execution instructions according to some embodiments of this specification. Detailed Implementation

[0010] To more clearly illustrate the technical solutions of the embodiments in this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some examples or embodiments of this specification. For those skilled in the art, these drawings can be applied to other similar scenarios without creative effort. Unless obvious from the context or otherwise specified, the same reference numerals in the drawings represent the same structures or operations.

[0011] It should be understood that the terms “system,” “device,” “unit,” and / or “module” used herein are one way to distinguish different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.

[0012] As indicated in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.

[0013] Flowcharts are used in this specification to illustrate the operations performed by the system according to embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.

[0014] Figure 1 This is an application scenario diagram of the power management and load distribution method shown in some embodiments of this specification.

[0015] The application scenarios for power management and load distribution methods can be scenarios where users interact with modular electronic devices or issue commands to modular electronic devices to control them to perform corresponding functions, such as home companionship and early childhood education.

[0016] For example, a user issues commands to a modular electronic device to control it to perform actions such as voice broadcasting. A user also issues commands to a modular electronic device (such as a robot) to control it to perform actions such as demonstrating movements.

[0017] In some embodiments, such as Figure 1 As shown, an application scenario 100 of a power management and load distribution method includes a user 110 and a modular electronic device 120.

[0018] User 110 refers to a person who interacts with or issues commands to the modular electronic device. In some embodiments, user 110 may issue commands to the modular electronic device through a terminal device (such as a smartphone, smartwatch, or wristband), and user 110 may also interact with the modular electronic device through interactive methods such as touch, voice, or gestures.

[0019] Modular electronic device 120 refers to an electronic device that adopts a modular structure and supports the combined configuration of peripheral modules or functional modules. For example, a modular electronic device can be a robot device composed of a controller and multiple peripheral modules or functional modules. For ease of description, this specification uses a robot as an example to illustrate modular electronic devices, but this does not constitute a specific limitation on modular electronic devices.

[0020] In some embodiments, in the application scenario of power management and load distribution method, user 110 issues instructions to modular electronic device 120 through terminal device or interaction, and modular electronic device 120 executes the corresponding action or function after receiving the instruction.

[0021] This scenario diagram is a general illustration intended to demonstrate the basic structure and workflow of a power management and load distribution system in a typical application scenario. Actual application scenarios may vary due to user needs, configurations, environmental conditions, etc. For those skilled in the art, after understanding the principles of the system, any modifications to the actual application scenario are within the scope of this specification. For detailed explanations of the foregoing, please refer to [link to documentation]. Figures 2 to 6 Related descriptions.

[0022] Figure 2 This is an exemplary block diagram of a power management and load distribution system according to some embodiments of this specification. The power management and load distribution system can be deployed on a modular electronic device 120.

[0023] like Figure 2 As shown, the power management and load distribution system 200 may include: a first controller 210, a communication bus 220, and at least one peripheral module (such as peripheral module 231, peripheral module 232, and peripheral module 233). The first controller 210 is connected to at least one peripheral module through the communication bus 220, and a physical power supply switch controlled by the first controller 210 is connected in series on the controlled power rail of the communication bus 220.

[0024] The first controller 210 refers to the control unit that performs control and processing functions in the power management and load distribution system 200. For example, the first controller can be any one or a combination of an industrial controller, a microcontroller, a programmable logic controller, etc.

[0025] The first controller 210 can be configured to: update a module parameter table stored in a modular electronic device based on a device descriptor obtained from at least one peripheral module; acquire activity status information of the modular electronic device and determine the current state of the modular electronic device, including an idle candidate state; output a shutdown signal to a physical power switch in response to the duration of the idle candidate state satisfying a power-off condition, to physically disconnect the power supply from the controlled power rail to at least one peripheral module; in response to receiving a wake-up command, determine the target action parameters of a target peripheral module among the at least one peripheral modules based on the wake-up command and the module parameter table, and generate an action execution command; output an on signal to the physical power switch to restore the power supply from the controlled power rail to at least one peripheral module, the on signal including a first on signal with a fixed duty cycle; send an action execution command to the target peripheral module to control the second controller of the target peripheral module to drive the actuator of the target peripheral module to perform the target action; the target peripheral module is configured to automatically shut off the drive signal of the actuator if it does not receive a new action execution command within a preset time after completing the target action.

[0026] The communication bus 220 refers to a bus structure used to establish a communication connection between the first controller 210 and each peripheral module and to transmit power. This bus structure may include communication channels and power supply channels (such as controlled power rails).

[0027] A controlled power rail (not shown in the figure) is a power supply line whose power supply status can be controlled, used to provide power to at least one peripheral module.

[0028] A physical power switch (not shown in the figure) refers to a hardware switching device used to physically connect or disconnect the transmission of electrical energy. For example, a physical power switch can be a power semiconductor device (such as a switching transistor) that controls the on / off state of electrical energy.

[0029] A peripheral module is a modular unit that communicates with the first controller and performs corresponding functions. For example, a peripheral module may include a robotic arm module, a gripper module, a display module, an audio playback module, etc.

[0030] In some embodiments, the peripheral module may include a second controller and an actuator, etc. The second controller refers to a control unit located within the peripheral module, used to receive action execution instructions and control the operation of the actuator. For example, the second controller may be a microcontroller with storage capabilities within the peripheral module.

[0031] An actuator is a physical component that converts electrical energy into mechanical motion or functional output. For example, the actuator of a peripheral module that needs to perform actions (such as a robotic arm module) may include one or more drive motors and other actuators (such as a robotic arm or gripper). The one or more drive motors can drive the other actuators to perform motion or actions (such as the drive motor driving the robotic arm to lift). On the other hand, the actuator of a peripheral module that does not need to perform actions (such as a display module and an audio playback module) may include a display screen, a speaker, and indicator lights.

[0032] In some embodiments, the power management and load distribution system 200 may also include a command input port.

[0033] A command input port is a port or device used to receive commands issued by a user to a modular electronic device. In some embodiments, the command input port includes a microphone array, a camera, a touch button panel (or sensor), a Wi-Fi module, etc. The microphone array is used to receive task commands issued by the user via voice. The camera is used to receive task commands issued by the user via gestures or actions. The touch button panel (or sensor) is used to receive task commands issued by the user via touch. The Wi-Fi module is used to receive task commands issued by the user using a terminal device via a wireless network.

[0034] For a detailed explanation of the foregoing content, please refer to Figures 3 to 6 Related descriptions.

[0035] In some embodiments of this specification, a power management and load distribution system can physically and completely cut off the power supply to idle modules, fundamentally solving the standby power consumption problem of modular electronic devices.

[0036] Figure 3 This is an exemplary flowchart of a power management and load sharing method according to some embodiments of this specification. In some embodiments, process 300 may be executed by power management and load sharing system 200 or first controller 210. Process 300 includes steps 310-360.

[0037] Step 310: Update the module parameter table stored in the modular electronic device based on the device descriptor obtained from at least one peripheral module.

[0038] For details on modular electronic devices and peripheral modules, please refer to [link / reference]. Figures 1 to 2 And its related descriptions.

[0039] A device descriptor is a set of data used to characterize the hardware and software attributes and specifications of a peripheral module. In some embodiments, the device descriptor can be a structured data packet containing the peripheral module's type identifier, bus address number, interface location identifier, rated operating current and voltage, input capacitor parameters, etc. The device descriptor can be pre-stored within the peripheral module. For details on input capacitor parameters, see [link to documentation]. Figure 4 And its related descriptions.

[0040] In some embodiments, the first controller scans the level changes of each connection bit on the communication bus through the interface detection pin or the general-purpose input / output (GPIO) pin to identify the connected peripheral modules, and sends a command to the peripheral modules to retrieve device descriptors through the communication bus. The peripheral modules then send their own device descriptors to the first controller through the communication bus.

[0041] A module parameter table is a mapping table used to record the status and / or parameter information of each peripheral module in a modular electronic device. For example, a module parameter table may include the ID of each peripheral module and the device type, load characteristic parameters, device identifier, and input capacitance parameters of each peripheral module.

[0042] Device type refers to the specific functional classification of the peripheral module, such as communication relay, action execution, screen display, etc. Device identifier refers to the physical location number and bus addressing sequence number of the peripheral module connected to the communication bus interface. Load characteristic parameters refer to data characterizing the electrical power consumption attributes of the peripheral module, such as rated operating current and voltage.

[0043] In some embodiments, for each peripheral module, the first controller can parse the device descriptor sent by the peripheral module to obtain the device type, device identifier, and load characteristic parameters of the peripheral module, and write the parsing result into the corresponding entry in the module parameter table. For example, if the device descriptor contains a type identifier of "A", the first controller parses the device descriptor to obtain a device type of "action execution class". As another example, if the interface location identifier is "001", the first controller parses the device descriptor to obtain a physical location number of "001" in the device identifier, indicating that the interface through which the peripheral module connects to the communication bus is the first interface on the communication bus.

[0044] In some embodiments, the first controller may also update the module parameter table in other ways. For example, after detecting a hot-plug interruption, the first controller only rereads the device descriptor of the peripheral module corresponding to the changed interface and incrementally updates the module parameter table.

[0045] Step 320: Obtain the activity status information of the modular electronic device and determine the current status of the modular electronic device.

[0046] Activity status information refers to information reflecting whether a modular electronic device currently has a valid task, event, or activity. For example, activity status information may include voice task information, sensor event information, or network task information. Voice task information refers to whether the modular electronic device has received a task command in voice form. Sensor event information refers to whether the modular electronic device has received a task command triggered by a sensor (such as touch) or obtained by parsing user gestures or actions. Network task information refers to whether the modular electronic device has received a task command via a network.

[0047] In some embodiments, the current state of a modular electronic device includes an active state and an idle candidate state. An active state refers to the state in which the modular electronic device is executing or preparing to execute a task or activity after receiving an instruction. An idle candidate state refers to a transitional state in which the modular electronic device currently has no task or activity to execute, but has not yet performed a power-off process.

[0048] In some embodiments, the first controller can determine, via the instruction input port, whether the modular electronic device has received one or more of the following: a voice-based task instruction, a task instruction triggered by a sensor or obtained by parsing a user's gesture or action, or a task instruction sent via a network. If the modular electronic device receives one or more of the above task instructions, the first controller determines the activity status information of the modular electronic device as indicating the existence of a valid task, event, or activity, and determines the current state of the modular electronic device as an active state. If the modular electronic device does not receive any of the above task instructions, the first controller determines the activity status information of the modular electronic device as indicating the absence of a valid task, event, or activity, determines the current state of the modular electronic device as an idle candidate state, and starts a timer.

[0049] For details regarding the command input port, please refer to [link / reference]. Figure 2 And its related descriptions.

[0050] In some embodiments, the first controller acquiring activity status information and determining the current state of the modular electronic device may further include: the first controller reading the task queue length, external interrupt flag, and message arrival flag of the modular electronic device. When the task queue is empty and both the external interrupt flag and the message arrival flag are "0", the first controller marks the current state of the modular electronic device as an idle candidate state and starts a timer. When the task queue is not empty or one or both of the external interrupt flag and the message arrival flag are "1", the first controller marks the current state of the modular electronic device as an active state.

[0051] Step 330: In response to the duration of the idle candidate state satisfying the power-off condition, output a shutdown signal to the physical power switch to physically cut off the power supply of the controlled power rail to at least one peripheral module.

[0052] For instructions on physical power switches and controlled power rails, please refer to [link / reference]. Figure 2 And its related descriptions.

[0053] A power outage condition refers to the condition used to determine whether the power supply to the controlled power rail should be cut off. In some embodiments, the power outage condition may be that the duration of the idle candidate state reaches a preset duration threshold. The preset duration threshold is pre-set based on historical experience.

[0054] A shutdown signal is a control signal used to control a physical power supply switch to enter the off state. For example, a shutdown signal can be a low-level signal or a specific timing control signal.

[0055] In some embodiments, the first controller may start timing after marking the current state of the modular electronic device as an idle candidate state. In response to the duration of the idle candidate state satisfying the power-off condition, the controller outputs a shutdown signal to the control terminal of the physical power supply switch, thereby turning off the physical power supply switch and physically cutting off the power supply of the controlled power rail to at least one peripheral module.

[0056] Step 340: In response to receiving a wake-up command, based on the wake-up command and the module parameter table, determine the target action parameters of the target peripheral module in at least one peripheral module and generate an action execution command.

[0057] A wake-up command is an instruction used to trigger a modular electronic device or peripheral module to switch from a power-off state to a power-on state and begin executing a task. In some embodiments, a user can issue a wake-up command via voice, touch, gesture, or action, or via a network using a terminal device. For example, a user can send a wake-up command to a modular electronic device to perform a dancing action by saying the word "dance." Another example is that a user can send a wake-up command to a modular electronic device to perform a walking action by touching the touch button panel on the device. Yet another example is that a user can use a terminal device to send a wake-up command to a modular electronic device to perform audio playback via a network.

[0058] The target peripheral module refers to the peripheral module used to execute the task in the wake-up command.

[0059] Target action parameters refer to a set of parameters used to describe the content or execution requirements of a target action. For example, target action parameters may include target position data and motion constraint parameters. Target action refers to the movement or action that the target peripheral module needs to perform, such as raising the left arm or squatting.

[0060] Target position data refers to the spatial coordinates or posture (including the angles of each joint) of the expected endpoint of the target action. For example, if the target action is "raising the left arm", the target position data could be the spatial coordinates of the robot's left arm end relative to a preset origin (such as the bottom of the robot's left leg) and the joint angles of each joint on the robot's left arm. Motion constraint parameters refer to the limit values ​​of the kinematic parameters for performing the target action, such as the upper limit of displacement velocity, the upper limit of acceleration, and the upper limit of joint torsional angle.

[0061] Action execution instructions refer to control instructions or control messages sent to the target peripheral module to instruct it to perform the target action.

[0062] In some embodiments, in response to receiving a wake-up command, the first controller can determine the task information (including task content, such as the target action, and the device type and quantity of peripheral modules required to perform the task) in the wake-up command through semantic analysis or matching command templates. The first controller can filter peripheral modules corresponding to the device type in the module parameter table based on the device type in the task information, and select peripheral modules that meet the quantity in the task information as target peripheral modules.

[0063] In some embodiments, the first controller can search for a motion template matching the target motion in the motion library based on the task content in the task information, and determine the target position data based on the motion template. A motion template refers to a data packet used to instruct a modular electronic device to perform an action, including preset motion parameters (such as spatial coordinates and joint angles) and motion constraint parameters. The motion library includes multiple actions and their corresponding motion templates. The motion library can be pre-set based on historical experience and stored in the first controller, or the first controller can obtain motion libraries from third-party platforms via a network.

[0064] For example, the modular electronic device is a robot. In response to receiving a wake-up command (such as "raise your hand"), the first controller can determine the task content (such as "raise your left arm") corresponding to "raise your hand" in the wake-up command and the device type (action execution class) and quantity (1) of the peripheral module (left arm) required to perform the task through semantic analysis or matching command templates. Based on the task content of "raise your left arm", the first controller can find an action template that matches "raise your left arm". The action template may include the spatial coordinates of the robot's left arm end relative to a preset origin (such as the bottom vertex of the robot's left leg), the joint angle of the upper joint of the robot's left arm, and motion constraint parameters. The first controller can use the aforementioned spatial coordinates and joint angles as target position data and the motion constraint parameters in the action template as motion constraint parameters in the target action parameters.

[0065] In some embodiments, the first controller may encapsulate the device identifier of the target peripheral module and the target action parameters into an action execution instruction.

[0066] Step 350: Output an enable signal to the physical power switch to restore power supply to at least one peripheral module via the controlled power rail.

[0067] An enable signal is a control signal used to control a physical power supply switch to enter the on state to restore power supply. For example, an enable signal can be a high-level signal. In some embodiments, the enable signal may include a first enable signal with a fixed duty cycle (e.g., a duty cycle of 100%).

[0068] Duty cycle refers to the proportion of the on-time to the total duration of a complete signal cycle. The on-time can be the duration of a high-level signal.

[0069] In some embodiments, after generating an action execution command, the first controller may output a first enable signal to the physical power switch (setting the pin corresponding to the control terminal of the physical power switch to a high level) to restore the power supply of the controlled power rail to at least one peripheral module.

[0070] In some embodiments, the enable signal further includes a second enable signal with an increasing duty cycle. The first controller can output the second enable signal to a physical power switch to restore power supply to at least one peripheral module via the controlled power rail. Further details on this section can be found at [link to relevant documentation]. Figure 4 And its related descriptions.

[0071] In some embodiments, before outputting a shutdown signal to the physical power switch, the first controller can generate a peripheral interface topology based on the module parameter table and generate a mapping tree between the peripheral interface topology and device identifiers. After the controlled power rail restores power to at least one peripheral module, the first controller can send unicast naming instructions to the target peripheral module via the communication bus at preset intervals according to the depth priority of the mapping tree, and receive confirmation information returned by the target peripheral module.

[0072] Peripheral interface topology refers to the organizational structure that characterizes the hierarchical and / or positional relationships in the spatial link between the interface between the first controller and the communication bus and the interfaces between multiple peripheral modules and the communication bus.

[0073] A mapping tree is a tree-like data structure that establishes a correspondence between the hierarchical relationships in the peripheral interface topology and the device identifiers of each peripheral module. The root node of the mapping tree is the identifier of the first controller.

[0074] In some embodiments, the first controller can read the device ID and device identifier of each peripheral module in the module parameter table, construct a hierarchical link structure according to the hierarchical relationship between the interface between the first controller and the communication bus and the interfaces between the multiple peripheral modules and the communication bus, obtain a peripheral interface topology containing the device ID of each peripheral module, and use the identifier of the first controller as the root node to bind the device identifier of each peripheral module to the corresponding hierarchical node in the peripheral interface topology to obtain a mapping tree. For example, the first controller can store the physical hierarchical relationship between interfaces at different physical locations on the communication bus. The first controller can determine the hierarchical relationship between the interface between the first controller and the communication bus and the interfaces between the multiple peripheral modules and the communication bus based on the physical location number of the interface between the first controller and the communication bus and the physical location number in the device identifier corresponding to the peripheral module.

[0075] Depth-first traversal refers to the order in which deeper nodes are visited before shallower nodes in a mapping tree structure. For example, the first controller can first visit the deepest, unvisited node in the mapping tree. If the deepest node has already been visited, the first controller will visit the unvisited node at the level above it, and so on, traversing the entire mapping tree. If there are multiple unvisited nodes at the first level of the mapping tree, the first controller can randomly select one node to be visited.

[0076] A unicast naming command is a wake-up polling data frame sent to a single target peripheral module. The unicast naming command includes the device identifier of the target peripheral module.

[0077] Confirmation information refers to the response information or response message returned by the target peripheral module to indicate that it has been woken up and is in a ready state.

[0078] In some embodiments, at preset intervals, the first controller extracts the device identifier of a target peripheral module according to the depth-first order of the mapping tree, sends a unicast name command containing the device identifier of the target peripheral module via the communication bus, and listens for the acknowledgment information returned by the target peripheral module after sending. After receiving the acknowledgment information, the first controller continues to extract the device identifier of the next target peripheral module according to the depth-first order of the mapping tree, and repeats the above steps to obtain the acknowledgment information of the next target peripheral module. The preset interval can be preset based on the physical communication interval time of the communication bus or historical experience.

[0079] Some embodiments in this specification avoid bus conflicts and improve the wake-up stability of peripheral modules by establishing a topology mapping tree before power off and unicasting the names in depth-first order after power is restored.

[0080] In some embodiments, the controlled power rail can be divided into at least one physically isolated independent power domain, each independent power domain corresponding to a peripheral module and configured with an independent physical power switch. Before outputting a shutdown signal to the physical power switch, the first controller can also acquire the holding torque state of at least one peripheral module before power failure; determine the topology depth of at least one peripheral module based on a mapping tree; and determine the device type of at least one peripheral module based on a module parameter table. The first controller determines the wake-up priority value of at least one peripheral module based on the topology depth, device type, and holding torque state. In response to a target peripheral module number greater than one, the first controller outputs an enable signal to the physical power switch corresponding to each target peripheral module sequentially based on the wake-up priority value and a preset waiting time.

[0081] An independent power domain refers to a power supply area that is physically isolated from each other and whose on / off state can be controlled separately within a controlled power rail.

[0082] The holding torque state refers to the state in which the peripheral module needs the actuator to continuously output holding torque to resist the effect of gravity before the power is cut off.

[0083] In some embodiments, before outputting a shutdown signal to the physical power switch, the first controller retrieves the last drive signal detection data reported and saved by the peripheral module. The drive signal is an electrical signal that controls the actuator of the peripheral module, such as a pulse width modulation (PWM) signal.

[0084] The drive signal detection data may include a channel identifier (used to identify the peripheral module sending the PWM detection data), duty cycle, current vector square of the drive motor, and real-time position and speed, etc. In some embodiments, the first controller may obtain the holding torque state of the peripheral module based on the drive signal detection data.

[0085] For example, for a single peripheral module, the first controller can acquire drive signal detection data for multiple sampling periods and determine whether the real-time position speed is below a stationary threshold (e.g., 0.001 rad / s) for multiple consecutive sampling periods. If the real-time position speed is below the stationary threshold for multiple consecutive sampling periods, the first controller determines that the peripheral module is in a stationary state and uses the drive signal detection data of the last sampling period or the average value of the drive signal detection data of multiple sampling periods as the last drive signal detection data. The first controller can determine whether the duty cycle in the last drive signal detection data is greater than a preset duty cycle (e.g., 2%). If the duty cycle is greater than the preset duty cycle, it indicates that the drive motor is still outputting torque. The first controller can determine the torque direction through the current vector direction. If the torque direction is consistent with the opposite direction of the peripheral module's gravity (e.g., the opposite direction of the robotic arm is vertically upward), it is determined that the peripheral module has a maintaining torque state, and the duty cycle is determined as the duty cycle corresponding to the maintaining torque state.

[0086] If the duty cycle is not greater than the preset duty cycle, the first controller can determine that the peripheral module is not in a state of maintaining torque. If the direction of the torque is inconsistent with the direction of gravity of the peripheral module (possibly due to resistance to friction or external load torque), the first controller can determine that the peripheral module is not in a state of maintaining torque. The preset duty cycle and the static threshold can be preset based on historical experience.

[0087] Topology depth refers to the level depth of a peripheral module relative to the root node in the mapping tree.

[0088] In some embodiments, for each independent power domain, the first controller determines the node corresponding to the peripheral module mounted on the independent power domain by querying the mapping tree, and counts the number of communication hops from the node to the root node of the mapping tree, and uses the number of communication hops as the topology depth of the peripheral module.

[0089] In some embodiments, for each independent power domain, the first controller determines the device type corresponding to the peripheral module attached to the independent power domain by querying the module parameter table. For an explanation of the device type, see step 310 and its related description.

[0090] Wake-up priority value refers to a quantitative value used to characterize the priority of a peripheral module during the wake-up process.

[0091] In some embodiments, the first controller can normalize the topology depth, device type, and duty cycle corresponding to the holding torque state of the peripheral module (this parameter is 0 if there is no holding torque state), and then perform a weighted summation of the normalized parameters to obtain the wake-up priority value of the peripheral module. The weights corresponding to the topology depth, device type, and duty cycle corresponding to the holding torque state can be preset based on historical experience.

[0092] In some embodiments, during the normalization process, the first controller can determine the normalized values ​​corresponding to the topology depth and device type of the peripheral module by querying a normalized value table based on the topology depth and device type of the peripheral module.

[0093] In some embodiments, the normalized value table can be pre-set based on historical experience, including multiple topology depths and their corresponding normalized values, and multiple device types and their corresponding normalized values. Specifically, the normalized value corresponding to the device type "communication relay" is greater than the normalized value corresponding to the device type "action execution". The deeper the topology depth, the smaller the corresponding normalized value.

[0094] In some embodiments, in response to the number of target peripheral modules being greater than one, the first controller sorts the wake-up priority values ​​corresponding to the multiple target peripheral modules (e.g., descending order) and sequentially outputs an enable signal to the physical power supply switch corresponding to each target peripheral module. After each enable signal is output to the physical power supply switch corresponding to a target peripheral module, the first controller may wait for a preset waiting time before outputting an enable signal to the physical power supply switch corresponding to the next target peripheral module, until enable signals have been output to the physical power supply switches corresponding to all target peripheral modules. The preset waiting time can be pre-set based on historical experience.

[0095] For example, the first controller can output an enable signal to the physical power switch corresponding to the first-ranked target peripheral module in the sorting result, and after a preset waiting time, output an enable signal to the physical power switch corresponding to the second-ranked target peripheral module in the sorting result, and after another preset waiting time, output an enable signal to the physical power switch corresponding to the third-ranked target peripheral module in the sorting result. This process continues until enable signals are output to the physical power switches corresponding to all target peripheral modules.

[0096] Some embodiments in this specification determine the wake-up order based on topology depth, device type, and holding torque state, and power on in a time-sharing manner according to preset waiting time. This can prioritize the recovery of peripheral modules responsible for critical communication or resisting gravity loads, preventing mechanical damage and communication link disconnection during the wake-up process.

[0097] Step 360: Send an action execution command to the target peripheral module to control the second controller of the target peripheral module to drive the actuator of the target peripheral module to execute the target action.

[0098] For details regarding the second controller and actuator, please refer to [link / reference]. Figure 1 And its related descriptions.

[0099] In some embodiments, after receiving the action execution command, the second controller in the target peripheral module parses the action execution command to obtain the target action parameters, and converts the target action parameters into drive signals for the actuator, which are then sent to the actuator of the target peripheral module to drive the actuator to perform the target action. For an explanation of the drive signals, see step 350 and its related description.

[0100] In some embodiments, if the target peripheral module does not receive a new action execution command within a preset time period after completing the target action, it automatically shuts off the actuator's drive signal. The actuator (such as the end effector of a robotic arm) can monitor the coordinate difference between the current position of the actuator's end effector (such as the end effector of a robotic arm) and the target position data through an encoder or Hall effect sensor. If the coordinate difference is within the allowable error range, the actuator outputs a digital signal indicating "action completed" to the second controller. The second controller, upon receiving the digital signal, determines that the target action has been completed. The allowable error range can be preset based on historical experience, such as an allowable error range of -0.1mm to +0.1mm for each coordinate axis.

[0101] For example, the second controller starts a built-in timer after the target action is completed. If no new action execution command is received within a preset time period, the second controller automatically shuts off the actuator's drive signal. The shutdown method can include clearing the PWM output register, etc. The preset time period can be pre-set based on historical experience.

[0102] In some embodiments, the first controller can encapsulate the target trajectory parameters and the action execution command into the same data frame and send it to the target peripheral module. This instructs the target peripheral module to control the actuator to move to a zero-potential-energy posture according to the target trajectory corresponding to the target trajectory parameters before the actuator's drive signal is turned off. Further details on this section can be found in [link to relevant documentation]. Figure 5 And its related descriptions.

[0103] In some embodiments, in response to the predicted power meeting the overload condition, the first controller may adjust the execution timing or operating parameters of the action execution instructions corresponding to multiple actions based on a load redistribution strategy. Further details on this section can be found in [link to relevant documentation]. Figure 6 And its related descriptions.

[0104] Some embodiments in this specification establish a linkage between bus-level power-off and module-level power-off and wake-up by maintaining the module parameter table, physically powering off during idle state, and waking up peripheral modules on demand. This reduces long-term static power consumption while also ensuring wake-up response speed.

[0105] In some embodiments, the power-on signal further includes a second power-on signal with an increasing duty cycle. By outputting a power-on signal with an increasing duty cycle, flexible power-on can be achieved, balancing startup speed and hardware safety.

[0106] Figure 4 This is an exemplary flowchart illustrating the determination of a second enable signal according to some embodiments of this specification. In some embodiments, process 400 may be executed by power management and load sharing system 200 or first controller 210. Process 400 includes steps 410-440.

[0107] Step 410: Before outputting the second turn-on signal to the physical power supply switch, obtain the input capacitor parameters of at least one peripheral module based on the module parameter table.

[0108] The input capacitance parameter refers to the capacitance characteristic parameters corresponding to the power input terminal of the peripheral module. For example, the input capacitance parameter may include the total capacitance value of the parallel capacitors at the power input terminal of the peripheral module.

[0109] In some embodiments, the first controller can obtain the input capacitor parameters of each peripheral module by querying a module parameter table. For a description of the module parameter table, see [link to module parameter table]. Figure 3 And its related descriptions.

[0110] Step 420: Based on the inlet capacitor parameters, determine the equivalent capacitive load connected to the controlled power rail.

[0111] Equivalent capacitive load refers to the combined capacitive load presented by all peripheral modules on the controlled power rail.

[0112] In some embodiments, the first controller can accumulate the input capacitance parameters of each peripheral module to obtain the equivalent capacitive load connected to the controlled power rail.

[0113] Step 430: Based on the equivalent capacitive load, determine the target duration of the continuous output of the second turn-on signal and the duty cycle increase curve corresponding to the second turn-on signal.

[0114] The target duration refers to the time it takes for the duty cycle of the second activation signal to increase from 0 to 100%.

[0115] A duty cycle increment curve describes the relationship between the duty cycle of the second activation signal and time. For example, the horizontal axis of the duty cycle increment curve represents multiple time points (or time intervals), and the vertical axis represents the duty cycle.

[0116] In some embodiments, the first controller can determine whether the equivalent capacitive load meets the delay condition. If the equivalent capacitive load does not meet the delay condition, the first controller uses a preset target duration as the target duration corresponding to the second activation signal, divides the target duration into multiple time points, and calculates the ratio of the total duty cycle increment (100%) to the number of multiple time points to obtain the duty cycle increment corresponding to each time point, thereby obtaining a duty cycle increment curve with linearly increasing duty cycle. The number of multiple time points can be the ratio of the target duration to a preset number. The preset number and preset target duration can be preset based on historical experience.

[0117] For example, the first controller can calculate the ratio of the target duration (e.g., 100ms) to the preset quantity (e.g., 100) to obtain the quantity of multiple time points (i.e., the interval between each time point is 1ms), and calculate the ratio of the total duty cycle increment (100%) to the quantity of multiple time points (e.g., 100) to obtain the duty cycle increment corresponding to each time point (e.g., 1%), thereby obtaining a duty cycle increment curve with linearly increasing duty cycle (e.g., the first time point corresponds to a duty cycle of 1%, the second time point corresponds to a duty cycle of 2%, ..., the 100th time point corresponds to a duty cycle of 100%).

[0118] A delay condition refers to a condition used to determine whether the target duration needs to be extended. In some embodiments, the delay condition may include an equivalent capacitive load not less than a preset load threshold. The preset load threshold may be pre-set based on historical experience.

[0119] It is understandable that if the equivalent capacitive load is less than the preset load threshold, it means that the current load of the controlled power rail is within a safe range. If the equivalent capacitive load is not less than the preset load threshold, it means that the current load of the controlled power rail exceeds the safe range, which may cause dangerous surges, etc.

[0120] In some embodiments, if the equivalent capacitive load meets the delay condition, the first controller may extend the target duration and configure the duty cycle increment curve as an exponential growth curve.

[0121] In some embodiments, the first controller can extend the preset target duration by a preset amount to obtain the target duration, divide the target duration into multiple time points, and call a preset exponential growth function to generate the duty cycle increment corresponding to each time point, thereby obtaining a duty cycle increment curve with exponentially increasing duty cycle. For example, the preset exponential growth function can be as shown in formula (1): (1) in, For the first At a certain point in time, For the first The duty cycle increment corresponding to each time point, parameter It can be preset based on historical experience.

[0122] An exponential growth curve describes the relationship between the duty cycle of the second turn-on signal and time, where the duty cycle increases exponentially. For example, an exponential growth curve can be used to describe the change in the duty cycle, which is slow in the early stages and then rises more rapidly in the later stages.

[0123] For example, the first controller can calculate the ratio of the target duration (e.g., 200ms) to a preset quantity (e.g., 100) to obtain the number of multiple time points (i.e., the interval between each time point is 2ms). The first controller inputs each time point into a preset exponential growth function to generate the duty cycle increment corresponding to each time point, thereby obtaining a duty cycle increase curve with exponentially increasing duty cycle.

[0124] Step 440: Determine the second activation signal based on the target duration and duty cycle increasing curve.

[0125] In some embodiments, the first controller can configure multiple time points obtained by dividing the target duration as the trigger period of the hardware timer (such as triggering an interrupt every 1ms), and after each hardware timer interrupt, increase the duty cycle by a duty cycle increment according to the duty cycle increment curve (linear increase of duty cycle or exponential increase of duty cycle) until the duty cycle is increased to 100%, and complete the output of the second enable signal.

[0126] In some embodiments, if the controlled power rail is divided into at least one physically isolated independent power domain, each independent power domain corresponds to a peripheral module and is configured with an independent physical power supply switch, the first controller can determine and output a second enable signal for each peripheral module corresponding to each independent power domain. For an explanation of outputting an enable signal for each peripheral module corresponding to each independent power domain, please refer to step 350 and its related description.

[0127] Some embodiments in this specification achieve flexible power-on under different hardware loads by adaptively adjusting the duty cycle increment of the power-on signal, thus balancing startup speed and hardware safety.

[0128] If the target peripheral module does not receive any new task execution instructions after completing the action, the actuator can return to the initial position or static equilibrium position (such as natural drooping). Therefore, in order to ensure that the actuator can return smoothly, the first controller can also determine the parameters of the actuator's return trajectory and send them to the target peripheral module together with the action execution instructions.

[0129] Figure 5 This is an exemplary schematic diagram illustrating the sending of action execution instructions according to some embodiments of this specification.

[0130] In some embodiments, the first controller can determine the zero potential energy posture 531 of the target peripheral module 560 and the safe retreat trajectory 532 of the target peripheral module 560 from the completed posture of the action execution command 550 to the zero potential energy posture based on the target position data 510 and the motion model 520. Based on the safe retreat trajectory 532, the target trajectory parameter 540 of the target peripheral module 560 is determined. The target trajectory parameter 540 and the action execution command 550 are encapsulated into the same data frame and sent to the target peripheral module 560 to instruct the target peripheral module 560 to control the actuator to move to the zero potential energy posture according to the target trajectory corresponding to the target trajectory parameter 540 before the actuator's drive signal is turned off.

[0131] For more information on target location data, target peripheral modules, action execution instructions, and actuators, please refer to [link / reference]. Figures 2 to 4 And its related descriptions.

[0132] A motion model is a model used to solve for zero-potential-energy attitude and safe retreat trajectory based on target position data. In some embodiments, the motion model may include an inverse kinematics model (such as a rigid body dynamics algorithm matrix) and a collision-free path generation model. The inverse kinematics model can be pre-inputted with the robot's link lengths and the center of mass data of each limb. The collision-free path generation model can be a mathematical computational model constructed using a collision-free path generation algorithm (such as fifth-order polynomial programming).

[0133] Zero potential energy attitude refers to the attitude in which the target peripheral module tends to be in equilibrium under the action of gravity, and the actuator output torque required to maintain this attitude is close to zero.

[0134] The safe retreat trajectory refers to the simulated motion path adopted by the target peripheral module when it moves from the completed attitude motion to the zero potential energy attitude.

[0135] In some embodiments, the first controller can input target position data (including spatial coordinates or attitude) into the inverse kinematics model to solve for the set of angles that make the sum of the torques of all joints of the robot (or actuator) zero or close to zero, and determine the attitude corresponding to the set of angles as the zero potential energy attitude. The first controller inputs the spatial coordinates in the target position data as the starting point and the zero potential energy attitude as the ending point into the collision-free path generation model to generate a safe retreat trajectory.

[0136] Target trajectory parameters refer to the set of parameters used to characterize the target trajectory and enable the target peripheral module to execute trajectory motion. For example, target trajectory parameters may include discrete sampling points, time series parameters, or curve coefficients. The target trajectory refers to the physical motion path of the actuator from a completed attitude motion to a zero potential energy attitude under the action of its own gravitational potential energy.

[0137] In some embodiments, the first controller may perform discrete sampling or curve equation fitting on the safe retreat trajectory to obtain the target trajectory parameters.

[0138] In some embodiments, the first controller can concatenate the action execution command and the target trajectory parameters into the same protocol load segment, generate a corresponding verification field, encapsulate them into the same data frame, and send them to the target peripheral module via the communication bus. Upon receiving the data frame, the target peripheral module first parses and executes the action execution command. After completing the target action and after a preset time has elapsed, the target peripheral module parses the target trajectory parameters in the data frame, controls the actuator to move to the zero potential energy posture according to the target trajectory corresponding to the target trajectory parameters, and shuts off the actuator's drive signal upon confirmation of arrival.

[0139] Some embodiments in this specification solve for the zero potential energy attitude and safe retreat trajectory first, and then send them to the target peripheral module in the same data frame. This allows the target peripheral module to complete attitude pre-adjustment before power failure, preventing the target peripheral module from suddenly falling due to gravity after power failure, thus protecting the mechanical structure and improving interaction safety.

[0140] In some embodiments, the first controller may also fit the safe retreat trajectory to a cubic spline curve, and determine the target trajectory parameters based on the polynomial coefficients corresponding to the cubic spline curve and the target safety angle corresponding to the zero potential energy attitude.

[0141] A cubic spline curve is a mathematical expression for a path fit, constructed from piecewise cubic polynomials and ensuring continuous and smooth first and second derivatives. The polynomial coefficients are the parameter matrix used to describe the shape of each segment of the cubic spline curve. A cubic spline curve can be represented by obtaining the polynomial coefficients of the cubic polynomials corresponding to multiple curve segments.

[0142] In some embodiments, the first controller arranges the path key points in the safe retreat trajectory in chronological order and extracts the coordinates and corresponding time of each path key point. The first controller uses the path between adjacent path key points as curve segments, establishes a cubic polynomial for each curve segment, and uses a polynomial fitting algorithm to solve for the polynomial coefficients of the cubic polynomial corresponding to each segment interval, thereby obtaining a cubic spline curve.

[0143] In some embodiments, the first controller can set a path key point at preset intervals on the safe retreat trajectory, and can also query an internally stored path library to determine the path key point corresponding to the current safe retreat trajectory. The path library can be pre-set based on historical experience and includes multiple safe retreat path templates containing path key points.

[0144] The target safety angle refers to the set of angles of all joints of the robot corresponding to the zero potential energy posture. The first controller can extract the target safety angle from the zero potential energy posture.

[0145] In some embodiments, the first controller reads the polynomial coefficients corresponding to each segment of the cubic spline curve and uses the target safety angle as the endpoint constraint term of the target trajectory to generate target trajectory parameters.

[0146] Some embodiments in this specification use cubic spline smoothing to characterize the safe retreat trajectory and constrain the endpoint position with the target safety angle, so that the target trajectory parameters take into account both continuity and docking boundaries, which facilitates subsequent stable tracking and reduces docking impact.

[0147] In some embodiments, a drive motor is provided inside the actuator. After the target peripheral module receives the target trajectory parameters, the second controller interpolates the target trajectory parameters to generate the target trajectory. During the process of the actuator moving to the zero potential energy posture according to the target trajectory, the second controller adjusts the duty cycle of the lower bridge arm switch of the drive motor in real time by comparing the deviation between the real-time running trajectory and the target trajectory, so as to short-circuit the stator coil of the drive motor. This utilizes the back electromotive force generated by the stator coil when the actuator moves under the action of gravity to form a short-circuit current, thereby generating an electromagnetic damping force that constrains the movement speed of the actuator.

[0148] It is understandable that the actuator moves to a zero potential energy state along the target trajectory under the action of its own gravitational potential energy. Therefore, the back electromotive force generated by the stator coil when the actuator moves under the action of gravity can be used to form a short-circuit current, thereby generating an electromagnetic damping force that constrains the speed of the actuator.

[0149] A motor drive bridge is a bridge circuit used to drive and control motors.

[0150] The lower bridge arm switch is a switching device used to control the conduction state of the lower bridge arm of the motor drive bridge.

[0151] Stator coils refer to the winding structure set on the stator of a motor.

[0152] Back electromotive force (EMF) refers to the induced electromotive force generated when the stator coil cuts magnetic lines of force during the rotation of an electric motor.

[0153] Short-circuit current refers to the current generated by the back electromotive force when a short circuit is formed in the stator coil.

[0154] Electromagnetic damping force refers to the braking force generated by the Ampere force acting on a short-circuit current in a magnetic field, which opposes motion.

[0155] In some embodiments, the second controller can acquire the real-time running trajectory (including real-time position value and real-time speed value) at the current moment through position sensors and speed sensors on the drive motor, and obtain the position deviation value and speed deviation value by subtracting the real-time position value and real-time speed value from the position value and speed value of the target trajectory at the current moment. The position deviation value and speed deviation value are then input into the proportional-integral-derivative (PID) control algorithm to calculate the required braking compensation amount, that is, to increase the duty cycle of the lower axle arm switch.

[0156] It is understandable that the actuator speed (falling speed) needs to be constrained only when the actual running trajectory is faster than the target trajectory. Therefore, it is necessary to increase the duty cycle of the lower bridge arm switch to short-circuit the stator coil at a higher frequency, thereby increasing the electromagnetic damping force generated by the short-circuit current formed by the back electromotive force.

[0157] Some embodiments in this specification use trajectory interpolation and duty cycle closed-loop adjustment to enable the actuator to generate controllable electromagnetic damping using back electromotive force during gravity descent, thereby smoothing deceleration and improving the accuracy and safety of reaching zero potential energy attitude.

[0158] In some embodiments, the first controller may also determine the safe energy threshold of the controlled power rail based on the equivalent capacitive load, the system rated voltage, and the component safety threshold; in the initial stage of the actuator moving according to the target trajectory, the control target peripheral module switches the motor drive bridge to boost feedback mode to convert the back electromotive force into a charging current and feed it back to the capacitor group of the controlled power rail; the real-time accumulated recovered energy integral of the target peripheral module is obtained, and when the recovered energy integral reaches the safe energy threshold, the control target peripheral module switches the motor drive bridge to energy consumption braking mode to use the back electromotive force to form a short-circuit current and generate electromagnetic damping force.

[0159] The system rated voltage refers to the standard operating voltage value in the controlled power rail design. The component safety threshold refers to the maximum voltage that the capacitor banks and other components on the controlled power rail are allowed to withstand. The system rated voltage and component safety thresholds can be pre-stored in the first controller. For an explanation of equivalent capacitive loads, see step 420 and its related description.

[0160] The safe energy threshold refers to the maximum energy that the capacitor bank on the controlled power rail can absorb.

[0161] In some embodiments, the first controller can calculate the square of the system rated voltage and the square of the component safety threshold, subtract the square of the system rated voltage from the square of the component safety threshold, and multiply the difference by half of the equivalent capacitive load as the safe energy threshold. The boost feedback mode refers to the motor drive bridge alternately driving the upper bridge arm switch and the lower bridge arm switch.

[0162] In some embodiments, during the initial phase of the actuator's movement along the target trajectory (e.g., from second 0 to second 1), the first controller can control the target peripheral module to switch the motor drive bridge to boost feedback mode, converting the back electromotive force into a charging current that is fed back to the capacitor bank of the controlled power rail. For example, the second controller alternately outputs PWM signals to drive the lower bridge arm switch to turn on (allowing the coil inductance to store energy generated by gravity) and the upper bridge arm switch to turn on (releasing the voltage above the controlled power rail as a freewheeling path), thereby stepping up the low-voltage back electromotive force to form a charging current that flows in reverse to the capacitor bank of the controlled power rail.

[0163] The recovered energy integral refers to the cumulative energy value obtained by the second controller performing time-domain integration on the product of the charging current and voltage of the capacitor group fed back to the controlled power rail.

[0164] The energy-saving braking mode refers to the motor drive bridge only driving the lower bridge arm switch to short-circuit the stator coil of the drive motor.

[0165] In some embodiments, the first controller can sample the charging current and voltage of the capacitor group fed back to the controlled power rail in real time through the second controller, and perform time-domain integration on the charging current and voltage to obtain the real-time recovered energy integral. When the recovered energy integral reaches the safe energy threshold, the first controller controls the target peripheral module to switch the motor drive bridge to the energy-consumption braking mode, using the back electromotive force to form a short-circuit current. The short-circuit current generates Joule heat on the stator coil resistance, thereby converting gravitational potential energy into heat energy dissipation. At the same time, the stator coil is subjected to electromagnetic damping force in the magnetic field, thereby constraining the actuator's operating speed (falling speed).

[0166] Some embodiments in this specification achieve active energy recovery by switching the operating mode of the motor drive bridge and prevent the risk of circuit breakdown caused by excessive feedback voltage.

[0167] In some embodiments, after receiving a data frame that does not contain target trajectory parameters, the target peripheral module autonomously triggers a hardware loop for monitoring back electromotive force after a preset timeout period. Based on the back electromotive force, it dynamically adjusts the duty cycle of the lower arm switch of the motor drive bridge of the drive motor until the back electromotive force meets the turn-off condition, and then automatically shuts off the drive signal of the actuator.

[0168] Understandably, when the first controller malfunctions, the communication bus is physically disconnected, or some data frames are lost, the data frames received by the target peripheral module may be empty or not contain target trajectory parameters. When the data frame does not contain target trajectory parameters, the target peripheral module will autonomously trigger a hardware loop to monitor the back electromotive force after the preset timeout period.

[0169] A hardware loop refers to a closed-loop circuit composed of hardware circuits that can independently perform monitoring functions.

[0170] The shutdown condition refers to the condition used to determine whether to shut down the actuator's drive signal. In some embodiments, the shutdown condition can be that the back electromotive force (EMF) is less than a back EMF threshold, which can characterize the back EMF when the actuator's operating speed approaches complete rest. The back EMF threshold can be preset based on historical experience.

[0171] In some embodiments, the second controller of the target peripheral module can look up the duty cycle mapping table based on the back EMF obtained from hardware loop monitoring to obtain the duty cycle of the lower bridge arm switch. When the monitored back EMF meets the turn-off condition, the actuator drive signal is automatically turned off. The duty cycle mapping table can be preset based on historical experience and includes multiple back EMFs and their corresponding duty cycles, wherein the higher the back EMF, the higher the corresponding duty cycle.

[0172] In some embodiments of this specification, when communication is abnormal, a purely hardware-level protection strategy can be provided by triggering a hardware loop and adjusting the duty cycle of the lower arm according to the back electromotive force, ensuring that the target peripheral module can always fall under control.

[0173] The simultaneous execution of multiple action execution instructions may cause the modular electronic device to power off and restart. To ensure the normal use of the modular electronic device, the first controller can also adjust the execution timing or operating parameters of the action execution instructions corresponding to multiple actions.

[0174] Figure 6 This is an exemplary flowchart illustrating the execution instructions for adjustment actions according to some embodiments of this specification. In some embodiments, process 600 may be executed by power management and load sharing system 200 or first controller 210. Process 600 includes steps 610-641 or 642.

[0175] Step 610: Obtain the multitrack task script for the modular electronic device.

[0176] A multitrack task script refers to a collection of task scripts that contain multiple parallel task tracks on the same timeline. For example, a multitrack task script may simultaneously contain audio playback task instructions and multiple action execution instructions. In some embodiments, the first controller may integrate task instructions received through the instruction input port to obtain a multitrack task script. See [link to instruction input port description] for details. Figure 1 And its related descriptions.

[0177] Step 620: Based on the multi-track task script and module parameter table, determine the predicted power when multiple actions are performed concurrently.

[0178] Predicted power refers to the power value obtained by predicting the total power required when multiple actions are executed concurrently. Multiple actions include actions corresponding to action execution instructions, as well as operations corresponding to audio playback task instructions or other function instructions. In some embodiments, predicted power may include predicted power at multiple moments during the concurrent execution of multiple actions, and is represented by a predicted power curve.

[0179] In some embodiments, the first controller can parse the timeline in the multi-track task script to obtain the total duration of the multi-track task script and identify the peripheral modules corresponding to multiple parallel tasks at the same moment within the total duration. It can then read the peak current and rated current of the corresponding peripheral module from the module parameter table. The first controller can calculate the peak power of the peripheral module by multiplying the peak current by the voltage on the controlled power rail, and calculate the rated power of the peripheral module by multiplying the rated current by the voltage on the controlled power rail. The total duration of the multi-track task script is the total duration of the parallel execution of multiple tasks.

[0180] In some embodiments, the first controller divides the total duration of the multi-track task script into multiple equally divided time slices (e.g., each time slice is 10ms). For each task in the multi-track task script, the first controller fills in the power consumption value (e.g., peak power for the start timestamp and rated power for the duration) in the corresponding time slice based on the task's start timestamp and duration. The first controller sums the power consumption values ​​(peak power or rated power) filled in multiple time slices to obtain the predicted power corresponding to each time slice, and connects the predicted powers corresponding to multiple time slices in chronological order to form a predicted power curve with the time slice as the horizontal axis and the predicted power as the vertical axis.

[0181] Step 630: Determine whether the predicted power meets the overload condition.

[0182] An overload condition refers to the condition corresponding to when the predicted power reaches or exceeds the ultimate carrying capacity of the power supply system. In some embodiments, the overload condition includes a time slice in the predicted power curve where the predicted power is greater than an overload threshold.

[0183] In some embodiments, the first controller may acquire power status information and determine an overload threshold based on the power status information.

[0184] Power status information refers to information used to characterize the current power supply capability and power supply status of a modular electronic device. For example, power status information may include the battery's current voltage, current temperature, current charge level, and cycle count. In some embodiments, the first controller can obtain power status information through a power management IC.

[0185] In some embodiments, the first controller can determine the current battery internal resistance by querying a battery mapping table based on the battery's current temperature, current charge level, and cycle count from the power state information. It then subtracts the system reset voltage from the current battery voltage and calculates the ratio of the difference to the current battery internal resistance to obtain the maximum allowable current that will not trigger a system restart. The first controller multiplies the maximum allowable current that will not trigger a system restart by the system reset voltage and deducts a safety margin (e.g., multiplying the product of the maximum allowable current and the system reset voltage by 20%) to obtain a power threshold. The battery mapping table can be pre-set based on historical experience and includes multiple sets of temperatures, charges, and cycle counts and their corresponding battery internal resistances.

[0186] The system reset voltage is the minimum supply voltage required for the core components of a modular electronic device (such as the first controller and the communication bus) to function properly. The system reset voltage can be stored in the first controller.

[0187] In some embodiments, the first controller can iterate through the predicted power corresponding to each time slice on the predicted power curve and determine whether there is a time slice where the predicted power is greater than the overload threshold. If there is a time slice where the predicted power is greater than the overload threshold (the predicted power meets the overload condition), the first controller executes step 641. If there is no time slice where the predicted power is greater than the overload threshold (the predicted power does not meet the overload condition), the first controller executes step 642.

[0188] Step 641: Adjust the execution timing or running parameters of the action execution instructions corresponding to multiple actions based on the load redistribution strategy.

[0189] Load redistribution strategy refers to a scheduling strategy that redistributes the power supply budget for multiple action execution commands when the predicted power meets overload conditions. The power supply budget refers to the power supply quota pre-allocated before power supply.

[0190] In some embodiments, the first controller can mark time slices on the predicted power curve that exceed an overload threshold as overload slices, extract all action execution instructions within the overload slices, and adjust the execution timing or operating parameters of the action execution instructions corresponding to multiple actions based on a load redistribution strategy. It is understood that modular electronic devices need to prioritize retaining functions that interact with or provide feedback to the user; therefore, audio playback task instructions or similar function instructions have the highest power supply priority, requiring adjustments to the execution timing or operating parameters of the action execution instructions to ensure power supply for audio playback task instructions or similar function instructions.

[0191] In some embodiments, the load redistribution strategy can be preset based on historical experience, including the priority of various action execution commands. For example, walking actions have a higher priority than limb swinging actions. The load redistribution strategy may also include a preset percentage reduction in the actuator's motion speed or acceleration, or a reduction in the step size of the actuator drive signal's duty cycle.

[0192] In some embodiments, the first controller can shift the start timestamp of the low-priority partial action execution instructions backward by a fixed step value (e.g., 50ms) or adjust the corresponding operating parameters, and regenerate the predicted power curve based on the reconstructed multi-track task script, and again determine whether there are time slices with predicted power greater than the overload threshold. If there are no time slices with predicted power greater than the overload threshold in the regenerated predicted power curve, the first controller encapsulates data frames according to the reconstructed multi-track task script and sends them to multiple target peripheral modules. If there are still time slices with predicted power greater than the overload threshold in the regenerated predicted power curve, the first controller shifts the start timestamp of the other low-priority partial action execution instructions or the action execution instructions with higher priority than the current low-priority instructions backward by a fixed step value or adjusts the corresponding operating parameters, and repeats the above verification process until there are no time slices with predicted power greater than the overload threshold in the regenerated predicted power curve.

[0193] In some embodiments, the first controller adjusts the operating parameters of the action execution command by: reducing the motion speed and acceleration of the actuator by a preset ratio, or reducing the upper limit of the duty cycle of the actuator's drive signal, etc.

[0194] In some embodiments, after adjusting the execution timing or operating parameters of the action execution instructions corresponding to multiple actions based on the load redistribution strategy, the first controller redetermines the predicted power. In response to the predicted power still meeting the overload condition, the first controller may also prioritize allocating the power supply budget to the first controller and the instruction input port, and cancel non-core actions, reduce the concurrent overlap of multiple actions and audio tracks, or adjust the operating parameters of the action execution instructions corresponding to multiple actions during audio track playback.

[0195] Non-core actions refer to actions that can be eliminated relative to the core functions of modular electronic devices. Examples include limb swinging movements and other actions that assist in adjusting posture.

[0196] An audio track refers to a task process in a multitrack task script that carries out audio playback tasks.

[0197] Concurrency overlap refers to the degree or proportion of overlap between different tasks executing simultaneously in the time dimension.

[0198] In some embodiments, the first controller may lock the power supply budget of the first controller and the instruction input port, then cancel non-core actions (delete the action execution instructions corresponding to the non-core actions), reduce the concurrent overlap of multiple actions and audio tracks, or adjust the running parameters of the action execution instructions corresponding to multiple actions during audio track playback.

[0199] In some embodiments, the first controller can shift the start timestamps of multiple high-power actions backward by a fixed step value (e.g., 50ms) to reduce the concurrent overlap of multiple high-power actions and audio tracks. A high-power action can be an action in which the peak power of the peripheral module performing the action exceeds a preset power threshold. The preset power threshold is pre-set based on historical experience.

[0200] In some embodiments, the first controller may also rearrange the execution order of multiple high-power actions so that the multiple high-power actions are executed sequentially, thereby achieving that only a small number of high-power actions overlap with the audio track at the same time.

[0201] Some embodiments in this specification, by locking the power supply budget of the first controller and the instruction input port, canceling non-core actions, reducing the concurrent overlap of actions and audio tracks, or adjusting the running parameters of the action execution instructions corresponding to multiple actions during audio track playback, can ensure the stability of the main control logic and interactive audio while sacrificing some peripheral performance, thus preventing system crashes.

[0202] Step 642: Do not adjust the execution timing or running parameters of the action execution instructions corresponding to multiple actions.

[0203] Some embodiments in this specification can proactively avoid voltage drops and system power failures and restarts caused by concurrent actions of multiple modules by power assessment and adjusting the execution timing or operating parameters of action execution instructions corresponding to multiple actions.

[0204] This specification also provides a power management and load distribution device, which includes at least one controller and at least one memory. The at least one memory is used to store computer instructions, which can be organized into functional modules such as module parameter management program, idle state determination program, physical power-off control program, wake-up and action generation program, flexible power-on program, power prediction program, and load redistribution program. The at least one controller is used to execute at least some of the computer instructions to implement the power management and load distribution method described in this specification.

[0205] It should be noted that the above descriptions of processes 300, 400, and 600 are for illustrative purposes only and do not limit the scope of this specification. Those skilled in the art can make various modifications and changes to processes 300, 400, and 600 under the guidance of this specification. However, these modifications and changes remain within the scope of this specification.

[0206] Some embodiments of this specification also provide a computer-readable storage medium storing computer instructions. When a computer reads the computer instructions from the storage medium, the computer executes the power management and load distribution methods described in the embodiments of this specification.

[0207] The basic concepts have been described above. Obviously, for those skilled in the art, the detailed disclosure above is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and corrections to this specification. Such modifications, improvements, and corrections are suggested in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.

[0208] Furthermore, this specification uses specific terms to describe embodiments thereof. For example, "an embodiment," "one embodiment," and / or "some embodiments" refer to a particular feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "an embodiment," "one embodiment," or "an alternative embodiment" in different locations throughout this specification do not necessarily refer to the same embodiment. Moreover, certain features, structures, or characteristics in one or more embodiments of this specification can be appropriately combined.

[0209] Similarly, it should be noted that, in order to simplify the description disclosed herein and thus aid in the understanding of one or more embodiments of the invention, the foregoing description of embodiments in this specification may sometimes combine multiple features into a single embodiment, drawing, or description thereof. However, this method of disclosure does not imply that the subject matter of this specification requires more features than those mentioned in the claims. In fact, the embodiments contain fewer features than all the features of a single embodiment disclosed above.

[0210] Finally, it should be understood that the embodiments described in this specification are merely illustrative of the principles of the embodiments described herein. Other variations may also fall within the scope of this specification. Therefore, alternative configurations of the embodiments described herein are intended to be illustrative rather than limiting, and should be considered consistent with the teachings of this specification. Accordingly, the embodiments described herein are not limited to those explicitly introduced and described herein.

Claims

1. A power management and load distribution method, characterized in that, The method is executed by a first controller on a modular electronic device, the first controller being connected to at least one peripheral module via a communication bus, wherein a physical power supply switch controlled by the first controller is connected in series on a controlled power rail of the communication bus, and the method includes: Update the module parameter table stored in the modular electronic device based on the device descriptor obtained from the at least one peripheral module; The activity status information of the modular electronic device is obtained, and the current status of the modular electronic device is determined, including the idle candidate status; In response to the duration of the idle candidate state satisfying the power-off condition, a shutdown signal is output to the physical power supply switch to physically cut off the power supply of the controlled power rail to the at least one peripheral module. In response to receiving a wake-up command, based on the wake-up command and the module parameter table, the target action parameters of the target peripheral module in the at least one peripheral module are determined and an action execution command is generated; An enable signal is output to the physical power switch to restore the power supply of the controlled power rail to the at least one peripheral module. The enable signal includes a first enable signal with a fixed duty cycle. The action execution command is sent to the target peripheral module to control the second controller of the target peripheral module to drive the actuator of the target peripheral module to perform the target action; wherein, if the target peripheral module does not receive a new action execution command within a preset time after completing the target action, the drive signal of the actuator is automatically turned off.

2. The method according to claim 1, characterized in that, The module parameter table includes a device identifier for at least one peripheral module, and the method further includes: Before outputting the shutdown signal to the physical power supply switch, a peripheral interface topology is generated based on the module parameter table, and a mapping tree between the peripheral interface topology and the device identifier is generated. After the controlled power rail restores power to the at least one peripheral module, at preset intervals, a unicast naming instruction is sent to the target peripheral module via the communication bus in depth-first order of the mapping tree, and confirmation information is received from the target peripheral module. The unicast naming instruction includes the device identifier of the target peripheral module.

3. The method according to claim 1, characterized in that, The activation signal further includes a second activation signal with an increasing duty cycle, and the method further includes: Before outputting the second turn-on signal to the physical power supply switch, the input capacitor parameters of the at least one peripheral module are obtained based on the module parameter table; Based on the inlet capacitance parameters, the equivalent capacitive load connected to the controlled power rail is determined; Based on the equivalent capacitive load, the target duration for continuously outputting the second activation signal and the duty cycle increment curve corresponding to the second activation signal are determined; wherein, if the equivalent capacitive load meets the delay condition, the target duration is extended, and the duty cycle increment curve is configured as an exponential growth curve. The second activation signal is determined based on the target duration and the duty cycle increase curve.

4. The method according to claim 1, characterized in that, The action execution command includes target location data, and sending the action execution command to the target peripheral module includes: Based on the target position data, the zero potential energy attitude of the target peripheral module is determined by solving the motion model, and the safe retreat trajectory of the target peripheral module from the completed attitude of the action execution command to the zero potential energy attitude is determined. Based on the safe retreat trajectory, the target trajectory parameters of the target peripheral module are determined; The target trajectory parameters and the action execution command are encapsulated into the same data frame and sent to the target peripheral module to instruct the target peripheral module to control the actuator to move to the zero potential energy posture according to the target trajectory corresponding to the target trajectory parameters before the actuator's drive signal is turned off.

5. The method according to claim 1, characterized in that, The method further includes: Obtain the multitrack task script of the modular electronic device; Based on the multitrack task script and the module parameter table, the predicted power for multiple concurrent actions is determined. In response to the predicted power meeting the overload condition, the execution timing or operating parameters of the action execution instructions corresponding to the multiple actions are adjusted based on the load redistribution strategy.

6. The method according to claim 5, characterized in that, The method further includes: After adjusting the execution timing or operating parameters of the action execution instructions corresponding to the multiple actions based on the load redistribution strategy, the predicted power is redetermined; In response to the predicted power still meeting the overload condition, the power supply budget is preferentially allocated to the first controller and the instruction input port, and non-core actions are canceled, the concurrent overlap of the multiple actions and audio tracks is reduced, or the operating parameters of the action execution instructions corresponding to the multiple actions are adjusted during the playback of the audio tracks.

7. A power management and load distribution system, characterized in that, The system includes a first controller, a communication bus, and at least one peripheral module. The first controller is connected to the at least one peripheral module via the communication bus. A physical power supply switch controlled by the first controller is connected in series on the controlled power rail of the communication bus. The first controller is configured to: Update the module parameter table stored in the modular electronic device based on the device descriptor obtained from the at least one peripheral module; The activity status information of the modular electronic device is obtained, and the current status of the modular electronic device is determined, including the idle candidate status; In response to the duration of the idle candidate state satisfying the power-off condition, a shutdown signal is output to the physical power supply switch to physically cut off the power supply of the controlled power rail to the at least one peripheral module. In response to receiving a wake-up command, based on the wake-up command and the module parameter table, the target action parameters of the target peripheral module in the at least one peripheral module are determined and an action execution command is generated; An enable signal is output to the physical power switch to restore the power supply of the controlled power rail to the at least one peripheral module. The enable signal includes a first enable signal with a fixed duty cycle. Send the action execution command to the target peripheral module to control the second controller of the target peripheral module to drive the actuator of the target peripheral module to execute the target action; The target peripheral module is configured to automatically shut off the actuator's drive signal if it does not receive a new action execution instruction within a preset time period after completing the target action.

8. The system according to claim 7, characterized in that, The module parameter table includes a device identifier for at least one peripheral module, and the first controller is further configured to: Before outputting the shutdown signal to the physical power supply switch, a peripheral interface topology is generated based on the module parameter table, and a mapping tree between the peripheral interface topology and the device identifier is generated. After the controlled power rail restores power to the at least one peripheral module, at preset intervals, a unicast naming instruction is sent via the communication bus in depth-first order of the mapping tree, and confirmation information returned by the target peripheral module is received. The unicast naming instruction includes the device identifier of the target peripheral module.

9. A power management and load distribution device, characterized in that, The device includes at least one controller and at least one memory; The at least one memory is used to store computer instructions; The at least one controller is used to execute at least a portion of the computer instructions to implement the method of any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that, The storage medium stores computer instructions. When the computer reads the computer instructions from the storage medium, the computer executes the method as described in any one of claims 1 to 6.