A robot pose determination method, apparatus, device and medium

CN122807936APending Publication Date: 2026-09-25CHENGDU AJIAXI INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611265700.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-20
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0005]本申请提供一种机器人位姿确定方法、装置、设备及介质,用以解决现有的机器人位姿确定方法存在位姿确定精度和抓取效率较低的问题

Benefits of technology

[0016]与现有技术相比,本申请方法通过提取支撑面的轮廓边沿,并结合目标投影坐标与支撑边沿的距离以及目标通行代价图,确定出距离最优且无障碍的边沿侧,解决了现有方法无法自主判断靠近目标的最优侧边的问题;根据边沿的几何参数构建边沿网格、以目标投影点和对应的目标操作距离生成起始格点,从而基于网格确定搜索空间,同时基于格点的行数和列数即可计算对应的坐标,无需预先计算网格参数,实现了降低内存与算力消耗;基于起始格点进行分层拓展,基于操作距离、安全、视觉、路径约束的第一预设条件先筛除全部危险无效点位,基于朝向角的第二预设条件筛选正对目标、成像质量佳的最优格点,基于拓展层数和障碍点数量的第三预设条件筛选可通行性较强的次优格点,从而基于多个预设条件进行目标格点的筛选,避免了导航到位后机械臂的操作距离不足和目标遮挡偏移,从而输出适配机械臂操作距离以及视觉定位稳定的停靠坐标与朝向角,减少了导航成功但抓取失败的情况,提升动态场景下机器人的抓取成功率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122807936A_ABST
    Figure CN122807936A_ABST
Patent Text Reader

Abstract

The application provides a robot pose determination method, device, equipment and medium, which are used in the technical field of mobile robot operation and include the following steps: obtaining a plurality of support edges of a target object; determining a target edge sequence based on the passing priority of each support edge; determining a preferred edge grid and a starting grid point based on the edge starting point, unit vector and target normal vector of the preferred support edge in the target edge sequence; expanding the grid point layer by layer based on the starting grid point and the preferred edge grid, and traversing the target edge sequence according to the expansion result, so as to determine the grid point meeting the first preset condition and the second preset condition or the grid point meeting the first preset condition and the third preset condition as the target grid point; and determining the target parking coordinate and the target orientation angle based on the target grid point. Thus, the operation precision of the robot pose and the mechanical arm grabbing is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mobile robot operation technology, and in particular to a robot pose determination method, device, equipment and medium. Background Technology

[0002] Mobile robots are frequently used in scenarios such as home services, hotel reception, pharmacy sorting, and warehousing logistics. They need to perform complex tasks such as first moving to the vicinity of the target and then grasping or manipulating it with a robotic arm. In other words, they need to first complete the coarse movement using a chassis to reach the corresponding docking point, and then use the robotic arm to perform fine grasping, thereby improving the accuracy of grasping.

[0003] Existing robot pose determination methods typically separate navigation and robotic arm operation into two independent steps. The navigation step involves path planning and reaching the target coordinate point via the chassis. The robotic arm operation begins after the chassis arrives, determining the grasping posture based on visual information obtained upon arrival. This sequential division of labor presents several problems in operation scenarios on support surfaces such as desktops and bar counters. These problems include the chassis arriving at a position unsuitable for robotic arm operation, the inability of prior maps to reflect temporary obstacles, and poor chassis positioning that affects the robotic arm's visual positioning.

[0004] Therefore, existing robot pose determination methods suffer from low pose determination accuracy and low grasping efficiency. Summary of the Invention

[0005] This application provides a robot pose determination method, apparatus, device, and medium to solve the problems of low pose determination accuracy and grasping efficiency in existing robot pose determination methods.

[0006] In a first aspect, this application provides a robot pose determination method, the method comprising: Obtain multiple supporting edges of the target object; determine the target edge sequence based on the passage priority of each supporting edge; Based on the edge origin, unit vector, and target normal vector of the preferred supporting edge in the target edge sequence, the preferred edge grid and starting grid point are determined. Based on the starting grid point and the preferred edge grid, the grid points are expanded layer by layer. According to the expansion results, the target edge sequence is traversed, and the grid points that meet the first and second preset conditions, or the grid points that meet the first and third preset conditions, are determined as target grid points. The first preset condition is used to determine whether the grid point meets the operation distance condition, the parking safety condition, the safety distance condition, the visual unobstructed condition, and the path reachability condition when it is used as a parking pose. The second preset condition is used to determine whether the orientation angle between the grid point and the target projection coordinates meets the condition. The third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area meet the condition. Based on the target grid points, determine the target docking coordinates and the target orientation angle.

[0007] In some embodiments of this application, the target edge sequence is determined based on the passage priority of each support edge, including: Based on the collision height of the robot's chassis, the obstacle point cloud in the depth point cloud is determined, and the obstacle point cloud is horizontally projected to obtain the obstacle points. Based on the chassis radius, the obstacle points are expanded to obtain the target obstacle points. Based on the target obstacle points, the SLAM grid map is overlaid to obtain the target passage cost map. Based on the target access cost map, the access priority of each support edge is determined to obtain the target edge sequence.

[0008] In some embodiments of this application, based on the target traffic cost map, the traffic priority of each support edge is determined to obtain the target edge sequence, including: Based on the distance between the target's projected coordinates and each support edge, the support edges are sorted to obtain an initial edge sequence. Then, based on the target's passage cost map, it is determined whether there are target obstacle points in the outer region of the edge. If present, reduce the passage priority of the support edge; If it does not exist, the passage priority of the support edge will not be reduced; Based on the passage priority of each support edge after judgment, the target edge sequence is determined.

[0009] In some embodiments of this application, the preferred edge grid and starting grid point are determined based on the edge origin, unit vector, and target normal vector of the preferred supporting edge in the target edge sequence, including: Based on the vector direction and safety distance of the target normal vector, the preferred support edge is shifted to obtain the starting row of the grid, and based on the unit vector, the starting row of the grid is evenly divided to obtain multiple grid column points; Based on the edge starting point of the grid starting row and the preset spacing, multiple grid row points are determined, and the preferred edge grid is determined according to the grid column points and grid row points; The starting grid point is determined based on the preferred edge grid.

[0010] In some embodiments of this application, determining the starting grid point based on a preferred edge grid includes: The target projection point is determined based on the projection point of the target projection coordinates relative to the preferred support edge, and the projection grid column of the target projection point is determined based on the preferred edge grid. Based on multiple projected Euclidean distances, the target distance is obtained by comparing the numerical values ​​between each projected Euclidean distance and the target operation distance, and the grid point corresponding to the target distance is determined as the starting grid point; wherein, the projected Euclidean distance is the Euclidean distance between each grid point in the projected grid column and the target projected coordinates.

[0011] In some embodiments of this application, based on the expansion results, the target edge sequence is traversed, and grid points that satisfy the first preset condition and the second preset condition, or grid points that satisfy the first preset condition and the third preset condition, are determined as target grid points, including: For the grid points obtained from the current expansion, the grid point coordinates are calculated based on the corresponding grid row, grid column and the coordinates of the starting grid point, and the target grid point area is determined based on the grid point coordinates and the chassis radius. Calculate the obstacle distance between the grid point and the neighboring obstacle point; determine the detection cylinder based on the preset radius and grid point connection line; construct multiple passage paths between the grid point and the robot based on the target passage cost map; wherein, the grid point connection line is the connection line between the grid point and the target projection coordinates; The system determines whether the distance between the grid point coordinates and the target projection coordinates is within the target operation distance, whether there is a target obstacle point within the target grid point area, whether the obstacle distance is greater than the safe distance, whether there is a target obstacle point within the detection cylinder, and whether there is a passable path in the passage path; where a passable path is a path without a target obstacle point. If all conditions are met, the grid point is determined to meet the first preset condition and is determined to be the initial grid point; based on the preset orientation angle threshold, it is determined whether the initial grid point meets the second or third preset condition, and the target grid point is determined according to the judgment result. If at least one condition is not met, the grid point is determined not to meet the first preset condition. When none of the grid points corresponding to the preferred support edge meet the first preset condition, the support edges in the target edge sequence are traversed in turn to obtain the initial grid point.

[0012] In some embodiments of this application, based on a preset orientation angle threshold, it is determined whether the initial grid point meets a second preset condition or a third preset condition, and the target grid point is determined according to the determination result, including: Based on the robot's current position, determine the orientation angle between the initial grid point and the target projection coordinates, and determine whether the orientation angle is not greater than a preset orientation angle threshold. If so, then the initial grid point is determined to satisfy the second preset condition, and the initial grid point is determined to be the target grid point; If not, it is determined that the initial grid point does not meet the second preset condition. When all initial grid points do not meet the second preset condition, the number of expansion layers and the number of obstacle points of each initial grid point are weighted to obtain the target grid point value. Based on the target grid point value, the initial grid point that meets the third preset condition is determined as the target grid point. Among them, the third preset condition is that the target grid point value is the largest. The orientation angle corresponding to the target grid point is determined as the target orientation angle.

[0013] Secondly, this application provides a robot pose determination device, the device comprising: The acquisition module is used to acquire multiple supporting edges of the target object; and to determine the target edge sequence based on the passage priority of each supporting edge. The mesh determination module is used to determine the preferred edge mesh and starting grid point based on the edge origin, unit vector and target normal vector of the preferred supporting edge in the target edge sequence. The expansion module is used to expand grid points layer by layer based on the starting grid point and the preferred edge grid. According to the expansion results, it traverses the target edge sequence and determines the grid points that meet the first and second preset conditions, or the grid points that meet the first and third preset conditions, as target grid points. The first preset condition is used to determine whether the grid point meets the operation distance condition, the parking position safety condition, the safety distance condition, the visual unobstructed condition, and the path reachability condition when used as a parking pose. The second preset condition is used to determine whether the orientation angle between the grid point and the target projection coordinates meets the condition. The third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area meet the condition. The coordinate determination module is used to determine the target docking coordinates and target orientation angle based on the target grid points.

[0014] Thirdly, this application provides a computer device, including: a processor, and a memory communicatively connected to the processor; The memory stores the instructions that the computer executes; The processor executes computer execution instructions stored in memory to implement the method of this application.

[0015] Fourthly, this application provides a computer-readable storage medium storing program code, which, when executed by a processor, is used to implement the method of this application.

[0016] Compared with existing technologies, the method in this application extracts the contour edge of the support surface and combines the distance between the target projection coordinates and the support edge, as well as the target access cost map, to determine the optimal and unobstructed edge side, solving the problem that existing methods cannot autonomously determine the optimal side closest to the target. It constructs an edge mesh based on the geometric parameters of the edge and generates starting grid points using the target projection point and the corresponding target operation distance, thus determining the search space based on the mesh. Furthermore, the corresponding coordinates can be calculated based on the number of rows and columns of the grid points, eliminating the need to pre-calculate grid parameters and reducing memory and computational power consumption. Layered expansion is then performed based on the starting grid points. The system first filters out all dangerous and invalid points based on the first preset conditions of operating distance, safety, vision, and path constraints. Based on the second preset condition of orientation angle, it filters the optimal grid points that face the target and have good imaging quality. Based on the third preset condition of the number of expansion layers and the number of obstacle points, it filters the second-best grid points with strong accessibility. Thus, the target grid points are filtered based on multiple preset conditions, avoiding insufficient operating distance of the robotic arm and target occlusion offset after navigation. This results in outputting docking coordinates and orientation angles that are adapted to the robotic arm's operating distance and have stable visual positioning, reducing the situation where navigation is successful but grasping fails, and improving the robot's grasping success rate in dynamic scenes. Attached Figure Description

[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0018] Figure 1 A flowchart illustrating a robot pose determination method provided in an embodiment of this application; Figure 2 This is a schematic diagram of a robot pose determination method provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of a robot pose determination device provided in an embodiment of this application; Figure 4 This is a structural block diagram of a device for performing a robot pose determination method according to an embodiment of this application. Detailed Implementation

[0019] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0020] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0021] Figure 1 This is a flowchart illustrating a robot pose determination method provided in an embodiment of this application. Figure 1 As shown, this robot pose determination method may include the following steps: S110. Obtain multiple supporting edges of the target object; determine the target edge sequence based on the passage priority of each supporting edge.

[0022] The target object refers to the physical object that the robot is to grasp or manipulate, i.e., the target point of the robot's current task, such as a tabletop water cup and a warehouse package; the target object can be identified and segmented from the RGB image by visual recognition or instance segmentation algorithms, and has an independent pixel mask and three-dimensional spatial coordinates, so that the robot can perform pose localization in the future.

[0023] The supporting edge refers to the outer contour boundary of the supporting surface. The supporting surface refers to the approximately horizontal physical plane where the target object is located, such as a tabletop, bar counter, or workbench. It can be identified through semantic segmentation, RANSAC plane fitting, or pre-stored semantic maps, and has a fixed height and a two-dimensional polygonal outline. For example, the supporting edge can be the four independent edges of a rectangular tabletop: east, west, south, and north.

[0024] Access priority refers to the accessibility ranking of multiple support edges. The higher the value, the more suitable the support edge is as the robot's priority approach side. By quantitatively comparing the comprehensive adaptability of multiple support edges, the geometrically optimal and obstacle-free preferred approach edge is determined. This eliminates the need for the robot to circle around the target object to find its position. Instead, it quickly determines the optimal support edge as the approach side based on the geometric logic corresponding to the support surface, improving the pose determination efficiency and subsequent grasping accuracy.

[0025] The target edge sequence refers to an ordered list generated by sorting all supporting edges according to their passage priority from high to low. Each edge in the list is accompanied by complete geometric parameters, including the starting point, edge vector, and outward normal. This enables backoff logic under multiple edges. That is, when all grid points of a single edge do not meet the docking pose constraints, the next edge in the sequence can be read directly, and the mesh parameters and decision logic can be reused without recalculating the geometric distance of all edges.

[0026] Based on this, by identifying the target object and its supporting surface, the physical boundary is extracted, the supporting edge is obtained, and by calculating the distance from the target's projected coordinates to each edge, combined with the target passage cost map of real-time obstacle detection, the passage priority corresponding to each supporting edge is determined, and the target edge sequence is obtained. This ensures that the robot always prioritizes trying the nearest and unobstructed side, improving the efficiency and accuracy of pose determination.

[0027] S120. Based on the edge starting point, unit vector, and target normal vector of the preferred supporting edge in the target edge sequence, determine the preferred edge grid and starting grid point.

[0028] Among them, the edge start point refers to the two-dimensional starting coordinate point of a single support edge line segment in the global map coordinate system. It is the endpoint of each straight line edge after the support edge polygon is divided. For example, each edge of a rectangular desktop will have a fixed start point and an end point, which are arranged sequentially along the edge extension direction.

[0029] A unit vector is a unit vector (with a magnitude of 1) extending along the current support edge, pointing in the forward direction of the edge.

[0030] The target normal vector is a unit vector that is perpendicular to the current support edge and points outward from the support surface (i.e., away from the inside of the support surface). It has a magnitude of 1 and is also called the outward normal.

[0031] Edge mesh refers to a structured two-dimensional virtual mesh defined along the outer edge of the current support edge, thereby transforming the robot arm's search in continuous space into a search in discrete index space. The intersection of the rows and columns of the mesh is the corresponding grid point. In practical applications, edge mesh is constructed based on the starting point of a single support edge, the edge unit vector, and the outward normal vector. Therefore, it is not necessary to store the world coordinate array corresponding to all grid points in advance, but only to dynamically calculate the coordinates when accessing grid points, thereby reducing the memory overhead and initialization time of the robot's embedded devices.

[0032] The starting grid point is the grid point along the edge of the grid from which the grid points begin to expand layer by layer; it is also called the seed grid point, so that expansion can start from this point and proceed outwards layer by layer. In practical applications, the starting grid point is determined by the grid column number. and grid row numbers Composition can be represented as ( , Two-dimensional index format, It is determined by the position of the target's horizontal projection on the edge. Determined by the target operating distance.

[0033] Based on this, for the first sorted support edge in the target edge sequence, the physical origin of the grid is provided by the edge starting point, the unit vector defines the horizontal scanning direction, and the target normal vector defines the vertical depth direction, thereby constructing the framework of the edge grid; the horizontal position of the target on the edge is determined by the target projection point, and the optimal depth range of the robotic arm is determined by the target operation distance, thereby calculating the starting grid point.

[0034] S130. Based on the starting grid point and the preferred edge grid, the grid points are expanded layer by layer. According to the expansion results, the target edge sequence is traversed, and the grid points that meet the first preset condition and the second preset condition, or the grid points that meet the first preset condition and the third preset condition, are determined as target grid points. The first preset condition is used to determine whether the grid point meets the operation distance condition, the parking safety condition, the safety distance condition, the visual unobstructed condition, and the path reachability condition when it is used as a parking pose. The second preset condition is used to determine whether the orientation angle between the grid point and the target projection coordinates meets the condition. The third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area meet the condition.

[0035] Grid expansion refers to the process of spreading outward layer by layer along the edge of the grid. Starting from the initial grid point as layer 0, each time a grid point in the current layer is expanded, candidate grid points in its four neighboring areas (up, down, left, and right) are determined. The expansion is carried out layer by layer in a first-in-first-out order, while a maximum number of expansion layers is set to limit the search range. Expansion stops when the maximum number of expansion layers is exceeded. In practical applications, the initial grid point itself is the ideal point with the best geometric optimality and the most suitable distance for the robotic arm. The expansion spreads outward layer by layer from this point, and the optimal solution almost always appears in the first 1 to 2 layers. Once a grid point meets the first and second preset conditions at the same time, all grid expansion can be terminated immediately without traversing the entire grid, thereby reducing the number of calculations for coordinate conversion and obstacle lookup, and adapting to low-computing-power embedded hardware for robots.

[0036] The first preset condition is a set of five hard constraints used to determine whether a grid point has the basic safety of being a robot's docking pose. If any one of the five conditions is not met, the grid point is immediately discarded and no further checks are performed, thereby significantly reducing time-consuming operations such as obstacle lookup and line-of-sight detection and improving the efficiency of grid point search.

[0037] The second preset condition refers to whether the robot's facing direction at the grid point is roughly pointing towards the target object. If the current grid point meets the second preset condition, it means that the robot's chassis is basically facing the target object, and the target object is located in the center area of ​​the camera's image. In practical applications, the second preset condition is only judged for grid points that pass all the first preset conditions. If a grid point does not meet the first preset condition, it is directly discarded and the second preset condition is not judged. Thus, under the premise of satisfying all safety hard constraints, target grid points with high visual positioning quality and operational convenience are further determined from the grid points.

[0038] The third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area meet the conditions. If the combined quantitative value of the number of expansion layers and the number of obstacle points is the largest among all grid points, then the current grid point is determined to meet the third preset condition, thereby selecting the grid point with the strongest passability among all grid points.

[0039] The target grid point refers to the grid point determined after the grid point is expanded in layers and verified by multiple preset conditions. Based on the grid row and grid column corresponding to the target grid point, the corresponding world coordinates and orientation angle are determined, and the robot's corresponding docking pose is determined based on the world coordinates and orientation angle.

[0040] Based on this, starting from the initial grid point, the system expands outward layer by layer according to the grid expansion rules. When a new grid point is reached, the system first checks five safety hard constraints according to the first preset condition. If any one of them is not met, the grid point is immediately discarded. After all constraints are met, the system checks whether the orientation is facing the target according to the second preset condition. If the grid point only meets the first preset condition but not the second preset condition, the system further filters all grid points according to the third preset condition to obtain the target grid point that meets the first and second preset conditions, or meets both the first and third preset conditions. The system then outputs the world coordinates and orientation angle to obtain the robot's docking pose.

[0041] S140. Based on the target grid points, determine the corresponding target docking coordinates and target orientation angle.

[0042] The target docking coordinates are the two-dimensional positions that the robot chassis ultimately needs to reach, measured in meters. In the world / map coordinate system, they are the world coordinates of the grid point corresponding to the target grid point.

[0043] The target orientation angle is the direction that the robot chassis should face at the target docking coordinates. The unit is degrees or radians, which represents the deflection angle of the robot's front (usually the +x direction of the chassis coordinate system) in the world coordinate system.

[0044] Based on this, in practical applications, the chassis first drives to the target parking coordinates, and then rotates in place to calibrate its attitude based on the target orientation angle.

[0045] Based on the feasible implementation of S110 described above, this application further provides a method for determining the target edge sequence based on the passage priority of each support edge, including: Based on the collision height of the robot's chassis, the obstacle point cloud in the depth point cloud is determined, and the obstacle point cloud is horizontally projected to obtain the obstacle points. Based on the chassis radius, the obstacle points are expanded to obtain the target obstacle points. Based on the target obstacle points, the SLAM grid map is overlaid to obtain the target passage cost map. Based on the target access cost map, the access priority of each support edge is determined to obtain the target edge sequence.

[0046] The obstacle point cloud is a collection of three-dimensional points located within the collision height range of the robot chassis, extracted from the point cloud data of current depth observation (RGB-D camera, stereo camera, or LiDAR). The chassis collision height is the height of the upper and lower boundaries of the robot chassis (typically 0 meters to 0.5 meters). Only three-dimensional points falling within this height range will physically collide with the chassis. Thus, the obstacle point cloud can be used to reconstruct the distribution of obstacles in the real environment at the moment of operation. Furthermore, the point cloud of the target object itself can be removed by target masking to avoid misjudging the object to be grasped as an obstacle.

[0047] The target obstacle point is an expanded obstacle area obtained by expanding two-dimensional obstacle points according to the geometry of the robot chassis. That is, taking each two-dimensional obstacle point as the center, a planar circular expansion is made according to the physical radius of the robot chassis, and all two-dimensional grid points within the expanded coverage area are collected. In practical applications, the original obstacle point only represents the outline of the obstacle and does not take into account the width of the chassis itself. Even if there is a distance between the edge of the obstacle and the center of the chassis, as long as the distance between the two is less than the chassis radius, a scraping collision will still occur during driving. The target obstacle point is generated after the chassis radius is expanded, which completely restores the space occupied by the chassis and ensures that all marked obstacle grids have reserved safety buffers.

[0048] SLAM grid map is a static environment map pre-built by a robot through simultaneous localization and mapping (SLAM) technology. It is a two-dimensional grid array, usually represented by an occupancy grid map, where each grid corresponds to a square area in the real world.

[0049] Overlay merges a static SLAM grid map with obstacle information obtained from real-time observation into a unified local cost map. The SLAM map only contains static obstacles, while the obstacle point cloud only captures temporary dynamic obstacles. The overlay operation merges the two layers of information to generate a cost map that reflects the complete obstacle distribution at the moment of operation, solving the problem that prior maps cannot identify temporary obstacles in existing technologies.

[0050] The target access cost map refers to a local two-dimensional grid map updated by real-time visual depth observation, which can overlay a static SLAM map with temporary obstacles in the current frame, such as chairs, cardboard boxes, and pedestrians. This solves the problem that static SLAM maps cannot represent temporary obstacles and reflects the distribution of real-world obstacles corresponding to the target object in real time.

[0051] Based on this, the accessibility judgment on the outer edge and the obstacle detection in the subsequent pose search must reflect the real-time state of the current environment, but the prior map cannot reflect temporary obstacles (chairs, cardboard boxes, etc.). Therefore, the three-dimensional points in the current depth observation point cloud that are within the chassis collision height range can be projected onto the ground, expanded according to the chassis size, and then integrated into the local cost map to obtain the corresponding target access cost map.

[0052] Based on the feasible implementation of S110 described above, this application further provides a method for determining the passage priority of each support edge based on the target passage cost map to obtain a target edge sequence, including: Based on the distance between the target's projected coordinates and each support edge, the support edges are sorted to obtain an initial edge sequence. Then, based on the target's passage cost map, it is determined whether there are target obstacle points in the outer region of the edge. If present, reduce the passage priority of the support edge; If it does not exist, the passage priority of the support edge will not be reduced; Based on the passage priority of each support edge after judgment, the target edge sequence is determined.

[0053] In this context, the target projection coordinates refer to the vertical projection point of the target object (3D position) onto the horizontal ground (2D plane). This ignores the target height (Z-axis) and only considers which point (X, Y) the target corresponds to on the ground. Since the robot chassis only moves on a horizontal plane, calculating the robot's distance from the target object, its left or right deviation, etc., only the projection coordinates are needed. By calculating which edge the target projection point is closest to, it can determine which side of the support surface the robot needs to circle around to stop. In practical applications, the target mask corresponding to the target object can be obtained through methods such as target detection, instance segmentation, or open-vocabulary visual recognition. Combined with a depth map (obtained from an RGB-D camera, binocular parallax, monocular depth estimation, etc.), the pixels in the target mask area are back-projected into a 3D point cloud in the camera coordinate system. After post-processing such as outlier removal and robust centroid estimation, the target projection coordinates are transformed to the map coordinate system using camera extrinsic parameters and real-time robot localization.

[0054] The outer edge region refers to the strip-shaped space extending outward along the normal direction of a certain support edge on the support surface. In practical applications, the extension distance is usually taken as the maximum effective operating distance of the robotic arm, thus serving as the potential docking space for the robot. Since the robot will eventually dock at a certain position outside the support surface so that the robotic arm can cross the edge to reach the target, and the possible docking poses all fall within the strip-shaped region outside a certain edge, this region defines the boundary of the search space. That is, candidate poses are only searched in the strip-shaped regions outside each edge, and poses outside this range are directly excluded.

[0055] Based on this, the closer the edge is to the target's horizontal projection, the higher its priority; if the outer side of the highest priority edge is impassable, the next supporting edge is considered in descending order, thus forming a sequence of target edges arranged in descending order of priority.

[0056] Based on the feasible implementation of S120 described above, this application further provides a method for determining the preferred edge grid and starting grid point based on the edge start point, unit vector, and target normal vector of the preferred supporting edge in the target edge sequence, including: Based on the vector direction and safety distance of the target normal vector, the preferred support edge is shifted to obtain the starting row of the grid, and based on the unit vector, the starting row of the grid is evenly divided to obtain multiple grid column points; Based on the edge starting point of the grid starting row and the preset spacing, multiple grid row points are determined, and the preferred edge grid is determined according to the grid column points and grid row points; The starting grid point is determined based on the preferred edge grid.

[0057] The preset spacing refers to the fixed interval distance between adjacent grid rows and adjacent grid columns when constructing a virtual search grid. It is a length scalar with the unit being meters. For example, the value range can be 0.1 meters to 0.25 meters. It is used to standardize and evenly distribute the support edges to generate uniform grid columns.

[0058] The safety distance refers to the minimum distance that must be maintained between the robot chassis and the edge of the support surface. It is a length scalar with the unit being meters, for example, the value range is 0.05 meters to 0.15 meters.

[0059] The starting row of the grid refers to the row of grid points in the virtual grid that is closest to the edge of the support surface. That is, a grid line parallel to the support edge is drawn with the outer normal of the edge as the extension direction, offset outward from the support edge by a safe distance. All grid points on this grid line constitute the starting row. In practical applications, the strip area between the support edge and the starting row is the chassis collision hazard zone, and no grid is generated there; it is directly excluded from the search space.

[0060] Based on this, after determining the support edge that is prioritized for approach, a regular search grid is established along the outer side of the edge. The edge is divided into multiple grid columns at equal intervals according to a preset spacing. Then, the grid columns are arranged outwards from the outer normal direction at the same spacing to obtain multiple grid rows. The intersection of the rows and columns is the grid point.

[0061] Based on the feasible implementation of S120 described above, this application further provides a method for determining the starting grid point based on a preferred edge grid, including: The target projection point is determined based on the projection point of the target projection coordinates relative to the preferred support edge, and the projection grid column of the target projection point is determined based on the preferred edge grid. Based on multiple projected Euclidean distances, the target distance is obtained by comparing the numerical values ​​between each projected Euclidean distance and the target operation distance, and the grid point corresponding to the target distance is determined as the starting grid point; wherein, the projected Euclidean distance is the Euclidean distance between each grid point in the projected grid column and the target projected coordinates.

[0062] The target operating distance refers to the range of distances that the end effector of the robotic arm can effectively reach the target on a horizontal plane. It is usually recorded in the robot's factory parameter table or obtained through offline teaching measurement. For example, the target operating distance of the UR5e robotic arm on a horizontal plane is about 0.3 meters to 0.9 meters.

[0063] Based on this, by projecting the target projection coordinates vertically onto the current support edge, the corresponding target projection point is obtained. Then, based on the grid column number where the target projection point falls (i.e., the column closest to the projection point along the edge direction), the grid column corresponding to the starting grid point is determined. Furthermore, based on the Euclidean distance between each grid point in the grid column and the target projection coordinates, the target distance closest to the target operation distance is determined. Thus, based on the grid point corresponding to the target distance, the grid row corresponding to the starting grid point is determined, so as to determine the corresponding starting grid point.

[0064] Based on the feasible implementation of S130 described above, this application further provides a method for determining grid points that satisfy the first preset condition and the second preset condition, or grid points that satisfy the first preset condition and the third preset condition, as target grid points by traversing the target edge sequence according to the expansion result, including: For the grid points obtained from the current expansion, the grid point coordinates are calculated based on the corresponding grid row, grid column and the coordinates of the starting grid point, and the target grid point area is determined based on the grid point coordinates and the chassis radius. Calculate the obstacle distance between the grid point and the neighboring obstacle point; determine the detection cylinder based on the preset radius and grid point connection line; construct multiple passage paths between the grid point and the robot based on the target passage cost map; wherein, the grid point connection line is the connection line between the grid point and the target projection coordinates; The system determines whether the distance between the grid point coordinates and the target projection coordinates is within the target operation distance, whether there is a target obstacle point within the target grid point area, whether the obstacle distance is greater than the safe distance, whether there is a target obstacle point within the detection cylinder, and whether there is a passable path in the passage path; where a passable path is a path without a target obstacle point. If all conditions are met, the grid point is determined to meet the first preset condition and is determined to be the initial grid point; based on the preset orientation angle threshold, it is determined whether the initial grid point meets the second or third preset condition, and the target grid point is determined according to the judgment result. If at least one condition is not met, the grid point is determined not to meet the first preset condition. When none of the grid points corresponding to the preferred support edge meet the first preset condition, the support edges in the target edge sequence are traversed in turn to obtain the initial grid point.

[0065] Here, grid coordinates refer to the two-dimensional horizontal coordinates of a specific grid point in the virtual grid within the world map coordinate system, calculated from the row and column indices using coordinate conversion formulas; specifically, let the starting point of this edge be... The unit vector along the edge direction is The outward normal (perpendicular to the unit vector away from the desktop) is Grid spacing safe distance Then any grid point World coordinates The conversion is performed on demand during search access, and the conversion formula is a linear function of the row and column indices: ; This represents the offset along the edge direction. The offset is along the outer normal; the entire virtual mesh does not allocate any grid coordinate array before the search starts, and it is only converted in real time according to the above linear formula when the grid is accessed; therefore, compared with existing schemes based on Monte Carlo presampling or offline inverse reachability map (IRM) precomputation, it can effectively reduce memory usage and initialization time.

[0066] Neighboring obstacle points refer to the physical locations of grid points marked as "obstacles" within a certain neighborhood (usually the radius of the area after the chassis size is expanded) around the current grid point in the target cost map.

[0067] The preset radius is a pre-defined radius value corresponding to the detection cylinder, which can be 5cm. The detection cylinder refers to a virtual cylinder constructed with a detection line emanating from the current grid point and the camera position towards the target object, using this line as the axis and a radius of approximately 5cm. If there are point cloud points in the cylinder that are not of the target category, they are judged as occlusions. In practical applications, it is necessary to ensure that the detection line has a vertical clearance of at least 10cm above the table and that the target falls within the camera's field of view.

[0068] A traversable path refers to a continuous, unobstructed sequence of grid connections on the target cost map, from the robot's current position to candidate grid points, thereby ensuring navigation feasibility.

[0069] The preset orientation angle threshold refers to the maximum orientation deviation angle that is predetermined. In practical applications, if the orientation deviation angle corresponding to the grid point is not greater than the preset orientation angle threshold, it is determined that the second preset condition is met; if the deviation exceeds the threshold, it is determined that the orientation is poor and the second preset condition is not met.

[0070] Based on this, in practical applications, the first preset conditions specifically include: (1) the operating distance is appropriate, that is, the distance between the grid point coordinates and the target projection coordinates is within the target operating distance. If it is too close, the robotic arm cannot extend normally; if it is too far, it cannot reach the target. (2) the grid point is unobstructed, that is, by querying the target cost map, it is determined that the location of the grid point and its surrounding area (the area after expansion according to the chassis size) must be completely free and not occupied by any obstacles. (3) the safety distance is sufficient, that is, the distance between the grid point and the nearest obstacle must be greater than the safety distance. (4) the target is visible without obstruction, that is, the target object is visible from the camera position at the grid point. A detection line is used as the axis and a virtual cylinder is constructed with a radius of about 5cm. If there are non-target type point cloud points in the cylinder, it is judged as occlusion. At the same time, it is necessary to ensure that the detection line has a vertical clearance of at least 10cm above the table and that the target falls within the camera's field of view. (5) The path is reachable, that is, on the target cost map, a path search is performed once from the robot's current position to the grid point in a limited number of steps (such as a limit of 500 to 1000 steps). It is only necessary to confirm that there is a continuous free path. The purpose is to eliminate isolated grid points that are completely surrounded by obstacles or are not connected to the current position. It is not required to generate a complete navigation trajectory.

[0071] In response, if the current grid point satisfies all the first preset conditions, it is determined as the initial grid point, and the angle of the initial grid point is further determined according to the second preset conditions. If any of the first preset conditions is not satisfied, the judgment is stopped immediately, and the first preset conditions are judged again for the grid points obtained by the next layer expansion. If all grid points in the edge grid corresponding to the current support edge do not satisfy the first preset conditions, all grid points corresponding to the next support edge are judged in turn according to the priority order of each support edge in the target edge sequence, so as to traverse the target edge sequence and obtain the initial grid point that satisfies the first preset conditions.

[0072] Based on the feasible implementation of S130 described above, this application further provides a method for determining whether an initial grid point satisfies a second preset condition or a third preset condition based on a preset orientation angle threshold, and determining a target grid point based on the determination result, including: Based on the robot's current position, determine the orientation angle between the initial grid point and the target projection coordinates, and determine whether the orientation angle is not greater than a preset orientation angle threshold. If so, then the initial grid point is determined to satisfy the second preset condition, and the initial grid point is determined to be the target grid point; If not, it is determined that the initial grid point does not meet the second preset condition. When all initial grid points do not meet the second preset condition, the number of expansion layers and the number of obstacle points of each initial grid point are weighted to obtain the target grid point value. Based on the target grid point value, the initial grid point that meets the third preset condition is determined as the target grid point. Among them, the third preset condition is that the target grid point value is the largest. The orientation angle corresponding to the target grid point is determined as the target orientation angle.

[0073] In this context, the number of expansion layers refers to the graph distance (hop count) of the current grid point relative to the starting grid point during the layered grid expansion search process. Specifically: the starting grid point itself has an expansion layer of 0, which is the starting point of the search and represents the geometrically ideal docking pose; the expansion layer of the four neighbors (the four adjacent grid points in the top, bottom, left, and right directions) of the starting grid point has an expansion layer of 1, which represents the position one step away from the ideal pose; the grid point that can be reached from the starting grid point through k steps of four-neighbor movement has an expansion layer of k.

[0074] Based on this, during the search process, for each grid point evaluated, if the first preset condition is not met, the grid point is discarded directly; only if all five items of the first preset condition are met will the second preset condition be judged; if the second preset condition is met, the search stops early and returns to the target grid point; if the first preset condition is met but the second preset condition is not met, the grid point is temporarily stored in the candidate pool; if all initial grid points do not meet the second preset condition, the best one is selected from the candidate pool based on the third preset condition, that is, two indicators are compared: the fewer occluded points the better and the closer the search expansion layer is to the seed the better. In practical applications, these two indicators can be weighted to obtain a comprehensive quantitative value for comparison.

[0075] Furthermore, after the robot navigates to its planned pose, there may be a deviation between the actual docking position and the planned position due to accumulated odometry errors and positioning drift. This can be quickly corrected by observing again. The core idea is exactly the same as the previous grid search, except that the search range is limited to the neighborhood of the current grid point, and the global BFS grid search is not restarted.

[0076] After the robot is in position, images are re-acquired to detect the target's position and depth within the frame. Two deviations are calculated: the horizontal angle of the target's deviation from the image center, and the difference between the actual depth and the optimal operating distance. If both are within tolerance, the operation proceeds directly; otherwise, small adjustments are made to the grid based on the deviation type: if the angle is too far, rotate in place at the same grid point; if the depth is too great, move in one row; if the depth is too small, move out one row; if the target is occluded, switch to a different column horizontally. After each adjustment, the first preset condition is re-evaluated, and correction is complete if it passes. The maximum number of attempts within the neighborhood is 2 layers, with a maximum of 3 iterations.

[0077] The planning search and the actual execution correction after positioning share the same grid structure and decision logic. Starting from its real grid point, the entire array is used as the search space, and the optimal approximate pose is obtained through global hierarchical BFS. Both use the same row and column index coordinate system, the same grid point world coordinate conversion function, the same cascaded decision logic of the first and second preset conditions, and the same local cost graph. Therefore, this architecture design of the same grid and two-level search allows the search results of the planning end to be directly used as the initial state of the correction end. The correction end does not need to rebuild any data structure or recalibrate any parameters, achieving complete unification of the three dimensions of "where to search, where to correct, and how to judge".

[0078] Please refer to Figure 2 , Figure 2 This is a schematic diagram of a robot pose determination method provided in an embodiment of this application; as shown below. Figure 2As shown, after receiving the task, the robot collects visual data, calculates the 3D coordinates of the target object and the outline of the supporting surfaces such as the desktop, and extracts temporary obstacles to update the environmental cost map. It sorts the sides of the desktop based on distance and obstacle conditions, prioritizing the optimal side to build a virtual mesh, and uses a hierarchical BFS algorithm to filter safe, target-facing docking poses. If no suitable position is found on the current side, it switches to other sides in turn; if no solution is found on all sides, a degradation fault-tolerance strategy is activated. After finding a suitable pose, the robot moves to the desired position, makes secondary fine-tuning adjustments, and then the robotic arm grasps the object. Finally, the operation results are recorded to update experience data and continuously optimize subsequent planning effects.

[0079] Based on the above steps, it can be seen that this application extracts the outline edge of the support surface and combines the distance between the target projection coordinates and the support edge, as well as the target passage cost map, to determine the geometrically optimal and obstacle-free edge side by considering the distance between the support edge and the target object and whether there are obstacle points on the outer side of the edge. This solves the problem that existing methods cannot autonomously determine the optimal side closest to the target. An edge mesh is constructed based on the edge geometric parameters, and starting grid points are generated using the target projection point and the corresponding target operation distance. This compresses the search space based on the mesh, eliminating the need to pre-calculate grid parameters and reducing memory and computing power consumption. The grid points are expanded layer by layer from the starting grid points. All dangerous and invalid points are first filtered out using a first preset condition based on operation distance, safety, vision, and path constraints. Then, the optimal grid points facing the target and with good imaging quality are selected using a second preset condition based on the orientation angle. This avoids the defects of insufficient operation distance and target occlusion offset that may exist for the robotic arm after navigation. This outputs robot docking coordinates and orientation angles that are adapted to the robotic arm's operation distance and have stable visual positioning, reducing the situation where navigation is successful but grasping fails, and improving the robot's grasping success rate in dynamic scenes.

[0080] Figure 3 This is a schematic diagram of a robot pose determination device provided in an embodiment of this application. Figure 3 As shown, this robot pose determination device includes: an acquisition module, a mesh determination module, an expansion module, and a coordinate determination module; wherein: The acquisition module is used to acquire multiple supporting edges of the target object; and to determine the target edge sequence based on the passage priority of each supporting edge. The mesh determination module is used to determine the preferred edge mesh and starting grid point based on the edge origin, unit vector and target normal vector of the preferred supporting edge in the target edge sequence. The expansion module is used to expand grid points layer by layer based on the starting grid point and the preferred edge grid. According to the expansion results, it traverses the target edge sequence and determines the grid points that meet the first and second preset conditions, or the grid points that meet the first and third preset conditions, as target grid points. The first preset condition is used to determine whether the grid point meets the operation distance condition, the parking position safety condition, the safety distance condition, the visual unobstructed condition, and the path reachability condition when used as a parking pose. The second preset condition is used to determine whether the orientation angle between the grid point and the target projection coordinates meets the condition. The third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area meet the condition. The coordinate determination module is used to determine the target docking coordinates and target orientation angle based on the target grid points.

[0081] In this embodiment of the application, the acquisition module can also be specifically used for: Based on the collision height of the robot's chassis, the obstacle point cloud in the depth point cloud is determined, and the obstacle point cloud is horizontally projected to obtain the obstacle points. Based on the chassis radius, the obstacle points are expanded to obtain the target obstacle points. Based on the target obstacle points, the SLAM grid map is overlaid to obtain the target passage cost map. Based on the target access cost map, the access priority of each support edge is determined to obtain the target edge sequence.

[0082] In this embodiment of the application, the acquisition module can also be specifically used for: Based on the distance between the target's projected coordinates and each support edge, the support edges are sorted to obtain an initial edge sequence. Then, based on the target's passage cost map, it is determined whether there are target obstacle points in the outer region of the edge. If present, reduce the passage priority of the support edge; If it does not exist, the passage priority of the support edge will not be reduced; Based on the passage priority of each support edge after judgment, the target edge sequence is determined.

[0083] In this embodiment of the application, the mesh determination module can also be specifically used for: Based on the vector direction and safety distance of the target normal vector, the preferred support edge is shifted to obtain the starting row of the grid, and based on the unit vector, the starting row of the grid is evenly divided to obtain multiple grid column points; Based on the edge starting point of the grid starting row and the preset spacing, multiple grid row points are determined, and the preferred edge grid is determined according to the grid column points and grid row points; The starting grid point is determined based on the preferred edge grid.

[0084] In this embodiment of the application, the mesh determination module can also be specifically used for: The target projection point is determined based on the projection point of the target projection coordinates relative to the preferred support edge, and the projection grid column of the target projection point is determined based on the preferred edge grid. Based on multiple projected Euclidean distances, the target distance is obtained by comparing the numerical values ​​between each projected Euclidean distance and the target operation distance, and the grid point corresponding to the target distance is determined as the starting grid point; wherein, the projected Euclidean distance is the Euclidean distance between each grid point in the projected grid column and the target projected coordinates.

[0085] In this embodiment of the application, the extension module can also be specifically used for: For the grid points obtained from the current expansion, the grid point coordinates are calculated based on the corresponding grid row, grid column and the coordinates of the starting grid point, and the target grid point area is determined based on the grid point coordinates and the chassis radius. Calculate the obstacle distance between the grid point and the neighboring obstacle point; determine the detection cylinder based on the preset radius and grid point connection line; construct multiple passage paths between the grid point and the robot based on the target passage cost map; wherein, the grid point connection line is the connection line between the grid point and the target projection coordinates; The system determines whether the distance between the grid point coordinates and the target projection coordinates is within the target operation distance, whether there is a target obstacle point within the target grid point area, whether the obstacle distance is greater than the safe distance, whether there is a target obstacle point within the detection cylinder, and whether there is a passable path in the passage path; where a passable path is a path without a target obstacle point. If all conditions are met, the grid point is determined to meet the first preset condition and is determined to be the initial grid point; based on the preset orientation angle threshold, it is determined whether the initial grid point meets the second or third preset condition, and the target grid point is determined according to the judgment result. If at least one condition is not met, the grid point is determined not to meet the first preset condition. When none of the grid points corresponding to the preferred support edge meet the first preset condition, the support edges in the target edge sequence are traversed in turn to obtain the initial grid point.

[0086] In this embodiment of the application, the extension module can also be specifically used for: Based on the robot's current position, determine the orientation angle between the initial grid point and the target projection coordinates, and determine whether the orientation angle is not greater than a preset orientation angle threshold. If so, then the initial grid point is determined to satisfy the second preset condition, and the initial grid point is determined to be the target grid point; If not, it is determined that the initial grid point does not meet the second preset condition. When all initial grid points do not meet the second preset condition, the number of expansion layers and the number of obstacle points of each initial grid point are weighted to obtain the target grid point value. Based on the target grid point value, the initial grid point that meets the third preset condition is determined as the target grid point. Among them, the third preset condition is that the target grid point value is the largest. The orientation angle corresponding to the target grid point is determined as the target orientation angle.

[0087] Figure 4 This is a schematic diagram of the structure of a device for performing a robot pose determination method according to an embodiment of this application. Figure 4 As shown, the device includes: The device may include one or more processors with processing cores, one or more computer-readable storage media such as memory, communication components, etc. The processor, memory, and communication components are connected via a bus.

[0088] In the specific implementation process, at least one processor executes computer execution instructions stored in memory, causing at least one processor to execute the robot pose determination method described above.

[0089] The specific implementation process of the processor can be found in the above method embodiments, and its implementation principle and technical effect are similar, so it will not be repeated here.

[0090] Furthermore, the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0091] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0092] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0093] In some embodiments, a computer program product is also provided, including a computer program or instructions that, when executed by a processor, implement the steps in any of the robot pose determination methods described above.

[0094] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.

[0095] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.

[0096] Therefore, embodiments of this application provide a computer-readable storage medium storing multiple lines of program code that can be loaded by a processor to execute the steps in any of the robot pose determination methods provided in embodiments of this application.

[0097] The storage medium may include: read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0098] According to one aspect of this application, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium.

[0099] Since the instructions stored in the storage medium can execute the steps in any of the robot pose determination methods provided in the embodiments of this application, the beneficial effects that any of the robot pose determination methods provided in the embodiments of this application can achieve can be realized. For details, please refer to the previous embodiments, which will not be repeated here.

[0100] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this application is indicated by the appended claims.

[0101] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope.

Claims

1. A method for determining robot pose, characterized in that, Includes the following steps: Obtain multiple supporting edges of the target object; The target edge sequence is determined based on the passage priority of each of the aforementioned support edges; Based on the edge origin, unit vector, and target normal vector of the preferred supporting edge in the target edge sequence, the preferred edge grid and starting grid point are determined. Based on the starting grid point and the preferred edge grid, the grid points are expanded layer by layer. According to the expansion results, the target edge sequence is traversed, and the grid points that satisfy the first preset condition and the second preset condition, or the grid points that satisfy the first preset condition and the third preset condition, are determined as target grid points. The first preset condition is used to determine whether the grid point, when used as a docking pose, satisfies the operation distance condition, docking safety condition, safety distance condition, visual unobstructed condition, and path reachability condition. The second preset condition is used to determine whether the orientation angle between the grid point and the target projection coordinates satisfies the condition. The third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area satisfy the condition. Based on the target grid points, determine the target docking coordinates and the target orientation angle.

2. The method according to claim 1, characterized in that, The determination of the target edge sequence based on the passage priority of each of the supporting edges includes: Based on the collision height of the robot's chassis, the obstacle point cloud in the depth point cloud is determined, and the obstacle point cloud is horizontally projected to obtain the obstacle points. Based on the chassis radius, the obstacle points are expanded to obtain target obstacle points, and based on the target obstacle points, the SLAM grid map is overlaid to obtain the target passage cost map. Based on the target passage cost map, the passage priority of each of the supporting edges is determined to obtain the target edge sequence.

3. The method according to claim 2, characterized in that, The step of determining the passage priority of each support edge based on the target passage cost map to obtain the target edge sequence includes: Based on the distance between the target projection coordinates and each of the supporting edges, the supporting edges are sorted to obtain an initial edge sequence, and based on the target passage cost map, it is determined whether there are target obstacle points in the outer region of the edge. If present, reduce the passage priority of the supporting edge; If it does not exist, the passage priority of the supporting edge is not reduced; The target edge sequence is determined based on the passage priority of each of the supporting edges after the judgment.

4. The method according to claim 1, characterized in that, The process of determining the preferred edge grid and starting grid point based on the edge origin, unit vector, and target normal vector of the preferred supporting edge in the target edge sequence includes: Based on the vector direction and safety distance of the target normal vector, the preferred support edge is shifted to obtain the grid starting row, and based on the unit vector, the grid starting row is evenly divided to obtain multiple grid column points; Based on the edge starting point and preset spacing of the grid starting row, multiple grid row points are determined, and the preferred edge grid is determined according to the grid column points and the grid row points; The starting grid point is determined based on the preferred edge grid.

5. The method according to claim 4, characterized in that, Determining the starting grid point based on the preferred edge grid includes: Based on the projection point of the target projection coordinates relative to the preferred support edge, the target projection point is determined, and based on the preferred edge grid, the projection grid column of the target projection point is determined; Based on multiple projected Euclidean distances, the numerical values ​​between each projected Euclidean distance and the target operation distance are compared to obtain the target distance, and the grid point corresponding to the target distance is determined as the starting grid point; wherein, the projected Euclidean distance is the Euclidean distance between each grid point in the projected grid column and the target projected coordinates.

6. The method according to claim 1, characterized in that, The step of traversing the target edge sequence based on the expansion result and determining grid points that satisfy the first and second preset conditions, or grid points that satisfy the first and third preset conditions, as target grid points includes: For the grid points obtained from the current expansion, the grid point coordinates are calculated based on the corresponding grid row, grid column and the coordinates of the starting grid point, and the target grid point region is determined based on the grid point coordinates and the chassis radius. Calculate the obstacle distance between the grid point and the neighboring obstacle point; determine the detection cylinder based on the preset radius and the grid point connection line; construct multiple passage paths between the grid point and the robot based on the target passage cost map; wherein, the grid point connection line is the connection line between the grid point and the target projection coordinates; The system determines whether the distance between the grid point coordinates and the target projection coordinates is within the target operating distance, whether there is a target obstacle point within the target grid point area, whether the obstacle distance is greater than the safe distance, whether there is a target obstacle point within the detection cylinder, and whether there is a passable path in the passage path; wherein, the passable path is a path without the target obstacle point; If all conditions are met, the grid point is determined to satisfy the first preset condition and is determined to be the initial grid point; based on the preset orientation angle threshold, it is determined whether the initial grid point satisfies the second preset condition or the third preset condition, and the target grid point is determined according to the judgment result; If at least one condition is not met, it is determined that the grid point does not meet the first preset condition. When none of the grid points corresponding to the preferred support edge meet the first preset condition, the support edges in the target edge sequence are traversed sequentially to obtain the initial grid point.

7. The method according to claim 6, characterized in that, The step of determining whether the initial grid point satisfies the second preset condition or the third preset condition based on a preset orientation angle threshold, and determining the target grid point according to the determination result, includes: Based on the robot's current position, determine the orientation angle between the initial grid point and the target projection coordinates, and determine whether the orientation angle is not greater than the preset orientation angle threshold; If so, then the initial grid point is determined to satisfy the second preset condition, and the initial grid point is determined to be the target grid point; If not, it is determined that the initial grid point does not meet the second preset condition, and when all the initial grid points do not meet the second preset condition, the number of expansion layers and the number of obstacle points of each initial grid point are weighted to obtain the target grid point value; based on the target grid point value, the initial grid point that meets the third preset condition is determined as the target grid point; wherein, the third preset condition is that the value of the target grid point is the largest. The orientation angle corresponding to the target grid point is determined as the target orientation angle.

8. A robot pose determination device, characterized in that, The device includes: An acquisition module is used to acquire multiple supporting edges of a target object; and to determine a target edge sequence based on the passage priority of each supporting edge. The mesh determination module is used to determine the preferred edge mesh and starting grid point based on the edge start point, unit vector and target normal vector of the preferred supporting edge in the target edge sequence; An expansion module is used to expand grid points layer by layer based on the starting grid point and the preferred edge grid, and according to the expansion results, traverse the target edge sequence to determine grid points that meet the first preset condition and the second preset condition, or grid points that meet the first preset condition and the third preset condition, as target grid points; wherein, the first preset condition is used to determine whether the grid point, when used as a docking pose, meets the operation distance condition, docking safety condition, safety distance condition, visual unobstructed condition, and path reachability condition; the second preset condition is used to determine whether the orientation angle between the grid point and the target projection coordinates meets the condition; and the third preset condition is used to determine whether the number of expansion layers of the grid point and the number of obstacle points in the target grid point area meet the condition. The coordinate determination module is used to determine the target docking coordinates and the target orientation angle based on the target grid points.

9. A computer device, characterized in that, include: One or more processors; Memory; One or more programs, wherein the one or more programs are stored in memory and configured to be executed by one or more processors, the one or more programs being configured to perform the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program code that can be called by a processor to perform the method as described in any one of claims 1 to 7.