Four-wheel four-rotation inspection robot motion control method, system and equipment and medium
By employing multi-mode adaptive decision-making and MPPI optimized control, the challenge of high-precision control for four-wheeled, four-rotor robots in data center environments was solved, achieving smooth trajectory tracking, enhanced mobility and stability, and providing real-time and robust support.
Patent Information
- Application Number
- CN202511401414.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-28
- Publication Date
- 2026-02-10
AI Technical Summary
Robots with a four-wheel, four-turn structure face significant challenges in achieving high-precision control in the complex environment of data centers. Existing control methods suffer from high computational demands, slow response times, and susceptibility to jitter or collisions, making it difficult to balance trajectory tracking accuracy, real-time performance, and robustness.
Multi-mode adaptive decision-making and model predictive path integral (MPPI) optimization control are adopted. The motion mode is determined through environmental context analysis and rule engine, the corresponding MPPI parameter configuration is loaded, the robot body velocity command is generated, and inverse kinematic mapping and fault tolerance processing are performed before output to the actuator.
It significantly improves the robot's motion performance in the complex environment of data centers, enables smooth high-speed trajectory tracking, enhances maneuverability and stability, avoids collisions and slippage, and ensures real-time performance and robustness.
Smart Images

Figure CN121500957A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robotics technology, specifically relating to a motion control method, system, equipment, and medium for a four-wheeled, four-rotation inspection robot. Background Technology
[0002] In data center environments, aisles are narrow and obstacles are numerous, requiring robots to have a small turning radius to avoid collisions with server racks or cables. Compared to traditional two-wheel differential or four-wheel drive systems, four-wheel four-turn structures enable more flexible omnidirectional movement and on-the-spot turning, making them suitable for navigating in confined environments.
[0003] Robots with a four-wheel, four-rotor structure possess omnidirectional mobility, but their multi-degree-of-freedom and strongly coupled kinematic characteristics increase the difficulty of high-precision control. Existing control methods are mostly based on simplified models or traditional PID and MPC algorithms, which suffer from problems such as high computational load, response lag, and susceptibility to jitter or collisions in complex dynamic environments, making it difficult to simultaneously meet the requirements of trajectory tracking accuracy, real-time performance, and robustness. Summary of the Invention
[0004] In view of the above-mentioned shortcomings of the prior art, the present invention provides a motion control method, system, device and medium for a four-wheeled, four-rotation inspection robot to solve the above-mentioned technical problems.
[0005] In a first aspect, the present invention provides a motion control method for a four-wheeled, four-rotation inspection robot, comprising: Based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, the applicable motion mode is determined through environmental context analysis and rule engine; the motion mode includes, but is not limited to, one of the following: Ackerman mode, omnidirectional mode, ramp mode, and safety mode. Load the corresponding MPPI parameter configuration according to the motion mode; run the MPPI algorithm, obtain multiple predicted trajectories through random sampling and forward simulation, and perform weighted optimization on the multiple predicted trajectories to generate the robot's body speed command; Based on the motion mode, the corresponding inverse kinematics mapping relationship is selected, and the machine speed command is decomposed into the steering angle and speed commands of the four wheels. After fault tolerance and load balancing processing, the commands are output to the actuator.
[0006] In one optional implementation, based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, the applicable motion mode is determined through environmental context analysis and a rule engine, including: Based on the local cost map, the distances to the nearest obstacles on the left and right sides of the fan-shaped area in front of the robot are calculated. Based on the comparison between the minimum channel width and a preset threshold, it is determined whether the robot is in a narrow channel environment. Based on the global path, extract the sequence of forward path points and calculate the path curvature. Based on the comparison between the curvature and a preset curvature threshold, determine whether the environment is a curve. Based on the pitch angle data in the robot's global pose, the system determines whether the robot is in a slope environment by comparing its absolute value with a preset slope threshold. The above environmental context analysis results are input into a rule engine, which outputs the final motion mode instruction based on preset decision logic; wherein, the decision logic includes at least: if in a ramp environment, output ramp mode; if in a narrow passage and high curvature curve environment, output omnidirectional mode; if in a narrow passage and gentle curve environment, output Ackerman mode.
[0007] In an optional implementation, the method further includes predefining different MPPI cost function weight sets and dynamic models for different motion modes, including: The Ackerman mode is configured with a first weight set, in which the smoothness cost is given a higher weight than that of the omnidirectional mode, and uses a bicycle model as the dynamic model for its forward sampling. The omnidirectional mode is configured with a second weight set, in which the trajectory tracking cost is given a higher weight than that of the Ackerman mode, and uses an omnidirectional kinematic model as its forward sampling dynamic model. The ramp mode is configured with a third weight set, in which the weight of the input cost is increased to limit the motor torque to prevent slippage, and an extended dynamics model including ramp dynamics compensation is used. The safe mode is configured with a fourth weight set, in which the maximum permissible speed and acceleration constraints are significantly reduced.
[0008] In an optional implementation, the corresponding MPPI parameter configuration is loaded according to the motion mode, including: Based on the currently applicable motion mode, load the corresponding weight set and simplified dynamic model for use by the MPPI algorithm.
[0009] In one optional implementation, the MPPI algorithm is run to obtain multiple predicted trajectories through random sampling and forward simulation, and the multiple predicted trajectories are weighted and optimized to generate the robot's body velocity commands, including: Generate an initial control input sequence, and based on the current robot state and the simplified dynamic model being loaded, perform parallel random sampling on this sequence to generate K perturbation-added control sequences; Using the simplified dynamics model, forward simulation is performed on each perturbation control sequence to predict the corresponding state sequence, thereby obtaining K predicted trajectories; Calculate the total cost value for each predicted trajectory based on the loaded cost function weight set; An optimization strategy based on exponential weighted average is adopted to process the total cost value of all predicted trajectories, calculate the optimal control sequence, and use its first term as the final body speed command output.
[0010] In an optional implementation, an initial control input sequence is generated, including: In the first control cycle, an initial control input sequence in which all control variables are zero is generated; In each subsequent control cycle, the optimal control sequence obtained by MPPI weighted optimization in the previous control cycle is used as the initial control input sequence for the current cycle.
[0011] In an optional implementation, a corresponding inverse kinematics mapping relationship is selected according to the motion mode to decompose the body speed command into steering angle and speed commands for the four wheels. After fault-tolerant and load-balancing processing, the commands are output to the actuator, including: If the current motion mode is omnidirectional, then the general inverse kinematics formula based on wheel center velocity decomposition is used to calculate the independent steering angle and rotational speed of each wheel in the computer body coordinate system. If the current motion mode is Ackerman mode, an optimized mapping relationship based on Ackerman steering geometry is used to calculate a virtual front wheel steering angle, and the speed difference between the left and right wheels is derived accordingly to cover the calculation results of the general inverse kinematics formula and reduce tire slippage. After receiving the initial steering angle and speed commands for each wheel, load balancing and thermal management fault tolerance processing are performed based on the motor temperature and bus current data fed back by the actuator. The processing includes: derating motor commands with excessively high temperatures and balancing torque distribution for motors with excessive loads.
[0012] Secondly, the present invention provides a motion control system for a four-wheeled, four-rotation inspection robot, comprising: The mode determination module is used to determine the applicable motion mode based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, through environmental context analysis and rule engine; the motion mode includes, but is not limited to, one of the following: Ackerman mode, omnidirectional mode, ramp mode, and safety mode; The instruction calculation module is used to load the corresponding MPPI parameter configuration according to the motion mode; run the MPPI algorithm to obtain multiple predicted trajectories through random sampling and forward simulation, and perform weighted optimization on the multiple predicted trajectories to generate the robot's body speed instruction; The instruction mapping module is used to select the corresponding inverse kinematics mapping relationship according to the motion mode, decompose the body speed command into the steering angle and speed commands of the four wheels, and output them to the actuator after performing fault tolerance and load balancing processing.
[0013] Thirdly, a device is provided, comprising: The memory is used to store the motion control program for the four-wheeled, four-rotation inspection robot; The processor is configured to implement the steps of the four-wheel, four-rotation inspection robot motion control method as provided in the first aspect when executing the motion control program for the four-wheel, four-rotation inspection robot.
[0014] Fourthly, a computer-readable medium is provided, on which a motion control program for a four-wheeled, four-rotation inspection robot is stored. When the motion control program for the four-wheeled, four-rotation inspection robot is executed by a processor, it implements the steps of the motion control method for the four-wheeled, four-rotation inspection robot provided in the first aspect.
[0015] The beneficial effects of this invention are as follows: the four-wheeled, four-rotation inspection robot motion control method, system, equipment, and medium provided by this invention, through the combination of multi-mode adaptive decision-making and MPPI optimized control, significantly improve the robot's motion performance in the complex environment of data centers. Its beneficial effects are: first, it achieves smooth, high-speed trajectory tracking in various scenarios such as narrow passages, curves, and ramps, greatly improving inspection efficiency; second, through precise mapping and fault-tolerant control of the four-wheeled, four-rotation structure, it enhances the robot's maneuverability and stability, effectively avoiding collisions and slippage; and third, the adoption of a hierarchical parallel computing architecture ensures the real-time performance and robustness of the control system, providing reliable technical support for intelligent operation and maintenance of data centers. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a schematic flowchart of a method according to an embodiment of the present invention.
[0018] Figure 2 This is a schematic block diagram of a system according to an embodiment of the present invention.
[0019] Figure 3 This is a schematic diagram of the structure of a device provided in an embodiment of the present invention. Detailed Implementation
[0020] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.
[0021] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.
[0022] The key terms used in this invention will be explained below.
[0023] Model Predictive Path Integral (MPPI) is a sampling-based control strategy suitable for high-dimensional, nonlinear, and complex control systems. It simulates the trajectories of multiple control inputs, calculates the cost of each trajectory, and uses a weighted averaging method to select the optimal control input. MPPI is an approximate dynamic programming (ADP) method, particularly well-suited for real-time control applications.
[0024] The motion control method for the four-wheeled, four-rotation inspection robot provided in this embodiment of the invention is executed by a computer device, and correspondingly, the motion control system for the four-wheeled, four-rotation inspection robot runs in the computer device.
[0025] Figure 1 This is a schematic flowchart illustrating a method according to an embodiment of the present invention. Wherein, Figure 1 The executing entity can be a motion control system for a four-wheeled, four-rotation inspection robot. Depending on different requirements, the order of steps in this flowchart can be changed, and some steps can be omitted.
[0026] like Figure 1 As shown, the method includes: S1. Based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, determine the currently applicable motion mode through environmental context analysis and rule engine; the motion mode includes, but is not limited to, one of the following: Ackerman mode, omnidirectional mode, ramp mode, and safety mode; S2. Load the corresponding MPPI parameter configuration according to the motion mode; run the MPPI algorithm, obtain multiple prediction trajectories through random sampling and forward simulation, and perform weighted optimization on the multiple prediction trajectories to generate the body speed command of the robot; S3. Select the corresponding inverse kinematics mapping relationship according to the motion mode, decompose the body speed command into the steering angle and rotational speed commands of the four wheels, and output them to the actuator after fault tolerance and load balancing processing.
[0027] In an embodiment of the present invention, based on step S1, a possible embodiment will be given below to non-restrictively elaborate on its specific implementation scheme.
[0028] S201. Specific implementation of environmental context analysis The environmental context analysis module receives data from the task planning system and each sensor, and analyzes the environmental characteristics where the robot is located in real time through the following steps: Narrow passage environment judgment: Project lidar or depth camera data in a fan-shaped area in the forward direction of the robot with the current positioning point as the center (for example, the opening angle is 120° and the detection distance is 5 meters). Calculate the distances left_dist and right_dist of the nearest obstacles on the left and right respectively. Take the minimum value min_width of the two. Compare min_width with the preset narrow passage threshold threshold_narrow (for example, set as the robot width plus a safety margin of 0.3 meters). If min_width < threshold_narrow, it is determined that the current is in a narrow passage environment.
[0029] Curve environment judgment: Extract the sequence of path points within a certain distance (for example, the next 3 meters) in front of the current pose from the global path. Use the three-point curvature estimation algorithm (such as, take three consecutive points P1, P2, P3, and calculate the reciprocal of the circumradius of the triangle as the curvature k of point P2) or the least squares method to fit an arc to estimate the path curvature. After traversing and calculating the curvature of each point in the sequence, take its maximum value k max Compare with the preset curve curvature threshold threshold curve If k max > threshold curve , it is determined that the current is in a high-curvature curve environment; if k max is between another lower threshold, it is determined as a gentle curve environment.
[0030] Slope environment judgment: Obtain the pitch angle data θ of the robot from the IMU unit of the robot pitch . Calculate its absolute value |θ pitch | and compare it with the preset slope threshold thresholdslope (For example, 5°) for comparison. If |θ pitch |>threshold slope If so, it is determined that the current environment is a slope.
[0031] S202. Specific Implementation of the Rule Engine Decision Logic The rule engine receives the environmental analysis results above and optionally the actuator status (such as a motor overheating flag), operating as a rule-based expert system. Its core decision-making logic is implemented through conditional statements as shown in the following pseudocode: if executor_status.overheat_flag == True: return SAFE_MODE# Safety priority, enter degraded security mode. elif is_on_slope == True:# i.e. |θ pitch |>threshold slope return SLOPE_MODE elif is_in_dead_zone == True: # Dead zone detection; if there is a dead end ahead and you need to turn around. return POINT_TURN_MODE elif is_in_narrow_channel == True:# i.e. min width <threshold_narrow if curvature_status == HIGH CURVATURE :# means k max >threshold_curve return OMNI_MODE# Omnidirectional mode to navigate sharp turns with the minimum turning radius. else: return ACKERMANN_MODE# Ackermann mode navigates gentle curves more efficiently. else: return ACKERMANN_MODE# The default setting is to use Ackermann mode on wide straightaways. Finally, the rules engine outputs an enumerated type of motion mode instruction (such as ACKERMANN_MODE) and passes it to the lower-level controller.
[0032] In one embodiment of the present invention, based on step S2, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0033] S201. Predefined MPPI parameter configuration To achieve optimal performance across different motion modes, a dedicated set of MPPI parameters must be pre-configured for each mode and stored in a configuration file. Core configurations include: Ackerman Mode: Dynamics Model: A kinematic bicycle model is used for efficient forward sampling. The model is defined as follows:
[0034]
[0035]
[0036]
[0037] Where (x, y) are the world coordinates of the robot's rear axle center, ψ is the heading angle, v is the vehicle speed, and L is the wheelbase. The control input u = [a,δ], where a is the acceleration and δ is the front wheel steering angle.
[0038] Cost function weight set (first weight set): configured as [W track W obs W smooth W input ] = [0.7, 0.8, 1.2, 0.5]. Where W smooth The high smoothness weight is designed to suppress sudden changes in steering and acceleration at high speeds, thereby improving driving stability.
[0039] Omnidirectional mode (OMNI_MODE): Dynamics model: An omnidirectional kinematic model is adopted. This model more naturally matches the control of a four-wheel, four-turn structure.
[0040]
[0041]
[0042] in, , These are the longitudinal and lateral velocities in the body coordinate system. Angular velocity. Control input u=[v x ,v y,ω].
[0043] Cost function weight set (second weight set): configured as [0.9, 0.8, 0.6, 0.5]. Where W... track (Trajectory tracking weight) is the highest, ensuring accurate path tracking in narrow curves.
[0044] SLOPE_MODE: Dynamics Model: An extended bicycle model incorporating slope dynamics compensation is used. Based on the bicycle model, slope resistance is introduced into the acceleration term.
[0045] Where g is the acceleration due to gravity. Here, is the pitch angle (slope angle) from the IMU, and C is the rolling resistance coefficient. This model can more accurately predict the robot's behavior on ramps.
[0046] Cost function weight set (third weight set): configured as [0.7, 0.9, 0.7, 1.5]. This significantly improves W. input (Input cost weight) to penalize large acceleration and torque commands, preventing motor overload and tire slippage from the control level.
[0047] Safe Mode (SAFE_MODE): Dynamic model: can be the same as the Ackermann model.
[0048] Parameter configuration (fourth weight set): Cost weights do not need to be changed, but control constraints need to be significantly reduced. For example, the maximum speed v... max The maximum acceleration a decreases from 1.5 m / s² to 0.3 m / s². max From 2.0 m / s 2 Reduced to 0.5 m / s 2 In order to achieve safe operation under downgrade conditions.
[0049] S202. Load MPPI parameter configuration In each control cycle (e.g., 50ms), the central controller receives the motion mode command Active from the upper-level decision-maker. Mode According to this instruction, the controller indexes and loads the corresponding dynamic model parameters and cost function weight set from the preset configuration file into the MPPI algorithm module, thereby realizing the adaptive switching of the control strategy.
[0050] S203. Run the MPPI algorithm to generate control commands. The MPPI algorithm operates in each control cycle according to the following steps: Initialization and sampling: In the first control cycle, an initial control sequence U0 = [u0, u1, ..., u] is generated, where all control variables are zero. T-1 ] = 0.
[0051] In subsequent cycles, a "hot start" strategy is adopted: the optimal control sequence U obtained from the previous cycle is used. * prev The initial sequence U0 is used for the current period.
[0052] Based on U0, K (e.g., 2000) perturbation control sequences U are generated in parallel by adding random perturbation δu (sampled from a Gaussian distribution).
[0053] Forward simulation: For each disturbance control sequence U, a forward simulation is performed using the simplified dynamic model f loaded in S202, predicting the state sequence τ = [x0, x1, ..., x] for the next T steps starting from the current state x0. T This yields a predicted trajectory.
[0054] Cost Calculation: For each predicted trajectory τ, its total cost S(τ) is calculated based on the cost function weight set loaded in S202. The total cost typically consists of multiple weighted sub-costs:
[0055] Where φ(·) represents the terminal cost. This refers to trajectory tracking error (such as positional deviation from the reference trajectory). The obstacle distance cost (e.g., exp(-α * distance)). Rate of change of the penalty control quantity The magnitude of punishment control.
[0056] Weighted optimization: An exponentially weighted average strategy is used to calculate the optimal control input. :
[0057] Where λ is the temperature parameter. This is the first control input for the k-th perturbation sequence. Ultimately, it will... The machine speed command for this control cycle [v] x * ,v y * ,ω * Output.
[0058] In one embodiment of the present invention, based on step S3, the following will provide a possible embodiment and describe its specific implementation in a non-limiting manner.
[0059] The following provides a detailed description of the specific implementation of the kinematic mapping and fault-tolerant execution layer in this invention. This layer receives the body velocity commands from the middle layer. Together with the upper-level motion mode instruction Active_Mode, it ultimately outputs control commands for the four wheels.
[0060] S301. Specific implementation of inverse kinematics solution The inverse kinematics solution module selects the corresponding algorithm based on different motion modes to decompose the body velocity command into independent control quantities for the four wheels.
[0061] General calculation in omnidirectional mode: When Active_Mode == OMNI_MODE, the general inverse kinematics formula based on wheel center velocity decomposition is used for calculation. For a four-wheeled, four-rotation robot, its four wheels are symmetrically arranged. Taking the i-th wheel as an example (i=1,2,3,4), its expected steering angle is... and rotational speed Calculate using the following formula:
[0062]
[0063]
[0064]
[0065]
[0066] in,( , ) is the coordinate of the center of the i-th wheel in the robot's body coordinate system, and R is the wheel radius. , , It is the body speed command output by the mid-level MPPI controller. , This is the desired velocity component of the i-th wheel in the body coordinate system. This formula provides decoupled control for all wheels, enabling true omnidirectional movement.
[0067] Optimized mapping in Ackermann mode: When Active_Mode == ACKERMANN_MODE, in order to reduce tire slippage and improve energy efficiency, an optimized mapping relationship based on Ackermann steering geometry is used to cover the results of the above general formula.
[0068] Calculate the virtual front wheel angle: transfer the machine motion command [ , This is converted into a virtual front wheel steering angle δ. Assuming the robot conforms to a bicycle model, its steering geometry satisfies:
[0069] Where L is the robot's equivalent wheelbase.
[0070] Calculate the speed difference between the left and right wheels: based on δ and Calculate the expected rotational speeds of the left and right wheels. For the two wheels on one side, their rotational speeds can be approximated as equal. Therefore, the speed of the left wheel is... and right wheel speed for:
[0071]
[0072] Where T is the wheel track.
[0073] Override the general formula result: the front wheel steering angle calculated using the general formula. , Forced to be set to δ, rear wheel steering angle , Forced to 0. Simultaneously, replace the wheel speed calculated using the general formula with the speed calculated using the above formula. and This makes the robot's movement closer to traditional Ackerman steering, effectively reducing tire slippage.
[0074] S302. Specific Implementation of Fault Tolerance and Load Balancing Processing After receiving the initial instructions for each round , Then, the system makes dynamic adjustments based on real-time data fed back from the actuator.
[0075] Instruction smoothing and limiting: To prevent sudden changes in instructions from impacting the actuator, theoretical instructions need to be smoothed and physically limited.
[0076] Steering angle smoothing: Perform a first-order low-pass filter on the steering angle command.
[0077]
[0078] Where α is the filter coefficient (0 < α ≤ 1). This is the final angle command sent to the servo in the previous control cycle. This operation can effectively smooth steering movements and avoid jitter.
[0079] Physical limiting: Limiting the filtered angle and calculated rotational speed within the physical limits of its actuator.
[0080]
[0081]
[0082] Where, clamp is the limiting function, θ min and θ max n is the mechanical limit of the steering angle. min and n max This represents the limit of the motor's speed.
[0083] Thermal management fault tolerance: Monitoring the temperature T of each motor i A preset temperature threshold T is set for each motor. derate (e.g., 75°C) and T max (e.g., 85°C).
[0084] If T i >T derate Then calculate a reduction factor, scale. i (For example, linearly reduce from 1.0 to 0) and derate the speed command for the motor.
[0085]
[0086] If T i >= T max If the fault is detected, a fault flag should be immediately reported, and the motor speed command should be sent. Set to 0.
[0087] Load balancing processing: Monitoring the bus current I of each motor i (Its value is proportional to the motor's output torque). Calculate the average current I. avg .
[0088] If I i Consistently significantly higher than I avg (For example, I) i >1.5 * I avg If the motor is overloaded, then the motor is considered to be overloaded.
[0089] Optimization strategy: By fine-tuning the steering angle of each wheel, the resultant force of the driving force remains in the same direction but is distributed more evenly. For example, slightly reducing the steering angle of the overload motor. (Adjust by a small increment Δθ), and accordingly adjust the rotation angle of the other motors, thereby transferring some of the load to the lighter-loaded motor. The angle after this adjustment is denoted as... .
[0090] After all the above processing, the final, safe-to-execute command is obtained:
[0091]
[0092] Finally, the instruction and It is sent to the corresponding hub motor and steering servo driver for execution.
[0093] In some embodiments, the motion control system of the four-wheeled, four-rotation inspection robot may include multiple functional modules composed of computer program segments. The computer programs of each program segment in the motion control system may be stored in the memory of a computer device and executed by at least one processor to perform (see details). Figure 1 (Description) The motion control function of a four-wheeled, four-rotation inspection robot.
[0094] In this embodiment, the motion control system of the four-wheeled, four-rotor inspection robot can be divided into multiple functional modules according to the functions it performs, such as... Figure 2 As shown. The module referred to in this invention is a series of computer program segments that can be executed by at least one processor and perform a fixed function, and is stored in memory. In this embodiment, the functions of each module will be described in detail in subsequent embodiments.
[0095] The mode determination module is used to determine the applicable motion mode based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, through environmental context analysis and rule engine; the motion mode includes, but is not limited to, one of the following: Ackerman mode, omnidirectional mode, ramp mode, and safety mode; The instruction calculation module is used to load the corresponding MPPI parameter configuration according to the motion mode; run the MPPI algorithm to obtain multiple predicted trajectories through random sampling and forward simulation, and perform weighted optimization on the multiple predicted trajectories to generate the robot's body speed instruction; The instruction mapping module is used to select the corresponding inverse kinematics mapping relationship according to the motion mode, decompose the body speed command into the steering angle and speed commands of the four wheels, and output them to the actuator after performing fault tolerance and load balancing processing.
[0096] Figure 3The motion control method for a four-wheeled, four-turn inspection robot provided in this application embodiment can be applied to equipment. Those skilled in the art will understand that the equipment structure involved in the embodiments of this invention does not constitute a limitation on the equipment. The equipment may include more or fewer components than illustrated, or combine certain components, or have different component arrangements. In the embodiments of this invention, the equipment includes, but is not limited to, laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The equipment may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of this application described and / or claimed herein.
[0097] The device 300 may include a processor 310, a memory 320, and a communication unit 330. These components communicate via one or more buses. Those skilled in the art will understand that the server structure shown in the figure does not constitute a limitation of the present invention. It may be a bus topology or a star topology, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0098] The memory 320 can be used to store execution instructions of the processor 310. The memory 320 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. When the execution instructions in the memory 320 are executed by the processor 310, the device 300 is able to perform some or all of the steps in the above method embodiments.
[0099] The processor 310 serves as the control center of the storage device, connecting various parts of the electronic device via various interfaces and lines. It executes software programs and / or modules stored in the memory 320, and calls data stored in the memory to perform various functions of the electronic device and / or process data. The processor can be composed of integrated circuits (ICs), such as a single packaged IC or multiple packaged ICs with the same or different functions connected together. For example, the processor 310 may consist only of a central processing unit (CPU). In this embodiment of the invention, the CPU may have a single processing core or include multiple processing cores.
[0100] The communication unit 330 is used to establish a communication channel, enabling the storage device to communicate with other devices. It can receive user data sent by other devices or send user data to other devices.
[0101] The present invention also provides a computer medium, wherein the computer medium may store a program, which, when executed, may include some or all of the steps provided in the embodiments of the present invention. The medium may be a magnetic disk, an optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0102] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a medium such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, or any other medium capable of storing program code. It includes several instructions to cause a computer device (which may be a personal computer, a server, or a second device, network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.
[0103] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the device embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.
[0104] In the embodiments provided by this invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or modules may be electrical, mechanical, or other forms.
[0105] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0106] In addition, the functional modules in the various embodiments of the present invention can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
[0107] Although the present invention has been described in detail with reference to the accompanying drawings and preferred embodiments, the present invention is not limited thereto. Various equivalent modifications or substitutions can be made to the embodiments of the present invention by those skilled in the art without departing from the spirit and essence of the invention, and such modifications or substitutions should all be within the scope of the present invention. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should also be covered within the protection scope of the present invention.
Claims
1. A motion control method for a four-wheeled, four-rotation inspection robot, characterized in that, include: Based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, the applicable motion mode is determined through environmental context analysis and rule engine; the motion mode includes, but is not limited to, one of the following: Ackerman mode, omnidirectional mode, ramp mode, and safety mode. Load the corresponding MPPI parameter configuration according to the motion mode; run the MPPI algorithm, obtain multiple predicted trajectories through random sampling and forward simulation, and perform weighted optimization on the multiple predicted trajectories to generate the robot's body speed command; Based on the motion mode, the corresponding inverse kinematics mapping relationship is selected, and the machine speed command is decomposed into the steering angle and speed commands of the four wheels. After fault tolerance and load balancing processing, the commands are output to the actuator.
2. The method according to claim 1, characterized in that, Based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, the applicable motion mode is determined through environmental context analysis and a rule engine, including: Based on the local cost map, the distances to the nearest obstacles on the left and right sides of the fan-shaped area in front of the robot are calculated. Based on the comparison between the minimum channel width and a preset threshold, it is determined whether the robot is in a narrow channel environment. Based on the global path, extract the sequence of forward path points and calculate the path curvature. Based on the comparison between the curvature and a preset curvature threshold, determine whether the environment is a curve. Based on the pitch angle data in the robot's global pose, the system determines whether the robot is in a slope environment by comparing its absolute value with a preset slope threshold. The above environmental context analysis results are input into a rule engine, which outputs the final motion mode instruction based on preset decision logic; wherein, the decision logic includes at least: if in a ramp environment, output ramp mode; if in a narrow passage and high curvature curve environment, output omnidirectional mode; if in a narrow passage and gentle curve environment, output Ackerman mode.
3. The method according to claim 1, characterized in that, The method also includes predefining different MPPI cost function weight sets and dynamic models for different motion modes, including: The Ackerman mode is configured with a first weight set, in which the smoothness cost is given a higher weight than that of the omnidirectional mode, and uses a bicycle model as the dynamic model for its forward sampling. The omnidirectional mode is configured with a second weight set, in which the trajectory tracking cost is given a higher weight than that of the Ackerman mode, and uses an omnidirectional kinematic model as its forward sampling dynamic model. The ramp mode is configured with a third weight set, in which the weight of the input cost is increased to limit the motor torque to prevent slippage, and an extended dynamics model including ramp dynamics compensation is used. The safe mode is configured with a fourth weight set, in which the maximum permissible speed and acceleration constraints are significantly reduced.
4. The method according to claim 3, characterized in that, Load the corresponding MPPI parameter configuration according to the motion mode, including: Based on the currently applicable motion mode, load the corresponding weight set and simplified dynamic model for use by the MPPI algorithm.
5. The method according to claim 4, characterized in that, The MPPI algorithm is run to obtain multiple predicted trajectories through random sampling and forward simulation. These predicted trajectories are then weighted and optimized to generate the robot's body velocity commands, including: Generate an initial control input sequence, and based on the current robot state and the simplified dynamic model being loaded, perform parallel random sampling on this sequence to generate K perturbation-added control sequences; Using the simplified dynamics model, forward simulation is performed on each perturbation control sequence to predict the corresponding state sequence, thereby obtaining K predicted trajectories; Calculate the total cost value for each predicted trajectory based on the loaded cost function weight set; An optimization strategy based on exponential weighted average is adopted to process the total cost value of all predicted trajectories, calculate the optimal control sequence, and use its first term as the final body speed command output.
6. The method according to claim 5, characterized in that, Generate an initial control input sequence, including: In the first control cycle, an initial control input sequence in which all control variables are zero is generated; In each subsequent control cycle, the optimal control sequence obtained by MPPI weighted optimization in the previous control cycle is used as the initial control input sequence for the current cycle.
7. The method according to claim 1, characterized in that, Based on the motion mode, a corresponding inverse kinematic mapping relationship is selected to decompose the body speed command into steering angle and speed commands for the four wheels. After fault tolerance and load balancing processing, the commands are output to the actuator, including: If the current motion mode is omnidirectional, then the general inverse kinematics formula based on wheel center velocity decomposition is used to calculate the independent steering angle and rotational speed of each wheel in the computer body coordinate system. If the current motion mode is Ackerman mode, an optimized mapping relationship based on Ackerman steering geometry is used to calculate a virtual front wheel steering angle, and the speed difference between the left and right wheels is derived accordingly to cover the calculation results of the general inverse kinematics formula and reduce tire slippage. After receiving the initial steering angle and speed commands for each wheel, load balancing and thermal management fault tolerance processing are performed based on the motor temperature and bus current data fed back by the actuator. The processing includes: derating motor commands with excessively high temperatures and balancing torque distribution for motors with excessive loads.
8. A motion control system for a four-wheeled, four-rotation inspection robot, characterized in that, include: The mode determination module is used to determine the applicable motion mode based on the global path, local cost map, robot global pose, and actuator state provided by the task planning system, through environmental context analysis and rule engine; the motion mode includes, but is not limited to, one of the following: Ackerman mode, omnidirectional mode, ramp mode, and safety mode; The instruction calculation module is used to load the corresponding MPPI parameter configuration according to the motion mode; The MPPI algorithm is run to obtain multiple predicted trajectories through random sampling and forward simulation. The multiple predicted trajectories are then weighted and optimized to generate the robot's body velocity command. The instruction mapping module is used to select the corresponding inverse kinematics mapping relationship according to the motion mode, decompose the body speed command into the steering angle and speed commands of the four wheels, and output them to the actuator after performing fault tolerance and load balancing processing.
9. A motion control device for a four-wheeled, four-rotation inspection robot, characterized in that, include: The memory is used to store the motion control program for the four-wheeled, four-rotation inspection robot; A processor, configured to implement the steps of the motion control method for the four-wheeled, four-rotation inspection robot as described in any one of claims 1-7 when executing the motion control program for the four-wheeled, four-rotation inspection robot.
10. A computer-readable medium storing a computer program, characterized in that, The readable medium stores a motion control program for a four-wheeled, four-rotation inspection robot. When the four-wheeled, four-rotation inspection robot motion control program is executed by a processor, it implements the steps of the motion control method for a four-wheeled, four-rotation inspection robot as described in any one of claims 1-7.