Robot navigation method and device under maneuvering condition
By constructing a set of maneuver observation segments and a cross-validation mechanism, the problem of navigation accuracy drift of robots under intense maneuvering conditions was solved, and navigation accuracy that can be maintained quickly and reliably in extreme environments was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-04
- Publication Date
- 2026-04-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing navigation technologies suffer from navigation accuracy drift when robots perform sharp turns, rapid speed changes, or other intense maneuvers, as the sensor output signals deviate from the linear error model.
By acquiring time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, and structural vibration sensor, a set of maneuver observation segments is constructed. The maneuver cycle is divided using a pre-constructed maneuver pulse template. The writing of maneuver pulses and echo maneuver pulses are executed to establish the pose and velocity change range. Cross-validation and memory state management are performed using the differences in multi-sensor observations to ensure navigation accuracy.
Under extreme maneuvering conditions, the system can distinguish between echoable internal memory components and non-echoable external motion components in real time, maintain the reliability and convergence speed of the navigation solution, avoid sensor nonlinearity misunderstandings, and improve the stability of state estimation and navigation accuracy.
Smart Images

Figure CN121804487A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of data processing, and specifically to a robot navigation method and apparatus under maneuvering conditions. Background Technology
[0002] With the widespread application of mobile robot equipment in special operations, complex environment inspections, and high-speed autonomous transportation, it has become a common requirement for robots to operate under extreme maneuvering conditions such as high acceleration, high angular velocity, and high frequency vibration.
[0003] However, most existing navigation technologies rely on the assumption that sensor outputs maintain linear and modelable characteristics, using static calibration and steady-state observation to ensure pose estimation accuracy. But when a robot performs sharp turns, rapid gear changes, or obstacle crossings, the sensitive components within key sensors such as the inertial measurement unit, wheel encoders, and magnetic sensors enter nonlinear mechanical or magnetic circuit states. The output signals deviate from the assumed range of the linear error model, causing traditional navigation methods based on static calibration parameters to fail to correctly distinguish between internal dynamic responses and external motion changes, thus leading to navigation accuracy drift.
[0004] Therefore, there is an urgent need for a robot navigation method and device under maneuvering conditions. Summary of the Invention
[0005] This application provides a robot navigation method and apparatus under maneuvering conditions, which facilitates the solution of navigation accuracy drift problem and improves navigation accuracy.
[0006] The first aspect of this application provides a robot navigation method under maneuvering conditions. The method includes: acquiring time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and constructing a set of maneuvering observation segments based on the time series; dividing the robot's task trajectory into multiple maneuvering cycles according to a pre-constructed maneuvering pulse template, and executing a written maneuvering pulse and an echo maneuvering pulse according to the maneuvering pulse template within each maneuvering cycle; predicting the pose and velocity states at the beginning of each maneuvering cycle using the output pose and velocity states from the end of the previous maneuvering cycle, and establishing pose and velocity change ranges based on dynamic constraints and the written maneuvering pulse and the echo maneuvering pulse; extracting corresponding multi-sensor observation information from the set of maneuvering observation segments at the beginning, end, and beginning of the echo maneuvering pulse, constructing the observation difference between the beginning and end, and then comparing the observation difference with... The residual amounts after the pose change range and the velocity change range cancel each other out are accumulated in the internal memory channel. The difference between the previous and subsequent observations and the residual amounts of the pose change range and the velocity change range that do not cancel each other out and change continuously in one direction are input to the external motion channel. The external motion channel is used to update the robot's pose state and velocity state. The internal memory state corresponding to each sensor is continuously monitored. When the internal memory state accumulates to exceed a preset threshold within the target continuous maneuver cycle, a maneuver pulse pair that meets the preset conditions is selected according to the maneuver pulse template to perform a memory erasure maneuver within the target continuous maneuver cycle, so as to cause the internal memory state to fall back along the slow release path. After cross-validating the response differences of the same maneuver pulse pair by sensors with different physical principles and establishing a consistency judgment between the non-echo external motion component and the echoable internal memory component, the pose state and velocity state are updated through the external motion channel, and the robot is navigated based on the updated pose state and velocity state.
[0007] A second aspect of this application provides a robot navigation device under maneuvering conditions. The device includes an acquisition module and a processing module. The acquisition module acquires time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and constructs a set of maneuvering observation segments based on the time series. The processing module divides the robot's task trajectory into multiple maneuvering cycles based on a pre-constructed maneuvering pulse template, and executes writing maneuvering pulses and echo maneuvering pulses according to the maneuvering pulse template within each maneuvering cycle. The processing module is further configured to predict the pose and velocity states output at the end of the previous maneuvering cycle at the beginning of each maneuvering cycle, and establish pose change ranges and velocity change ranges based on dynamic constraints and the written maneuvering pulses and echo maneuvering pulses. The processing module is also configured to extract corresponding multi-sensor observation information from the set of maneuvering observation segments at the beginning and end points of the written maneuvering pulses, the beginning and end points of the echo maneuvering pulses, and construct a set of maneuvering observation segments based on the time series. The processing module calculates the difference between the observations before and after, and accumulates the residual amount after the difference between the observations before and after, the pose change range, and the velocity change range cancel each other out into the internal memory channel. It also inputs the residual amount of the difference between the observations before and after, the pose change range, and the velocity change range that do not cancel each other out and change continuously in one direction into the external motion channel. The external motion channel is used to update the robot's pose and velocity states. The processing module also continuously monitors the internal memory states corresponding to each sensor. When the accumulated internal memory states exceed a preset threshold within a target continuous maneuver cycle, it selects a maneuver pulse pair that meets preset conditions according to the maneuver pulse template and performs a memory erasure maneuver within the target continuous maneuver cycle to cause the internal memory states to fall back along a gradual release path. Furthermore, the processing module performs cross-validation on the response differences of sensors based on different physical principles to the same maneuver pulse pair, and establishes a consistency judgment between the non-echo external motion component and the echoable internal memory component. Then, it updates the pose and velocity states through the external motion channel and navigates the robot based on the updated pose and velocity states.
[0008] A third aspect of this application provides an electronic device including a processor, a memory, a user interface, and a network interface. The memory is used to store instructions, and both the user interface and the network interface are used to communicate with other devices. The processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method described above.
[0009] A fourth aspect of this application provides a non-transitory computer-readable storage medium storing instructions that, when executed, perform the method described above.
[0010] In summary, one or more technical solutions provided in this application have at least the following technical effects or advantages: By periodically introducing written and echoed maneuver pulses during navigation, a strong correlation is established between maneuvering behavior and sensor response. This enables the server to distinguish between echoable internal memory components and non-echoable external motion components in real time under extreme maneuvering conditions. This avoids the misinterpretation of internal sensor dynamic nonlinearity as real motion changes, thus maintaining the reliability and convergence speed of the navigation solution. The joint construction of pose and velocity change ranges ensures the predictive reference has dynamic feasibility and symmetry recovery capability, guaranteeing the physical rationality of the classification of observed residuals and improving the stability and accuracy of state estimation. Continuous monitoring of the internal memory channel and threshold-triggered memory erasure maneuvers allow sensor nonlinear residuals to be actively released within a controllable range, preventing long-term persistence from causing tailing phenomena in the navigation solution. The cross-validation mechanism for multi-sensor response differences ensures the consistency of external motion channel updates based on multiple physical principles, enhances anti-abnormal interference capabilities, and ensures that navigation control commands always originate from data consistent with real motion. Overall, the above technical solutions construct a complete technical chain from maneuver behavior planning, predictive reference generation, observation residual separation, memory state management to navigation control closed loop, enabling the robot to maintain rapid recovery and continuous reliable navigation accuracy even in extreme maneuvering environments. Attached Figure Description
[0011] Figure 1 A flowchart illustrating a robot navigation method under maneuvering conditions provided in an embodiment of this application; Figure 2 A schematic diagram of a robot navigation device under maneuvering conditions provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0012] Explanation of reference numerals in the attached figures: 21. Acquisition module; 22. Processing module; 31. Processor; 32. Communication bus; 33. User interface; 34. Network interface; 35. Memory. Detailed Implementation
[0013] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0014] In the description of the embodiments of this application, the words "for example" or "for instance" are used to indicate examples, illustrations, or explanations. Any embodiment or design that is described as "for example" or "for instance" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design options. Rather, the use of the words "for example" or "for instance" is intended to present the relevant concepts in a specific manner.
[0015] In the description of the embodiments of this application, the term "multiple" means two or more. For example, multiple systems means two or more systems, and multiple screen terminals means two or more screen terminals. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the indicated technical features. Thus, a feature defined with "first" or "second" may explicitly or implicitly include one or more of that feature. The terms "comprising," "including," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized.
[0016] To address the aforementioned technical problems, this application provides a robot navigation method under maneuvering conditions, referring to... Figure 1 , Figure 1 This is a flowchart illustrating a robot navigation method under maneuvering conditions, provided in an embodiment of this application. The method is applied to a server and includes steps S110 to S160, as follows:
[0017] S110: Acquire time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and construct a set of motion observation segments based on the time series.
[0018] Specifically, a server refers to a computing node that undertakes centralized computing and data management. It can be located inside the robot itself or deployed remotely. It maintains real-time communication with the robot via a wireless network, receiving, caching, and processing the large amounts of sensor measurement data generated during the robot's task execution. For example, in a park inspection system, all robots upload their measurement information during operation to a management server in real time, which then uniformly manages navigation state estimation and decision output. A set of maneuver observation segments is a group of observation segments extracted according to the boundaries of maneuver behavior based on a unified time series. It reflects the multi-source sensor response characteristics of the robot in a single maneuver. For example, extracting the data from all sensors within the time window corresponding to a rapid acceleration and subsequent rapid deceleration forms the maneuver observation segment for that action. As the robot continuously performs multiple different maneuvers, these segments are combined in time sequence to form the set of maneuver observation segments, providing a structured analytical basis for identifying dynamic nonlinear effects.
[0019] Furthermore, the server first connects the inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor to a clock synchronization mechanism under a unified time reference. The navigation controller maintains a master clock, which periodically sends the time reference via bus synchronization signals, time synchronization messages, or hardware triggering, based on the navigation control cycle. Each sensor's local clock receives the time reference and maintains the offset between its local time and the master clock, thus generating a corresponding master clock timestamp locally upon completion of each sampling. For sensors with local clock drift, the local time is periodically compared with the master clock's time update slope and offset parameters. This method continuously maps local time to a unified time axis. Upon completion of each sampling, the measured value and a unified timestamp are packaged and written to the corresponding cache queue. The cache queue stores the raw measurement data in chronological order and supports retrieval by time interval, ensuring that time-aligned multi-source observation information can be extracted from different sensors at any given time using a unified timestamp. In practical implementation, an independent circular cache can be maintained for each type of sensor to prevent high-frequency inertial measurement unit data and relatively low-frequency magnetic sensor data from affecting each other in terms of memory usage and retrieval latency. The unified timestamp index allows the raw measurement data of different sampling frequencies to be aligned to the same maneuver cycle time axis in subsequent steps.
[0020] When constructing the set of maneuver observation segments, the server records the time stamp of the master clock for each written maneuver pulse and echo maneuver pulse transmission. These time stamps are considered as boundary points of maneuver behavior on the time axis. A series of continuous time slices are divided on the same time axis using adjacent time stamps, with each time slice corresponding to the action window of a maneuver cycle. Within each time slice, the server retrieves all raw measurement data whose timestamps fall within that time slice from the inertial measurement unit cache queue, wheel encoder cache queue, magnetic sensor cache queue, power supply monitoring sensor cache queue, and structural vibration sensor cache queue, based on the timestamps. The retrieved multi-source raw measurement data is then encapsulated into a maneuver observation segment according to its respective maneuver cycle, with the time sequence of each sensor preserved within the maneuver observation segment. The details include the preparation time before writing the maneuvering pulse, the process of writing the maneuvering pulse, the transition time between writing the maneuvering pulse and the echo maneuvering pulse, and the process of the echo maneuvering pulse, so that each maneuvering observation segment completely covers the time domain response of a maneuvering cycle. As the robot continuously executes multiple writing maneuvering pulses and echo maneuvering pulses, the corresponding multiple maneuvering observation segments are stored in the maneuvering observation segment set according to the maneuvering cycle number, forming a multi-source sensor maneuvering response library arranged in chronological order. This provides a structured data foundation for subsequently constructing the difference between observations before and after each maneuvering cycle and distinguishing between external motion residues and internal memory residues. It also establishes a one-to-one correspondence with the maneuvering patterns recorded in the maneuvering pulse template, ensuring that the predicted pose change range and velocity change range remain consistent with the actual maneuvering observations.
[0021] S120. Based on the pre-built motion pulse template, the robot's task trajectory is divided into multiple motion cycles, and within each motion cycle, the motion pulse and echo motion pulse are written according to the motion pulse template.
[0022] Specifically, a pre-built maneuvering pulse template refers to a set of standard maneuvering patterns designed and fixed in advance through experimentation in a controlled environment before the robot performs its formal tasks. These patterns constrain the robot's acceleration, deceleration, and turning methods within a certain time period. The maneuvering pulse template typically contains structural information along the timeline, such as what acceleration actions need to be performed within a certain time period, what deceleration or reverse actions need to be performed in the following time period, and whether smooth transition actions are needed in between. Taking a wheeled inspection robot as an example, the combination of "rapid forward acceleration followed by gentle deceleration" can be repeatedly executed on a test site to fix the shape and duration of this set of acceleration and deceleration actions over time, forming a standard maneuvering pulse template. This template can then be directly referenced in subsequent tasks, eliminating the need for arbitrary design of maneuvering shapes on an ad-hoc basis.
[0023] A robot's task trajectory refers to the path a robot takes in its environment, from its starting position to its target position, and the pattern of its velocity changes along that path as it completes a task. The task trajectory describes not only the robot's geometric path on a map, such as an inspection route from a factory entrance to a transformer box, but also the velocity level changes along the way; for example, high speeds are permitted in wide passages, while speeds need to be reduced in narrow passages. For a logistics handling robot, the task trajectory could be a complete path from the warehouse shelving area, through passages, to the sorting area. This path is typically represented on a server as a series of continuous target pose points and their corresponding desired velocities.
[0024] Writing a maneuvering pulse refers to a purposeful maneuvering action applied during the first half of a maneuvering cycle to stimulate a dynamic response within the sensors. This typically manifests as rapid acceleration, a short, sharp turn, or other motion excitation with a certain amplitude and duration along the current mission trajectory. The purpose of writing a maneuvering pulse is to "write" a significant dynamic event into the sensor system, causing observable responses from gyroscopes, accelerometers, encoders, structural vibration sensors, and power supply monitoring sensors. For example, when a robot is moving in a straight line, writing a maneuvering pulse could increase the linear velocity from one meter per second to 1.5 meters per second in a short period. This process would leave a noticeable acceleration characteristic in the inertial measurement unit and wheel encoders, and may also induce vibration waveforms in the structural vibration sensors.
[0025] An echo maneuver pulse refers to a maneuver applied in the latter half of a maneuver cycle that is geometrically and temporally mirror-image of the written maneuver pulse. Its purpose is to counteract the additional displacement or attitude shift caused by the written maneuver pulse at the motion level, and to induce an "echo" or mitigation of some dynamic effects at the sensor's internal response level. Echo maneuver pulses are typically opposite in direction or acceleration sign to the written maneuver pulse, but their duration and amplitude are similar. For example, if the speed is increased from 1 m / s to 1.5 m / s in the first half, it can be reduced back to 1 m / s in the second half, so that the robot returns to approximately the same speed level as before the maneuver pulse was applied at the end of the entire maneuver cycle. Simultaneously, a set of "excitation-echo" response sequences is formed in the sensor output for easy analysis.
[0026] Furthermore, firstly, a preliminary navigation trajectory satisfying geometric obstacle avoidance and dynamic constraints is generated based on the robot's task trajectory. The server uses the environment map, starting pose, and target pose to generate a collision-free path in the map coordinate system through path planning algorithms such as grid search, sampling tree expansion, or optimization solution. The safety boundary after obstacle expansion is used as the geometric obstacle avoidance constraint, and the robot's maximum linear velocity, maximum angular velocity, maximum linear acceleration, maximum angular acceleration, and the upper limit of lateral acceleration limited by wheel-ground adhesion conditions are used as the dynamic constraints. On this basis, the path is time-parameterized to obtain the velocity level distribution and acceleration / deceleration segment division along the path. Subsequently, based on the travel length of the preliminary navigation trajectory, the velocity level changes, and the time window that allows for the insertion of maneuvers without compromising safety, the entire preliminary navigation trajectory is divided into multiple continuous maneuver cycles along the time axis. Each maneuver cycle corresponds to a navigation sub-interval that is spatially located within a safe passage and has sufficient temporal length to fully accommodate the written maneuver pulse and echo maneuver pulse. Thus, each maneuver cycle still moves along the preliminary navigation trajectory macroscopically, while reserving space for the insertion of periodic maneuver behavior microscopically.
[0027] After completing the initial navigation trajectory's maneuver cycle division, within each maneuver cycle, the server selects a suitable maneuver pulse template from a pre-built maneuver pulse template library based on the speed level, driving direction, and local environmental structure corresponding to the current maneuver cycle. This avoids using maneuver pulse templates with excessively large amplitudes or excessively long time structures in narrow passages, sharp bends, or near-obstacle sections. After selecting a maneuver pulse template, the ideal speed change curve and ideal attitude change curve defined in the template for writing maneuver pulses and echo maneuver pulses are discretized into a series of executable speed and angle commands. These correspond to linear velocity and angular velocity commands or rotational speed commands for each drive wheel and target angle commands for the steering actuator at the underlying level. These commands are then sent to the robot controller cycle by cycle according to the time sequence within the maneuver cycle, ensuring that the robot strictly follows the maneuver pulse template to complete the writing and echo maneuver pulses within that maneuver cycle. This maintains the macroscopic navigation direction while injecting standardized maneuver excitations and echoes at the control level.
[0028] During the actual execution of the aforementioned written maneuver pulses and echo maneuver pulses, the server timestamps the issuance time of each speed and angle command, as well as key time points such as the start and end points of the written maneuver pulse, the start and end points of the echo maneuver pulse, and uses these timestamps synchronously for segmentation and labeling of the maneuver observation segment set. On the one hand, when constructing the maneuver observation segment set, the original measurement data within the corresponding time interval is extracted from each sensor cache queue using the timestamps as boundaries, ensuring that each maneuver observation segment completely covers the written maneuver pulse, transition process, and echo maneuver pulse within a maneuver cycle. On the other hand, the metadata of the maneuver observation segment set adds the maneuver cycle number and the maneuver pulse template identifier to each segment, so that the macroscopic navigation target and periodic maneuver behavior form a one-to-one correspondence on the time axis. Thus, when using the maneuver observation segments to construct the difference between previous and subsequent observations, update the internal memory state, and update the external motion state, it is possible to accurately trace which written maneuver pulse and echo maneuver pulse each sensor response corresponds to, ensuring that the technical chain between the predicted pose change range and the velocity change range, maneuver behavior, and navigation solution is consistent.
[0029] S130. At the beginning of each maneuver cycle, the pose and velocity states output at the end of the previous maneuver cycle are used to make predictions, and the pose and velocity change ranges are established based on dynamic constraints and the written maneuver pulses and echo maneuver pulses.
[0030] Specifically, at the start of the current maneuver cycle, the server reads the pose and velocity states output at the end of the previous maneuver cycle. The pose state at the end of the previous maneuver cycle is recorded as the current position coordinates and attitude angles, and the velocity state at the end of the previous maneuver cycle is recorded as the current linear velocity and current angular velocity states. This initial reference condition is then correlated with the reference linear acceleration trajectory and reference angular acceleration trajectory given in the maneuver pulse template selected for the current maneuver cycle. Under the premise of satisfying dynamic constraints, the server performs nonlinear pruning and damping correction on the reference acceleration given by the maneuver pulse template, constructing a constrained linear acceleration sequence and a constrained angular acceleration sequence. For example, the constrained linear acceleration in the k-th discrete time step can be expressed as:
[0031] The constrained angular acceleration in the k-th discrete time step can be expressed as: The constrained predicted linear velocity state trajectory and the constrained predicted angular velocity state trajectory can be updated using a recursive relationship with damping terms. For example, the linear velocity state update relationship is as follows: The angular velocity state update relationship is as follows: in, This represents the reference linear acceleration given by the maneuvering pulse template at the k-th discrete time step, and its value is determined by the template design. This represents the reference angular acceleration given by the maneuvering pulse template at the k-th discrete time step; and These represent the maximum allowable linear acceleration and maximum angular acceleration of the robot under dynamic constraints, respectively, and are constant parameters; and It is a nonlinear amplification factor used to adjust the intensity of acceleration clipping based on the current linear velocity and current angular velocity states. It is usually taken as an adjustment parameter in the range of non-negative real numbers. and Let these represent the predicted linear velocity state and the predicted angular velocity state at the k-th discrete time step, respectively. and The speed state is given by the output at the end of the previous maneuver cycle; and These represent the reference linear velocity and reference angular velocity given by the maneuvering pulse template at the k-th discrete time step, respectively. and These represent the upper limits of linear velocity and angular velocity set during the design phase, respectively, and are used to normalize the current velocity state. and This is the speed deviation damping coefficient, used to suppress the deviation of the predicted speed state from the reference speed state; and This is a velocity correction gain, used to enhance the ability of the predicted velocity state to follow the reference velocity trajectory; and This is the velocity change damping coefficient, used to suppress high-frequency oscillations of the velocity state over time; The time interval between adjacent discrete time steps is set by the navigation control cycle. In the above relationship, by nonlinearly compressing the reference acceleration and superimposing damping correction, under the premise of ensuring that the acceleration does not exceed the dynamic limit, the predicted velocity state trajectory and the predicted angular velocity state trajectory both follow the target trajectory given by the maneuvering pulse template and have the ability to constrain excessively rapid changes, thus obtaining the constrained predicted velocity state trajectory and the constrained predicted attitude change trajectory that satisfy the dynamic constraints.
[0032] The server uses the pose state at the beginning of the current maneuver cycle as a reference, and extrapolates the constrained predicted velocity and angular velocity trajectories forward along the time axis. It constructs the pose update using a midpoint correction method, and then superimposes uncertainty terms to form the pose and velocity change ranges. Let the pose state at the beginning of the current maneuver cycle be represented by a planar coordinate system. and attitude angle The predicted intermediate velocity at the k-th discrete time step can be expressed as:
[0033] The predicted intermediate angular velocity can be expressed as: Based on the aforementioned intermediate velocities, a pose recursion relationship is constructed. For example, the planar position is updated as follows: Attitude angle updated to: After obtaining the predicted pose at discrete time steps, to describe the range of change under the influence of model error, tire slippage error, and execution lag, the server introduces time-varying uncertainty amplitudes into both the velocity state and pose state, constructing the velocity change range and pose change range. For example, the upper and lower bounds of the velocity change range at the k-th discrete time step can be expressed as: The upper and lower bounds of the pose change range in the x-direction at the k-th discrete time step can be expressed as: in, and Let represent the prediction plane coordinates at the k-th discrete time step, initialized as follows: , ; This represents the predicted attitude angle at the k-th discrete time step, initialized to... ; and These represent the intermediate linear velocity and intermediate angular velocity constructed based on the velocity states of adjacent time steps at the k-th discrete time step, respectively, which are used to reduce discretization errors during pose updates. This indicates the magnitude of the initial speed uncertainty, used to reflect the degree of uncertainty in the speed estimate at the end of the previous maneuver cycle; The weighting coefficient for the cumulative random dynamic intensity of velocity uncertainty is used to adjust the width of the velocity interval based on the cumulative component of the applied constrained linear acceleration. This represents the initial uncertainty magnitude of the position in the x-direction; The cumulative weighting coefficient for pose uncertainty in the x-direction is related to the cumulative displacement along the path.
[0034] By employing the aforementioned expression with cumulative and square root terms, the ranges of velocity and pose changes gradually expand with time and maneuver intensity, while maintaining moderate convergence when the maneuver intensity is low or the maneuver duration is short. Combining the time step index corresponding to the end point of the written maneuver pulse and the time step index corresponding to the end point of the echo maneuver pulse in the maneuver pulse template, the server divides the entire range of pose and velocity changes on the time axis into sub-intervals dominated by the written maneuver pulse and sub-intervals dominated by the echo maneuver pulse. This allows the pose change range in the written maneuver pulse sub-interval to expand in the offset direction, while the echo maneuver pulse sub-interval guides the predicted pose change range to gradually approach the initial path again through reverse maneuvering. This geometrically provides the ability to offset the pose offset caused by the written maneuver pulse and provides a unified prediction boundary reference for subsequent use of observation residuals to determine internal memory residues and external motion residues.
[0035] S140. At the start point of writing the motor pulse, the end point of writing the motor pulse, the start point of the echo motor pulse, and the end point of the echo motor pulse, extract the corresponding multi-sensor observation information from the set of motor observation segments, construct the before and after observation difference respectively, and accumulate the residual amount after the before and after observation difference cancels out the pose change range and velocity change range to the internal memory channel. Input the residual amount of the before and after observation difference that does not cancel out the pose change range and velocity change range and changes continuously in one direction to the external motion channel. The external motion channel is used to update the robot's pose state and velocity state.
[0036] Specifically, the before-and-after observation difference refers to the difference between multi-sensor observation information at two key time points within the same maneuver cycle. It measures the extent of change in robot maneuvering and sensor response during this time period. For example, taking the multi-sensor observation information written to the start of the maneuver pulse as the "before" state and the multi-sensor observation information written to the end of the maneuver pulse as the "after" state, the difference between the two is the before-and-after observation difference for this maneuvering action. Similarly, the difference constructed from the observations at the start and end of the echo maneuver pulse is the before-and-after observation difference for the echo phase. The internal memory channel refers to the state channel within the server specifically used to accumulate and manage the dynamic nonlinear residual quantities inside the sensors. It is used to characterize the short-term memory effect left by the sensors due to maneuvering excitations such as rapid acceleration, sudden braking, or strong vibration. For example, the gyroscope scaling factor does not immediately recover after a large angular velocity excitation but remains offset for a period of time. This offset is mapped to the internal memory channel through residual quantities, forming an accumulation of the memory state inside the inertial measurement unit, which is used to subsequently determine whether to trigger a memory erasure maneuver. External motion is used to update the robot's pose and velocity states. This means that when a certain residual quantity is determined to be uninterpretable by internal memory and has continuous unidirectional change characteristics, the residual quantity is directly applied to the state estimation module through the external motion channel to correct the current pose and velocity states. This allows the navigation solution to reflect the robot's motion changes in the real environment, ultimately driving the control system to generate new motion commands and ensuring that the robot can still navigate stably along the planned mission trajectory under extreme maneuvering conditions.
[0037] Furthermore, the server first uses a unified timestamp to compare the four key time points—the start point of the written maneuver pulse, the end point of the written maneuver pulse, the start point of the echo maneuver pulse, and the end point of the echo maneuver pulse—with the corresponding inertial measurement unit observations, wheel encoder observations, magnetic sensor observations, power supply monitoring sensor observations, and structural vibration sensor observations in the maneuver observation segment set. Let the unified timestamp of the j-th key moment in the i-th maneuver cycle be . The corresponding multi-sensor observations are spliced together to form an observation vector. And based on the pose and velocity states at the start of the maneuver cycle. As a unified reference, an observation difference vector is constructed. For example, the observation difference between the start and end points of the written maneuver pulse can be expressed as:
[0038] The observation difference between the start and end points of the echo maneuver pulse can be expressed as: Next, each observation difference is associated with the starting state of the maneuver cycle to construct a unified set of observation differences before and after: in, The multi-sensor observation vector represents the j-th critical moment in the i-th maneuver cycle, including components such as the triaxial angular velocity and triaxial acceleration of the inertial measurement unit, the wheel speed or pulse count of the wheel encoder, the magnetic field strength of the magnetic sensor, the voltage and current of the power supply monitoring sensor, and the vibration acceleration of the structural vibration sensor. and These represent the timestamps for the start and end points of the written maneuver pulse, respectively. and These represent the timestamps indicating the start and end points of the echo maneuver pulse, respectively. This is the observation weighting matrix, used for scaling and weight adjustment of different physical quantities; This is a function that maps the pose and velocity states at the start of the maneuver cycle to the observation space, used to compensate for the influence of the start state on the observations when constructing the before-and-after observation difference. In this way, the multi-source observation differences between the four key moments are uniformly described as before-and-after observation difference vectors. This provides a unified starting point for subsequent comparison with the range of pose changes and the range of velocity changes.
[0039] The server compares each before-and-after observation difference with the pose and velocity change ranges corresponding to the current maneuver cycle to determine whether the residual amount generated by the before-and-after observation difference can be absorbed within the predicted reversible maneuver boundary. Let the predicted pose change center corresponding to the i-th maneuver cycle and the j-th critical moment be denoted as . The predicted center of velocity change is The upper and lower bounds of the envelope of the pose change range are: and The upper and lower bounds of the envelope of the velocity variation range are: and By observing the mapping matrix and Projecting the difference between the preceding and following observations onto the attitude and velocity error space, constructing the residual:
[0040] To determine whether the residual falls within the two-domain tolerance boundary, the normalized residual norms for pose and velocity are defined: when Not exceeding the given threshold If the residual amount is considered to be completely absorbed within the predicted reversible maneuver by the current pose and velocity change ranges, then the residual amount is accumulated in the internal memory channel, and the internal memory state of the corresponding sensor is updated. For example, the internal memory state vector is updated as follows: in, and It is a linear mapping matrix from the observation space to the pose and velocity error space, used to convert the multi-source observation difference into pose error and velocity error; and These represent the pose residual component and velocity residual component at the i-th maneuver cycle and the j-th critical moment, respectively. and These are the scale matrices for the pose residual and the velocity residual, respectively, used to normalize the residuals in different dimensions; This represents the L2 norm, used to measure the magnitude of normalized residuals; The absorption threshold of the internal memory channel is used to control which residual amounts are considered to be explainable by both internal dynamic nonlinearity and reversible maneuvering. This represents the internal memory state vector at the end of the i-th maneuver cycle, containing the accumulated dynamic response of the corresponding sensor. The autoregressive coefficient matrix of the internal memory state is used to describe the natural decay or retention characteristics of the internal memory when no new residual input is added. The gain matrix, which injects residual amounts into the internal memory state, is used to quantify the incremental contribution of absorbable residuals to the internal memory state. Through this normalized residual and threshold-based processing, residual amounts explainable within the pose and velocity ranges are concentrated into the internal memory channel, characterizing the short-term memory effect of the sensor's internal dynamic nonlinearity.
[0041] When the residual value exceeds the dual-domain tolerance boundary of the pose and velocity change ranges and exhibits a continuous unidirectional change trend on the time axis, the server treats this residual value as an irreversible external motion component and updates the external motion state through the external motion channel. Therefore, a residual sequence with a sliding window length of L is introduced in the i-th maneuver cycle. Define the criterion for unidirectional change:
[0042] And define an indicator function for whether it belongs to external motion residue, as follows: when At that time, the residual amount is input into the external motion channel to correct the robot's pose and velocity states, such as the external motion state vector. Updated to: in, The sign function is used to determine whether the signs of the residual quantities in the specified projection direction are roughly consistent over the most recent L maneuver cycles. This is the projection weight vector, used to extract components related to the main motion direction from the multidimensional residual vector; To comprehensively consider the trend of residual direction consistency and magnitude, when this trend exceeds a threshold... It is believed that the residue on the timeline exhibits a continuous unidirectional change; This is a threshold for determining unidirectional changes, used to distinguish between random oscillating residuals and residuals with a clear trend; This is an indicator variable for external motion residue, used to control whether the residue is used for external motion state updates; This represents the external motion state vector at the end of the i-th maneuver cycle, which includes the pose state and the velocity state. The residual gain matrix of the external motion channel is used to map the residual quantities of external motion components that are determined to be non-returnable into pose and velocity correction quantities.
[0043] By simultaneously constraining the residuals to exceed the range of pose and velocity changes and exhibiting continuous unidirectional changes on the time axis, and by quantitatively correcting the pose and velocity states with external motion channel gain, the internal memory state and the external motion state are updated differently under the action of maneuvering behavior: the internal memory channel carries short-term dynamic nonlinear residues that can be canceled out by echo maneuvering, while the external motion channel only absorbs non-echo residues that truly reflect changes in external motion, thereby ensuring that the navigation state estimation still has interpretability and stability under extreme maneuvering conditions.
[0044] S150. Continuously monitor the internal memory state corresponding to each sensor. When the internal memory state accumulates to exceed a preset threshold within the target's continuous maneuver cycle, select a maneuver pulse pair that meets the preset conditions according to the maneuver pulse template and perform a memory erasure maneuver within the target's continuous maneuver cycle to cause the internal memory state to fall back along the slow release path.
[0045] Specifically, before the start of each new maneuver cycle, the server first calculates the accumulated amount of internal memory states of the target over consecutive maneuver cycles based on the multi-sensor internal memory states recorded in the internal memory channel, and determines whether a memory erasure maneuver needs to be triggered accordingly. The internal memory state vector at the end of the i-th maneuver cycle can be set as follows: This vector is formed by stacking components such as the memory states of the inertial measurement unit, the wheel encoder, and the magnetic sensor, and is weighted by a matrix. Compression into scalar strength For example, in the target continuous maneuver cycle index set The intensity of internal memory accumulation can be defined as:
[0046] When calculated Greater than the preset threshold When it is determined that the current internal memory state has excessively accumulated within the target's continuous maneuver cycles, a memory erasure maneuver needs to be performed in the subsequent maneuver cycles. At this time, the server calculates the structural characteristic indicators for each candidate maneuver pulse pair from the maneuver pulse template library. For a given candidate maneuver pulse pair, the linear acceleration sequence of the written maneuver pulse at the discrete time step is denoted as... The echo motion pulse linear acceleration sequence is denoted as The corresponding time steps are and Symmetry index can be constructed. Total duration of action With acceleration gradient rate of change index ,For example:
[0047] in, This represents the internal memory state vector for the i-th maneuver cycle, which includes memory components established for the internal dynamic nonlinearity of each sensor. This represents the internal memory weight matrix, which is used to assign different weights to the corresponding memory components based on the degree of influence of different sensors on navigation. This represents the average internal memory strength during the target's continuous maneuver cycles; This indicates a preset threshold for internal memory strength; This represents the linear acceleration value of the written motor pulse at the k-th discrete time step; This represents the linear acceleration value of the echo maneuvering pulse at the k-th discrete time step; and These represent the off-step counts of the written maneuver pulse and the echo maneuver pulse, respectively; Indicates the discrete time step of the maneuver pulse; This indicates the degree of symmetry of the maneuvering pulse pair along the time axis and acceleration amplitude; the closer it is to 1, the better the symmetry. This indicates the total duration of action of the maneuvering pulse on the time axis; This represents the average gradient intensity of the acceleration change during the entire action of the maneuvering pulse. The server compares the above characteristic quantity with three preset conditions, namely a first threshold, a second threshold, and a third threshold, the specific values of which are set according to specific circumstances; when the conditions are met... , , It is believed that the maneuvering pulse pair has the characteristics of high symmetry, long duration and low acceleration gradient change rate, and can replace the original maneuvering pulse template to perform memory erasure maneuvers within the target's continuous maneuvering cycle, so that the robot can release the dynamic memory inside the sensor through a more "gentle and symmetrical" maneuvering sequence during this stage.
[0048] During the memory erasure maneuver, at the end of each maneuver cycle, the server recalculates the internal memory state vector using multi-source sensor observations and assesses the magnitude and trend of the internal memory state decline to determine when it is safe to restore the original maneuver pulse template. Let the internal memory state vector at the end of the i-th maneuver cycle using the memory erasure maneuver be... The internal memory strength scalar can continue to be used:
[0049] And using a sliding window of length L, the average memory strength and the rate of decline index are constructed. For example, the average memory strength in the most recent L maneuver cycles during which memory erasure maneuvers were performed is: The relative drop between adjacent windows can be defined as: in, Indicates the internal memory strength at the end of the i-th maneuver cycle; This represents the average internal memory strength within a window of length L, ending at the i-th maneuver cycle. This represents the relative decrease in internal memory strength between the two most recent sliding windows, used to characterize whether the decline is sustained and significant; A tiny positive number is introduced to prevent the denominator from being zero or too small, for numerical stability adjustment. The server checks whether the following conditions are met simultaneously in each maneuver cycle. and ,in This is the internal memory safety factor, usually less than 1, used to limit the internal memory strength from falling back below a certain threshold by a certain percentage. The threshold for determining a downward trend.
[0050] When the above conditions are met, it indicates that the internal memory state has not only dropped to near the safe range, but has also maintained a stable downward trend in the recent maneuver cycles. Based on this, the server switches the maneuver pulse pair of the currently used memory erasure maneuver back to the original maneuver pulse template, so that the subsequent maneuver cycles can re-adopt the maneuver structure designed during mission optimization. At the same time, the internal memory state is continuously monitored to ensure that it is within a controllable range, thereby completing a closed-loop mitigation process for the internal memory accumulation problem without interrupting the continuity of navigation solutions and mission progress.
[0051] S160. After cross-validating the response differences of sensors based on different physical principles to the same pair of motion pulses, and establishing a consistency judgment between the non-echo external motion components and the echo internal memory components, the robot updates its pose and velocity states through the external motion channel, and navigates the robot based on the updated pose and velocity states.
[0052] Specifically, the same maneuvering pulse pair refers to a pair of write maneuvering pulses and echo maneuvering pulses that occur within a maneuvering cycle. These two pulses have a mirror or near-mirror relationship in terms of time and amplitude structure. They are used to first actively excite the internal dynamic response of the sensor, and then release it through an action in the opposite direction. For example, when a robot moves in a straight line, it first executes a forward acceleration write maneuvering pulse for a short period, and then executes a deceleration echo maneuvering pulse with a similar amplitude but opposite direction for a short period afterward. These two actions together constitute the same maneuvering pulse pair. For all sensors, this allows for a pair of observations of "excitation response" and "echo response" within the maneuvering cycle.
[0053] Non-echo external motion components refer to the residual portion that, after experiencing written and echoed motion pulses, cannot be canceled out by the symmetrical effect of the motion pulse pairs, exhibits a continuous unidirectional changing trend over multiple motion cycles, and is confirmed to reflect real external motion or environmental changes after cross-validation by sensors based on different physical principles. This component typically manifests as the robot's actual deviation from the planned trajectory. For example, if a wheel experiences prolonged slight slippage on a low-traction surface, even with standard acceleration and deceleration echoes, the position error will still gradually accumulate in one direction. After cross-validation, this will be identified as a non-echo external motion component and should be used to adjust pose estimation.
[0054] Echoable internal memory components refer to residual components in certain sensors that, under the symmetrical interaction of the written maneuver pulse and the echo maneuver pulse, are primarily characterized by strong random dynamic excitation followed by partial attenuation during the echo phase. These components often originate from the dynamic nonlinearity of the sensor's internal mechanical structure, magnetic circuit, or electronic components. For example, the scaling factor shift generated by a gyroscope under high angular velocity excitation gradually decreases during the echo and subsequent gentle maneuvers; the hysteresis generated by a magnetic sensor under a sudden large current impact gradually decreases as the current recovers. Because these components are mainly concentrated in individual sensor channels and do not completely correspond to changes in geometric pose, they are classified as echoable internal memory components in cross-validation and consistency assessments, accumulating and monitoring within the internal memory channel, rather than being directly used for external motion state correction.
[0055] Furthermore, the server extracts corresponding residual vectors from the residual quantities already marked as non-returnable external motion components through preprocessing, across the dimensions of inertial measurement unit (IMU) observation, wheel encoder observation, and structural vibration sensor observation. These three types of residual vectors are then verified for directional consistency and amplitude ratio in the pose and velocity error space. Let the residual vectors obtained from the IMU, wheel encoder, and structural vibration sensor observations for the same pair of motion pulses within a certain maneuver cycle be as follows: , and First, normalize each residual vector to obtain the direction vector:
[0056] And construct a reference direction vector by weighted average of the three: The directional consistency index can be defined as: The amplitude ratio relationship can be given by the amplitude ratio parameter as follows: in, , , These represent the observation residual vectors based on the inertial measurement unit, wheel encoder, and structural vibration sensor under the same pair of motor pulses, respectively. They can be multidimensional vectors projected to the attitude error or velocity error space. This represents the L2 norm, used to measure the magnitude of the residual vector; , , These are the weighting coefficients corresponding to the three types of sensors, used to reflect the importance of different sensors in recognizing real motion; This is a reference direction vector obtained from three types of sensors; As an index of directional consistency, the closer its value is to 1, the more consistent the residual directions of the three types of sensors are. It is an amplitude ratio indicator used to measure whether the residual amplitude of the three types of sensors is within a reasonable ratio range; To prevent the division of tiny positive numbers with excessively small denominators, the server sets a directional consistency threshold. and amplitude ratio upper and lower bounds , When satisfied and Upon confirming that the residual amount originates from actual motion changes, the residuals from the three types of sensors are weighted and synthesized into an external motion residual, which is then input into the external motion channel to correct the pose and velocity states.
[0057] in , , The residual fusion weights for the external motion channel are set based on sensor reliability and noise level.
[0058] The server focuses on analyzing the lumped characteristics and dynamic hysteresis characteristics of the residual quantities already classified as echoable internal memory components in inertial measurement unit (IMU) observations, magnetic sensor observations, and power supply monitoring sensor observations. This analysis aims to confirm that the residual quantities originate from the internal dynamic nonlinearity of the sensors and accumulate only in the internal memory channels without participating in external motion state updates. Let the current maneuver cycle represent the candidate internal memory residuals in the dimensions of the IMU, magnetic sensor, and power supply monitoring sensor, respectively. , and First, define the internal energy concentration index:
[0059] in, This represents the total energy of the internal memory candidate residuals across the three sensor dimensions; , , These represent the energy percentages of the candidate residuals in the internal memory on the inertial measurement unit, magnetic sensor, and power supply monitoring sensor channels, respectively. Internal memory concentration requires that the energy percentage of one or a few internal sensitive channels be significantly higher than that of other channels. For example, if the inertial measurement unit generates significant nonlinear memory after high angular velocity excitation, then... It will approach 1, while other sensors account for a lower percentage of energy. To characterize the dynamic hysteresis characteristics, the server sequences the candidate residuals from the internal memory along the time axis. With the corresponding excitation sequence Calculate the normalized cross-correlation function between them:
[0060] Lag time Finding peaks in dimensions When the peak occurs in the positive lag interval and the peak correlation coefficient is... Greater than the preset memory-related threshold This indicates that the internal memory residual has a significant time lag relative to the maneuvering excitation and exhibits a slow-release pattern. At this point, if the energy concentration satisfies... or , At least one of them is higher than the set concentration threshold. The server determines that the residual amount originates from the sensor's internal dynamic nonlinearity and accumulates it only in the internal memory channel, keeping it unchanged regardless of the external motion state. This avoids the internal nonlinear memory misleading the correction of the external pose and velocity states. For time-sampled inertial internal memory residual sequences, For a sequence of excitation quantities related to the intensity of the motor excitation on the same time axis, the acceleration command amplitude or the motor current amplitude can be selected as the excitation quantity. This represents the similarity curve between the residual and the excitation at different lag times.
[0061] After verifying the non-echo external motion components and correcting the external motion channel state, the server generates control commands based on the updated pose and velocity states and outputs them to the robot to drive it to navigate along the planned task trajectory. Let the updated pose state be... The updated speed status is The desired pose and desired velocity states of the reference navigation trajectory at the current moment are respectively and Then the navigation error can be defined as:
[0062] The control law can use a coupled feedback structure of attitude error and velocity error to generate linear velocity command and angular velocity command, for example: in, and These represent the actual pose state and velocity state estimates after correction by the external motion channel, respectively. and This represents the reference pose and reference velocity states provided by the navigation planning layer; and These represent the current position deviation, attitude deviation, and velocity deviation, respectively. , , , , These are control gain parameters used to adjust the degree of influence of position error, lateral error, attitude error, and velocity error on control commands; and These are the linear velocity control commands and angular velocity control commands ultimately issued to the robot's drive system. The robot's underlying controller, based on... and The parameters are further converted into rotational speed commands for each drive wheel and target angles for the steering actuators. This enables the robot to navigate along the desired trajectory based on the state estimate after considering corrections for external motion residues. This achieves a closed-loop link of "multi-sensor cross-verification - external motion channel correction - control law generation - navigation execution," and maintains the stability and reliability of the navigation solution even under conditions of internal sensor dynamic nonlinearity and extreme maneuvering.
[0063] This application also provides a robot navigation device under maneuvering conditions, referring to... Figure 2 , Figure 2This is a schematic diagram of a robot navigation device under maneuvering conditions provided in an embodiment of this application. The device is a server, which includes an acquisition module 21 and a processing module 22. The acquisition module 21 is used to acquire time-aligned raw measurement data of the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and construct a set of maneuvering observation segments based on the time series. The processing module 22 is used to divide the robot's task trajectory into multiple maneuvering cycles according to a pre-constructed maneuvering pulse template, and execute the writing of maneuvering pulses and echo maneuvering pulses according to the maneuvering pulse template in each maneuvering cycle. The processing module 22 is also used to predict the pose and velocity states output at the end of the previous maneuvering cycle at the beginning of each maneuvering cycle, and establish the pose change range and velocity change range based on dynamic constraints and the written and echo maneuvering pulses. The processing module 22 is also used to extract corresponding values from the set of maneuvering observation segments at the beginning and end of the written maneuvering pulse, the beginning and end of the echo maneuvering pulse. The system uses multi-sensor observation information to construct the observation difference between the preceding and following observations. The residual values after offsetting the observation difference with the pose and velocity change ranges are accumulated in the internal memory channel. Residual values where the observation difference is not offset and the pose and velocity change ranges change continuously in one direction are input to the external motion channel. The external motion channel is used to update the robot's pose and velocity states. The processing module 22 also continuously monitors the internal memory states corresponding to each sensor. When the accumulated internal memory state exceeds a preset threshold within the target continuous maneuver cycle, it selects a maneuver pulse pair that meets preset conditions according to the maneuver pulse template and performs a memory erasure maneuver within the target continuous maneuver cycle to cause the internal memory state to fall back along a gradual release path. The processing module 22 also performs cross-validation of the response differences of sensors based on different physical principles to the same maneuver pulse pair, and establishes consistency judgment between the non-echo external motion component and the echoable internal memory component. Afterward, it updates the pose and velocity states through the external motion channel and navigates the robot based on the updated pose and velocity states.
[0064] It should be noted that the above embodiments of the apparatus are only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0065] This application also provides an electronic device, with reference to... Figure 3 , Figure 3This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device may include: at least one processor 31, at least one network interface 34, a user interface 33, a memory 35, and at least one communication bus 32.
[0066] The communication bus 32 is used to enable communication between these components.
[0067] The user interface 33 may include a display screen and a camera. Optionally, the user interface 33 may also include a standard wired interface and a wireless interface.
[0068] The network interface 34 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface).
[0069] The processor 31 may include one or more processing cores. The processor 31 connects to various parts of the server via various interfaces and lines, executing instructions, programs, code sets, or instruction sets stored in the memory 35, and calling data stored in the memory 35 to perform various server functions and process data. Optionally, the processor 31 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 31 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content to be displayed on the screen; and the modem handles wireless communication. It is understood that the modem may also not be integrated into the processor 31 and may be implemented as a separate chip.
[0070] The memory 35 may include random access memory (RAM) or read-only memory. Optionally, the memory 35 may include a non-transitory computer-readable storage medium. The memory 35 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 35 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 35 may also be at least one storage device located remotely from the aforementioned processor 31. Figure 3 As shown, the memory 35, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and an application program for a robot navigation method under maneuvering conditions.
[0071] exist Figure 3 In the electronic device shown, the user interface 33 is mainly used to provide an input interface for the user and to obtain the user input data; while the processor 31 can be used to call an application program stored in the memory 35 for a robot navigation method under maneuvering conditions. When executed by one or more processors, the electronic device performs one or more methods as described in the above embodiments.
[0072] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0073] This application also provides a non-transitory computer-readable storage medium storing instructions. When executed by one or more processors, these instructions cause an electronic device to perform one or more of the methods described in the above embodiments.
[0074] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0075] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings or direct couplings or communication connections may be through some service interfaces; indirect couplings or communication connections between apparatuses or units may be electrical or other forms.
[0076] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0077] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0078] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage device (CMD). Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a memory and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned memory includes various media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks, or optical disks.
[0079] The foregoing description is merely an exemplary embodiment of this disclosure and should not be construed as limiting the scope of this disclosure. Any equivalent changes and modifications made in accordance with the teachings of this disclosure shall still fall within the scope of this disclosure. Those skilled in the art will readily conceive of other embodiments of this disclosure upon considering the specification and the disclosure of practical truth. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not described in this disclosure. The specification and embodiments are considered exemplary only, and the scope and spirit of this disclosure are defined by the claims.
Claims
1. A robot navigation method under maneuvering conditions, characterized in that, The method includes: Acquire time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and construct a set of motion observation segments based on the time series; Based on a pre-constructed maneuvering pulse template, the robot's task trajectory is divided into multiple maneuvering cycles, and within each maneuvering cycle, the written maneuvering pulse and echo maneuvering pulse are executed according to the maneuvering pulse template. At the beginning of each maneuver cycle, the pose and velocity states output at the end of the previous maneuver cycle are used for prediction, and the pose change range and velocity change range are established based on the dynamic constraints, the written maneuver pulse, and the echo maneuver pulse. At the start point of the written maneuver pulse, the end point of the written maneuver pulse, the start point of the echo maneuver pulse, and the end point of the echo maneuver pulse, the corresponding multi-sensor observation information is extracted from the set of maneuver observation segments, and the before and after observation differences are constructed respectively. The residual amount after the before and after observation differences are mutually canceled by the pose change range and the velocity change range is accumulated to the internal memory channel. The residual amount of the before and after observation differences that are not canceled by the pose change range and the velocity change range and that changes continuously in one direction is input to the external motion channel. The external motion channel is used to update the pose state and velocity state of the robot. The internal memory state of each sensor is continuously monitored. When the internal memory state accumulates to exceed a preset threshold within the target continuous maneuver cycle, a maneuver pulse that meets the preset conditions is selected according to the maneuver pulse template to perform a memory erasure maneuver within the target continuous maneuver cycle, so as to cause the internal memory state to fall back along the slow release path. After cross-validating the response differences of sensors based on different physical principles to the same pair of motion pulses, and establishing a consistency judgment between the non-echo external motion components and the echo internal memory components, the pose and velocity states are updated through the external motion channel, and the robot is navigated based on the updated pose and velocity states.
2. The robot navigation method under maneuvering conditions according to claim 1, characterized in that, The acquisition of time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and the construction of a set of motion observation segments based on the time series, specifically includes: A unified clock synchronization mechanism is established for the inertial measurement unit, the wheel encoder, the magnetic sensor, the power supply monitoring sensor, and the structural vibration sensor, so that the sampling events of each sensor are aligned with the navigation control cycle, and the original measurement data of each sampling is written into the cache queue based on a unified timestamp. Based on the time stamps corresponding to the written maneuver pulse and the echo maneuver pulse, time slices are divided, and the multi-source raw measurement data matched with timestamps in each time slice are encapsulated into a set of maneuver observation segments according to the maneuver cycle from the buffer queue.
3. The robot navigation method under maneuvering conditions according to claim 1, characterized in that, The process involves dividing the robot's task trajectory into multiple maneuver cycles based on a pre-constructed maneuver pulse template, and executing the writing of maneuver pulses and echo maneuver pulses according to the maneuver pulse template within each maneuver cycle. Specifically, this includes: After generating a preliminary navigation trajectory that satisfies geometric obstacle avoidance and dynamic constraints based on the robot's task trajectory, the preliminary navigation trajectory is divided into multiple consecutive maneuver cycles based on the travel length, speed level changes, and timing conditions for inserting maneuver windows. Within each maneuver cycle, a maneuver pulse template adapted to the current speed level, driving direction, and local environmental structure is selected, and a specific speed command or angle command is issued to execute the written maneuver pulse and the echo maneuver pulse according to the maneuver pulse template; The execution time stamps of the written maneuver pulse and the echo maneuver pulse are synchronized for the segmentation and labeling of the maneuver observation segment set, so that the macroscopic navigation target and the periodic maneuver behavior are kept consistent in time axis.
4. The robot navigation method under maneuvering conditions according to claim 1, characterized in that, The method involves predicting the pose and velocity states at the beginning of each maneuver cycle using the output pose and velocity states from the end of the previous maneuver cycle, and establishing the pose and velocity change ranges based on dynamic constraints, the written maneuver pulses, and the echo maneuver pulses. Specifically, this includes: Using the pose and velocity states output at the end of the previous maneuver cycle as the initial reference conditions for the current maneuver cycle, and combining the velocity change trajectory and attitude change trajectory defined in the maneuver pulse template selected for the current maneuver cycle, the constrained predicted velocity state trajectory and constrained predicted attitude change trajectory are deduced within the dynamic constraints. Using the pose state at the start of the current maneuver cycle as a reference, the restricted predicted velocity state trajectory and the restricted predicted attitude change trajectory are extrapolated forward along the time axis to obtain the pose change range and velocity change range at each time interval. The range is then segmented based on the end point of the written maneuver pulse and the end point of the echo maneuver pulse, so that the pose change range has the geometric ability to offset the pose shift caused by the written maneuver pulse.
5. The robot navigation method under maneuvering conditions according to claim 1, characterized in that, At the start and end points of the written maneuver pulse, the start and end points of the echo maneuver pulse, and the end point of the echo maneuver pulse, corresponding multi-sensor observation information is extracted from the set of maneuver observation segments. The preceding and following observation differences are constructed respectively, and the residual amount after the preceding and following observation differences cancel each other out with the pose change range and the velocity change range is accumulated in the internal memory channel. The residual amount of the preceding and following observation differences that does not cancel out with the pose change range and the velocity change range and changes continuously in one direction is input to the external motion channel. Specifically, this includes: Based on a unified timestamp, the starting point of the written maneuver pulse, the ending point of the written maneuver pulse, the starting point of the echo maneuver pulse, and the ending point of the echo maneuver pulse are compared one-to-one with the observations of the inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor in the maneuver observation segment set. Multiple sets of before and after observation differences are constructed using the pose and velocity states at the starting point of the maneuver cycle as a unified reference. The difference between the observations before and after is compared one by one with the pose change range and the velocity change range. When the residual amount can fall within the dual-domain tolerance boundary of the pose change range and the velocity change range, it is accumulated to the internal memory channel. When the residual amount exceeds the pose change range and the velocity change range and shows a continuous unidirectional change trend on the time axis, it is input to the external motion channel so that the internal memory state and the external motion state can be updated differently under the action of motor behavior.
6. The robot navigation method under maneuvering conditions according to claim 1, characterized in that, The continuous monitoring of the internal memory state corresponding to each sensor, when the internal memory state accumulates to exceed a preset threshold within the target's continuous maneuver cycle, selects a maneuver pulse that meets preset conditions according to the maneuver pulse template to perform a memory erasure maneuver within the target's continuous maneuver cycle, so as to cause the internal memory state to fall back along a slow release path, specifically including: After determining that the internal memory state accumulates to exceed the preset threshold during the target continuous maneuver cycle, a pair of maneuver pulses with a symmetry higher than the first threshold, an action duration greater than the second threshold, and an acceleration gradient change rate lower than the third threshold are selected from the maneuver pulse template library to replace the original maneuver pulse template, so that the robot performs memory erasure maneuver during the target continuous maneuver cycle. During the memory erasure maneuver, the decline amplitude of the internal memory state is tracked cycle by cycle through observation by multi-source sensors. When the internal memory state shows a stable decline trend, the maneuver pulse application is restored to the original maneuver pulse template, so as to maintain the continuity of the navigation solution while keeping the internal memory state within a controllable range.
7. The robot navigation method under maneuvering conditions according to claim 1, characterized in that, The process involves cross-validating the response differences of sensors based on different physical principles to the same pair of motion pulses, and establishing a consistency judgment between non-echo external motion components and echoable internal memory components. Then, the robot's pose and velocity states are updated through the external motion channel, and navigation is performed based on the updated pose and velocity states. Specifically, this includes: The residual quantities belonging to the non-echo external motion components are checked for directional consistency and amplitude ratio in the observations of the inertial measurement unit, wheel encoder, and structural vibration sensor. If it is confirmed that the residual quantity comes from the actual motion change, the residual quantity is input to the external motion channel to correct the pose and velocity states. The lumped characteristics and dynamic hysteresis characteristics of the residual amount attributed to the echoable internal memory component are verified in the observation of the inertial measurement unit, the magnetic sensor, and the power supply monitoring sensor. If it is confirmed that the residual amount comes from the internal dynamic nonlinearity of the sensor and accumulates only in the internal memory channel, it will not be used for external motion state updates. After completing the state correction, control commands are generated based on the updated pose and velocity states and output to the robot to control the robot to navigate and move according to the control commands.
8. A robot navigation device under maneuvering conditions, characterized in that, The apparatus is used to perform the robot navigation method under maneuvering conditions as described in any one of claims 1 to 7, the apparatus comprising an acquisition module and a processing module, wherein... The acquisition module is used to acquire time-aligned raw measurement data from the robot's inertial measurement unit, wheel encoder, magnetic sensor, power supply monitoring sensor, and structural vibration sensor, and to construct a set of motion observation segments based on the time series. The processing module is used to divide the robot task trajectory into multiple maneuver cycles according to a pre-constructed maneuver pulse template, and execute the writing of maneuver pulses and echo maneuver pulses according to the maneuver pulse template in each maneuver cycle. The processing module is also used to make predictions at the beginning of each maneuver cycle using the pose and velocity states output at the end of the previous maneuver cycle, and to establish the pose change range and velocity change range based on the dynamic constraints, the written maneuver pulse, and the echo maneuver pulse. The processing module is also used to write the start point of the maneuver pulse, write the end point of the maneuver pulse, the start point of the echo maneuver pulse, and the end point of the echo maneuver pulse, extract corresponding multi-sensor observation information from the set of maneuver observation segments, construct the before and after observation differences respectively, accumulate the residual amount after the before and after observation differences cancel each other out with the pose change range and the velocity change range to the internal memory channel, and input the residual amount of the before and after observation differences that do not cancel out with the pose change range and the velocity change range and continuously change in one direction to the external motion channel. The external motion channel is used to update the pose state and velocity state of the robot. The processing module is also used to continuously monitor the internal memory state corresponding to each sensor. When the internal memory state accumulates to exceed a preset threshold within the target continuous maneuver cycle, the module selects a maneuver pulse that meets the preset conditions according to the maneuver pulse template to perform a memory erasure maneuver within the target continuous maneuver cycle, so as to cause the internal memory state to fall back along the slow release path. The processing module is also used to perform cross-verification of the response differences of the same motor pulse pair using sensors based on different physical principles, and to establish a consistency judgment between the non-echo external motion component and the echo internal memory component, and then update the pose state and velocity state through the external motion channel, and navigate the robot based on the updated pose state and velocity state.
9. An electronic device, characterized in that, The electronic device includes a processor, a memory, a user interface, and a network interface. The memory is used to store instructions. The user interface and the network interface are both used to communicate with other devices. The processor is used to execute the instructions stored in the memory to cause the electronic device to perform the method as described in any one of claims 1 to 7.
10. A non-transitory computer-readable storage medium, characterized in that, The non-transitory computer-readable storage medium stores instructions that, when executed, perform the method as described in any one of claims 1 to 7.