A corridor environment-based robot navigation method, robot and storage medium
Patent Information
- Application Number
- CN202310470567.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-24
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-04-24
AI Technical Summary
但是全局地图的构建会占用大量的计算资源和存储资源,在算力不充足的机器人上部署时,会降低机器人的整体性能,甚至会导致机器人导航失败
[0013] Beneficial Effects: Compared with existing technologies, this invention provides a robot navigation method based on a corridor environment. It acquires current frame point cloud data including the corridor region and extracts corridor features from the current frame point cloud data to obtain current corridor point cloud data. Based on the corridor features in the current corridor point cloud data, it determines the current centerline of the current corridor point cloud data, which represents the centerline of the corridor region for the robot in its current pose. It registers the current frame point cloud data with a local map obtained by stitching together historical frame point cloud data to obtain the robot's current pose data. It calculates the deviation between the robot's current pose data and the current centerline, and controls the robot's running path based on the deviation, causing the robot to run along the centerline of the corridor region. Based on the navigation method provided by this application, it eliminates the need to construct a global map; autonomous robot navigation can be achieved simply by constructing a local map. This reduces the need for excessive hardware resources, saves costs, and improves navigation efficiency and stability.
Smart Images

Figure CN116839576B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of navigation technology, and in particular to a robot navigation method, robot, and storage medium based on a corridor environment. Background Technology
[0002] In recent years, the field of intelligent robots has developed rapidly, and mobile robots, as an important branch of intelligent robots, have also received increasing attention. To achieve complete autonomous navigation of a mobile robot, it is necessary to perceive the surrounding environment through sensing technology and build a map; use algorithms to achieve the robot's localization in the environment; and finally, based on its own pose (position and attitude) and environmental information, provide path planning and control the robot's movement.
[0003] Mobile robots are typically equipped with sensors such as LiDAR, cameras, and wheeled odometers to collect information. Currently, there are three main robot navigation strategies. First, by attaching magnetic tape or colored ribbons to the ground as guide rails, the robot uses its onboard magnetic or color sensors to follow the guide rails for localization and navigation. Second, by attaching QR code images or other markers to the ceiling and pre-creating a global map of the environment, the robot uses visual sensors such as cameras for localization and navigation. Third, by using laser SLAM (simultaneous localization and mapping) and visual SLAM technologies to simultaneously build an environmental map and determine its own pose during operation, thereby helping the robot achieve autonomous navigation.
[0004] However, in existing technologies, solutions using guide rails severely restrict the robot's freedom of movement, limiting it to following the rails and introducing numerous limitations to its applications. Furthermore, guide rails such as magnetic tapes attached to the ground are susceptible to wear and damage, leading to decreased robustness over time. Solutions using markers such as QR codes require the prior construction of a global map of the environment for localization. SLAM solutions, on the other hand, require the construction of a complete global map during operation to assist the robot in localization and ultimately achieve autonomous navigation. However, the construction of a global map consumes significant computational and storage resources, which can degrade the robot's overall performance and even cause navigation failure when deployed on robots with insufficient computing power. Therefore, existing robot navigation methods generally require the construction of a global map for localization to achieve autonomous navigation, but global maps consume excessive computational and storage resources and are prone to navigation failure.
[0005] Therefore, existing technologies still need to be improved and enhanced. Summary of the Invention
[0006] The technical problem to be solved by the present invention is to provide a robot navigation method, robot and storage medium based on corridor environment, in order to address the above-mentioned defects of the prior art. The aim is to solve the problem that the robot navigation methods in the prior art basically require the construction of a global map to complete the localization in order to achieve autonomous navigation. However, the global map requires too much computing and storage resources and is prone to navigation failure.
[0007] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:
[0008] In a first aspect, the present invention provides a robot navigation method based on a corridor environment, comprising: acquiring current frame point cloud data including a corridor region, and extracting corridor features from the current frame point cloud data to obtain current corridor point cloud data; determining the current centerline of the current corridor point cloud data based on the corridor features in the current corridor point cloud data, wherein the current centerline is used to characterize the centerline of the corridor region of the robot in its current pose; registering the current frame point cloud data with a local map obtained by stitching together historical frame point cloud data to obtain the current pose data of the robot; calculating the deviation between the current pose data of the robot and the current centerline, and controlling the robot's running path based on the deviation so that the robot runs along the centerline of the corridor region.
[0009] Secondly, the present invention provides a robot navigation device based on a corridor environment, comprising: a point cloud feature extraction module, used to acquire current frame point cloud data including a corridor region, and extract corridor features from the current frame point cloud data to obtain current corridor point cloud data; a centerline determination module, used to determine the current centerline of the current corridor point cloud data based on the corridor features in the current corridor point cloud data, the current centerline being used to characterize the centerline of the corridor region of the robot in its current pose; a pose data determination module, used to register the current frame point cloud data with a local map obtained by stitching together historical frame point cloud data to obtain the current pose data of the robot; and a robot control module, used to calculate the deviation between the current pose data of the robot and the current centerline, and control the robot's running path based on the deviation so that the robot runs along the centerline of the corridor region.
[0010] Thirdly, the present invention provides a robot, comprising: a robot body, a rotating mechanism, a lidar, and a main control chip, wherein: the lidar is connected to the robot body through the rotating mechanism and is used to scan the application scene including the corridor area under the drive of the rotating mechanism to collect the current frame point cloud data including the corridor area; the main control chip is disposed on the robot body and is used to process the current frame point cloud data according to the robot navigation method to control the robot to run along the center line of the corridor area.
[0011] Fourthly, embodiments of the present invention also provide a terminal device, wherein the terminal device includes a memory, a processor, and a robot navigation program based on a corridor environment stored in the memory and executable on the processor. When the processor executes the robot navigation program based on a corridor environment, it implements the steps of the robot navigation method based on a corridor environment according to any of the above-described solutions.
[0012] Fifthly, embodiments of the present invention also provide a computer-readable storage medium storing a robot navigation program based on a corridor environment. When the robot navigation program based on a corridor environment is executed by a processor, it implements the steps of the robot navigation method based on a corridor environment according to any of the above-described solutions.
[0013] Beneficial Effects: Compared with existing technologies, this invention provides a robot navigation method based on a corridor environment. It acquires current frame point cloud data including the corridor region and extracts corridor features from the current frame point cloud data to obtain current corridor point cloud data. Based on the corridor features in the current corridor point cloud data, it determines the current centerline of the current corridor point cloud data, which represents the centerline of the corridor region for the robot in its current pose. It registers the current frame point cloud data with a local map obtained by stitching together historical frame point cloud data to obtain the robot's current pose data. It calculates the deviation between the robot's current pose data and the current centerline, and controls the robot's running path based on the deviation, causing the robot to run along the centerline of the corridor region. Based on the navigation method provided by this application, it eliminates the need to construct a global map; autonomous robot navigation can be achieved simply by constructing a local map. This reduces the need for excessive hardware resources, saves costs, and improves navigation efficiency and stability. Attached Figure Description
[0014] Figure 1 This is a schematic diagram illustrating an application scenario of the robot navigation method based on a corridor environment provided in an embodiment of the present invention.
[0015] Figure 2 A flowchart illustrating a specific implementation of the robot navigation method based on a corridor environment provided in this invention.
[0016] Figure 3 This is a block diagram illustrating the principle of robot navigation based on a corridor environment, as provided in an embodiment of the present invention.
[0017] Figure 4 This is a block diagram illustrating the internal structure of the terminal device provided in an embodiment of the present invention. Detailed Implementation
[0018] To make the objectives, technical solutions, and effects of this invention clearer and more explicit, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0019] This embodiment provides a robot navigation method based on a corridor environment, which can save costs and improve navigation efficiency and stability.
[0020] Figure 1 According to an application scenario provided in this application, the scenario involves a straight corridor in the middle and rooms on both sides. This scenario is common in environments such as hotels, KTVs, and apartments. The width of the corridor and the doors along the corridor are known and have the same width. Robots used in this scenario (such as cleaning robots or food delivery robots) need to operate in the corridor (arrows indicate the robot's direction of movement) and identify the position of each door, thereby sequentially entering each room along the corridor to scan and obtain point cloud data of the rooms. However, constructing a global map of the application scenario not only easily consumes a large amount of the robot's computing and storage resources but also places high demands on the robot's computing power. Furthermore, there is currently no good method for navigation and localization in similar scenarios where there are multiple rooms at both ends of the corridor. Therefore, this embodiment provides a robot navigation method based on a corridor environment. When it is necessary to control the robot in a corridor... Figure 1 When working in the application scenario, the robot can achieve autonomous navigation in the corridor area according to the navigation method provided in this application without building a global map and with minimal hardware resource consumption.
[0021] In one embodiment, the robot includes: a robot body, a rotating mechanism, a lidar, and a main control chip; wherein, the lidar is connected to the robot body through the rotating mechanism, and is used to scan the application scene including the corridor area under the drive of the rotating mechanism to collect current frame point cloud data including the application scene; the main control chip is used to control the rotation of the rotating mechanism, and is also used to stitch together multiple frames of point cloud data collected by the lidar within a preset fixed time to obtain a local map, and to process the current frame point cloud and the local map according to the robot navigation method based on the corridor environment provided in one or more embodiments of this application to obtain the robot's current pose, and control the robot to run along the center line of the corridor area based on the deviation between the robot's current pose and the center line of the corridor, thereby realizing the robot's autonomous navigation.
[0022] Specifically, the lidar includes a transmitter, a receiver, and a processor. The transmitter emits a light beam for application scenarios including corridor areas. The receiver receives the light beam reflected from the application scenario and generates an image data transmission processor. The processor processes the image to obtain corresponding point cloud data. Furthermore, the rotating mechanism in this embodiment can drive the lidar to rotate 360° on the horizontal plane, and one frame of local point cloud data can be collected with each rotation.
[0023] In one embodiment, the robot body may also be equipped with an odometer or an IMU (inertial measurement unit) to assist in estimating the robot's pose data. In specific applications, the main control chip in the robot acquires the current frame point cloud data collected by the LiDAR, and combines the pose data obtained by the odometer or IMU with the multi-frame point cloud data collected by the LiDAR within a preset fixed time period to obtain a local map. Then, at the current moment of robot operation, the current initial pose data obtained by the odometer or IMU, the current point cloud data collected by the LiDAR, and the local map are used to obtain the robot's current precise pose data. The deviation between the robot's current precise pose data and the center line of the corridor is calculated, so as to control the robot to run on the center line of the corridor based on the above deviation.
[0024] Exemplary methods
[0025] The robot navigation method based on the corridor environment in this embodiment can be applied to robots, specifically intelligent operational robots such as cleaning robots. Figure 2 As shown, the method in this embodiment specifically includes the following steps:
[0026] Step S10: Obtain the current frame point cloud data including the corridor area, and extract corridor features from the current frame point cloud data to obtain the current corridor point cloud data.
[0027] Specifically, the transmitter of the lidar emits a light beam towards the planar area containing the corridor, and the receiver receives the reflected beam to generate corresponding image data, which is then transmitted to the processor. The processor processes the image data to obtain the current frame point cloud data. Since the current frame point cloud data includes corridor features, this embodiment can extract the current frame corridor point cloud data from this current frame point cloud data.
[0028] In one implementation, this embodiment includes the following steps when extracting the current frame corridor point cloud data:
[0029] Step S101: Obtain the preset width data of the corridor area;
[0030] Step S102: Extract parallel line features from the current frame point cloud data with a preset width threshold, and use the point cloud data corresponding to the parallel line features as the current corridor point cloud data, wherein the parallel line features are corridor features.
[0031] Specifically, due to Figure 1 In this scenario, the width of the corridor area is fixed. Therefore, this embodiment can first obtain the preset width data of the corridor area. Furthermore, the width data of any location within the corridor area is identical. Therefore, this embodiment can extract corridor features based on extracting parallel line features, thereby obtaining the current corridor point cloud data. Specifically, this embodiment can extract parallel line features from the current frame point cloud data, using the width data as a width threshold. These parallel line features are corridor features, and therefore, the number of point clouds corresponding to the extracted parallel line features is the current corridor point cloud data.
[0032] Step S20: Based on the corridor features in the current corridor point cloud data, determine the current centerline of the current corridor point cloud data. The current centerline is used to characterize the centerline of the corridor area of the robot in the current pose.
[0033] After obtaining the current corridor point cloud data, this embodiment can further determine the current centerline of the current corridor data. The current centerline of this embodiment is the centerline of the corridor area, which is used to constrain the robot's navigation path and help the robot complete autonomous navigation so that it does not deviate from the predetermined track.
[0034] In one implementation, this embodiment includes the following steps when determining the current centerline:
[0035] Step S201: Obtain the slope and intercept of the two parallel lines in the parallel line feature;
[0036] Step S202: Take the slope of the two parallel lines as the target slope, and take the average of the intercepts of the two parallel lines as the target intercept.
[0037] Step S203: Determine the current centerline based on the target slope and target intercept.
[0038] Specifically, since the current corridor point cloud data is obtained by extracting parallel line features, the two parallel lines in the parallel line features correspond to the two sides of the corridor area, so the current center line of the corridor area is the line between the two parallel lines. Therefore, this embodiment can construct the linear equations of the two parallel lines in the parallel line features using the point cloud data located on the parallel lines to obtain the slopes of the two parallel lines. These two parallel lines have the same slope. The current center line is located between and parallel to the parallel lines, and the target slope of the current center line should also be the same as the slope of the parallel lines. Furthermore, this embodiment also obtains the intercepts of the two parallel lines based on their linear equations. The target intercept of the current center line should be the average of the intercepts of the two parallel lines to ensure that the current center line is located in the middle of the two parallel lines. After obtaining the target slope and target intercept, the linear equation of the current center line can be constructed based on the target slope and target intercept, thus obtaining the center line of the corridor area and determining its position. This embodiment uses a simple method to calculate the current center line, and the method based on slope and intercept can accurately determine the position of the center line of the corridor area, which helps to constrain the robot's navigation path in subsequent steps.
[0039] Step S30: Register the current frame point cloud data with the local map obtained by stitching together the historical frame point cloud data to obtain the robot's current pose data.
[0040] Specifically, the current frame point cloud data is based on the point cloud data acquired at the current moment, while the historical frame point cloud data is the point cloud data acquired at previous moments, i.e., point cloud data acquired at the moment before the current moment or at all moments before the current moment. The local map is obtained by stitching together local point cloud data collected by the LiDAR in the scene, including the corridor area, at historical moments. Furthermore, each frame of point cloud data corresponds to a pose. In this embodiment, the current frame point cloud data and the local map are registered using the nearest point iteration algorithm to obtain the relative transformation relationship between the current frame point cloud and the local map. Based on the relative transformation relationship, the current frame point cloud data is transformed into the coordinate system of the local map, thereby obtaining the corresponding pose of the current frame point cloud relative to the local map, and thus obtaining the robot's current pose data.
[0041] It should be noted that in the process of registering the current frame point cloud data with the local map using the nearest point iteration algorithm to obtain the relative transformation relationship between the current frame point cloud data and the local map, the robot pose data recorded by the odometry or IMU can be used as the initial relative transformation relationship value to achieve the initial registration of the current frame point cloud data and the local map. Then, the nearest point iteration algorithm is used to iteratively optimize the initial relative transformation relationship value to obtain the optimal relative transformation relationship.
[0042] In one implementation, this embodiment includes the following steps when constructing a local map:
[0043] Step S301: Acquire several local point cloud data collected within a preset time period for the local environment, and determine the pose data corresponding to each local point cloud data:
[0044] Step S302: Transform all local point cloud data to the global coordinate system using the corresponding pose data, and stitch all local point cloud data together to obtain a local map.
[0045] Specifically, the robot in this embodiment targets [the target] within a preset time period. Figure 1 The system collects several local point cloud data sets in the local environment and determines the pose data corresponding to each local point cloud data set based on odometry or IMU. A queue is constructed to store several local point cloud data sets within a preset time period. To ensure the accuracy and real-time performance of navigation and avoid excessive errors in the constructed local map, this embodiment also saves local point cloud data sets within the preset time period whose difference from the current time is less than a time threshold in the queue, and removes local point cloud data sets whose difference from the current time is greater than the time threshold from the queue. This ensures that the local point cloud data used to construct the local map is close to the current time, contributing to a more accurate local map. Furthermore, this embodiment uses voxel filtering to remove redundant point cloud data. All local point cloud data sets in the queue are transformed to the global coordinate system using their corresponding pose data, and all local point cloud data sets are stitched together to obtain a local map. This local map includes several historical frame point cloud data sets and the pose data corresponding to each historical frame point cloud data set.
[0046] Step S40: Calculate the deviation between the robot's current pose data and the current center line, and control the robot's running path based on the deviation so that it runs along the center line of the corridor.
[0047] After determining the current pose data and the current centerline based on the above steps, the robot's running path can be controlled to run along the centerline of the corridor by calculating the deviation between the current pose data and the current centerline. During control, it is necessary to ensure that the robot moves along the centerline of the corridor area. For ease of description, this application assumes that the direction of the robot's movement is the positive direction of the current centerline.
[0048] Based on this, in one implementation, step S400 of this embodiment specifically includes the following steps:
[0049] Step S401: Obtain the positive direction information of the current centerline, and determine the directional deviation between the robot's running direction and the positive direction information of the current centerline based on the positive direction information;
[0050] Step S402: Determine the offset distance between the current pose data and the current centerline;
[0051] Step S403: Based on the directional deviation and offset distance, control the robot to run along the current centerline.
[0052] Specifically, in this embodiment, the current centerline divides the current corridor point cloud data into two groups of point cloud data, left and right. When determining the positive direction information of the current centerline, this embodiment obtains the two groups of point cloud data divided by the current centerline, performs rotation transformation, sorts them according to the X-axis coordinate, and then extracts the door positions for each of the two groups of point cloud data. During extraction, the width of the door is known, so the door position is extracted based on the door width. If the first door position extraction extracts a corridor feature, the positive direction information of the current centerline is randomly set. Furthermore, the identified door positions are also numbered according to the positive direction information of the current centerline (e.g., left 1, left 2, right 1, right 2), thus obtaining door number information. In subsequent steps, the robot can be controlled to enter the corresponding room for scanning based on the door number information, enabling the robot to navigate and locate in similar scenes with multiple rooms at both ends of the corridor.
[0053] If the initial door position extraction yields the door position itself, then the historical centerline is obtained, and the positive direction information of the current centerline is determined based on the current centerline and the historical centerline. Specifically, since the slope of the current centerline is known, but its direction is unknown, this embodiment arbitrarily selects one endpoint of the current centerline as the starting point and the other endpoint as the ending point, and calculates the direction of the current centerline; the direction of the historical centerline is obtained, and the direction of the current centerline is compared with that of the historical centerline: if the difference between the current centerline direction and the historical centerline direction is less than 180°, then the direction of the current centerline is determined as the positive direction information of the current centerline; if the difference between the current centerline direction and the historical centerline direction is greater than 180°, then the starting point and ending point of the current centerline are interchanged, and the direction of the current centerline is recalculated, and the recalculated direction of the current centerline is taken as the positive direction information of the current centerline. At this point, this embodiment can identify doors at the same position as the historical centerline based on the positive direction information of the current centerline. If a door at the same position is identified, it is considered the same door, and its number is set to match the historical centerline. If a door at a different position is identified, it is considered a newly detected door, and its number can be added. This embodiment does not limit the numbering rules for the door numbers; it only needs to ensure that each door is assigned a unique number. For example, when numbering, doors on the left side of the corridor can be numbered with odd numbers, and doors on the right side can be numbered with even numbers; alternatively, the numbers of doors moving in the positive direction can be incremented by 2, and the numbers of doors moving against the positive direction can be decremented by 2.
[0054] Upon obtaining the positive direction information of the current centerline, this embodiment can determine the directional deviation between the robot's running direction and the positive direction information of the current centerline based on the positive direction information. This directional deviation reflects whether the robot's running direction is the same as the positive direction information of the current centerline. If the directional deviation is that the robot's running direction is opposite to the positive direction information of the current centerline, the robot is controlled to move backward and switch its running direction; if the directional deviation is that the robot's running direction is the same as the positive direction information of the current centerline, the robot is controlled to move forward. In one implementation, this embodiment also determines the offset distance between the current pose data and the current centerline. If the offset distance exceeds a preset distance threshold, the robot is controlled to move closer to the current centerline and then move along the current centerline after reaching it. If the offset distance does not exceed the preset distance threshold, the robot can be directly controlled to continue moving along the current direction.
[0055] In summary, the robot navigation method based on a corridor environment provided in this embodiment acquires the robot's current pose and the current position of the corridor centerline in the robot's vision for each frame of point cloud data collected. By calculating the directional and displacement deviations between the corridor centerline and the robot's current pose, the robot's running path is adjusted in real time, ensuring that the robot always runs along the centerline of the corridor area. It should be noted that this navigation method is applicable to commercial service robots such as hotel service robots and KTV guidance robots, and is also suitable for applications that meet the following requirements: Figure 1 The scene describes agricultural and livestock robots and industrial inspection robots.
[0056] Exemplary device
[0057] Based on the above embodiments, Figure 3 According to this application, a robot navigation device based on a corridor environment is provided. This device can be applied to the main control chip of a robot and includes a point cloud feature extraction module 401, a centerline determination module 402, a pose data determination module 403, and a robot control module 404. Specifically, the point cloud feature extraction module 401 is used to acquire current frame point cloud data including the corridor area and extract corridor features from the current frame point cloud data to obtain current corridor point cloud data; the centerline determination module 402 is used to determine the current centerline of the current corridor point cloud data based on the corridor features in the current corridor point cloud data, and the current centerline is used to characterize the centerline of the corridor area of the robot in the current pose; the pose data determination module 403 is used to register the current frame point cloud data with a local map obtained by stitching together historical frame point cloud data to obtain the current pose data of the robot. The robot control module 404 is used to calculate the deviation between the current pose data of the robot and the current centerline, and control the running path of the robot based on the deviation to make it run along the centerline of the corridor.
[0058] The working principle of each functional module in the robot navigation device of this embodiment is the same as the execution process of each step in the above method embodiment, and will not be repeated here.
[0059] Based on the above embodiments, the present invention also provides a terminal device, the principle block diagram of which is shown in Figure 4. The terminal device may include one or more processors 100. Figure 4 (Only one is shown in the image), a memory 101, and a computer program 102 stored in the memory 101 and executable on one or more processors 100, such as a program for robot navigation based on a corridor environment. When one or more processors 100 execute the computer program 102, they can implement the various steps in the method embodiment of robot navigation based on a corridor environment. Alternatively, when one or more processors 100 execute the computer program 102, they can implement the functions of various modules / units in the embodiment of the robot navigation device based on a corridor environment, which is not limited here.
[0060] In one embodiment, the processor 100 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0061] In one embodiment, memory 101 may be an internal storage unit of an electronic device, such as a hard drive or RAM. Memory 101 may also be an external storage device of the electronic device, such as a plug-in hard drive, smart media card (SMC), secure digital (SD) card, flash card, etc. Furthermore, memory 101 may include both internal and external storage units. Memory 101 is used to store computer programs and other programs and data required by the terminal device. Memory 101 can also be used to temporarily store data that has been output or will be output.
[0062] Those skilled in the art will understand that Figure 4The block diagram shown is merely a partial structural diagram related to the present invention and does not constitute a limitation on the terminal device to which the present invention is applied. The specific terminal device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0063] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, operating databases, or other media used in the embodiments provided by this invention can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual operating data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.
[0064] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A robot navigation method based on a corridor environment, characterized in that, The method includes: Acquire current frame point cloud data including the corridor region, and extract corridor features from the current frame point cloud data to obtain current corridor point cloud data; Based on the corridor features in the current corridor point cloud data, the current centerline of the current corridor point cloud data is determined. The current centerline is used to characterize the centerline of the corridor region of the robot in the current pose. The current frame point cloud data is registered with the local map obtained by stitching together historical frame point cloud data to obtain the robot's current pose data. Calculate the deviation between the robot's current pose data and the current centerline, and control the robot's running path based on the deviation so that the robot runs along the centerline of the corridor area; The current centerline divides the current corridor point cloud data into two groups of point cloud data, and the door positions are extracted from the two groups of point cloud data respectively. If the first door position extraction yields corridor features, then the positive direction information of the current centerline is randomly set. If the door position is extracted for the first time, the historical center line is obtained, and the positive direction information of the current center line is determined based on the current center line and the historical center line. Based on the positive direction information of the current centerline, the door positions are numbered to obtain door number information; The robot is controlled to enter the corresponding room and scan based on the door number information.
2. The robot navigation method based on a corridor environment according to claim 1, characterized in that, The step of extracting corridor features from the current frame point cloud data to obtain the current corridor point cloud data includes: Obtain the preset width data of the corridor area; Extract parallel line features from the current frame point cloud data with the preset width data as the width threshold, and use the point cloud data corresponding to the parallel line features as the current corridor point cloud data, wherein the parallel line features are the corridor features.
3. The robot navigation method based on a corridor environment according to claim 2, characterized in that, Determining the current centerline of the current corridor point cloud data based on the corridor features in the current corridor point cloud data includes: Obtain the slope and intercept of the two parallel lines in the parallel line feature; The slope of the two parallel lines is taken as the target slope, and the average value of the intercepts of the two parallel lines is taken as the target intercept. The current centerline is determined based on the target slope and the target intercept.
4. The robot navigation method based on a corridor environment according to claim 1, characterized in that, The methods for constructing the local map include: Acquire several local point cloud data points collected within a preset time period for a specific local environment, and determine the pose data corresponding to each local point cloud data point: All local point cloud data are transformed to the global coordinate system using the corresponding pose data, and then all local point cloud data are stitched together to obtain the local map.
5. The robot navigation method based on a corridor environment according to claim 1, characterized in that, The step of calculating the deviation between the robot's current pose data and the current centerline, and controlling the robot's running path based on the deviation to make the robot run along the centerline of the corridor area, includes: Obtain the positive direction information of the current centerline, and based on the positive direction information, determine the directional deviation between the robot's running direction and the positive direction information of the current centerline; Determine the offset distance between the current pose data and the current centerline; Based on the directional deviation and the offset distance, the robot is controlled to run along the current centerline.
6. The robot navigation method based on a corridor environment according to claim 1, characterized in that, The step of determining the positive direction information of the current centerline based on the current centerline and the historical centerline includes: Choose one endpoint of the current centerline as the starting point and the other endpoint as the ending point, and calculate the direction of the current centerline; Obtain the direction of the historical center line, and compare the direction of the current center line with the direction of the historical center line; If the direction of the current center line is less than 180° from the direction of the historical center line, then the direction of the current center line is determined to be the positive direction information of the current center line. If the direction of the current centerline is greater than 180° from the direction of the historical centerline, then the starting point and ending point of the current centerline are interchanged, and the direction of the current centerline is recalculated. The recalculated direction of the current centerline is used as the positive direction information of the current centerline.
7. The robot navigation method based on a corridor environment according to claim 5, characterized in that, The step of controlling the robot to run along the current centerline based on the directional deviation and the offset distance includes: If the directional deviation is that the robot's running direction is opposite to the positive direction information of the current center line, then control the robot to move backward and switch the running direction; If the directional deviation is the same as the positive direction of the robot's running direction and the current centerline, then control the robot to move forward; If the offset distance exceeds a preset distance threshold, the robot is controlled to move closer to the current centerline and then move along the current centerline after reaching it.
8. A robot navigation device based on a corridor environment, characterized in that, include: The point cloud feature extraction module is used to acquire the current frame point cloud data including the corridor area, and to extract corridor features from the current frame point cloud data to obtain the current corridor point cloud data. The centerline determination module is used to determine the current centerline of the current corridor point cloud data based on the corridor features in the current corridor point cloud data. The current centerline is used to characterize the centerline of the corridor region of the robot in the current pose. The pose data determination module is used to register the current frame point cloud data with a local map obtained by stitching together historical frame point cloud data to obtain the robot's current pose data. The robot control module is used to calculate the deviation between the robot's current pose data and the current center line, and control the robot's running path based on the deviation so that the robot runs along the center line of the corridor area; The current centerline divides the current corridor point cloud data into two groups of point cloud data, and the door positions are extracted from the two groups of point cloud data respectively. If the first door position extraction yields corridor features, then the positive direction information of the current centerline is randomly set. If the door position is extracted for the first time, the historical center line is obtained, and the positive direction information of the current center line is determined based on the current center line and the historical center line. Based on the positive direction information of the current centerline, the door positions are numbered to obtain door number information; The robot is controlled to enter the corresponding room and scan based on the door number information.
9. A robot, characterized in that, The robot includes: a robot body, a rotating mechanism, a lidar, and a main control chip, wherein: The lidar is connected to the robot body through the rotating mechanism and is used to scan the application scene, including the corridor area, under the drive of the rotating mechanism to collect the current frame point cloud data of the corridor area. The main control chip is disposed on the robot body and is used to process the current frame point cloud data according to the robot navigation method as described in any one of claims 1-7 to control the robot to run along the center line of the corridor area.
10. A terminal device, characterized in that, The terminal device includes a memory, a processor, and a corridor-based robot navigation program stored in the memory and executable on the processor. When the processor executes the corridor-based robot navigation program, it implements the steps of the corridor-based robot navigation method as described in any one of claims 1-7.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a robot navigation program based on a corridor environment, which, when executed by a processor, implements the steps of the robot navigation method based on a corridor environment as described in any one of claims 1-7.
Citation Information
Patent Citations
Method and system for realizing robot row identification and guiding based on laser radar detection
CN106249742A
Corridor recognition method and corridor recognition device of mobile robot
CN108332758A