Single ridge independent mapping and cyclic operation control method
Patent Information
- Application Number
- CN202611129402.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-28
- Publication Date
- 2026-10-09
AI Technical Summary
[0004]然而,在上述温室大棚环境中,传统SLAM方法存在显著的技术缺陷:当移动机器人在相邻种植垄之间穿行作业时,由于各垄的几何结构高度相似——包括垄的宽度、高度、间距,支撑架的空间分布,塑料薄膜的反射特征,以及通道的边界特征——激光雷达获取的点云数据或视觉传感器采集的图像特征在相邻垄之间呈现极高的相似度
[0007]本申请的技术效果在于:1)本申请针对各条种植垄分别构建独立地图,每条独立地图中仅包含一条种植垄的地图数据,不包含其他种植垄的地图数据。由于各独立地图的建图范围被限制在单垄内部,机器人在作业过程中仅需与当前垄的子地图进行匹配比对,不存在跨垄时的特征混淆风险,从而从根本上规避了SLAM漂移问题;
Smart Images

Figure CN122883997A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of agricultural robot technology, and more specifically, to a method for independent mapping of single ridges and control of cyclic operations. Background Technology
[0002] Greenhouses are an important component of modern facility agriculture, typically employing a multi-row parallel planting layout. Taking a strawberry greenhouse as an example, multiple parallel planting rows are set up inside, separated by hardened concrete channels. Each row has support frames on both sides, and the top of the row is covered with plastic film, with crop plants growing on the surface. When mobile robots perform tasks such as harvesting and inspection inside the greenhouse, they usually rely on SLAM (Simultaneous Localization and Mapping) technology for autonomous navigation.
[0003] In existing technologies, LiDAR SLAM acquires environmental point cloud data through LiDAR sensors, visual SLAM acquires environmental image features through camera sensors, and multi-sensor fusion SLAM combines LiDAR and visual sensors to improve environmental perception capabilities.
[0004] However, in the aforementioned greenhouse environment, traditional SLAM methods have significant technical drawbacks: when mobile robots move between adjacent planting rows, due to the highly similar geometric structures of each row—including the width, height, and spacing of the rows, the spatial distribution of the support frames, the reflective characteristics of the plastic film, and the boundary features of the passageways—the point cloud data acquired by LiDAR or the image features collected by visual sensors exhibit extremely high similarity between adjacent rows. When determining whether the current location has been visited before, the loop closure detection module of the SLAM algorithm is prone to misclassifying similar environmental features of adjacent rows as the same location, leading to spatial overlap or intersection of map data from different rows. Summary of the Invention
[0005] The technical problem to be solved by this application is: how to avoid SLAM map drift caused by highly similar environmental features in multi-row greenhouses, and to achieve reliable positioning and flexible operation scheduling of mobile robots in multi-row environments.
[0006] This application provides a method for independent mapping of single-row operations and cyclical operation control, the method comprising: The raw environmental data output by the environmental perception sensor is obtained. The entrance environmental feature data of the entrance identification area and the exit environmental feature data of the exit identification area of each planting ridge are extracted from the raw environmental data as the ridge identifiers of each planting ridge. An independent map corresponding to each planting ridge is constructed. The entrance identification area is the boundary area between the planting ridge and the public passage, and the exit identification area is the end area of the planting ridge. Obtain public area environmental data of the public passage area, extract public area feature data from the public area environmental data, and store the public area feature data into the independent map corresponding to each planting ridge; wherein, the public passage area is a passage area shared by all planting ridges, and the public area feature data is used to confirm arrival in the public passage area when performing cross-map switching; When cross-map switching is required, select and load the target independent map from the independent maps corresponding to each planting ridge. In the currently loaded target independent map, the mobile robot is controlled to perform a complete operation cycle for a single planting ridge based on the pre-stored path segment annotation information.
[0007] The technical advantages of this application are as follows: 1) This application constructs independent maps for each planting ridge, and each independent map contains only the map data of one planting ridge and does not contain the map data of other planting ridges. Since the mapping range of each independent map is limited to within a single ridge, the robot only needs to match and compare with the sub-map of the current ridge during the operation, and there is no risk of feature confusion when crossing ridges, thus fundamentally avoiding the SLAM drift problem; 2) This application stores the public area feature data of the public passage area into independent maps corresponding to each planting ridge. When cross-map switching is required, feature matching is performed by comparing the public area feature data collected on-site with the pre-stored public area feature data in each independent map. Based on the matching result, the target independent map is selected and loaded. Since there are no geometrical continuity constraints between the independent maps, logical association is achieved only through the public features of the public passage area. The selection of the target ridge depends only on the operation scheduling instructions. The operation sequence can be flexibly arranged according to factors such as crop maturity and harvesting priority, without having to traverse the physical arrangement order of the planting ridges. Attached Figure Description
[0008] Figure 1 This is a schematic diagram of single-ridge mapping in existing technology; Figure 2 This is a schematic diagram of multi-ridge mapping in existing technology; Figure 3 This is a flowchart illustrating a single-ridge independent mapping and cyclic operation control method in one embodiment of this application; Figure 4 This is a schematic diagram of a single-ridge independent mapping process in one embodiment of this application; Figure 5 This is a schematic diagram of a multi-row independent mapping process in one embodiment of this application. Detailed Implementation
[0009] The embodiments of the technical solution of this application will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of this application and are therefore merely examples, and should not be used to limit the scope of protection of this application.
[0010] In existing technologies, for example, suppose a strawberry greenhouse has three parallel planting rows (row 1, row 2, and row 3). Each row is approximately 1.2 meters wide, the support frame spacing is approximately 0.6 meters, and the row spacing is approximately 0.8 meters. After a mobile robot finishes working on row 1, it needs to move to row 2 to continue working. At this point, the environmental features scanned by the robot's LiDAR are highly similar to those at the starting point on row 1—parallel support frames on both sides, identical plastic film roofs overhead, and identical hardened walkways on the ground. The SLAM algorithm might misjudge that "the current location has appeared in row 1," thus incorrectly overlaying map data belonging to row 2 onto the map of row 1, causing map drift.
[0011] Referring to the illustrations in this application: Figure 1 The effect of single-row mapping is shown, and it can be seen that the map data is clear and continuous in the single-row environment, the boundary line of the support frame is clear, and there is no drift phenomenon. Figure 2 The results of multi-ridge mapping are shown. It can be seen that the maps of multiple ridges that should have been distributed in parallel have overlapped and intersected. The boundary lines of the support frame are confused in adjacent ridge areas, making reliable navigation impossible.
[0012] At the lidar perception level, the support frames on both sides of each ridge exhibit a highly consistent parallel structure in spatial distribution. The reflection points formed by the laser beam illuminating the surface of the support frames create two approximately parallel straight line clusters in the point cloud space. When the mobile robot moves within different ridges, the reflection characteristics of the support frames in its laser scanning data are highly similar, with only translational differences in the absolute position of the reflection points. However, this amount of translation is difficult to effectively distinguish from the accumulated odometry error of the SLAM algorithm when the ridge spacing is large.
[0013] At the visual perception level, the plastic film canopies of each ridge appear as similar arched structures in the image, the support frames on both sides of the ridge form two approximately parallel vertical lines, and the boundaries of the channels appear as horizontal line segments. These visual features are highly similar between adjacent ridges, making it easy for visual SLAM algorithms to incorrectly associate feature points of adjacent ridges during feature matching, thus leading to positioning drift.
[0014] The loop closure detection module of the SLAM algorithm determines whether a current location has been visited before based on the similarity calculation between the current observation data and historical map data. When the similarity exceeds a preset threshold, the algorithm determines that a loop has occurred and corrects the robot's cumulative pose error accordingly. However, in a multi-row greenhouse environment, due to the high similarity of observation data between adjacent rows, the loop closure detection algorithm may produce false positives, incorrectly identifying the current location of an adjacent row as a previously visited historical location. This false positive can cause map data from different rows to overlap or intersect spatially, resulting in map drift.
[0015] This map drift phenomenon accumulates and worsens as the number of planting rows increases. In greenhouse environments with three or more planting rows, the drift problem is particularly pronounced. When drift is severe, the positioning accuracy of the mobile robot drops sharply, making it unable to accurately stop at the target harvesting point, and collisions may even occur.
[0016] To alleviate the aforementioned problems, existing technologies have proposed two improvement approaches: one is to artificially add markers as environmental feature points, such as setting up reflective pillars or QR code markers in the inter-row passages to enhance the distinguishability of environmental features; the other is to adopt a multi-sensor fusion strategy, comprehensively utilizing data from multiple sources such as LiDAR, visual cameras, and IMUs for feature complementarity. However, the first method requires modification of the greenhouse environment, increasing hardware deployment costs; while the second method can improve data richness, in the structurally highly similar inter-row environment, the feature data obtained by different sensors are still essentially highly similar, making it difficult to fundamentally solve the feature confusion problem.
[0017] Therefore, there is an urgent need for a new mapping and navigation method to avoid the SLAM drift problem caused by similar multi-row environments at the algorithm level, and to achieve reliable and flexible autonomous positioning and operation control of mobile robots in multi-row greenhouse environments.
[0018] Reference Figure 3 This embodiment provides a method for independent mapping and cyclic operation control of a single ridge, applied to computer equipment, including steps S100 to S400: Step S100: Obtain the raw environmental data output by the environmental perception sensor, extract the entrance environmental feature data of the entrance identification area and the exit environmental feature data of the exit identification area of each planting ridge from the raw environmental data as the ridge identifier of each planting ridge, and construct an independent map corresponding to each planting ridge respectively. The entrance signage area is the boundary between the planting ridges and the public passageway, while the exit signage area is the end of the planting ridges. This application describes an environmental perception sensor system configured on a mobile robot, comprising a lidar sensor and a camera sensor. The lidar sensor is used to acquire three-dimensional point cloud data of the environment.
[0019] The data acquired by the two sensors have a spatial correspondence, which is determined through camera-LiDAR extrinsic parameter calibration. The principle of extrinsic parameter calibration is as follows: by having a calibration plate or calibration sphere appear simultaneously in the fields of view of both sensors, a spatial correspondence is established between the laser point cloud and image pixels. Then, an optimization algorithm is used to solve for the rotation matrix and translation vector between the coordinate systems of the two sensors. After calibration, the mutual projection of the laser point cloud and image pixels can be achieved through coordinate transformation.
[0020] The system simultaneously acquires laser scanning data from the LiDAR sensor and visual image data from the camera sensor via a communication interface, using these as raw environmental data for subsequent processing. The raw environmental data includes: the point cloud format of the laser scanning data (e.g., XYZ, XYZI), the resolution and bit depth of the image data (e.g., 1920×1080, RGB24), and the timestamp information of the sensor data.
[0021] The entrance marking area is a key geographical concept defined in this application. The entrance marking area refers to the boundary between the planting ridge and the public passageway, specifically the linear area formed by the intersection of the ridge boundary and the passageway boundary. From a spatial geometric perspective, the entrance marking area has the following characteristics: in the direction of ridge extension, the width of the entrance marking area tends to be zero, and can be considered a dividing line; in the direction of ridge normal, the two sides of the entrance marking area are the ridge environment and the passageway environment, respectively, and the features of the terrain on both sides are significantly different.
[0022] The entrance marking area has a dual function: firstly, it is part of the ridge environment, and the support frame boundary line extends into the ridge from here; secondly, it is directly connected to the public passage, serving as the necessary route for mobile robots to enter the ridge from the public passage. This functional attribute makes the entrance marking area a key turning point on the navigation path.
[0023] The entrance identification area corresponds to the starting point of the path, which is the common endpoint of the entrance path segment and the inner-row path segment. This is marked as the second parking point (number 0) in the map data. It should be noted that this application contains two parking points numbered "0": the first parking point (number 0) is located at the unloading point in the common passage area and is the starting point of the entrance path segment; the second parking point (number 0) is located in the entrance identification area and is both the end point of the entrance path segment and the starting point of the inner-row path segment. Although both parking points are numbered "0" in the map data, they correspond to different physical locations and perform different functions in steps b and d.
[0024] The entrance environmental feature data of the entrance identification area is extracted from the raw environmental data. The entrance environmental feature data includes the following three types of features: (1) Structural features of the entrance boundary: The boundary of the entrance marking area is formed by the intersection of the ridge surface boundary and the passage boundary. The ridge surface boundary is the straight line connecting the bases of the support frames on both sides of the planting ridge, and its mathematical representation is: ,in In planar coordinates. The channel boundary is the outer edge line of the channel, and its mathematical representation is: The angle formed by the two boundary lines at the entrance. It can be calculated from the normal vectors of the two boundary lines: Precise location of the intersection This can be obtained by solving the equation of the intersection point of the two straight lines. The structural characteristics of the entrance boundary are the set of the above geometric parameters.
[0025] (2) Characteristics of facilities surrounding the entrance area: Various facilities are usually arranged around the entrance signage area, including but not limited to: the spatial location and size of material containers, the end shape of the support structure, and the location and shape of the ground marking lines. The spatial location of the material containers can be extracted using a laser point cloud segmentation algorithm, and the extraction result is represented as the three-dimensional coordinates of the center of the container's bottom surface. and the length and width dimensions of the container The end morphology of the support frame can be characterized by analyzing the endpoint positions and curvature variations at the endpoints of the support frame boundary lines. The position and shape of the ground marking lines can be extracted from visual images using image processing algorithms such as Hough transform. These facilities form a unique spatial layout in the entrance area, and their relative positional relationships constitute the characteristics of the facilities surrounding the entrance area.
[0026] (3) Spatial geometric features of the entrance area: Spatial geometric parameters of the entrance marking area, including but not limited to: entrance opening (length of the boundary line between the ridge and the passage). Entrance width (vertical distance between the boundary of the ridge and the boundary of the passage) Entrance height (vertical height of the support frame) These geometric parameters are numerically measurable, and their measurement accuracy depends on the accuracy of the sensor and the accuracy of the data processing algorithm.
[0027] The exit marking area is the end area of the planting ridge, that is, the area where the ridge extends longitudinally. Physically, the exit marking area is bounded by the wall at the top of the ridge or the ridge end line, and the ridge does not extend further in this area. From a spatial geometry perspective, the exit marking area appears as a termination line, with the ridge environment on one side and an obstacle (such as a greenhouse side wall) on the other side.
[0028] The exit marker area corresponds to the end point of the path, which is the end point of the path segment within the ridge and the endpoint of the U-turn path segment. In the map data, it is marked as the third parking point (number 1). In physical space, this parking point corresponds to the midpoint of the ridge end line.
[0029] Export environmental characteristic data of the export identification area is extracted from the raw environmental data. The export environmental characteristic data includes the following three types of characteristics: (1) Structural characteristics of the exit boundary: The boundary of the exit marking area is formed by the intersection line of the ridge surface boundary and the obstacle at the end of the ridge. The obstacle at the end is usually the side wall of the greenhouse or a specially set retaining wall. The specific angle and intersection shape formed by it and the ridge surface boundary constitute the structural characteristics of the exit boundary. The mathematical representation of the intersection line is: intersection angle The calculation method is the same as that for the intersection angle of the entrance boundary.
[0030] (2) Characteristics of obstacles at the end of the exit area: Obstacles at the end of the ridge appear as concentrated areas of high reflectivity in laser scanning data because the surface of the obstacle is usually a flat wall or metal plate with good laser reflection characteristics. The material, color, and vertical height of the obstacle surface constitute the characteristics of obstacles at the end of the exit area. In the visual image, the obstacle appears as a vertical surface with a specific texture, and its contour features can be extracted through image edge detection algorithms.
[0031] (3) Spatial geometric characteristics of the exit area: Spatial geometric parameters of the exit marking area, including but not limited to: the width of the narrow passage at the end of the ridge. (Minimum distance between the two side support frames), vertical distance between the obstacle at the end and the ridge surface Clearance height of the ridge top area Among them, the width of the narrow channel It can be obtained by calculating the distance between the boundary points of the left and right support frames on the same cross-section in the laser point cloud.
[0032] The ridge identifier is a unique identifier for each planting ridge, composed of a combination of its ingress and egress environmental characteristic data. The mathematical representation of the ridge identifier is: ,in Indicates the first The markings of ridges, Indicates the first Data on the environmental characteristics of the ridge entrance. Indicates the first Export environmental characteristics data for strip-grown crops.
[0033] Since the entrance and exit marking areas of each ridge are spatially independent, and the support frame layout, material container placement, and other facility characteristics of each ridge differ, the ridge markings of different ridges are distinguishable. This distinguishability of ridge markings is the technical basis for achieving independent mapping of a single ridge in this application: when a robot enters an incorrect ridge, the entrance features it observes will not match the entrance features of the target ridge, thereby triggering error detection and correction.
[0034] Each planting ridge is assigned a separate map based on its ridge identifier. Each separate map contains only map data for one planting ridge and does not contain map data for other planting ridges.
[0035] Specifically, the data structure of an independent map includes: Map metadata includes management information such as map ID (map_id), creation time (create_time), and associated ridge ID (ridge_id), used for map indexing and management.
[0036] Spatial geometric information: length of the ridge surface ,width , extension direction angle Geometric parameters are used to describe the spatial contour of the ridge.
[0037] Boundary feature information: Entrance environmental feature data of the entrance identification area. Export environmental characteristics data of export identification areas It is used for location verification and map matching.
[0038] Location anchor point information: coordinates of each parking location ( , The path segment information (path_segment_id) is used for path planning and navigation control.
[0039] Optional feature data: Spatial distribution data of the support frame, ground slope data and other auxiliary information, which are used to improve positioning accuracy or cope with special scenarios.
[0040] Store the completed standalone map in memory, completing step 100. A standardized map format (such as ROS's PGM format) can be used for storage to facilitate subsequent reading and use.
[0041] Step S100 solves the SLAM mapping problem in a single-ridge environment, but multi-ridge greenhouse operations require robots to move between multiple ridges and perform tasks. So, how can the various independent maps be linked and switched? This application introduces the "unloading point location in the common passage area" as a common connection point for each ridge—regardless of which ridge the robot is working on, it needs to return to the unloading point location in the common passage area after completion to switch maps. The technical basis of this design is that the common passage area is a shared access area for all planting ridges, and its environmental characteristics remain unchanged during operations on each ridge, serving as a positioning reference for cross-map switching.
[0042] Step S200: Obtain public area environmental data of the public passage area, extract public area feature data from the public area environmental data, and store the public area feature data into the independent map corresponding to each planting ridge; Based on the above analysis, this application defines a "common passage area" as a shared access area among all planting ridges. Spatially, the common passage area runs through all planting ridges, providing a path for the robot to move between them.
[0043] The "unloading point location" is further defined as a key geographical concept in this application within the public passageway area. The unloading point location is a specific point within the public passageway area, a shared material loading and unloading area for all planting ridges. Specifically, the unloading point location is located at one end of the public passageway area, and is laterally distanced from the entrance signage areas of each planting ridge. Taking a three-ridge greenhouse as an example, assuming the public passageway extends east-west, and the unloading point location is located at the western end of the passageway, then the entrance signage areas of the three ridges are arranged sequentially along the eastern side of the passageway, with each entrance laterally equidistant from the unloading point location.
[0044] From a physical function perspective, the unloading point is the location where mobile robots perform the following tasks: the initial deployment location, the material unloading location after the operation is completed, and the waiting location for switching between adjacent row operations. Therefore, the unloading point has the functional attribute of being the "common starting point of all rows" and is a key hub in multi-row operation cycles.
[0045] The unloading point corresponds to the starting point of the entrance path segment and is marked as the first parking point (number 0) in the map data. The first parking point is located at the unloading point and is the starting point of the entrance path segment; the second parking point (number 0) is located in the entrance marking area and is the ending point of the entrance path segment. The two parking points together constitute the two ends of the entrance path segment.
[0046] Based on the above definition, environmental data of the public area at the unloading point location in the public passageway is acquired during the initial mapping phase. The specific data collection method is as follows: after the mobile robot arrives at the unloading point, it stops sequentially at several pre-set sampling points, collecting laser scan data and visual image data at each sampling point. The number and distribution of sampling points are determined based on the spatial range of the unloading point location, typically with 3 to 5 sampling points to cover the main features within the area.
[0047] Extract public area feature data from public area environmental data. Public area feature data is a data-driven representation of the environmental characteristics surrounding the unloading point location, including: Material handling facility characteristics: the geometric dimensions, spatial location, and orientation angle of the material holding containers. Specific parameters include: the length of the container. ,Width ,high Coordinates of the center of the container's bottom surface ; container orientation angle (The angle between the container's major axis and the channel's orientation). These parameters are obtained through laser point cloud segmentation and geometric fitting algorithms.
[0048] Fixed structural features: the location and shape of fixed facilities such as ground fixing devices, wall supports, and ceiling hanging components. Specific parameters include: type identification, spatial coordinates, external dimensions, and fixing method of each fixed facility. These parameters are obtained through point cloud clustering analysis and geometric shape matching algorithms.
[0049] Spatial layout characteristics: the relative positional relationships between facilities, spatial distribution density, and the boundaries of open areas. Specific parameters include: the distance matrix between facilities. (representing the distance between facility i and facility j), facility density ρ (number of facilities per unit area), and area of open areas. And shape parameters. These parameters are obtained through spatial analysis and statistical calculations.
[0050] The aforementioned public area characteristic data is unique within greenhouses. The placement and orientation of material containers are manually determined, and the layout of material facilities varies between different greenhouses; the location and shape of fixed structures such as walls and supports within the greenhouse are related to the specific construction parameters of the greenhouse. The combined effect of these characteristics ensures that the public area characteristic data can uniquely correspond to the unloading point location without being confused with other areas.
[0051] The extracted public area feature data are stored in separate maps corresponding to each planting ridge. Specifically, each separate map has a public feature data storage area (PublicFeatureRegion) to store the public area feature data of the unloading point location.
[0052] The technical significance of this storage method lies in the fact that public area feature data is copied to all sub-maps, rather than being stored in only a single map. When a mobile robot returns to the unloading point after completing its work on any row, it can retrieve the public area feature data from the currently loaded map for matching and verification. The mathematical representation of the storage structure is: for any sub-map... All of them contain common feature data. This means that the common area feature data in each sub-map is the same.
[0053] Public area feature data plays a crucial role in subsequent cross-map switching. By comparing the public area feature data collected on-site with pre-stored public area feature data, it is possible to accurately determine whether the mobile robot is currently at the unloading point, thus confirming that cross-map switching can be performed. The technical principle of the determination algorithm is: to calculate the similarity metric between on-site features and pre-stored features; when the similarity exceeds a preset threshold, it is considered a successful match; otherwise, it is considered a failed match.
[0054] Step S300: When cross-map switching is required, select and load the target independent map from the independent maps corresponding to each planting ridge; Cross-map switching refers to the process by which the mobile robot loads the independent map corresponding to the next target ridge after completing the current ridge's work cycle. Step c is triggered when the mobile robot completes the full work cycle of the current planting ridge and reaches the unloading point.
[0055] From the perspective of physical motion sequence, after the mobile robot completes its journey along the entrance path segment (in reverse), its front end reaches the unloading point where the first parking spot is located. At this point, the mobile robot stops moving laterally, its speed drops to zero, and it awaits the next instruction.
[0056] The arrival at the unloading point is detected by the following conditions: obtaining the real-time coordinates of the mobile robot. ; Query the coordinates of the first parking spot in the currently loaded map. ; Calculate the distance between the real-time coordinates and the parking location coordinates. When the distance Less than the preset threshold When the distance is typically set to 0.2 meters, it is determined that the mobile robot has reached the unloading point.
[0057] Once the mobile robot is detected to have arrived at the unloading point, it automatically initiates a cross-map switching process without waiting for external trigger commands. This automatic triggering mechanism ensures the continuity of multi-row operation cycles.
[0058] The control system uses environmental perception sensors to collect on-site environmental data at the unloading point. This on-site environmental data consists of real-time outputs from sensors at the mobile robot's current location, including laser scan data and visual image data.
[0059] To improve the reliability of data acquisition, multiple frames of data are continuously acquired and temporally fused within a preset time window. The length of the time window is typically set to 0.5 to 1.0 seconds, corresponding to 3 to 5 frames of data (assuming a sensor frame rate of 5 to 10 Hz). Temporal fusion methods include: for laser point cloud data, stitching and deduplication of multiple point cloud frames; for visual image data, weighted averaging of multiple images or selecting the frame with the highest sharpness.
[0060] During the data collection process, the mobile robot remains stationary to avoid data distortion caused by movement. The criterion for determining a stationary state is the speed measurement value from the wheeled odometer. (Typically set to 0.01 m / s), and duration Second.
[0061] The on-site environmental data is processed to extract on-site feature descriptors from the feature data of the public areas. Feature descriptors are high-dimensional vector representations of feature data. Their design goal is to ensure that similar features have similar descriptor vectors, and dissimilar features have significantly different descriptor vectors, thereby facilitating subsequent matching calculations.
[0062] For laser scanning data, the FPFH (Fast Point Feature Histograms) descriptor algorithm is used to extract feature descriptors. The core principle of the FPFH algorithm is to calculate the angle between the normal vectors of the query point and its neighboring points, and the distance relationship, to generate a histogram vector reflecting the local geometric structure. The specific steps are as follows: (1) For each feature point in the laser scanning data Calculate the radius of the point and its neighborhood. Within range Neighboring points The angle between the normal vectors. The specific calculation formula is: in, and Points and points The normal vector.
[0063] (2) Calculate the projected distance between the query point and its neighboring points on the straight line formed by the three points: in, To and and Together, we determine the third point on the straight line.
[0064] Calculate the angle between the projection of the line connecting the query point and its nearest neighbor onto the normal vector plane and the normal vector: The normal vector angle α, projection distance d, and angle β are statistically analyzed according to preset angle intervals (usually 11 intervals) and distance intervals (usually 5 intervals) to generate a histogram.
[0065] (5) Normalize the histogram to obtain the FPFH descriptor vector of the feature point. The FPFH descriptor has a dimension of 33 (11×3).
[0066] For visual image data, the ORB (Oriented Fast and Rotated BRIEF) descriptor algorithm is used to extract feature descriptors. The core principle of the ORB algorithm is to extract keypoints in the image and calculate their descriptive vectors, which are used to represent the local image patterns around the keypoints. The specific steps are as follows: (1) Perform FAST corner detection on the image and filter out those with response values exceeding a preset threshold. Key points (usually) The core principle of FAST corner detection is: if there are enough pixels on the circumference of a pixel whose grayscale difference exceeds a threshold, then that pixel is a corner.
[0067] (2) Calculate the gray-level centroid of each keypoint to determine its orientation. The formula for calculating the gray-level centroid is: in, For pixels The grayscale value. The direction of the keypoint is the vector direction from the keypoint to the grayscale centroid.
[0068] (3) Perform grayscale comparison on the pixel pairs surrounding each keypoint to generate a binary description vector. The pixel pair selection mode is determined by the rbrief algorithm to ensure the rotation invariance of the descriptor. If the pixel pair and satisfy If the value is 1, the corresponding bit in the descriptor is 1; otherwise, it is 0. This results in a 256-dimensional binary descriptor vector.
[0069] Read the pre-stored common area feature data and corresponding map feature descriptors of each independent map in the memory one by one, and perform the following matching steps for each candidate map: (1) Calculation of descriptor matching distance Calculate the descriptor matching distance between the on-site feature descriptor and the map feature descriptor. For FPFH descriptors, Euclidean distance is used for calculation: For ORB descriptors, Hamming distance is used for calculation: in, This represents the XOR operation. The first descriptor Bit.
[0070] The geometric meaning of matching distance is: a measure of the similarity between two descriptor vectors in a high-dimensional space; the smaller the distance, the higher the similarity.
[0071] (2) Screening of candidate matching pairs The descriptor matching distance is compared with a preset distance matching threshold. The distance matching threshold is determined based on experimental calibration, and its physical meaning is: the maximum allowable feature deviation range. For FPFH descriptors, the threshold is typically set to 0.2 to 0.3; for ORB descriptors, the threshold is typically set to 50 to 80 (different numbers of bits in 256 bits).
[0072] When the descriptor matching distance is less than the distance matching threshold, the corresponding pair of descriptors is marked as a candidate matching pair. For each field feature point, the map feature point with the smallest matching distance is retained as its matching candidate; for each map feature point, the field feature point with the smallest matching distance is retained as its matching candidate; the intersection of the matching candidates in the two directions is taken as the set of candidate matching pairs.
[0073] (3) Removal of mismatched pairs False matches may exist among candidate matching pairs, meaning incorrect associations between on-site features and map features. Reasons for false matches include: insufficient discriminative power of feature descriptors leading to incorrect matching of different features; and the presence of similar repetitive structures in the environment causing feature confusion. The Random Sample Consensus (RANSAC) algorithm is used to eliminate false matches, retaining inlier matching pairs as valid matches.
[0074] The core principle of the RANSAC algorithm is to estimate model parameters that conform to the inlier distribution from data containing a large number of outliers through random sampling and model validation. Specifically, in the application scenario of this application: (3a) Randomly select m pairs (usually m=3) from the candidate matching pairs as the assumed interior points; (3b) Calculate the initial parameters of the rigid transformation matrix T based on the assumption of interior points. The rigid transformation matrix contains a rotation matrix R (2×2 or 3×3) and a translation vector t (2D or 3D), with the following constraints: , ; (3c) Substitute all candidate matching pairs into the initial parameters and calculate the projection error for each matching pair. ,in The coordinates of the feature points on site. These are the coordinates of the corresponding map feature points; (3d) Statistical projection error The number of matching pairs less than the preset error threshold τ (usually set to 0.05 meters) is used as the number of interior points in the current hypothesis. ; (3e) Repeat the above steps N times (usually N=1000), where N is calculated using the following formula: ,in The confidence level is typically 0.99. This is an estimated value for the proportion of interior points; (3f) Select the hypothesis with the most interior points as the final result, and record its interior point set and transformation matrix T.
[0075] (4) Calculation of the characteristic transformation matrix Based on the preserved interior point matching pairs, the feature transformation matrix is calculated. The feature transformation matrix describes the spatial mapping relationship between the on-site public area feature data and the map public area feature data, including the rotation matrix R and the translation vector t.
[0076] The physical meaning of the feature transformation matrix is: after rotation and translation transformations, the feature data collected on-site can be spatially aligned with the feature data pre-stored in the map. The estimation accuracy of this matrix directly affects the accuracy of subsequent map switching. Accuracy metrics include: the average projection error of inliers. Maximum projection error of interior points .
[0077] The target map is identified and loaded based on the feature matching results. The specific judgment logic is as follows: When the number of interior points of the eigentransform matrix Exceeding the preset interior point threshold When the percentage (usually set to 50% of the total number of inliers) is 50%, it indicates that the common area feature data on site has a high degree of consistency with the common area feature data of a candidate map, and the match is successful. Based on the successfully matched target independent map, the target planting ridge is determined, the target independent map is loaded into the current working memory, and preparation is made to execute the task for the next ridge.
[0078] When all candidate maps fail to match, it indicates that the currently collected on-site environmental data cannot be matched with any pre-stored map. If the match is deemed a failure, the following actions will be taken: prompt the user for manual confirmation; or execute a local area re-mapping process to establish new public area feature data at the current location; or trigger a navigation correction program to guide the mobile robot to move closer to the center of the unloading point and then re-collect data.
[0079] Step S400: In the currently loaded target independent map, control the mobile robot to execute a complete operation cycle for a single planting ridge according to the pre-stored path segment annotation information.
[0080] Each independent map contains pre-stored path segment annotation information corresponding to that planting ridge. The path segment annotation information is a collection of path geometry data and attribute annotations, used to guide the path planning and motion control of the mobile robot.
[0081] Path segment annotation information includes the following three types of path segments: entry path segments, intra-row path segments, and U-turn path segments. Each path segment has independent start-point coordinates, end-point coordinates, and attribute annotations. The mathematical representation of path segment annotation information is as follows: in, Indicates the path segment type. and Two-dimensional coordinates representing the start and end points respectively , This indicates the attribute information of the path segment (such as speed limits, safety signs, etc.).
[0082] The entrance path segment is the travel path between the entrance signage area and the public passageway area. Spatially, the entrance path segment is a lateral path, meaning the mobile robot's direction of movement is perpendicular to the extension direction of the ridge. This lateral movement allows the robot to smoothly transition from the public passageway area to the ridge entrance.
[0083] The entrance path segment begins at the first parking point (number 0) corresponding to the unloading point and ends at the second parking point (number 0) corresponding to the entrance signage area. The first and second parking points are physically several meters apart (the exact distance depends on the greenhouse dimensions, typically 1 to 3 meters), and are connected by a straight line or a pre-designed curved path. The mathematical representation of the path is as follows: in, Here are the coordinates of the first parking point. The coordinates are for the second parking point.
[0084] The entrance path segment is used to facilitate the lateral movement of mobile robots between the public passageway area and the entrance signage area. From a physical function perspective, the entrance path segment is a transitional path for mobile robots from the public work area to the dedicated work area. Its operating environment is an open passageway area, allowing the robot to travel at a higher speed to improve work efficiency.
[0085] The in-row path segment is the travel path located between the entrance and exit marked areas. Spatially, the in-row path segment is a longitudinal path, meaning the mobile robot's movement direction is consistent with the extension direction of the ridge. This longitudinal movement allows the robot to move along the ridge surface and perform harvesting operations on the crops on both sides.
[0086] The starting point of the path segment within the ridge is the second parking point (number 0) corresponding to the entrance marker area, and the ending point is the third parking point (number 1) corresponding to the exit marker area. The second and third parking points are arranged along the extension direction of the ridge, and the path between the two points lies entirely within the ridge surface. The mathematical representation of the path is: in, The coordinates of the second parking point are... The coordinates are for the third parking point.
[0087] The path section within the ridge is used to facilitate the longitudinal movement and harvesting operations of the mobile robot between the entrance and exit marked areas. From a physical function perspective, the path section within the ridge is the main area for harvesting operations, where the mobile robot simultaneously performs crop harvesting actions while traveling along this path. Because harvesting operations require the robotic arm to precisely align with the target, the robot's travel speed is typically low.
[0088] The U-turn path segment is the driving path segment in the exit sign area used for performing U-turns. The U-turn path segment has a special spatial structure: its starting point and ending point are both the third parking point (number 1) corresponding to the exit sign area. That is to say, the mobile robot starts from the third parking point, performs a turning maneuver in place, and returns to the same parking point. The entire U-turn process is completed in place, and the robot does not move.
[0089] The space occupied by the U-turn path segment is centered on the third parking point and extends to the maximum turning radius of the mobile robot. The radius is a circular region. During the turn, the robot rotates 180 degrees around its center, and the radius of its enclosing circle is the robot's maximum turning radius. .
[0090] The U-turn section is used to facilitate the mobile robot's U-turn maneuvering within the exit marked area. From a physical space perspective, the area at the end of the ridge is limited, requiring the mobile robot to change direction by turning in place and then return along the original path. During the U-turn, the robot must ensure that its body outline does not collide with the support frames on both sides of the ridge.
[0091] Based on the three path segments mentioned above, the mobile robot is controlled to execute the following motion sequence to complete the complete operation cycle of a single planting ridge: Phase 1: Entering the work area (driving along the entrance path) (1) The mobile robot is located at the first parking point (number 0) of the unloading point, and its initial state is that the front of the robot is facing the extension direction of the ridge. Taking the extension direction of the ridge in the north-south direction as an example, the front of the robot is facing north.
[0092] (2) Control the mobile robot to travel along the entrance path from the first parking point (number 0) to the second parking point (number 0). During the journey, the robot moves laterally in a direction perpendicular to the direction of the ridge extension. The robot travels at a first preset speed. Driving (typically 0.5 to 1.0 m / s).
[0093] (3) After the mobile robot reaches the second parking point, the longitudinal axis of the vehicle body is parallel to the direction of the ridge extension, and the front of the vehicle faces the ridge top. At this time, the robot has completed the transition from the public passage area to the ridge area.
[0094] Phase Two: Forward operation within the ridges (traveling along the path within the ridges) (4) Control the mobile robot to travel along the path within the ridge from the second parking point (number 0) to the third parking point (number 1). During the journey, the robot moves along the direction of the ridge extension. The robot travels at a second preset speed. Traveling at a speed of 0.3 to 0.5 m / s, the robotic arm is ready and performs the harvesting operation.
[0095] (5) After the mobile robot reaches the third parking point, the longitudinal axis of the vehicle body still points towards the top of the ridge. At this time, the robot is located at the farthest end of the ridge.
[0096] Phase 3: U-turn (turning in place on the U-turn path) (6) Control the mobile robot to execute the U-turn path segment. The mobile robot performs a stationary turn at the third parking point (number 1) so that the front of the robot faces the bottom of the ridge. The robot performs the stationary turn at a third preset angular velocity ω (usually 0.2 to 0.3 rad / s). It should be noted that during the U-turn, the robot only changes the direction of the front of the robot, and the position remains unchanged at the third parking point.
[0097] (7) After the turn is completed, the mobile robot is in standby mode, ready to perform reverse driving.
[0098] Phase 4: Reverse ridge operation (driving in the opposite direction along the ridge path section) (8) Control the mobile robot to travel in reverse from the third parking point (number 1) to the second parking point (number 0) along the path segment within the ridge. During the journey, the robot body moves in the opposite direction along the extension of the ridge. The robot travels at a second preset speed. The robotic arm reverses direction, remaining ready and continuing harvesting operations. It's important to note that this stage represents the reverse movement within the ridge path, not part of the turning-around path.
[0099] (9) After the mobile robot reaches the second parking point, the longitudinal axis of the vehicle body is parallel to the direction of the ridge extension, and the front of the vehicle faces the bottom of the ridge. At this time, the robot has completed the bidirectional operation within the ridge.
[0100] Phase 5: Return to the waiting area (reverse the route from the entrance) (10) Control the mobile robot to travel in reverse from the second parking point (number 0) to the first parking point (number 0) along the entrance path segment. During the journey, the vehicle body moves laterally, and the direction of travel is perpendicular to the direction of ridge extension. The robot travels at a first preset speed. Driving in the opposite direction.
[0101] (11) After the mobile robot arrives at the first parking point, it enters standby mode and waits for the next instruction. At this time, the robot has completed the complete operation cycle of a single row.
[0102] The mobile robot executes different speed control strategies when traveling on different path segments, and the speed differences reflect the functional positioning and safety requirements of each path segment: Traveling along the entrance path: The mobile robot travels at a first preset speed. Driving. The initial preset speed is determined based on the throughput and safety of the public access area, and is typically set to 0.5 to 1.0 m / s. Higher speeds can improve the transfer efficiency from the unloading point to the embankment entrance.
[0103] Traveling along the path within the ridge: The mobile robot travels at a second preset speed. The second preset speed is determined based on the pace of the harvesting operation, typically set to 0.3 to 0.5 m / s. This lower speed ensures the robotic arm has sufficient time to align with and harvest the target crop, while also guaranteeing a high success rate.
[0104] Turning on the U-turn segment: The mobile robot performs a stationary turn at a third preset angular velocity ω (typically 0.2 to 0.3 rad / s). The lower angular velocity ensures a smooth turning process and avoids collisions between the robot body and the support frames on both sides of the ridge.
[0105] The cycle is triggered when the mobile robot completes the full work cycle of the current planting ridge. After the motion sequence in step S400 is executed, the mobile robot is at the first stopping point of the unloading point. The completion of the work cycle of the current ridge is determined by the following conditions: real-time coordinates. Coordinates of the first parking point distance And the robot speed .
[0106] After completing the current planting ridge's work cycle, determine if there are any target planting ridges awaiting work. This determination is based on the target ridge execution sequence maintained in the job scheduling module.
[0107] The job scheduling module generates the target row execution sequence based on the received job scheduling instructions. Job scheduling instructions can be issued by the host system or input by the user through a human-machine interface. The job scheduling instructions specify the target row combination for this job, for example... or .
[0108] The mathematical representation of the target execution sequence is: ,in Indicates the first The number of each target row to be processed. Maintain a sequence index pointer. initial value This points to the currently executing row number. Once the mobile robot completes its work on the current row, Increment by 1, pointing to the next target row to be processed.
[0109] Based on the results of the task objective assessment, the cyclical process has the following two branches: Branch 1: There are pending task objectives. If the index pointer Not beyond the end of the target execution sequence ( This indicates that there are still target planting rows to be worked on. Return to step c, determine the next target planting row and load the corresponding target-specific map, then continue with step d to begin the work cycle for the next row. This approach achieves a closed-loop process for continuous multi-row operations. After completing one row's work at the unloading point, the mobile robot automatically transitions to the next row's work cycle without human intervention.
[0110] Branch 2: No pending task objectives exist. If the index pointer Exceeding the end of the target row execution sequence ( This indicates that the work on all target rows has been completed. End the current cycle, record the work log (including work duration, harvest quantity, work status of each row, etc.), and report the task completion information to the upper-level system.
[0111] This application supports arbitrary combinations of target ridge selection, without needing to determine them sequentially according to the physical arrangement of the planting ridges. Traditional continuous map solutions require the mobile robot to traverse the operation sequentially according to the spatial order of the ridges, i.e. This constraint stems from the geometric continuity between rows in a continuous map; the robot must move along a continuous path in the map to reach the next row. In this application, there are no geometric continuity constraints between the sub-maps; logical connections are achieved only through common features of the unloading point locations. Therefore, the selection of the target row depends solely on the job scheduling instructions and is independent of the row's spatial location. For example, when the target row's execution sequence is... When the mobile robot completes the task in ridge_1, it jumps directly to ridge_3 to perform the task, skipping ridge_2 which is physically located in the middle.
[0112] Furthermore, this embodiment provides a process for determining the path segment type. Based on the path segment annotation information pre-stored in the currently loaded independent map and the real-time location information of the mobile robot, the type of path segment the mobile robot is currently in is determined.
[0113] The physical basis for determining the path segment type is that during the execution of a work cycle, the mobile robot's real-time position must be within one of three path segments. By comparing the real-time position with the spatial boundaries of each path segment, the current path segment type can be uniquely determined. The mathematical definition of the spatial boundary is as follows: The boundary of the entry path segment is defined as a rectangular region: The boundary of the path segment within the ridge is defined as a rectangular region: The boundary of the U-turn path segment is defined as a circular area: Obtain the real-time coordinates of the mobile robot within the currently loaded independent map. The real-time coordinates are output by the SLAM localization module, including two-dimensional planar coordinates. or three-dimensional spatial coordinates , where θ is the vehicle heading angle.
[0114] The path segment type is determined by comparing the relative relationship between the real-time coordinate position and the boundary information of each path segment's coordinate interval. The specific determination logic is as follows: (1) First, determine whether the real-time coordinates are within the circular area of the U-turn path segment: calculate the distance. ;like If so, the path segment type is a U-turn path segment.
[0115] (2) If it is not in the U-turn area, then determine whether the real-time coordinates are located within the rectangular interval of the entrance path segment or the inner path segment: Determine and If true, the path segment type is an entry path segment; otherwise, check if true. and If true, the path segment type is an intra-ridge path segment.
[0116] (3) If the coordinates are not within any path segment area, it is determined to be a path segment boundary transition state, and the path segment type of the previous determination is maintained.
[0117] Path segment determination relying solely on coordinate position may lead to misjudgments in certain boundary areas. This can be due to several reasons, including: accumulated errors in the SLAM localization module causing discrepancies between real-time coordinates and actual positions; and the coordinate interval boundaries being defined based on the environment at the time of mapping, which can become invalid due to environmental changes. To improve the reliability of the determination, LiDAR data is introduced for auxiliary correction. LiDAR data can independently reflect the spatial structural features around the robot and is unaffected by accumulated SLAM errors.
[0118] The system acquires environmental scan data output from the lidar sensor and processes the data to identify the regional structural feature types of the current area. These regional structural feature types include: Intra-ridge spatial characteristics: The intra-ridge environment presents as a narrow channel with parallel boundary structures. Laser scanning data shows two sets of approximately parallel boundary lines within a certain angular range, with the distance between the two boundary lines approximately equal to the width of the ridge. The boundary line extraction method includes: using the RANSAC algorithm to fit straight lines to the point cloud, selecting lines with fitting errors less than a threshold as candidate boundary lines; calculating the parallelism and distance between each candidate boundary line, and identifying boundary line pairs that satisfy the parallelism and distance constraints.
[0119] Inter-row passage characteristics: Inter-row passages exhibit spatial characteristics of open areas. Laser scan data shows large effective distance measurements in all directions, with no significant directional boundary lines. The specific criterion is: the angle difference between adjacent effective measurement points in the scan data is less than a threshold. The proportion of the number of times the measurement point was measured to the total number of valid measurement points was lower than the set value α.
[0120] The determination of the path segment type is assisted by regional structural feature types. The specific correction logic is as follows: When the laser data identifies an intra-row spatial feature, it indicates that the mobile robot is currently located within the ridge surface. If it is determined to be an entrance path segment or a U-turn path segment, the path segment type is assistedly corrected to an intra-row path segment. When the laser data identifies an inter-row passage feature, it indicates that the mobile robot is currently located within the passage. If step g determines it to be an intra-row path segment, the specific segment of the mobile robot within the passage is further determined based on the real-time coordinates: if the coordinates... The value is located in the entry path segment. Within the coordinate range ( If the coordinates are... If the value is located in other channel areas, then the auxiliary correction is to turn around the path segment.
[0121] Furthermore, based on the aforementioned determined path segment type, corresponding path segment operation instructions are generated. Path segment operation instructions include two types: permitted operation instructions and prohibited operation instructions. Once the current path segment type is determined to be an intra-row path segment and a permitted operation instruction is generated, the fruit identification process is initiated.
[0122] In addition to storing entrance and exit environmental feature data, each independent map also stores entrance and exit location feature data.
[0123] The entrance location feature data is a subset of the entrance environmental feature data specifically used for location verification. The entrance location feature data is selected from the entrance environmental feature data based on the following criteria: the feature has significant spatial uniqueness within the entrance signage area, and its spatial location does not change over time. For example, the location coordinates of material containers around the entrance signage area are unique and can be used as a basis for location verification.
[0124] The entrance positioning feature data is used for real-time positioning verification during the mobile robot's movement to ensure the positioning accuracy of the mobile robot when entering the work area within the ridge. The specific verification method is as follows: when the robot arrives near the entrance marker area, it collects on-site environmental data and matches it with the pre-stored entrance positioning feature data. If the matching error is less than a threshold, the positioning is confirmed to be valid; otherwise, positioning correction is triggered.
[0125] Exit location feature data is a subset of features specifically used for location verification within the exit environmental feature data. The exit location feature data is selected from the exit environmental feature data using the same selection criteria as the entrance location feature data. For example, the location and reflectivity characteristics of the wall at the end of the exit signage area are unique and can be used as a basis for location verification.
[0126] The exit positioning feature data is used to verify the positioning of the mobile robot when it reaches the end of the ridge, ensuring the accuracy of the third parking point positioning. The specific verification method is as follows: when the robot arrives near the exit marker area, it collects on-site environmental data and matches it with the pre-stored exit positioning feature data. If the matching error is less than the threshold, the positioning is confirmed to be valid; otherwise, positioning correction is triggered.
[0127] During path segment determination, entry and exit positioning feature data can be simultaneously used for positioning verification. When the positioning verification result shows that the deviation between the current position and the expected position exceeds a preset threshold, a positioning correction process is triggered, using either the entry or exit positioning feature data to correct the position. The mathematical method for positioning correction is to perform weighted fusion of the transformation matrix obtained from the positioning verification matching with the SLAM positioning result to obtain a more accurate positioning estimate.
[0128] To make the technical solution of this application clearer and more intuitive, the following is combined with... Figure 4 and Figure 5 Taking a greenhouse with three planting ridges (ridge 1, ridge 2, and ridge 3) as an example, the complete operation process of the method in this application is explained in detail.
[0129] In the initial mapping phase, this application creates three independent sub-maps for the three planting ridges: map1, map2, and map3. The three ridges are arranged in parallel along a direction perpendicular to the common passage, which runs through the planting ridges. The unloading point is located at one end of the common passage, and the entrance marking areas of the three ridges are arranged sequentially along the other side of the common passage.
[0130] For row 1 corresponding to map1, step S100 extracts the entrance environment feature data of its entrance identifier region and the exit environment feature data of its exit identifier region to construct the row identifier of row 1. Then, map1 is constructed. Similarly, step S100 constructs map2 and map3 for ridge 2 and ridge 3 respectively. It should be noted that map1 only contains map data for ridge 1 and does not contain map data for ridges 2 and 3; map2 only contains map data for ridge 2; and map3 only contains map data for ridge 3. This method of independent mapping for each ridge fundamentally avoids the SLAM drift problem in a multi-ridge environment—during the mapping process of map1, the robot always stays within ridge 1, and there is no risk of feature confusion when crossing ridges.
[0131] Step S200 acquires the common area feature data of the unloading point location and stores the same common area feature data into map1, map2, and map3 respectively. This design allows the robot to confirm "I have returned to the unloading point" through feature matching when it returns to the unloading point location after completing any row operation, providing a technical basis for subsequent map switching.
[0132] These three maps are switched via unloading points. When the robot returns to the unloading point after completing its work on a certain row, it can confirm its current location at the unloading point by comparing the common area feature data collected on-site with the common area feature data pre-stored in each sub-map. Then, it loads the sub-map corresponding to the next target row according to the work scheduling instructions.
[0133] See Figure 4 Each planting ridge corresponds to a complete navigation path, which includes a combination of three path segments: For the row 1 corresponding to map1, its navigation path is T1-L1-F1: T1 is the entrance path segment (Transverse) of Ridge 1, starting from the unloading point (number 0) and ending at the entrance of Ridge 1 (number 0). L1 is the intra-ridge path segment (Longitudinal) of ridge 1, starting at the entrance of ridge 1 (number 0) and ending at the end of ridge 1 (number 1). F1 is the flip / turn path segment of ridge 1, with both the starting point and the ending point being the end of ridge 1 (number 1).
[0134] Similarly, for row 2 corresponding to map2, its navigation path is T2-L2-F2; for row 3 corresponding to map3, its navigation path is T3-L3-F3. And so on, the navigation path for each row follows the same naming rules and spatial structure definition.
[0135] This design avoids the mapping overlap problem of long, straight rows with similar features. Since each sub-map contains only data for one row, the robot will not experience cross-row feature confusion during mapping and navigation. The maps are independent of each other and are logically linked only by the common features of the unloading point locations.
[0136] Combination Figure 4 The following uses map1 as an example to illustrate the complete navigation process from the unloading point on map1, completing one row of operations and returning to the unloading point.
[0137] Phase 1: Entering the work area (traveling along route T1) First, the vehicle starts at the unloading point (number 0) on map 1, at which point the robot is positioned at the first parking point. The robot's front is facing the direction of the ridge's extension (north).
[0138] Control the robot to move along path T1 (entrance path segment) from the unloading point (number 0) towards the entrance of row 1. For example... Figure 4 The T1 path is marked with arrows indicating the direction the robot is facing. The robot starts at a first preset speed. Lateral travel (typically 0.5 to 1.0 m / s).
[0139] After reaching the end point of route T1 (i.e., the entrance to Route 1, the second parking point, number 0), prepare to switch routes.
[0140] Forward operation within the ridge (traveling along path L1) Switch to path L1 (intra-ridge path segment). The robot travels along path L1 from its current position to the end of ridge 1.
[0141] Path L1 is a longitudinal path, and the robot travels in the same direction as the ridge extension. The robot travels at a second preset speed. (Typically 0.3 to 0.5 m / s) Moving slowly, the robotic arm is ready and performs the harvesting operation.
[0142] After reaching the end point of the L1 path (end of L1, third parking point, number 1), prepare to switch paths.
[0143] Phase 3: U-turn (turning in place on the F1 path) Switch to path F1 (turnaround path segment). The robot moves along path F1 to the end point of ridge 1 (the end point of path F1), and performs a turnaround maneuver at this position. The start and end points of path F1 are both the end point of ridge 1. After starting from this point, the robot rotates 180 degrees in place and then returns to the same position. No displacement occurs during the entire turnaround process.
[0144] After turning around, the robot's front end faces the bottom of the ridge (south), preparing to travel in the opposite direction.
[0145] Phase 4: Reverse ridge operation (reverse travel along path L1) Switch to path L1 (intra-ridge path segment). The robot travels in reverse along path L1, moving from its current position to the entrance point of ridge 1.
[0146] The robotic arm remains in a ready state and continues to perform the harvesting operation.
[0147] Phase 5: Return to the waiting area (reverse route along T1) Switch to path T1 (entry path segment). The robot travels in reverse along path T1, moving from its current position to the unloading point.
[0148] Upon arrival at the unloading point, the robot enters standby mode.
[0149] At this point, the robot has completed the full work cycle for map1 (ridge 1). Combined with... Figure 4As shown, T1-L1-F1 constitute the complete navigation path of map1, where T1 corresponds to the entrance path segment, L1 corresponds to the inner path segment, and F1 corresponds to the U-turn path segment. Numbers 0 and 1 are parking points on the path, and the arrows near them indicate the direction the vehicle is facing.
[0150] After the robot arrives at the unloading point on map1, it then determines whether there is a target planting ridge to be operated.
[0151] Assume the target row execution sequence specified by the job scheduling instruction is If the robot completes the work on ridge 1, it will need to continue performing the work on ridge 2 and ridge 3.
[0152] Combination Figure 5 Step S300 automatically triggers the cross-map switching process. The robot collects on-site environmental data at the unloading point location, extracts the feature data of the common areas on-site, and matches them one by one with the pre-stored common area feature data in map1, map2, and map3. Assuming that the currently loaded map is map1, if the feature matching result shows that the on-site common area features match the common area features in map2 with the highest degree of matching (the number of interior points exceeds the threshold), then map2 is loaded.
[0153] After reaching the unloading point, switch to map 2 and repeat the above steps to navigate to ridge 2. The workflow on map 2 is exactly the same as on map 1: the robot enters the entrance of ridge 2 along path T2, completes forward harvesting along path L2, executes F2 to turn around, harvests in reverse along path L2, and finally returns to the unloading point along path T2.
[0154] Following this process, after completing map2, the robot loads map3 and executes the task for row 3. Finally, after completing all tasks for the three rows, step e determines that there are no more tasks to be performed and ends the current cycle.
[0155] A key advantage of this application is its support for arbitrary combinations of target row selection, unrestricted by the physical order of arrangement. Assume the target row execution sequence specified by the job scheduling instruction is... .
[0156] This flexibility stems from the core design of this application: there are no geometrical continuity constraints between the sub-maps; logical connections are achieved solely through common features of the unloading point locations. (Comparison) Figure 4 The existing continuous map scheme shown incorporates all ridges into a single large map, and the ridges must be rigidly connected in a fixed order. The previous method could not flexibly select target ridges, nor could it skip intermediate ridges. This application fundamentally breaks through this limitation by using the method of "independent mapping of single ridges + splicing of unloading points".
[0157] This application fundamentally avoids the SLAM drift problem in multi-row greenhouse environments by employing a single-row independent mapping strategy. The technical principle of this strategy lies in limiting the mapping range to a single row, allowing the robot to match and compare its map with the sub-map of the current row during operation. Because the geometry within a single row has spatial continuity, the robot can establish a continuous feature trajectory from the start to the end of the row, and its position at any given time on this trajectory can be accurately located by matching local features.
[0158] This application achieves reliable cross-map switching by matching common features of unloading point locations. The technical principle of common feature matching is to match the feature descriptors collected on-site with the pre-stored feature descriptors in each sub-map, and calculate the rigid transformation matrix after eliminating false matches using a random consistency algorithm. When the number of interior points exceeds a threshold, the match is considered successful.
[0159] This application achieves precise linkage between the work status and the robotic arm's movements through a segmented T / L / F path design. The technical principle of the linkage logic is based on spatial constraints: the entrance path segment and the U-turn path segment correspond to narrow or restricted spaces, where the robotic arm needs to be retracted; the inner path segment corresponds to an open work space, where the robotic arm can be extended.
[0160] This application breaks through the sequential limitations of traditional solutions through flexible job scheduling. The technical principle of this design is that there are no geometrical continuity constraints between the sub-maps; logical connections are achieved only through the common features of the unloading point locations, and the selection of the target row depends solely on the job scheduling instructions.
[0161] Experimental verification shows that the mobile robot using the method of this application can achieve decimeter-level positioning accuracy (positioning error less than 0.3 meters) in a multi-row greenhouse environment, and the harvesting efficiency is improved by more than 30% compared with the traditional solution (the number of fruits harvested per unit time increases). The synchronization rate between the robotic arm movement and the navigation status exceeds 99%, which has significant technical advantages and broad application prospects.
[0162] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0163] Based on the same inventive concept, this application also provides a single-row independent mapping and cyclic operation control device for implementing the above-described single-row independent mapping and cyclic operation control method. The solution provided by this device is similar to the solution described in the above-described method. Therefore, the specific limitations of one or more embodiments of the single-row independent mapping and cyclic operation control device provided below can be found in the limitations of the single-row independent mapping and cyclic operation control method described above, and will not be repeated here.
[0164] In one exemplary embodiment, a single-row independent mapping and cyclic operation control device is provided, the device comprising: Each module in the aforementioned single-row independent mapping and cyclic operation control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the corresponding operations of each module.
[0165] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the above-described method for single-row independent mapping and cyclic operation control.
[0166] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the above-described method for single-row independent mapping and cyclic operation control.
[0167] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the above-described method for single-row independent mapping and cyclic operation control.
[0168] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0169] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for independent mapping and cyclic operation control of a single ridge, characterized in that, The method includes: The raw environmental data output by the environmental perception sensor is obtained. The entrance environmental feature data of the entrance identification area and the exit environmental feature data of the exit identification area of each planting ridge are extracted from the raw environmental data as the ridge identifier of each planting ridge. An independent map corresponding to each planting ridge is constructed. The entrance identification area is the boundary area between the planting ridge and the public passage, and the exit identification area is the ridge end area of the planting ridge. Obtain the public area environmental data of the public passage area, extract the public area feature data from the public area environmental data, and store the public area feature data into the independent map corresponding to each planting ridge; wherein, the public passage area is a passage area shared by each planting ridge, and the public area feature data is used to confirm arrival at the public passage area when performing cross-map switching; When cross-map switching is required, select and load the target independent map from the independent maps corresponding to each planting ridge. In the currently loaded target independent map, the mobile robot is controlled to perform a complete operation cycle for a single planting ridge based on the pre-stored path segment annotation information.
2. The method according to claim 1, characterized in that, The step of selecting and loading a target independent map from the independent maps corresponding to each of the planting ridges includes: Acquire on-site environmental data of the public passage area, and extract on-site public area feature data from the on-site environmental data; The on-site public area feature data is matched one by one with the public area feature data pre-stored in each of the independent maps; The arrival at the public passage area is confirmed based on the matching results, and the target planting ridge is determined based on the ridge identifiers pre-stored in the currently loaded independent map.
3. The method according to claim 1, characterized in that, The step of matching the on-site public area feature data with the public area feature data pre-stored in each of the independent maps, confirming arrival at the public passage area based on the matching results, and determining the target planting ridge based on the ridge identifier pre-stored in the currently loaded independent map includes: Extract the site feature descriptors from the site public area feature data; Extract map feature descriptors from the pre-stored public area feature data in each of the independent maps to be matched; Calculate the descriptor matching distance between the on-site feature descriptor and the map feature descriptor; The descriptor matching distance is compared with a preset distance matching threshold, and descriptor pairs whose descriptor matching distance is less than the distance matching threshold are selected as candidate matching pairs; The feature transformation matrix is calculated based on the candidate matching pairs, and the arrival at the common channel area is confirmed according to the feature transformation matrix.
4. The method according to claim 1, characterized in that, Each of the independent maps pre-stores path segment labeling information corresponding to the planting ridge. The path segment labeling information includes an entrance path segment, an in-ridge path segment, and a U-turn path segment. The entrance path segment is the driving path segment between the entrance sign area and the public passage area. The in-ridge path segment is the driving path segment located between the entrance sign area and the exit sign area. The U-turn path segment is the driving path segment in the exit sign area used for U-turns. The process of controlling a mobile robot to execute a complete work cycle for a single planting ridge based on pre-stored path segment annotation information in the currently loaded target independent map includes: The mobile robot is controlled to travel along the entrance path segment from the public passage area to the entrance signage area, along the inner path segment from the entrance signage area to the exit signage area, along the U-turn path segment to complete a U-turn at the exit signage area and then travel in the opposite direction back to the exit signage area, then along the inner path segment from the exit signage area back to the entrance signage area, and finally along the entrance path segment from the entrance signage area back to the public passage area.
5. The method according to claim 4, characterized in that, The entrance path segment is used to carry out the task of the mobile robot moving laterally between the public passage area and the entrance signage area; The path segment within the ridge is used to carry out the task of the mobile robot moving longitudinally and operating between the entrance marking area and the exit marking area; The U-turn path segment is used to carry out the task of the mobile robot turning around in the exit sign area.
6. The method according to claim 2, characterized in that, The environmental perception sensor includes a lidar sensor and a camera sensor; the computer device acquires the laser scanning data output by the lidar sensor and the visual image data output by the camera sensor.
7. The method according to claim 6, characterized in that, The method further includes: Based on the path segment annotation information pre-stored in the currently loaded target independent map and the real-time location information of the mobile robot, the type of path segment in which the mobile robot is currently located is determined; Based on the path segment type, a corresponding path segment operation instruction is generated; wherein, when the path segment type is the intra-ridge path segment, a permitted operation instruction is generated; when the path segment type is the entrance path segment or the U-turn path segment, a prohibited operation instruction is generated. The path segment operation instruction is sent to the robotic arm controller, so that the robotic arm controller controls the operation status of the robotic arm according to the path segment operation instruction.
8. The method according to claim 7, characterized in that, The method further includes: The environmental scanning data output by the lidar sensor is acquired, and the environmental scanning data is processed to identify the regional structural feature type of the current area; The types of regional structural features include intra-row spatial features and inter-row passage features; The spatial characteristics within the ridge are narrow channels exhibiting a parallel boundary structure; The inter-ridge passage is characterized by its open spatial features. When the intra-row spatial features are identified in the environmental scan data, the path segment type is assisted in being corrected to the intra-row path segment; when the inter-row passage features are identified in the environmental scan data, the path segment type is assisted in being corrected to the entrance path segment or the U-turn path segment.
9. The method according to claim 1, characterized in that, Each of the independent maps contains only map data for one of the planting ridges and does not contain map data for the other planting ridges.
10. The method according to claim 9, characterized in that, Each of the independent maps also stores the entrance location feature data of the entrance identification area and the exit location feature data of the exit identification area; The entrance positioning feature data is a subset of the entrance environment feature data used for positioning verification, and the exit positioning feature data is a subset of the exit environment feature data used for positioning verification. The entrance positioning feature data and the exit positioning feature data are used for real-time positioning verification during the movement of the mobile robot.