Robot navigation positioning method and device, readable medium and electronic equipment
By acquiring foot motion data for zero-speed detection and dead center attitude determination, the environmental interference problem of indoor navigation and positioning of robots is solved, achieving high-precision navigation and positioning, reducing costs and computational load, and making it suitable for various scenarios.
Patent Information
- Application Number
- CN202211288655.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-20
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2042-10-20
AI Technical Summary
Existing indoor navigation and positioning technologies for robots are easily affected by the external environment, resulting in poor accuracy of positioning results and a lack of universal solutions.
By acquiring foot movement data, zero-velocity detection is performed, the zero-velocity detection result is determined, and the current dead attitude is determined based on this result for navigation and positioning. MEMS sensors such as inertial navigation sensors, magnetometers, and barometers are used, combined with inertial navigation mechanical arrangement and self-observation models to perform accurate dead reckoning.
It improves the accuracy of dead reckoning and attitude control, enhances navigation and positioning precision, reduces hardware costs and computational load, adapts to various indoor and outdoor scenarios, and avoids signal obstruction and environmental interference.
Smart Images

Figure CN115597602B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of navigation and positioning technology, specifically to a robot navigation and positioning method, a robot navigation and positioning device, a computer-readable medium, and an electronic device. Background Technology
[0002] Robot localization refers to the process by which a robot obtains its own pose by sensing information about itself and its surrounding environment and processing the data. Furthermore, the accuracy requirements for indoor navigation and positioning are much greater than those for outdoor navigation and positioning.
[0003] Currently, in related indoor navigation and positioning technologies for robots, the positioning results are easily affected by the external environment, resulting in poor accuracy. Summary of the Invention
[0004] The purpose of this disclosure is to provide a robot navigation and positioning method, a robot navigation and positioning device, a computer-readable medium, and an electronic device, thereby improving the accuracy of dead position attitude to at least a certain extent, and thus improving navigation and positioning accuracy.
[0005] According to a first aspect of this disclosure, a robot navigation and localization method is provided, applied to a legged robot, comprising:
[0006] Acquire foot movement data;
[0007] Zero-speed detection is performed based on the foot movement data to determine the zero-speed detection result;
[0008] The current dead attitude is determined based on the zero-speed detection results and the foot movement data, so as to perform navigation and positioning using the current dead attitude.
[0009] According to a second aspect of this disclosure, a robot navigation and positioning device is provided, disposed on a legged robot, comprising:
[0010] The foot motion calculation module is used to acquire foot motion data;
[0011] Zero-speed detection module, used to perform zero-speed detection based on the foot movement data and determine the zero-speed detection result;
[0012] The dead attitude determination module determines the current dead attitude based on the zero-speed detection results and the foot movement data, so as to perform navigation and positioning using the current dead attitude.
[0013] According to a third aspect of this disclosure, a computer-readable medium is provided that stores a computer program thereon, which, when executed by a processor, implements the method described above.
[0014] According to a fourth aspect of this disclosure, an electronic device is provided, characterized in that it comprises:
[0015] Processor; and
[0016] Memory is used to store one or more programs, which, when executed by one or more processors, cause the one or more processors to perform the methods described above.
[0017] One embodiment of the robot navigation and positioning method disclosed herein provides a method for acquiring foot motion data, performing zero-velocity detection based on the foot motion data, determining the zero-velocity detection result, and then determining the current dead-position attitude based on the zero-velocity detection result and the foot motion data, thereby enabling navigation and positioning. By performing zero-velocity detection using foot motion data and combining it with the zero-velocity detection result to determine the current dead-position attitude, the calculation result is not affected by changes in the external environment, effectively improving the accuracy of the dead-position attitude result and thus enhancing navigation and positioning precision.
[0018] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0019] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:
[0020] Figure 1 A schematic diagram of an exemplary system architecture to which embodiments of the present disclosure may be applied is shown;
[0021] Figure 2 The schematic diagram illustrates a flowchart of a robot navigation and localization method according to an exemplary embodiment of the present disclosure;
[0022] Figure 3 This schematic diagram illustrates the structure of a legged robot according to an exemplary embodiment of the present disclosure;
[0023] Figure 4 This schematic diagram illustrates a process for acquiring foot motion data in an exemplary embodiment of the present disclosure.
[0024] Figure 5 This schematically illustrates a process for determining the current dead attitude by combining zero-velocity detection results in an exemplary embodiment of this disclosure;
[0025] Figure 6This illustration schematically shows a process diagram for achieving robot navigation and positioning based on zero-velocity detection results in an exemplary embodiment of this disclosure;
[0026] Figure 7 This schematic diagram illustrates the composition of a robot navigation and positioning device in an exemplary embodiment of the present disclosure.
[0027] Figure 8 The schematic diagram illustrates the composition of a robotic device in an exemplary embodiment of the present disclosure. Detailed Implementation
[0028] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0029] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0030] Figure 1 A schematic diagram of a system architecture for an exemplary application environment in which an embodiment of the robot navigation and positioning method and apparatus of the present disclosure can be applied is shown.
[0031] like Figure 1 As shown, system architecture 100 may include one or more of a bipedal robot 101, a quadruped robot 102, or any other type of legged robot, a network 103, and a server 104. Network 103 serves as the medium for providing a communication link between the bipedal robot 101, the quadruped robot 102, and the server 104. Network 103 may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc. It should be understood that... Figure 1 The number of legged robots, networks, and servers shown is merely illustrative. Depending on the implementation requirements, any number of legged robots, networks, and servers can be used. For example, server 104 could be a server cluster consisting of multiple servers.
[0032] The robot navigation and positioning method provided in this embodiment is generally executed by a bipedal robot 101, a quadruped robot 102, or any other type of legged robot. Correspondingly, the robot navigation and positioning device is generally installed in the bipedal robot 101, quadruped robot 102, or any other type of legged robot. However, those skilled in the art will readily understand that the robot navigation and positioning method provided in this embodiment can also be executed by a server 104, and correspondingly, the robot navigation and positioning device can also be installed in the server 104. This exemplary embodiment does not impose any special limitations on this. For example, in one exemplary embodiment, a user may collect target sensor data through a bipedal robot 101, quadruped robot 102, or any other type of legged robot, and then upload the target sensor data to the server 104. After the server generates the current dead center attitude using the robot navigation and positioning method provided in this embodiment, it transmits the current dead center attitude to the bipedal robot 101, quadruped robot 102, etc.
[0033] Currently, robot positioning can be divided into three categories based on technical principles: dead reckoning, map matching, and beacon-based positioning. Based on application scenarios, it can be divided into three categories: indoor positioning, outdoor positioning, and seamless indoor-outdoor positioning.
[0034] Dead reckoning is a widely used positioning method in the field of robotics. It includes inertial navigation methods based on inertial sensors and odometry schemes based on encoders. These schemes do not require an external signal source and are not easily interfered with, but errors will continue to accumulate.
[0035] Map matching localization includes two types: one where the environment map is known in advance and the other where the environment map is unknown in advance. The first type requires establishing a global map of the robot's working environment. While the robot is working, it uses sensors to detect its surroundings and build a local environment map. The global pose of the robot is determined by comparing the local map with the global map. The second type involves the robot starting from an unknown location in an unknown environment. While building the environment map, the robot updates its pose using the already established map. Map matching requires the use of sensors such as cameras, LiDAR, or ultrasonic sensors.
[0036] Beacon-based positioning mainly includes various positioning technologies based on radio frequency signals. Positioning methods include trilateration, triangulation, fingerprint matching, etc. The Global Navigation Satellite System (GNSS) can be considered a special type of beacon-based positioning, that is, using navigation satellites in the sky as beacons. Other common beacon-based positioning technologies include 5G positioning, Ultra Wide Band (UWB) positioning, ZigBee positioning, etc.
[0037] From an application perspective, GNSS has become a universal outdoor positioning technology, which can be integrated with positioning technologies such as laser SLAM, visual SLAM, inertial navigation, and encoder odometry to achieve high-precision and highly available positioning results. Indoor wireless positioning technologies such as 5G positioning and UWB positioning cannot be fully popularized due to factors such as positioning infrastructure and spatial topology. Therefore, there is no universal indoor positioning solution. Robots mainly rely on Simultaneous Localization and Mapping (SLAM), visual SLAM, inertial navigation, and specially deployed indoor wireless positioning base stations for navigation and positioning.
[0038] However, the above-mentioned technologies have the following shortcomings:
[0039] GNSS can provide high-precision positioning results outdoors, and differential GNSS technology can even achieve centimeter-level positioning for robots. GNSS is a universal solution for outdoor positioning, but it suffers from obstruction and interference, leading to compromises in accuracy and availability. This is especially true for low-cost, small robot platforms, where low-cost GNSS hardware has lower accuracy, weaker anti-interference capabilities, and a lower output frequency, making dual-antenna / multi-antenna attitude measurement impossible or resulting in poor accuracy.
[0040] While dead reckoning methods do not suffer from occlusion or interference, conventional dead reckoning methods are prone to error divergence. The rate of error divergence in IMU-based inertial navigation methods depends on the performance of the devices and the effectiveness of sensor error correction. Error characteristics can usually be estimated based on device parameters and filter design. If a robot is required to maintain high-precision positioning calculations over a long period using IMU-based inertial navigation methods, high-performance and costly devices are typically required. The accuracy of encoder-based odometry is also affected by encoder performance and the operating environment, with the impact of the operating environment on accuracy often being random.
[0041] Map-based localization presents significant challenges in selecting the right sensor type, model, and deployment, especially when cost control is a primary concern. LiDAR and cameras have different advantages and disadvantages, and different scenarios require different sensors. Sensor types, models, and deployments suitable for outdoor use may be ineffective indoors, and vice versa. Furthermore, power consumption, memory usage, and computational resource consumption must also be considered.
[0042] Other indoor wireless positioning technologies require the deployment of dedicated positioning infrastructure or the establishment and maintenance of positioning databases. Even if such a technology is adopted, issues such as blind spots in indoor positioning signal coverage and signal obstruction and reflection caused by complex indoor spatial topology need to be considered.
[0043] In summary, navigation and positioning technologies have certain limitations. Different application scenarios have different requirements for sensor performance indicators, and different platforms have limitations on hardware costs. At present, there is no universal robot positioning solution.
[0044] Based on one or more problems in related technologies, this disclosure first provides a robot navigation and positioning method. The following uses a legged robot to perform the method as an example to specifically describe the robot navigation and positioning method and robot navigation and positioning device of the exemplary embodiments of this disclosure.
[0045] Figure 2 A flowchart illustrating a robot navigation and localization method according to this exemplary embodiment is shown, including the following steps S210 to S230:
[0046] In step S210, foot movement data is acquired.
[0047] In an exemplary embodiment, foot motion data refers to relevant data used to describe the foot motion state of a legged robot. For example, foot motion data can be data describing the foot's own motion state, such as velocity, acceleration, change in heading angle, and change in elevation. Foot motion data can also be data describing the interaction between the foot and the external environment, such as pressure data and obstacle distance data. For example, pressure data can characterize whether the foot is on the ground, and obstacle distance data can characterize the relevant motion parameters of the foot moving to an obstacle. Of course, foot motion data can also be other data that can describe the changes in foot motion of a legged robot, and this example embodiment does not make any special limitations on this.
[0048] Sensors can be installed at the foot to detect and acquire foot motion data. For example, micro-electro-mechanical system (MEMS) sensors can be installed at the foot of a legged robot. MEMS sensors may include inertial measurement units (IMUs), magnetometers, and barometers to detect foot motion data such as velocity, acceleration, changes in dead angle, and changes in elevation. Alternatively, pressure sensors and distance sensors can be installed at the foot to describe foot motion data generated by the interaction between the foot and the external environment. This example embodiment is not limited to these methods.
[0049] Generally, a legged robot can have at least two feet. In this case, a sensor can be set on only one foot to acquire foot motion data. Since the movements of multiple feet of a legged robot are regular, the movement data of only one foot can describe the movement of the entire legged robot. Of course, sensors can also be set on multiple feet to acquire foot motion data. For example, for a quadruped robot, the same sensor can be set on all four feet, or the same sensor can be set on two feet that are opposite or on the same side. The foot motion data of the legged robot can be determined by mutual correction of multiple sets of foot motion data. This example embodiment does not make any special limitation in this regard.
[0050] In step S220, zero-speed detection is performed based on the foot movement data to determine the zero-speed detection result.
[0051] In an exemplary embodiment, the zero-speed state refers to the motion state where the foot of the legged robot, on which the sensor is mounted, is stationary on the ground. The sensor's velocity is zero, and its velocity, position, and attitude remain unchanged. Ideally, the linear acceleration, angular change, and elevation change should all be zero. Sensor errors can be determined from the sensor data of the legged robot in the zero-speed state, and then the foot motion data of the legged robot can be corrected and updated based on these sensor errors.
[0052] Zero-speed detection results refer to the data calculated based on foot movement data to determine whether the foot of a legged robot is in a zero-speed state and the time point at which the zero-speed state is processed.
[0053] Since zero velocity is an ideal state, and due to sensor errors such as zero bias and scaling factor, the sensor output characteristics at rest are not as ideal as in the zero velocity state. However, the accelerometers and gyroscopes corresponding to inertial navigation sensors are relatively less affected by external environmental interference, and the data at static and dynamic times differ significantly. Optionally, zero velocity can be detected using the output value of the inertial navigation sensor.
[0054] In step S230, the current dead attitude is determined based on the zero-speed detection result and the foot movement data, so as to perform navigation and positioning using the current dead attitude.
[0055] In an exemplary embodiment, the current dead position attitude refers to the attitude data calculated based on foot motion data. The current position coordinates of the legged robot can be determined by the current dead position attitude and the historical dead position attitude at the previous moment to achieve positioning. Navigation can be achieved based on the position coordinates obtained from positioning and the navigation destination.
[0056] By using foot motion data for zero-velocity detection and combining the results with the actual zero-velocity detection to determine the current dead-position, the calculation results are not affected by changes in the external environment, effectively improving the accuracy of the dead-position results and thus enhancing navigation and positioning precision. Moreover, navigation and positioning can be achieved solely through foot motion data without the need for other high-precision navigation and positioning devices, effectively reducing the hardware and manufacturing costs of legged robots. Furthermore, determining the dead-position solely through foot motion data requires less computation, effectively improving the computational efficiency of legged robots and enhancing system performance.
[0057] Steps S210 to S230 will be described in detail below.
[0058] In one exemplary embodiment, the legged robot may include at least a computing unit and a target sensor disposed at the end of the leg.
[0059] Figure 3 This schematic diagram illustrates the structure of a legged robot according to an exemplary embodiment of the present disclosure, with reference to... Figure 3 As shown, the legged robot 300 may include a computing unit 310 and a target sensor 320. The computing unit 310 may be located in the torso of the legged robot 300 and is mainly used for data acquisition, time synchronization, and navigation positioning calculations. The target sensor 320 may include at least an inertial navigation sensor (3-axis accelerometer, 3-axis gyroscope) providing the motion state of the robot's foot, a magnetic sensor (3-axis) providing the change in the heading angle of the robot's foot, and a barometric pressure sensor (1-axis) providing the change in the air pressure height of the foot. Optionally, the target sensor 320 may also be a pressure sensor providing foot pressure data or a distance sensor providing distance data between the foot and an obstacle, etc., which is not specifically limited in this example embodiment.
[0060] For legged robot platforms with significant cost constraints, a target sensor 320 can be deployed on only one foot. Since some robot platforms are equipped with foot pressure sensors, this legged robot system can reuse these sensors when the robot platform has the necessary hardware support. This allows for direct determination of whether the legged robot 300's foot is on the ground, reducing system complexity and improving modal recognition accuracy. In the absence of a foot pressure sensor, zero-velocity detection (modal recognition) is performed using the output data of an inertial navigation sensor to determine whether the foot is on the ground. Different robots have different cost requirements due to application scenarios and other factors. Optionally, a target sensor 320 can be deployed on only one foot of the legged robot 300, and the foot's pose information can be transferred to the legged robot 300 carrier; alternatively, target sensors 320 can be deployed on multiple feet, utilizing dead reckoning results from different feet for collaborative positioning to obtain more reliable and accurate positioning results. This example embodiment is not limited to these methods.
[0061] In an exemplary embodiment, a computing unit located in the torso of a legged robot can collect sensor data from different parts of the robot and synchronize the time system of the different sensor data. This can include time synchronization between different sensors (such as inertial navigation sensors located in different parts) and time synchronization between the sensors and cameras, lidar, odometry, etc., that may be installed in the legged robot.
[0062] Specifically, time synchronization processing can be performed on each target sensor, which can include at least one of soft time synchronization and hard time synchronization.
[0063] Soft time synchronization refers to using software timestamps to match different sensors, unifying sensor data to sensor data with a lower sampling frequency, and achieving time synchronization between different sensor data.
[0064] Hard time synchronization refers to the time synchronization between different sensor devices through the Precision Time Protocol (PTP). The PTP protocol uses hardware timestamps, which can significantly reduce software processing time. At the same time, PTP can run at the data link layer (MAC layer) and the transport layer (UDP). When running at the MAC layer network, message parsing is performed directly at the MAC layer without going through the four-layer UDP protocol stack, thereby greatly reducing the protocol stack dwell time and further improving the time synchronization accuracy.
[0065] Optionally, this embodiment can use hard time synchronization technology to synchronize the time of each target sensor, or it can use soft time synchronization technology to synchronize the time of each target sensor. Of course, time synchronization can also be achieved by combining hard time synchronization technology and soft time synchronization technology. This example embodiment is not limited to this.
[0066] Optionally, data preprocessing can be performed on the collected target sensor data. This preprocessing primarily detects and handles outliers (gross errors) in the sensor data and determines if frame drops exist. Outliers can be detected using the moving average method and corrected using interpolation. Frame drops can be identified by subtracting the timestamps of consecutive frames. For cases where the number of consecutive frame drops does not exceed three, interpolation algorithms can be used to fill in the missing data. For cases where the number of consecutive frame drops exceeds three, a notification should be sent to the system. The interpolation method can be linear interpolation, polynomial interpolation, or spline curve interpolation; the appropriate interpolation algorithm can be selected based on requirements. Specifically, the threshold of three consecutive frame drops can be adjusted according to the system and can be customized based on actual conditions.
[0067] In one exemplary embodiment, it can be achieved through Figure 4 The steps in the document are used to acquire foot motion data. (Refer to...) Figure 4 As shown, it can specifically include:
[0068] Step S410: Obtain the inertial observation value output by the inertial sensor;
[0069] Step S420: Perform inertial navigation mechanical arrangement on the inertial navigation observations and determine the inertial navigation mechanical arrangement settlement result;
[0070] Step S430: Obtain the heading angle change output by the magnetic sensor and the elevation change output by the barometric pressure sensor;
[0071] Step S440: Determine foot movement data based on the inertial navigation mechanical arrangement calculation result, the change in magnetic heading angle, and the change in air pressure elevation.
[0072] Among them, the inertial navigation observation value refers to the value directly output by the inertial navigation sensor. It is the raw value output by the inertial navigation sensor. This value cannot be directly used for calculation. The inertial navigation mechanical arrangement result can be determined by performing inertial navigation mechanical arrangement on the inertial navigation observation value. The inertial navigation mechanical arrangement result is the updated position, velocity, attitude and other data of the foot detected by the inertial navigation sensor.
[0073] Optionally, the inertial navigation system (INS) choreography results can be determined by the differential equations of the INS choreography. For example, the differential equations of the INS choreography in the reference coordinate system can be represented by relation (1). The solution process of the differential equations of the INS choreography can be mainly divided into attitude update, force coordinate transformation, velocity update and position update.
[0074] (1)
[0075] in, It can represent the pose update result. It can represent the result of force coordinate transformation. , It can represent the speed update result. It can represent the result of a position update.
[0076] Understandably, attitude describes the angular relationship between the axes of one coordinate system and the axes of another, primarily used for the projection transformation of specific force, angular velocity, and other vectors. Methods for attitude representation and updating can include Euler angles, direction cosine matrix methods, quaternion methods, and equivalent rotation matrix methods.
[0077] Optionally, this embodiment can use the quaternion method for attitude update. Since the quaternion method only requires solving four linear differential equations, it has less computational complexity and a simpler algorithm than the direction cosine method, making it suitable for dead reckoning algorithms based on low-cost MEMS sensors. The orientation of the moving coordinate system relative to the reference coordinate system is equivalent to the moving coordinate system revolving around a fixed axis. Rotate at an angle ,in If a unit vector along the Euler axis can be represented, then the attitude of the moving coordinate system relative to the reference coordinate system can be completely expressed using... and It is determined that the constructed quaternion can be represented by relation (2):
[0078] (2)
[0079] Expanding relation (2) yields relation (3):
[0080] (3)
[0081] Reference coordinate system about a fixed axis Rotate at an angle After coinciding with the moving coordinate system, the relationship (3) can be further expanded to obtain the differential equation of the attitude quaternion, which can be expressed as the relationship (4):
[0082] (4)
[0083] The Peano-Baker approximation method can be used to solve the differential equations of the attitude quaternions. If the direction of the angular velocity vector remains unchanged during the update period, i.e., fixed-axis rotation, the closed-loop solution of the quaternion differential equations can be obtained. The closed-loop solution can be expressed as relation (5):
[0084] (5)
[0085] in, It can be represented as relation (6). This can be represented as relation (7):
[0086] (6)
[0087] (7)
[0088] Optionally, the specific force output by the inertial navigation sensor refers to the projection along each axis of the carrier coordinate system. When performing velocity integration calculations in the local navigation coordinate system, it is necessary to convert the specific force to the local navigation coordinate system. The specific force coordinate transformation can be achieved using the attitude information obtained from attitude updates and the relation (8):
[0089] (8)
[0090] Because the ratio is measured as Time's up The average value at each moment should also be taken for coordinate transformation. For low-cost MEMS inertial sensors, the angular rate can be assumed to be constant, and the calculation can be simplified by using the relationship (9):
[0091] (9)
[0092] Optionally, the velocity update is derived from the velocity differential equation, which shows the recursive relationship between the current velocity and the previous velocity. The velocity differential equation of the local navigation coordinate system can be expressed as equation (10):
[0093] (10)
[0094] in, It can represent the linear velocity of Earth's rotation. It can represent the Earth's rotational angular velocity. It can represent the angular velocity of rotation of the reference coordinate system relative to the inertial coordinate system. It can represent the Earth's gravity vector.
[0095] By combining the velocity information from the previous moment, the velocity differential equation (10) can be integrally calculated, and based on the error characteristics of the low-cost MEMS inertial navigation transmitter, the velocity update can be simplified to the relation (11):
[0096] (11)
[0097] in, It can represent the initial value of the integral. It can represent a proportional integral term. This can represent the gravity / Cordeaux integral term. Here, the velocity update algorithm is simplified, and the gravity / Cordeaux integral term is ignored.
[0098] Optionally, the position can be updated by combining the position and velocity information from the previous time step with the velocity information from the current epoch, according to formula (12):
[0099] (12)
[0100] in, It can represent the current position. It can indicate the position at the previous moment. It can represent the velocity information of the previous moment. It can represent the speed information at the current moment.
[0101] The calculation results of the inertial navigation machine arrangement are determined by combining the differential equations of the inertial navigation machine arrangement in relation (1) with the calculation results of relation (2) to relation (12).
[0102] In an exemplary embodiment, zero-velocity detection based on foot motion data can be performed through the following steps to determine the zero-velocity detection result:
[0103] Detection statistics can be determined based on inertial navigation observations, and zero-velocity detection can be performed on the legged robot based on these statistics to determine the zero-velocity detection results. After fixing the sensor to the foot of the legged robot, when the foot with the sensor is stationary on the ground, the sensor's velocity is zero, and its velocity, position, and attitude remain unchanged. The ideal values for linear acceleration, angle change, and elevation change are zero. That is, in a stationary state, if sensor errors and environmental interference are not considered, the accelerometer's 3-axis output is the gravity component, the magnitude of the 3-axis output equals gravity, and the change between epochs is zero; the gyroscope's 3-axis output is zero; and the magnetometer's 3-axis output has zero change between epochs. Due to sensor errors such as zero bias and scaling factor, the sensor output characteristics at a stationary moment are not as described above. However, the accelerometer and gyroscope are relatively less affected by the environment, and the data at static and dynamic moments differ significantly, making them suitable for zero-velocity detection.
[0104] Optionally, the test statistic including the outputs of the accelerometer and gyroscope can be derived using the Neyman-Pearson criterion and the maximum likelihood method. For example, the test statistic can be calculated using the relation (13):
[0105] (13)
[0106] in, It can represent the test statistic. It can represent the size of the zero-velocity detection window; , These can represent the noise variance of the accelerometer and the gyroscope, respectively; and These can represent the specific force and angular velocity vectors at time k, respectively; It can represent the vector of average specific force of each axis output by the accelerometer within the zero-velocity detection window.
[0107] Optionally, an adaptive threshold can be determined based on the detection statistics, and the zero-velocity detection result can be determined based on the detection statistics and the adaptive threshold. For example, taking a length of... Calculate the in-window statistical test result. The adaptive threshold can be calculated using equation (14):
[0108] (14)
[0109] in, It can represent an adaptive threshold. This can represent taking the minimum value. It can represent taking the maximum value. It can represent amplitude parameters.
[0110] When the detection statistics at the current moment are less than the adaptive threshold, the legged robot can be considered to be in a zero-speed state at the current moment; when the detection statistics at the current moment are greater than or equal to the adaptive threshold, the legged robot can be considered to be in a non-zero-speed state at the current moment.
[0111] The adaptive threshold calculated based on the amplitude and minimum value of the test statistic within the window can effectively reflect the characteristics of the test statistic sequence within the window, and thus reflect changes in motion speed. Taking the minimum value within the window ensures that the zero-speed state is detected at each step, allowing for timely zero-speed updates and guaranteeing their effectiveness. This is achieved by setting the amplitude parameter. It can accurately detect more zero-velocity states, building upon the ability to detect zero-velocity moments at every step.
[0112] In an optional exemplary embodiment, the target sensor mounted on the foot of the legged robot may further include a pressure sensor, thereby directly acquiring the pressure data corresponding to the pressure sensor. Then, based on the pressure data, zero-velocity detection is performed on the foot motion data to determine the zero-velocity detection result. The pressure sensor can directly determine whether the legged robot's foot is touching the ground, reducing system complexity, improving the accuracy of system modal recognition, and increasing the detection efficiency of zero-velocity detection.
[0113] In one exemplary embodiment, it can be achieved through Figure 5 The steps in the process determine the current dead attitude based on zero-velocity detection results and foot movement data, referencing... Figure 5 As shown, it can specifically include:
[0114] Step S510: If it is determined that the zero-speed detection result indicates that the current time is in a zero-speed state, then the zero-speed state parameters are determined.
[0115] Step S520: Construct a heading and elevation self-observation module based on the zero-velocity state parameters;
[0116] Step S530: Update the heading angle change through the heading elevation self-observation module to obtain the self-observation heading angle change;
[0117] Step S540: Update the elevation change through the heading elevation self-observation module to obtain the self-observation elevation change;
[0118] Step S550: Determine the current dead attitude based on the inertial navigation mechanical arrangement and settlement results, the heading angle change, the self-observed heading angle change, the elevation change, and the self-observed elevation change.
[0119] Among them, the ground has a very strong constraint on the elevation of the foot of the legged robot when it is in a zero-speed state. That is, when the foot of the legged robot lands in a zero-speed state, it is generally not in a suspended state or will dent the ground. The elevation of the foot is consistent with the elevation of the ground. The dead reckoning results show that the elevation difference between adjacent zero-speed epochs when walking on flat ground and when the foot is in a zero-speed state is very small.
[0120] The elevation difference between uphill and downhill slopes depends on the legged robot's stride length and slope. When the legged robot is walking on flat ground or stationary, the elevation changes between adjacent zero-velocity intervals and between adjacent zero-velocity epochs within the same zero-velocity interval are very small. By analyzing the elevation changes between adjacent zero-velocity intervals, the elevation change characteristics of the robot's walking path, such as walking on flat ground, going up and down stairs, and going up and down slopes, can be accurately identified. The elevation difference between adjacent zero-velocity epochs within the same zero-velocity interval is even smaller, and this part of the elevation difference can be regarded as an error in the elevation direction, and a zero elevation difference constraint can also be applied.
[0121] When the elevation change is less than the set adaptive threshold, the legged robot can be considered to be walking on flat ground or in a stationary state (i.e., zero speed state). Then, a heading and elevation self-observation model can be established based on the foot motion data at the moment corresponding to the zero speed state. The heading and elevation of the legged robot can be updated through the heading and elevation self-observation model. For example, the elevation self-observation model and its measurement equation can be expressed as relation (15) and relation (16):
[0122] (15)
[0123] (16)
[0124] in, This can be expressed as the height difference threshold of the elevation self-observation model. The elevation observation noise is determined by the height difference between adjacent zero-velocity times, i.e., the height difference between adjacent zero-velocity times is less than the set height difference threshold. After (for example, It can be set to 0.05m, or other thresholds (the specific settings can be customized). The smaller the height difference, the greater the probability of accurately judging the state as walking or standing on flat ground, and the smaller the corresponding elevation observation noise.
[0125] The high-precision heading angle change between adjacent zero-velocity epochs can be obtained through inertial navigation mechanical arrangement. The heading self-observation model is the same as the elevation self-observation model. The heading angle change between adjacent zero-velocity intervals can be used to determine whether the robot is walking in a straight line or stationary. The heading self-observation model will not be described in detail here.
[0126] After obtaining the heading self-observation model and the elevation self-observation model, a heading-elevation self-observation model can be established. The heading angle change is updated using the heading-elevation self-observation module to obtain the self-observed heading angle change, and the elevation change is updated using the heading-elevation self-observation module to obtain the self-observed elevation change. Finally, the current dead-position attitude is determined based on the inertial navigation system's mechanical arrangement and calculation results, the heading angle change, the self-observed heading angle change, the elevation change, and the self-observed elevation change. By combining the self-observed heading angle change and self-observed elevation change determined by the heading-elevation self-observation module, and finally combining these to determine the current dead-position attitude, the accuracy of the current dead-position attitude can be effectively improved, thus enhancing the navigation and positioning results of the legged robot in indoor environments.
[0127] Optionally, measurements can be updated using the zero-velocity state parameters and the speed, self-observed heading angle change, and self-observed elevation change output by the heading and elevation self-observation module, employing a Kalman filter algorithm. The types of measurement values can include elevation changes output by the barometric pressure sensor, self-observed elevation changes, state parameters, inertial navigation system (INS) mechanical arrangement and calculation results, heading angle changes, and self-observed heading angle changes. Since different measurement values have different observation update frequencies and times, the dimensions of the measurement matrix and measurement noise matrix can be adjusted according to the measurement value type during measurement updates.
[0128] In one example embodiment, when the zero-speed detection result indicates that the current state is not zero-speed, the current dead attitude can be determined directly based on the inertial navigation mechanical arrangement calculation result, the change in heading angle, and the change in elevation.
[0129] Figure 6 This illustration schematically shows a flowchart of a robot navigation and positioning process based on zero-velocity detection results in an exemplary embodiment of this disclosure.
[0130] refer to Figure 6As shown, step S610 involves time synchronization of each target sensor, for example, hard time synchronization technology can be used to synchronize the target sensors; step S620 involves acquiring sensor data read from the target sensors; step S630 involves preprocessing the sensor data, for example, detecting whether there is any loss or abnormality in the sensor data, and using linear interpolation to complete the lost or abnormal sensor data; step S640 involves zero-velocity detection based on the sensor data to determine the zero-velocity detection result, for example, zero-velocity detection can be performed using the accelerometer data and gyroscope data corresponding to the inertial navigation sensor, or zero-velocity detection can be performed directly using the pressure sensor; step S650 involves inertial navigation mechanical orchestration calculation of the inertial navigation observation values, and determining the inertial navigation mechanical orchestration calculation result; step S660 involves zero-velocity detection based on the zero-velocity detection result. Determine if the current speed is zero. If it is, proceed to step S670; otherwise, proceed to step S690. Step S670: Heading and elevation self-observation. For example, a heading and elevation self-observation model can be constructed based on inertial navigation observations, and the heading and elevation changes can be updated and corrected using this model. Step S680: Multi-source fusion positioning. For example, fusion positioning can be performed based on the inertial navigation mechanical arrangement settlement results, heading angle changes, self-observed heading angle changes, elevation changes, and self-observed elevation changes to determine the current dead center attitude. Step S690: Output position, velocity, and attitude. Position, velocity, and attitude are determined based on the inertial navigation mechanical arrangement settlement results, heading angle changes, and elevation changes. The current dead center attitude is then determined based on the position, velocity, and attitude, and the current process ends.
[0131] In summary, this exemplary embodiment can acquire foot motion data, perform zero-velocity detection based on the foot motion data, determine the zero-velocity detection result, and then determine the current dead-end attitude based on the zero-velocity detection result and foot motion data, thereby enabling navigation and positioning. On one hand, performing zero-velocity detection using foot motion data and combining the zero-velocity detection result to determine the current dead-end attitude can effectively improve the accuracy of the dead-end attitude result, thus improving navigation and positioning accuracy. On the other hand, navigation and positioning can be achieved solely through the foot motion data of the legged robot, without the need for other high-precision navigation and positioning devices, effectively reducing the manufacturing cost of the legged robot. Furthermore, determining the dead-end attitude solely through foot motion data involves less computation, effectively improving the computational efficiency of the legged robot and enhancing system performance.
[0132] This disclosed example embodiment utilizes MEMS sensors mounted on the foot of a legged robot for dead reckoning, offering at least the following advantages: Low cost, low power consumption, and small size: Due to the periodic zero-velocity information assisting in estimating sensor errors, there are no stringent requirements for sensor performance indicators; most commercially available IMUs, such as the MPU9250, can meet the requirements of this technical solution. The sensors required by this technical solution have significant cost and power consumption advantages compared to navigation-grade and industrial-grade sensors, and are also smaller in size. Low computational resource consumption: Employing a simplified kinematic model for robot dead reckoning results in less data generation and lower computational requirements compared to map-matching localization methods, while achieving a corresponding level of navigation and positioning accuracy. Good scene adaptability: This technical solution is adaptable to various indoor and outdoor scenes, without issues such as signal obstruction or reflected signal interference, and has no requirements regarding scene features such as lighting, texture, and depth of field. Strong anti-interference and anti-spoofing capabilities: As a passive positioning technology, the dead reckoning method based on inertial measurement units has strong anti-interference and anti-spoofing capabilities. This technical solution has even stronger anti-interference capabilities on this basis. Traditional robot dead reckoning relies on sensors built into the robot's torso, which usually include inertial navigation sensors and magnetic sensors. The batteries and wires are also concentrated in the torso, resulting in serious heat generation and electromagnetic interference problems. The heat generation problem may cause changes in the sensor error characteristics, and severe electromagnetic interference may cause the magnetometer to fail. This technical solution places the sensors at the foot of the legged robot, away from the heat source and complex wiring, reducing the impact of heat generation and electromagnetic interference on the positioning system.
[0133] It should be noted that the above figures are merely illustrative of the processes included in the method according to exemplary embodiments of this disclosure, and are not intended to be limiting. It is readily understood that the processes shown in the above figures do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.
[0134] Further reference Figure 7 As shown, this example embodiment also provides a robot navigation and positioning device 700. Wherein:
[0135] The foot motion calculation module 710 can be used to acquire foot motion data;
[0136] The zero-speed detection module 720 can be used to perform zero-speed detection based on the foot movement data and determine the zero-speed detection result;
[0137] The dead attitude determination module 730 can be used to determine the current dead attitude based on the zero-speed detection results and the foot movement data, so as to perform navigation and positioning through the current dead attitude.
[0138] In one exemplary embodiment, the legged robot may include a target sensor disposed at the end of the foot. The target sensor may include an inertial navigation sensor, a magnetic sensor, and a barometric pressure sensor. The foot motion calculation module 710 may be used for:
[0139] Obtain the inertial navigation observation values output by the inertial navigation sensor;
[0140] The inertial navigation observations are subjected to inertial navigation mechanical orchestration, and the inertial navigation mechanical orchestration settlement result is determined;
[0141] The change in heading angle output by the magnetic sensor and the change in elevation output by the barometric pressure sensor are obtained.
[0142] Foot movement data are determined based on the inertial navigation mechanical arrangement and calculation results, the change in magnetic heading angle, and the change in air pressure elevation.
[0143] In one exemplary embodiment, the zero-velocity detection module 720 can be used to:
[0144] The detection statistics are determined based on the inertial navigation observations.
[0145] The legged robot is subjected to zero-velocity detection based on the detection statistics to determine the zero-velocity detection result.
[0146] In one exemplary embodiment, the zero-velocity detection module 720 can be used to:
[0147] An adaptive threshold is determined based on the detection statistics;
[0148] The zero-velocity detection result is determined based on the detection statistics and the adaptive threshold.
[0149] In one exemplary embodiment, the target sensor may include a pressure sensor, and the zero-velocity detection module 720 may be used for:
[0150] Obtain the pressure data corresponding to the pressure sensor;
[0151] Zero-speed detection is performed on the foot movement data based on the pressure data to determine the zero-speed detection result.
[0152] In an exemplary embodiment, the dead reckoning and attitude determination module 730 can be used to:
[0153] If the zero-velocity detection result indicates that the current time is in a zero-velocity state, then the zero-velocity state parameters are determined.
[0154] A heading and elevation self-observation module is constructed based on the zero-velocity state parameters;
[0155] The self-observed heading angle change is obtained by updating the heading angle change through the heading elevation self-observation module;
[0156] The self-observed elevation change is obtained by updating the elevation change through the heading elevation self-observation module;
[0157] The current position and attitude are determined based on the inertial navigation system's mechanical arrangement and calculation results, the change in heading angle, the change in self-observed heading angle, the change in elevation, and the change in self-observed elevation.
[0158] In an exemplary embodiment, the dead reckoning and attitude determination module 730 can be used to:
[0159] If the zero-speed detection result indicates that the current state is not zero-speed, then the current dead attitude is determined based on the inertial navigation mechanical arrangement calculation result, the change in heading angle, and the change in elevation.
[0160] In an exemplary embodiment, the robot navigation and positioning device 700 may further include a time synchronization unit, which may be used for:
[0161] The target sensors are subjected to time synchronization processing, which includes at least one of soft time synchronization and hard time synchronization.
[0162] The specific details of each module in the above-mentioned device have been described in detail in the method section of the implementation. For any undisclosed details, please refer to the implementation content of the method section, and therefore will not be repeated here.
[0163] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."
[0164] Exemplary embodiments of this disclosure provide a robot device for implementing a robot navigation and positioning method, which may be... Figure 1 The device includes a bipedal robot 101, a quadruped robot 102, or a server 104. The electronic device includes at least a processor and a memory, the memory storing executable instructions for the processor, and the processor configured to perform a robot navigation and localization method by executing the executable instructions.
[0165] The following is based on Figure 8 Taking the robot device 800 as an example, the construction of the robot device in this disclosure will be described by way of example. Figure 8The robot device 800 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0166] like Figure 8 As shown, the robot device 800 is presented in the form of a general-purpose computing device. The components of the robot device 800 may include, but are not limited to: at least one processing unit 810, at least one storage unit 820, a bus 830 connecting different system components (including storage unit 820 and processing unit 810), and a display unit 840.
[0167] The storage unit 820 stores program code, which can be executed by the processing unit 810, causing the processing unit 810 to execute the robot navigation and positioning method described in this specification.
[0168] Storage unit 820 may include readable media in the form of volatile storage units, such as random access memory (RAM) 821 and / or cache memory 822, and may further include read-only memory (ROM) 823.
[0169] The storage unit 820 may also include a program / utility 824 having a set (at least one) of program modules 825, including but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of these examples may include an implementation of a network environment.
[0170] Bus 830 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0171] The robot device 800 can also communicate with one or more external devices 870 (e.g., sensor devices, Bluetooth devices, etc.), one or more devices that enable users to interact with the robot device 800, and / or any device that enables the robot device 800 to communicate with one or more other computing devices (e.g., routers, modems, etc.). This communication can be performed via input / output (I / O) interface 850. Furthermore, the robot device 800 can also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via network adapter 860. As shown, network adapter 860 communicates with other modules of the robot device 800 via bus 830. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with the robot device 800, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and sensor modules (e.g., gyroscope sensors, magnetic sensors, accelerometers, distance sensors, proximity sensors, etc.).
[0172] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0173] Exemplary embodiments of this disclosure also provide a computer-readable storage medium having a program product stored thereon capable of implementing the methods described above in this specification. In some possible embodiments, various aspects of this disclosure may also be implemented as a program product including program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0174] It should be noted that the computer-readable medium disclosed herein may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
[0175] In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transfer a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wireless, wireline, optical fiber, RF, etc., or any suitable combination thereof.
[0176] Furthermore, program code for performing the operations of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's computing device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0177] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. 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 disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
[0178] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A robot navigation and positioning method, characterized in that, Applied to legged robots, the method includes: Acquire foot movement data; Zero-speed detection is performed based on the foot movement data to determine the zero-speed detection result; The current dead attitude is determined based on the zero-speed detection results and the foot movement data, so as to perform navigation and positioning using the current dead attitude; The legged robot includes target sensors mounted on its foot, which include an inertial navigation sensor, a magnetic sensor, and a barometric pressure sensor. Acquiring foot motion data includes: Obtain the inertial navigation observation values output by the inertial navigation sensor; The inertial navigation observations are subjected to inertial navigation mechanical orchestration, and the inertial navigation mechanical orchestration settlement result is determined; The change in heading angle output by the magnetic sensor and the change in elevation output by the barometric pressure sensor are obtained. Foot movement data are determined based on the inertial navigation mechanical arrangement and calculation results, the change in heading angle, and the change in elevation. The process of determining the current dead attitude based on the zero-speed detection result and the foot movement data includes: If the zero-speed detection result indicates that the current time is in a zero-speed state, then the zero-speed state parameters are determined; the zero-speed detection result refers to the data calculated based on the foot movement data to determine whether the foot of the legged robot is in the zero-speed state and the time point at which it is in the zero-speed state; A heading and elevation self-observation module is constructed based on the zero-velocity state parameters; The self-observed heading angle change is obtained by updating the heading angle change through the heading elevation self-observation module; The self-observed elevation change is obtained by updating the elevation change through the heading elevation self-observation module; The current position and attitude are determined based on the inertial navigation system's mechanical arrangement and calculation results, the change in heading angle, the change in self-observed heading angle, the change in elevation, and the change in self-observed elevation.
2. The method according to claim 1, characterized in that, The step of performing zero-velocity detection based on the foot movement data and determining the zero-velocity detection result includes: The detection statistics are determined based on the inertial navigation observations. The legged robot is subjected to zero-velocity detection based on the detection statistics to determine the zero-velocity detection result.
3. The method according to claim 2, characterized in that, The step of performing zero-velocity detection on the legged robot based on the detection statistics and determining the zero-velocity detection result includes: An adaptive threshold is determined based on the detection statistics; The zero-velocity detection result is determined based on the detection statistics and the adaptive threshold.
4. The method according to claim 1, characterized in that, The target sensor includes a pressure sensor, and the step of performing zero-speed detection based on the foot movement data and determining the zero-speed detection result includes: Obtain the pressure data corresponding to the pressure sensor; Zero-speed detection is performed on the foot movement data based on the pressure data to determine the zero-speed detection result.
5. The method according to claim 1, characterized in that, The process of determining the current dead attitude based on the zero-speed detection result and the foot movement data includes: If the zero-speed detection result indicates that the current state is not zero-speed, then the current dead attitude is determined based on the inertial navigation mechanical arrangement calculation result, the change in heading angle, and the change in elevation.
6. The method according to claim 1, characterized in that, The method further includes: The target sensors are subjected to time synchronization processing, which includes at least one of soft time synchronization and hard time synchronization.
7. A robot navigation and positioning device, characterized in that, The device, installed on a legged robot, includes: The foot motion calculation module is used to acquire foot motion data; Zero-speed detection module, used to perform zero-speed detection based on the foot movement data and determine the zero-speed detection result; The dead attitude determination module determines the current dead attitude based on the zero-speed detection results and the foot movement data, so as to perform navigation and positioning using the current dead attitude; The legged robot includes target sensors mounted on its feet, which include an inertial navigation sensor, a magnetic sensor, and a barometric pressure sensor. The foot motion calculation module is specifically used to acquire inertial navigation observations output by the inertial navigation sensor; perform inertial navigation mechanical arrangement on the inertial navigation observations to determine the inertial navigation mechanical arrangement calculation result; acquire the heading angle change output by the magnetic sensor and the elevation change output by the barometric pressure sensor; and determine foot motion data based on the inertial navigation mechanical arrangement calculation result, the heading angle change, and the elevation change. The dead-position attitude determination module is specifically used to: determine zero-speed state parameters if the zero-speed detection result indicates that the current time is in a zero-speed state; construct a heading and elevation self-observation module based on the zero-speed state parameters; update the heading angle change using the heading and elevation self-observation module to obtain a self-observed heading angle change; update the elevation change using the heading and elevation self-observation module to obtain a self-observed elevation change; determine the current dead-position attitude based on the inertial navigation mechanical arrangement calculation result, the heading angle change, the self-observed heading angle change, the elevation change, and the self-observed elevation change; the zero-speed detection result refers to the data calculated based on the foot motion data to determine whether the foot of the legged robot is in the zero-speed state and the time point at which it is in the zero-speed state.
8. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 6.
9. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the method of any one of claims 1 to 6 by executing the executable instructions.
Citation Information
Patent Citations
Pedestrian navigation device and method based on novel multi-sensor fusion technology
CN106017454A
IMU (Inertial Measurement Unit)-based lower limb exoskeleton support domain measurement method
CN114193511A