WO2022222513A1 - Method and apparatus for filling grooves on basis of controlling moving speed of robot - Google Patents

Method and apparatus for filling grooves on basis of controlling moving speed of robot Download PDF

Info

Publication number
WO2022222513A1
WO2022222513A1 PCT/CN2021/138498 CN2021138498W WO2022222513A1 WO 2022222513 A1 WO2022222513 A1 WO 2022222513A1 CN 2021138498 W CN2021138498 W CN 2021138498W WO 2022222513 A1 WO2022222513 A1 WO 2022222513A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
groove
contour
robot
trajectory
Prior art date
Application number
PCT/CN2021/138498
Other languages
French (fr)
Chinese (zh)
Inventor
李辉
魏海永
丁有爽
邵天兰
Original Assignee
梅卡曼德(北京)机器人科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 梅卡曼德(北京)机器人科技有限公司 filed Critical 梅卡曼德(北京)机器人科技有限公司
Publication of WO2022222513A1 publication Critical patent/WO2022222513A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • G06T3/067Reshaping or unfolding 3D tree structures onto 2D planes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection

Definitions

  • the present application relates to the field of B25 intelligent robots, and more particularly, to a method and device for filling grooves based on robot movement speed control.
  • the present application is made to overcome the above-mentioned problems or at least partially solve the above-mentioned problems.
  • one of the innovations of the present application is that the applicant finds that one of the reasons for the above-mentioned inconsistency in filling degree is that the prior art does not provide different filling methods for different grooves, for example, when the grooves are linear , the robot must move while filling, and when the groove is a point, the robot must accurately identify the location of the point and fill at that location. Therefore, the present application proposes a method of first identifying the groove type, and then letting the robot use the filling scheme corresponding to the type to fill, thereby greatly improving the accuracy of groove filling.
  • the second innovation of the present application is that the applicant found that the reason why it is difficult to accurately identify all the grooves is that the existing robot vision technology uses the three-dimensional point cloud information of the object, that is, the three-dimensional image information for identification. It is shallow, and the groove cannot be identified according to the 3D point cloud information. Therefore, the present application can accurately identify and extract shallow grooves in combination with the two-dimensional image by acquiring a two-dimensional image of the surface of the object, and performing equalization and segmentation operations on the two-dimensional image, which greatly improves the ability of groove identification.
  • the third innovation of the present application is that the applicant found that another reason for the above-mentioned problem of inconsistent filling degree is that in the prior art, the moving speed of the robot is fixed, and the discharging speed is also fixed. When narrow, the robot performs filling at an average moving speed and discharge speed, so wide grooves cannot be filled, and a buildup of filler can form in shallow grooves. Therefore, the present application adjusts the moving speed of the robot for different groove widths without changing the discharge speed, thereby greatly improving the accuracy of groove filling.
  • the fourth innovation of the present application is that the applicant found that although the grooves are both line-shaped, the characteristics of closed grooves and non-closed grooves are completely different, and the same filling scheme cannot be used.
  • non-closed grooves there are The defined open end, the starting point for optional filling like closed grooves, requires the development of a dedicated filling method for non-closed grooves. Therefore, according to the characteristics of the non-closed grooves, the present application proposes a filling method specially used for the non-closed grooves on the surface of the object, thereby greatly improving the filling accuracy of the non-closed grooves.
  • the present application provides a groove filling method based on robot movement speed control, a groove filling device based on robot movement speed control, an electronic device and a computer-readable storage medium.
  • the groove filling is performed according to the determined track point and the movement speed at the track point.
  • extracting the surface groove profiles of the object includes removing non-groove profiles.
  • the removing the non-groove contour includes removing the non-groove contour according to the number of pixels.
  • the method further includes: presetting a moving speed V0 corresponding to a specific width W0, and calculating the moving speed Vk of the robot at the trajectory point according to W0, V0 and Wk.
  • the groove profile includes an inner profile and an outer profile.
  • the determining the trajectory point of the robot movement according to the traversed points specifically includes: at each traversed point, obtaining the point along the local normal direction to the corresponding outer contour or inner contour The point between the point and the corresponding point on the outer or inner contour is selected as the trajectory point.
  • the trajectory point is the midpoint between the traversed point and the corresponding point on the outer or inner contour.
  • the contour extraction module is used to extract the groove contour on the surface of the object
  • the trajectory point determination module is used to traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot moving at each traversed point;
  • a movement speed determination module configured to determine the robot movement speed Vk at the track point based on the groove width Wk at the track point;
  • the filling module is used to perform groove filling according to the determined trajectory point and the movement speed at the trajectory point.
  • An electronic device includes a memory, a processor, and a computer program stored on the memory and executable on the processor, and the processor implements any of the above-mentioned embodiments when the processor executes the computer program. Groove filling method based on robot movement speed control.
  • the computer-readable storage medium of the embodiment of the present application has a computer program stored thereon, and when the computer program is executed by the processor, realizes the groove filling method based on the movement speed control of the robot of any of the above-mentioned embodiments.
  • FIG. 1 is a schematic flowchart of a groove filling method based on groove identification according to some embodiments of the present application
  • FIG. 2 is a schematic flowchart of a method for extracting a shallow groove profile on an object surface according to some embodiments of the present application
  • FIG. 3 and 4 are schematic diagrams of groove contour identification and extraction according to some embodiments of the present application.
  • FIG. 5 is a schematic flowchart of a groove filling method based on robot movement speed control according to some embodiments of the present application
  • FIG. 6 is a schematic flowchart of a method for filling a non-closed groove according to some embodiments of the present application.
  • FIG. 7 is a schematic diagram of a non-closed groove filling method according to some embodiments of the present application.
  • FIG. 8 is a schematic structural diagram of a groove filling device based on groove identification according to some embodiments of the present application.
  • FIG. 9 is a schematic structural diagram of an object surface shallow groove contour extraction device according to some embodiments of the present application.
  • FIG. 10 is a schematic structural diagram of a groove filling device based on robot movement speed control according to some embodiments of the present application.
  • FIG. 11 is a schematic structural diagram of a non-closed groove filling device according to some embodiments of the present application.
  • FIG. 12 is a schematic structural diagram of an electronic device according to some embodiments of the present application.
  • FIG. 1 shows a groove filling method according to an embodiment of the present application, including:
  • Step S100 extracting the contour of the groove on the surface of the object
  • Step S200 identifying the type of groove profile
  • Step S300 determining a corresponding groove filling scheme according to the type of groove profile
  • Step S400 filling the grooves based on the groove filling scheme.
  • the 3D point cloud information of the object can be obtained.
  • the point cloud information can be obtained through a 3D industrial camera.
  • the 3D industrial camera is generally equipped with two lenses, which respectively capture the group of objects to be grasped from different angles. It can realize the display of three-dimensional images of objects. Place the group of objects to be grasped under the vision sensor, and shoot with two lenses at the same time.
  • use a general binocular stereo vision algorithm to calculate the X, X, and X of each point of the object to be filled.
  • the Y, Z coordinate values and the coordinate orientation of each point are then converted into the point cloud data of the item group to be grasped.
  • components such as laser detectors, visible light detectors such as LEDs, infrared detectors, and radar detectors can also be used to generate point clouds, and the application does not limit the specific implementation.
  • the point cloud data acquired in the above manner is three-dimensional data.
  • the acquired three-dimensional point cloud data can be orthographically mapped onto a two-dimensional plane.
  • a depth map corresponding to the orthographic projection can also be generated.
  • a two-dimensional color map corresponding to a three-dimensional object region and a depth map corresponding to the two-dimensional color map can be acquired in a depth direction perpendicular to the object.
  • the two-dimensional color map corresponds to an image of a plane area perpendicular to the preset depth direction; each pixel in the depth map corresponding to the two-dimensional color map is in one-to-one correspondence with each pixel in the two-dimensional color map, and each pixel The value of the pixel is the depth value of the pixel.
  • This application can be used for various groove filling scenarios in the industry, such as the scenario of gluing the grooves on the surface of the table board.
  • the grooves on the surface of the object are shallow, and in the 3D point cloud or depth map, the point clouds of the inner and outer contours of the groove cannot be distinguished, so the contour of the groove cannot be identified from the 3D point cloud or depth map.
  • the applicant has developed a method for extracting the contours of shallow grooves. In this method, combined with the acquired two-dimensional images, the two-dimensional images are processed to obtain a method that can clearly display the grooves. The two-dimensional image of the 2D image, so as to accurately identify and extract the groove contour, which is one of the focuses of this application.
  • FIG. 2 shows a method for extracting a shallow groove profile according to an embodiment of the present application, including:
  • Step S110 acquiring a two-dimensional image of the object surface
  • Step S120 performing an image equalization operation on the image
  • Step S130 performing an image segmentation operation on the equalized image
  • Step S140 Determine the shallow groove according to the segmented image and extract the outline of the shallow groove.
  • step S110 a two-dimensional image of the surface of the object is acquired.
  • a three-dimensional image of the object such as 3D point cloud information, can be acquired according to the method of S100, and then mapped into a two-dimensional image.
  • step S120 an image equalization operation is performed on the acquired two-dimensional image. Due to the image equalization operation, the original grayscale with fewer pixels will be allocated to other grayscales, and the pixels are relatively concentrated. Image details that cannot be seen clearly. In the original two-dimensional image, due to the close contrast between the surface of the object and the shallow groove, it cannot be effectively identified. In order to solve this problem, an image equalization operation can be performed under the condition of ensuring a certain amount of illumination. After such processing, the shallow groove can be clearly identified. groove.
  • step S130 an image segmentation operation is further performed on the two-dimensional image after performing the image equalization operation.
  • image segmentation can be performed on the two-dimensional image that has undergone the image equalization operation, and specifically, graphics with properties similar to shallow grooves in the image can be segmented and extracted.
  • a two-dimensional image as shown in FIG. 3 is formed. In the two-dimensional image, many shallow grooves are clearly visible.
  • step S140 the shallow groove is determined according to the segmented image and the outline of the shallow groove is extracted.
  • the grooves are only pits on the surface of the object, and these pits may, for example, be generated by collision and do not need to be filled.
  • a minimum pixel threshold can be preset, and grooves with a number of pixels less than the threshold are regarded as pits and do not need to be filled.
  • a maximum pixel threshold can also be preset to screen out specific concave structures on the surface of the object. For example, some object surfaces may be provided with sub-packaging compartments for placing objects. In this way, only when the number of pixel points in the groove portion is less than the threshold, the groove is identified as a groove to be filled.
  • multi-layer grooves can be identified from the outside to the inside.
  • grooves located within the outermost grooves which can be defined as the inner groove.
  • These inner grooves, with clear outlines, are easy to identify and extract.
  • the outermost groove only the inner contour can be clearly identified, and the outer contour is integrated with the black background, so the position of the outer contour cannot be accurately identified.
  • the position of the outer edge of the outermost groove that is, the position of the outer contour, can be determined according to the previously acquired three-dimensional image, and then combined with the two-dimensional image to obtain the outer contour of the outermost groove .
  • step S200 based on the extracted groove profile, the type of the groove profile is identified.
  • each filling method corresponds to a specific type of contour, this is the one of the main points of the application.
  • the grooves can be classified according to the type of grooves that can be filled by the groove filling method used.
  • the grooves are divided into closed grooves, open grooves and single-point grooves. Roughly speaking, the outline of the single-point grooves is single-point, closed grooves and open grooves.
  • the grooves are linear. Among them, the closed groove is in the shape of a closed line, and there is no clear starting point and ending point.
  • the open grooves are in the shape of non-closed lines, with clear start and end points.
  • a corresponding groove filling scheme is determined according to the type of groove profile.
  • the groove types correspond to the filling methods one-to-one.
  • multiple filling modes may also correspond to one type of groove, or multiple types of grooves may correspond to one filling mode, which is not limited in this application.
  • the focus of this application is to call different filling schemes for different grooves, so any filling scheme can be used, which is not limited in this application.
  • three different filling schemes, a closed groove filling method, an open groove filling method and a point groove filling scheme are designed for closed grooves, open grooves and point grooves, respectively. filling.
  • step S400 the grooves are filled based on the groove filling scheme.
  • a robot can be used for groove filling. For this purpose, it is necessary to plan the movement trajectory, movement speed and filling speed of the robot first. The robot moves on the surface of the object according to the planned path and speed, and follows the planned filling speed. Fill the groove with filler.
  • Three different filling schemes, the closed groove filling method, the open groove filling method and the point groove filling scheme, are described below.
  • the acquired two-dimensional contour of the single-point groove it can be mapped to a three-dimensional point cloud, and then the pose information of the three-dimensional point cloud can be obtained, and the robot can be moved to the position of the single-point groove for filling according to the pose information.
  • the robot When the robot fills the groove, it will control the discharge head to fill based on a certain discharge rate.
  • the discharge rate as an inherent property of the robot, affects the filling effect in this embodiment. Since the discharge rate of the robot is usually fixed, if the width of the groove to be filled is inconsistent on the entire path, and the robot moves at the same motion speed at each trajectory point, it may lead to wide grooves. There is a lack of glue at the groove, and there is a glue pile at the narrow groove.
  • this application proposes a method that controls the moving speed of the robot according to the width of the groove to control the discharge rate at the groove. scheme, which is also one of the focuses of this application.
  • Fig. 5 shows the groove filling method of the present application by controlling the moving speed of the robot.
  • the method can be used for the filling of closed grooves and open grooves in the present application, and the method includes:
  • Step 411 extracting the contour of the groove on the surface of the object
  • Step 412 traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot movement at each traversed point;
  • Step 413 Determine the robot moving speed Vk at the track point based on the groove width Wk at the track point;
  • Step 414 let the robot perform groove filling according to the determined trajectory point and the movement speed at the trajectory point.
  • step 411 a method similar to step S100 can be used to extract the groove contour on the surface of the object, which will not be repeated here.
  • the closed groove contour consists of two contours, an inner and outer contour.
  • the interval of the trajectory points can be preset, and then the inner contour or the outer contour is used as a reference, and the points on the reference contour are traversed according to the interval of the trajectory points.
  • the track point interval can be a distance, that is, a track point can be set to be generated every certain distance, in other words, that is, a point on the contour is traversed every certain distance, and the entire contour is traversed in this way. For each traversed point P1, find the point P2 corresponding to the current point P1 along the local normal direction to another contour.
  • the traversal is performed on the inner contour
  • P1 is on the inner contour and P2 is on the outer contour.
  • the distance from P1 to P2 is the groove width W here.
  • a point P3 can be selected between P1 and P2 as the fill track point.
  • the filling track point can be the midpoint of the groove width W, that is, the point is the position on the width W where the distance ratio to the inner and outer contours is 1:1. According to the actual filling needs, the positions of different distance ratios can also be selected as track points.
  • the track point may be set at a position closer to the inner contour, for example, the distance between the track point and the inner and outer contour may be set to 2:3.
  • the position of the track point may be adjusted by the distance, for example, the track point is set at a distance of 1 mm from the inner contour.
  • these two-dimensional trajectory points are used to obtain three-dimensional trajectory points through the 2D to 3D mapping relationship, and a three-dimensional moving trajectory has been formed.
  • step 413 when the robot fills the groove, it will control the discharge head to fill based on a certain filling rate.
  • the discharge rate as an inherent property of the robot, affects the filling effect in this embodiment. Since the discharge rate of the robot is usually fixed, if the width of the groove to be filled is inconsistent on the entire path, and the robot moves at the same motion speed at each trajectory point, it may lead to wide grooves. Underfill occurs in the grooves and overflow occurs in the narrow grooves. In the case of a fixed discharge rate, different robot moving speeds will lead to different discharge amounts. Roughly speaking, when the discharge rate is fixed, the faster the robot moves, the less material will be discharged, and vice versa. more.
  • a wider groove needs to be filled with a larger amount of material, so the robot needs to move relatively slowly at the groove.
  • a suitable robot speed V0 corresponding to a specific width W0 may be predetermined. In this way, for each track point, the width Wk of the groove at the track point can be obtained first. If Wk>V0, the robot moving speed Vk at the track point should be less than V0, and vice versa.
  • the movement speed of the robot at each trajectory point can be calculated for each trajectory point using the following formula:
  • Vk V0/Rk.
  • Closed grooves are two contours. When setting track points, all points on the contour can be traversed from any point on the inner or outer contour according to the preset track point interval. Different from the closed groove, the open groove has a specific opening end point in shape, so one open end point must be used as the starting point, and the other open end point must be used as the end point, so that according to the preset trajectory point interval, from the opening point The contour is traversed from point to end point. Therefore, different from closed grooves, open grooves also need to determine the correct starting point and ending point of the trajectory to accurately form the movement trajectory of the robot. The applicant has made a lot of effort to design a groove filling solution that can be used for any groove with a defined start point and an end point, that is, a non-closed groove, which is also one of the focuses of this application.
  • Figure 6 shows the non-closed groove filling method of the present application, including:
  • Step 421 extract the contour of the non-closed groove on the surface of the object
  • Step 422 generating a circumscribed rectangle of the outline
  • Step 423 based on the generated circumscribed rectangle, determine two open end points of the outline
  • step 424 groove filling is performed using the two open end points as the starting point and the ending point, respectively.
  • FIG. 7 shows a schematic diagram of analyzing the opening and contour of a non-closed groove through a circumscribed rectangle according to an embodiment of the present application. The following describes the non-closed groove filling method of the present application with reference to FIG. 7 .
  • step 421 a method similar to that of step S100 can be used to extract the contour of the groove on the surface of the object, which will not be repeated here.
  • the minimum circumscribed rectangle is obtained for the outline of the opening groove, and any feasible method can be used to obtain the minimum circumscribed rectangle, which is not limited in this application;
  • the end point of the opening is determined according to the minimum circumscribed rectangle. For example, according to the groove outline, it is determined that the opening point is located on a certain side of the circumscribed rectangle, and then the point on the outline closest to the side is determined as the opening end point.
  • two open end points P1 and P2 can be determined.
  • the entire groove contour is broken at P1 and P2 to form two separate contour segments S1 and S2.
  • S1 is the outer contour and S2 is the inner contour.
  • the starting point P1 and the ending point P2 of the traversal are obtained, as well as the outer contour S1 where P1 and P2 are located, and the inner contour S2 opposite to the outer contour.
  • traversal sampling is performed on S1 according to the preset trajectory point interval.
  • the track point interval can be a distance, that is, a track point can be set to be generated every certain distance, in other words, the contour points are traversed every certain distance.
  • the filling track point may be the midpoint of the groove width W, that is, the point is a position on the width W that is 1:1 away from the inner and outer contours.
  • the positions of different distance ratios can also be selected as trajectory points. For example, if the cross-sectional area from the midpoint of the width W to the inner contour is larger than the cross-sectional area to the outer contour, for accurate filling, you can Set the track point to be closer to the inner contour.
  • the distance between the track point and the inner and outer contour can be set to 2:3.
  • the position of the track point may be adjusted by the distance, for example, the track point is set at a distance of 1 mm from the inner contour.
  • the robot When the robot fills the groove, it will control the discharge head to fill based on a certain filling rate.
  • the discharge rate as an inherent property of the robot, affects the filling effect in this embodiment. Since the discharge rate of the robot is usually fixed, if the width of the groove to be filled is inconsistent on the entire path, and the robot moves at the same motion speed at each trajectory point, it may lead to wide grooves. Underfill occurs in the grooves and overflow occurs in the narrow grooves.
  • a suitable robot speed V0 corresponding to a specific width W0 may be predetermined. In this way, for each track point, the width Wk of the groove at the track point can be obtained first. If Wk>V0, the robot moving speed Vk at the track point should be less than V0, and vice versa.
  • the movement speed of the robot at each trajectory point can be calculated for each trajectory point using the following formula:
  • Vk V0/Rk.
  • the present application can implement filling methods dedicated to different grooves, thereby greatly improving the filling accuracy; secondly, the present application can accurately identify the grooves to be filled even if the grooves to be filled are shallow. Thirdly, the application controls the movement rate of the robot according to the groove width, which can accurately fill the grooves with different widths and improves the filling accuracy; fourthly, for special opening grooves, the application also develops special The method can improve the filling accuracy of such grooves. It can be seen that the present application solves all the problems in the process of using the robot to fill the groove.
  • the robots in various embodiments of the present application may be industrial robot arms, and these robot arms may be general-purpose or dedicated to groove filling.
  • the application can fill the grooves on the surface of any object, such as glass, table board, steel plate, etc.
  • the application can be filled with any filler, such as glue, various chemical fillers, etc.
  • the application does not limit the specific application field, as the preferred This application is particularly suitable for applying glue in the grooves of the table top.
  • the initial point of the trajectory point can be set at the position on the trajectory path that is closest to the initial pose of the robot, for example, the initial point is set in the middle of the edge close to the robot. That is to say, after the initial pose of the robot is determined, the middle point on the trajectory path of the side closest to the initial pose of the robot can be used as the initial point of the trajectory point, and then according to the inherent properties of the robot Other track points are set on the track path, and then the track point information can be obtained.
  • the track point information may include, but is not limited to, the coordinates of the track point, the initial track point of the track point, and the direction of the track point (ie, the position sequence of the track point).
  • the trajectory point information can be sent to the robot by means of communication.
  • the robot receives the trajectory point information, it can control its own spray nozzle to fill the groove based on the trajectory point information.
  • trajectory point information is generated on the trajectory path, including:
  • determining the corners and straight lines in the trajectory path may be determined based on the relationship between the coordinate values of each point on the trajectory path.
  • the X and Y coordinates of the adjacent points at the corner will be different, while the adjacent points at the straight line may have the same X coordinate or the same Y coordinate. For example: Assuming that the shape of the item to be filled is a rectangle, in the trajectory path of the item to be filled, the X and Y coordinates of the adjacent points at the corners of the four corners will be different, and the Y coordinates of the adjacent points at the upper line will be different.
  • the coordinates will be the same but the X-coordinates will be different, the Y-coordinates of the adjacent points on the lower line will be the same but the X-coordinates will be different.
  • the Y coordinate will be different, the X coordinate of the adjacent points on the right line will be the same, but the Y coordinate will be different, and the X coordinate will be smaller than the value of the left line.
  • the robot When the robot is filling, it will control the discharge head to fill based on a certain discharge rate. As an inherent property of the robot, the discharge rate affects the filling effect in this embodiment. In order to conveniently set track points on the trajectory path with reference to the discharge rate of the robot to avoid stacking, the discharge rate of the robot can be determined.
  • the distance between the trajectory points set at the corners on the trajectory path may be larger than the distance between the trajectory points set at the straight line, so as to achieve a straight line Balance the movement speed at the corner and the movement speed at the corner, so as to solve the stacking phenomenon that may be caused by the corner.
  • a minimum distance can be set at the straight line to limit the distance between the trajectory points on the straight line to prevent the robot from jamming and stacking due to the excessive number of trajectory points on the straight line. It is also possible to set moving speed parameters with different values at the straight line and at the corner to achieve a balance between the moving speed at the straight line and the moving speed at the corner, and solve the problem of stacking due to inherent properties.
  • the walking sequence of the trajectory points is determined according to the initial pose of the robot, so as to obtain the trajectory point information.
  • the initial point of the trajectory point is set as a point close to the initial pose of the robot, for example, it can be the trajectory point corresponding to the middle part of the object to be filled close to the side of the robot. That is to say, after the initial pose of the robot is determined, the track point corresponding to the middle point (or the track point closest to the point) on the trajectory path of the side closest to the initial pose of the robot can be used as The initial track point of the track point, after that, other track points can be moved clockwise, or other track points can be moved counterclockwise.
  • the track point information may specifically include track point coordinates, initial track point coordinates, a position sequence of track points, and motion speed parameters of track points, and the like.
  • the track point information further includes: normal information corresponding to the contour points.
  • the normal information can be the angle value of the normal vector corresponding to each contour point cloud relative to a fixed amount, and can also be the deviation of the point cloud in the corresponding position sequence behind the contour point cloud relative to the previous point cloud. angle value.
  • Fig. 8 shows a schematic structural diagram of a groove filling device based on groove contour identification according to yet another embodiment of the present application, and the device includes:
  • the contour extraction module 500 is used for extracting the contour of the groove on the surface of the object, that is, for implementing step S100;
  • the contour identification module 600 is used to identify the type of the groove contour, that is, to realize step S200;
  • the filling scheme determination module 700 is used to determine the corresponding groove filling scheme according to the type of the groove profile, that is, to implement step S300;
  • the filling module 800 is used to fill the grooves based on the groove filling scheme, that is, to implement step S400.
  • the contour extraction module 500 is also used to remove the non-groove contour, for example, it can be removed according to the number of pixel points.
  • the types of groove contours that can be identified by the contour identification module 600 include at least one of closed grooves, open grooves, and single-point grooves.
  • the filling module 800 acquires the 3D point cloud of the single point, and fills the groove according to the pose of the 3D point cloud.
  • the filling module 800 traverses the points on the inner contour or the outer contour according to the preset trajectory point interval, At a point, find the point from the point along the local normal direction to the corresponding outer or inner contour, and select the point between the point and the corresponding point on the outer or inner contour as the trajectory point.
  • the trajectory point may be a midpoint between the traversed point and the corresponding point on the outer or inner contour.
  • the filling module 800 determines the moving speed Vk of the filling tool at the track point according to the groove width Wk at the track point.
  • FIG. 9 shows a schematic structural diagram of a device for extracting a contour of a shallow groove on an object surface according to yet another embodiment of the present application, and the device includes:
  • the image acquisition module 510 is used for acquiring a two-dimensional image of the surface of the object, that is, for implementing step S110;
  • an image equalization module 520 configured to perform an image equalization operation on the image, that is, to implement step S120;
  • the image segmentation module 530 is configured to perform an image segmentation operation on the equalized image, that is, to implement step S130;
  • the contour extraction module 540 is configured to determine the shallow groove according to the segmented image and extract the contour of the shallow groove, that is, to implement step S140.
  • the shallow groove contour extraction device further includes a three-dimensional image acquisition module for acquiring a three-dimensional image of the surface of the object.
  • the image acquisition module 510 may acquire a two-dimensional image by mapping a three-dimensional image.
  • the contour extraction module 540 is also used to remove the non-groove contour, for example, the non-groove contour can be removed according to the number of pixel points.
  • the shallow groove contour includes an outermost groove contour and an inner groove contour
  • the outermost groove contour includes an inner contour and an outer contour
  • the inner contour of the inner groove and the inner contour of the outermost groove may be extracted according to the two-dimensional image, and the inner contour of the outermost groove may be extracted according to the three-dimensional image.
  • FIG. 10 shows a schematic structural diagram of a groove filling device based on robot movement speed control according to yet another embodiment of the present application, the device includes:
  • the contour extraction module 811 is used to extract the contour of the groove on the surface of the object, that is, to realize step S411;
  • the trajectory point determination module 812 is used to traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot moving at each traversed point, that is, to implement step S412;
  • the movement speed determination module 813 is configured to determine the robot movement speed Vk at the track point based on the groove width Wk at the track point, that is, to implement step S413;
  • the filling module 814 is used to make the robot perform groove filling according to the determined trajectory point and the movement speed at the trajectory point, that is, to implement step S414.
  • the contour extraction module 811 is also used to remove the non-groove contour, for example, it can be removed according to the number of pixel points.
  • the moving speed determination module 814 determines the moving speed Vk of the filling tool at the track point according to the groove width Wk at the track point.
  • the trajectory point determination module 812 traverses the points on the inner contour or the outer contour according to the preset trajectory point interval, and at each point traversed, obtains the point along the local normal direction to the corresponding outer contour or the outer contour. point on the inner contour, and select the point between the point and the corresponding point on the outer or inner contour as the trajectory point.
  • the trajectory point may be a midpoint between the traversed point and the corresponding point on the outer or inner contour.
  • FIG. 11 shows a schematic structural diagram of a device for filling a non-closed groove on an object surface according to another embodiment of the present application, the device includes:
  • the contour extraction module 821 is used to extract the contour of the groove on the surface of the object, that is, to realize step S421;
  • the circumscribed rectangle generation module 822 generates the circumscribed rectangle of the outline, that is, is used to realize step S422;
  • the opening determination module 823 is used to determine the two opening end points of the outline based on the generated circumscribed rectangle, that is, to realize step S423;
  • the filling module 824 is used to perform groove filling using the two opening end points as the starting point and the ending point respectively, that is, to implement step S424.
  • the fill module 824 breaks the groove profile at the start and end points to form separate inner and outer profiles.
  • the filling module 824 determines the moving speed Vk of the filling tool at the track point according to the groove width Wk at the track point.
  • the filling module 824 traverses the points on the inner contour or the outer contour according to the preset trajectory point interval, and at each point traversed, obtains the point along the local normal direction to the corresponding outer contour or inner contour. and select the point between the point and the corresponding point on the outer or inner contour as the trajectory point.
  • the trajectory point may be a midpoint between the traversed point and the corresponding point on the outer or inner contour.
  • the present application also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, implements the method of any one of the foregoing embodiments.
  • the computer program stored in the computer-readable storage medium of the embodiments of the present application may be executed by the processor of the electronic device.
  • the computer-readable storage medium may be a storage medium built in the electronic device, or a storage medium capable of The storage medium of the electronic device is pluggable and pluggable. Therefore, the computer-readable storage medium of the embodiments of the present application has high flexibility and reliability.
  • FIG. 12 shows a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • the specific embodiment of the present application does not limit the specific implementation of the electronic device.
  • the electronic device may include: a processor (processor) 902 , a communication interface (Communications Interface) 904 , a memory (memory) 906 , and a communication bus 908 .
  • processor processor
  • Communication interface Communication interface
  • memory memory
  • communication bus 908 a communication bus
  • the processor 902 , the communication interface 904 , and the memory 906 communicate with each other through the communication bus 908 .
  • the communication interface 904 is used to communicate with network elements of other devices such as clients or other servers.
  • the processor 902 is configured to execute the program 910, and specifically may execute the relevant steps in the foregoing method embodiments.
  • the program 910 may include program code including computer operation instructions.
  • the processor 902 may be a central processing unit (CPU), or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present application.
  • the one or more processors included in the electronic device may be the same type of processors, such as one or more CPUs; or may be different types of processors, such as one or more CPUs and one or more ASICs.
  • the memory 906 is used to store the program 910 .
  • Memory 906 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk memory.
  • the program 910 may specifically be used to cause the processor 902 to perform various operations in the foregoing method embodiments.
  • the application content of this application includes:
  • a groove filling method based on groove contour recognition comprising:
  • the grooves are filled based on the groove filling scheme.
  • the extracting the groove contour on the surface of the object includes removing the non-groove contour.
  • the removing the non-groove contour includes removing the non-groove contour according to the number of pixel points.
  • the groove types include closed grooves and/or open grooves.
  • the groove type includes a single point groove.
  • the groove profile includes an inner profile and an outer profile.
  • each traversed point obtain the point from the point along the local normal direction to the corresponding outer contour or inner contour.
  • a point between the point and a point on the corresponding outer contour or inner contour is selected as a trajectory point.
  • the trajectory point is a midpoint between the traversed point and a corresponding point on the outer contour or inner contour.
  • the moving speed Vk of the filling tool at the track point is determined according to the groove width Wk at the track point.
  • a 3D point cloud of the single point is obtained, and the groove is filled according to the pose of the 3D point cloud.
  • a method for extracting the contour of a shallow groove on the surface of an object comprising:
  • it also includes acquiring a three-dimensional image of the surface of the object.
  • the two-dimensional image is obtained by mapping a three-dimensional image.
  • the determining the shallow groove and extracting the contour of the shallow groove includes removing the contour of the non-groove.
  • the removing the non-groove contour includes removing the non-groove contour according to the number of pixel points.
  • the shallow groove contour includes an outermost groove contour and an inner groove contour.
  • the inner layer groove contour is extracted according to a two-dimensional image.
  • the outermost groove contour includes an inner contour and an outer contour.
  • the inner contour of the outermost groove is extracted according to a two-dimensional image.
  • the outer contour of the outermost groove is extracted according to a three-dimensional image.
  • a groove filling method based on robot movement speed control comprising:
  • the extracting the groove contour on the surface of the object includes removing the non-groove contour.
  • the removing the non-groove contour includes removing the non-groove contour according to the number of pixel points.
  • the groove profile includes an inner profile and an outer profile.
  • each point traversed obtain the point from the point along the local normal direction to the corresponding outer contour or inner contour, and select the point and the corresponding point on the outer contour or inner contour.
  • the points in between are used as trajectory points.
  • the trajectory point is a midpoint between the traversed point and a corresponding point on the outer contour or inner contour.
  • the groove filling is performed with the two open end points as the start and end points, respectively.
  • the groove profile is broken at the start and end points to form separate inner and outer profiles.
  • each traversed point obtain the point from the point along the local normal direction to the corresponding outer contour or inner contour.
  • a point between the point and a point on the corresponding outer contour or inner contour is selected as a trajectory point.
  • the trajectory point is a midpoint between the traversed point and a corresponding point on the outer contour or inner contour.
  • the moving speed Vk of the filling tool at the track point is determined according to the groove width Wk at the track point.
  • any description of a process or method in the flowcharts or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing a specified logical function or step of the process , and the scope of the preferred embodiments of the present application includes alternative implementations in which the functions may be performed out of the order shown or discussed, including performing the functions substantially concurrently or in the reverse order depending upon the functions involved, which should It is understood by those skilled in the art to which the embodiments of the present application belong.
  • a "computer-readable medium” can be any device that can contain, store, communicate, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or apparatus.
  • computer readable media include the following: electrical connections with one or more wiring (electronic devices), portable computer disk cartridges (magnetic devices), random access memory (RAM), Read Only Memory (ROM), Erasable Editable Read Only Memory (EPROM or Flash Memory), Fiber Optic Devices, and Portable Compact Disc Read Only Memory (CDROM).
  • the computer readable medium may even be paper or other suitable medium on which the program may be printed, as the paper or other medium may be optically scanned, for example, followed by editing, interpretation, or other suitable medium as necessary process to obtain the program electronically and then store it in computer memory.
  • the processor may be a Central Processing Unit (CPU), other general-purpose processors, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable processor Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • each functional unit in each embodiment of the present application may be integrated into one processing module, or each unit may exist physically alone, or two or more units may be integrated into one module.
  • the above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
  • the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manipulator (AREA)

Abstract

Provided are a method and apparatus for filling grooves on the basis of controlling the moving speed of a robot. The method for filling grooves on the basis of controlling the moving speed of a robot comprises: extracting a groove contour of the surface of an object; according to a preset trajectory point interval, traversing points on the contour, and determining a trajectory point for robot movement at each traversed point; on the basis of the groove width Wk at the trajectory point, determining the robot moving speed Vk at the trajectory point; and executing groove filling according to the determined trajectory points and the moving speeds at the trajectory points.

Description

基于机器人移动速度控制的凹槽填充方法及装置Groove filling method and device based on robot movement speed control
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求于2021年04月20日提交的,申请名称为“基于机器人移动速度控制的凹槽填充方法、装置、电子设备和存储介质”的、中国专利申请号为“202110426174.4”的优先权,该中国专利申请的全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application number "202110426174.4", which was filed on April 20, 2021, and the application name is "Groove Filling Method, Device, Electronic Device and Storage Medium Based on Robot Movement Speed Control", The entire content of this Chinese patent application is incorporated herein by reference.
技术领域technical field
本申请涉及B25智能机器人领域,更具体而言,特别涉及基于机器人移动速度控制的凹槽填充方法及装置。The present application relates to the field of B25 intelligent robots, and more particularly, to a method and device for filling grooves based on robot movement speed control.
背景技术Background technique
目前,随着智能程控机器人的广泛普及,已经能够借助智能程控机器人实现在物体表面的凹槽中填充填料的操作。然而,常规的智能机器人只能针对固定型号的物品以及固定的场景进行填料填充,这种情况下,机器人必须沿固定的轨迹以固定的移动速度和出料速度进行填充,该方法无法应用于固定物品以及固定场景之外的工业场景。即便借助已有的机器人视觉技术,针对不同的物品识别其表面的凹槽并确定填充轨迹进行填充,也难以做到既不欠料,也不堆料的精确的填充。一方面的难点在于无法准确识别所有的凹槽,另一方面的难点在于对具有不同的特性凹槽,使用同样的填充规则进行填充的话,很容易出现凹槽内填料的填充度不一致的问题。At present, with the widespread popularization of intelligent program-controlled robots, the operation of filling fillers in grooves on the surface of objects has been realized with the help of intelligent program-controlled robots. However, conventional intelligent robots can only fill in fixed types of items and fixed scenes. In this case, the robot must fill along a fixed trajectory with a fixed moving speed and discharge speed. This method cannot be applied to fixed Items and industrial scenes other than fixed scenes. Even with the help of the existing robot vision technology to identify the grooves on the surface of different items and determine the filling trajectory for filling, it is difficult to achieve accurate filling without shortage or accumulation. On the one hand, the difficulty is that all grooves cannot be accurately identified. On the other hand, the difficulty lies in that if the grooves with different characteristics are filled with the same filling rules, the problem of inconsistent filling degree of the filler in the grooves is easy to occur.
技术解决方案technical solutions
鉴于上述问题,提出了本申请以便克服上述问题或者至少部分地解决上述问题。具体地,本申请的创新之一在于,申请人发现出现上述填充度不一致的问题的原因之一在于现有技术并没有为不同的凹槽设置不同的填充方法,例如,当凹槽呈线条状时,机器人必须边移动边填充,而当凹槽为一个点时,机器人必须精确识别点的位置并在该位置填充。因此本申请提出了一种先识别出凹槽类型,再让机器人使用与该类型对应的填充方案进行填充的方法,从而大大提高了凹槽填充的精度。In view of the above-mentioned problems, the present application is made to overcome the above-mentioned problems or at least partially solve the above-mentioned problems. Specifically, one of the innovations of the present application is that the applicant finds that one of the reasons for the above-mentioned inconsistency in filling degree is that the prior art does not provide different filling methods for different grooves, for example, when the grooves are linear , the robot must move while filling, and when the groove is a point, the robot must accurately identify the location of the point and fill at that location. Therefore, the present application proposes a method of first identifying the groove type, and then letting the robot use the filling scheme corresponding to the type to fill, thereby greatly improving the accuracy of groove filling.
本申请的创新之二在于,申请人发现,之所以难以准确识别所有的凹槽,其原因在于现有的机器人视觉技术使用物体的三维点云信息,即三维图像信息进行识别,然而如果凹槽较浅,根据三维点云信息无法识别出该凹槽。因此本申请通过获取物体表面的二维图像,并对二维图像执行均衡,分割操作,从而能够结合二维图像准确识别并提取浅凹槽,大大提高了凹槽识别的能力。The second innovation of the present application is that the applicant found that the reason why it is difficult to accurately identify all the grooves is that the existing robot vision technology uses the three-dimensional point cloud information of the object, that is, the three-dimensional image information for identification. It is shallow, and the groove cannot be identified according to the 3D point cloud information. Therefore, the present application can accurately identify and extract shallow grooves in combination with the two-dimensional image by acquiring a two-dimensional image of the surface of the object, and performing equalization and segmentation operations on the two-dimensional image, which greatly improves the ability of groove identification.
本申请的创新之三在于,申请人发现出现上述填充度不一致的问题的另一个原因在于现有技术中机器人的移动速度是固定,而出料速度也是固定的,这样当一段凹槽有宽有窄的时候,机器人以平均的移动速度和出料速度执行填充,因而无法填满宽凹槽,并且会在浅凹槽处形成填料的堆积。因此本申请在不改变出料速度的前提下,针对不同的凹槽宽度调整机器人的移动速度,由此大大提高了凹槽填充的精确度。The third innovation of the present application is that the applicant found that another reason for the above-mentioned problem of inconsistent filling degree is that in the prior art, the moving speed of the robot is fixed, and the discharging speed is also fixed. When narrow, the robot performs filling at an average moving speed and discharge speed, so wide grooves cannot be filled, and a buildup of filler can form in shallow grooves. Therefore, the present application adjusts the moving speed of the robot for different groove widths without changing the discharge speed, thereby greatly improving the accuracy of groove filling.
本申请的创新之四在于,申请人发现虽然同为线条型凹槽,闭合凹槽和非闭合凹槽的特性也完全不 同,不能使用相同的填充方案,特别是,对于非闭合凹槽,有确定的开口端,不能像闭合凹槽一样任选填充的起始点,因而需要为非闭合凹槽开发专用的填充方法。因此本申请针对非闭合凹槽的特性提出了一种专用于物体表面非闭合凹槽的填充方法,从而大大提高了对非闭合凹槽填充的精度。The fourth innovation of the present application is that the applicant found that although the grooves are both line-shaped, the characteristics of closed grooves and non-closed grooves are completely different, and the same filling scheme cannot be used. In particular, for non-closed grooves, there are The defined open end, the starting point for optional filling like closed grooves, requires the development of a dedicated filling method for non-closed grooves. Therefore, according to the characteristics of the non-closed grooves, the present application proposes a filling method specially used for the non-closed grooves on the surface of the object, thereby greatly improving the filling accuracy of the non-closed grooves.
本申请权利要求和说明书所披露的所有方案均具有上述一个或多个创新之处,相应地,能够解决上述一个或多个技术问题。具体地,本申请提供一种基于机器人移动速度控制的凹槽填充方法、基于基于机器人移动速度控制的凹槽填充装置、电子设备和计算机可读存储介质。All solutions disclosed in the claims and descriptions of the present application have one or more of the above-mentioned innovations, and correspondingly, can solve one or more of the above-mentioned technical problems. Specifically, the present application provides a groove filling method based on robot movement speed control, a groove filling device based on robot movement speed control, an electronic device and a computer-readable storage medium.
本申请的实施方式的基于机器人移动速度控制的凹槽填充方法包括:The groove filling method based on the robot movement speed control according to the embodiment of the present application includes:
提取物体表面凹槽轮廓;Extract the contour of the groove on the surface of the object;
根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;Traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot movement at each traversed point;
基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;Determine the robot moving speed Vk at the track point based on the groove width Wk at the track point;
根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。The groove filling is performed according to the determined track point and the movement speed at the track point.
在某些实施方式中,所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。In certain embodiments, extracting the surface groove profiles of the object includes removing non-groove profiles.
在某些实施方式中,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。In some embodiments, the removing the non-groove contour includes removing the non-groove contour according to the number of pixels.
在某些实施方式中,还包括:预设特定宽度W0对应的移动速度V0,并根据W0,V0以及Wk计算轨迹点处的机器人移动速度Vk。In some embodiments, the method further includes: presetting a moving speed V0 corresponding to a specific width W0, and calculating the moving speed Vk of the robot at the trajectory point according to W0, V0 and Wk.
在某些实施方式中,还包括:所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。In some embodiments, it also includes: the moving speed Vk at the trajectory point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
在某些实施方式中,所述凹槽轮廓包括内轮廓和外轮廓。In certain embodiments, the groove profile includes an inner profile and an outer profile.
在某些实施方式中,所述根据所遍历的点确定机器人移动的轨迹点具体包括:在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。In some embodiments, the determining the trajectory point of the robot movement according to the traversed points specifically includes: at each traversed point, obtaining the point along the local normal direction to the corresponding outer contour or inner contour The point between the point and the corresponding point on the outer or inner contour is selected as the trajectory point.
在某些实施方式中,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。In some embodiments, the trajectory point is the midpoint between the traversed point and the corresponding point on the outer or inner contour.
本申请的实施方式的基于机器人移动速度控制的凹槽填充装置包括:The groove filling device based on the robot movement speed control according to the embodiment of the present application includes:
轮廓提取模块,用于提取物体表面凹槽轮廓;The contour extraction module is used to extract the groove contour on the surface of the object;
轨迹点确定模块,用于根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;The trajectory point determination module is used to traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot moving at each traversed point;
移动速度确定模块,用于基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;a movement speed determination module, configured to determine the robot movement speed Vk at the track point based on the groove width Wk at the track point;
填充模块,用于根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。The filling module is used to perform groove filling according to the determined trajectory point and the movement speed at the trajectory point.
本申请的实施方式的电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的基于机器人移动速度控制的凹槽填充方法。An electronic device according to an embodiment of the present application includes a memory, a processor, and a computer program stored on the memory and executable on the processor, and the processor implements any of the above-mentioned embodiments when the processor executes the computer program. Groove filling method based on robot movement speed control.
本申请的实施方式的计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式的基于机器人移动速度控制的凹槽填充方法。The computer-readable storage medium of the embodiment of the present application has a computer program stored thereon, and when the computer program is executed by the processor, realizes the groove filling method based on the movement speed control of the robot of any of the above-mentioned embodiments.
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。Additional aspects and advantages of the present application will be set forth, in part, from the following description, and in part will become apparent from the following description, or may be learned by practice of the present application.
附图说明Description of drawings
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:The above and/or additional aspects and advantages of the present application will become apparent and readily understood from the following description of embodiments taken in conjunction with the accompanying drawings, wherein:
图1是本申请某些实施方式的基于凹槽识别的凹槽填充方法的流程示意图;1 is a schematic flowchart of a groove filling method based on groove identification according to some embodiments of the present application;
图2是本申请某些实施方式的物体表面浅凹槽轮廓提取方法的流程示意图;2 is a schematic flowchart of a method for extracting a shallow groove profile on an object surface according to some embodiments of the present application;
图3和图4是本申请某些实施方式的凹槽轮廓识别及提取的示意图;3 and 4 are schematic diagrams of groove contour identification and extraction according to some embodiments of the present application;
图5是本申请某些实施方式的基于机器人移动速度控制的凹槽填充方法的流程示意图;5 is a schematic flowchart of a groove filling method based on robot movement speed control according to some embodiments of the present application;
图6是本申请某些实施方式的非闭合凹槽填充方法的流程示意图;6 is a schematic flowchart of a method for filling a non-closed groove according to some embodiments of the present application;
图7是本申请某些实施方式的非闭合凹槽填充方法的示意图;7 is a schematic diagram of a non-closed groove filling method according to some embodiments of the present application;
图8是本申请某些实施方式的基于凹槽识别的凹槽填充装置的结构示意图;8 is a schematic structural diagram of a groove filling device based on groove identification according to some embodiments of the present application;
图9是本申请某些实施方式的物体表面浅凹槽轮廓提取装置的结构示意图;9 is a schematic structural diagram of an object surface shallow groove contour extraction device according to some embodiments of the present application;
图10是本申请某些实施方式的基于机器人移动速度控制的凹槽填充装置的结构示意图;10 is a schematic structural diagram of a groove filling device based on robot movement speed control according to some embodiments of the present application;
图11是本申请某些实施方式的非闭合凹槽填充装置的结构示意图;11 is a schematic structural diagram of a non-closed groove filling device according to some embodiments of the present application;
图12是本申请某些实施方式的电子设备的结构示意图。FIG. 12 is a schematic structural diagram of an electronic device according to some embodiments of the present application.
具体实施方式Detailed ways
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be more thoroughly understood, and will fully convey the scope of the present disclosure to those skilled in the art.
图1示出了根据本申请一个实施例的凹槽填充方法,包括:FIG. 1 shows a groove filling method according to an embodiment of the present application, including:
步骤S100,提取物体表面凹槽轮廓;Step S100, extracting the contour of the groove on the surface of the object;
步骤S200,识别凹槽轮廓的类型;Step S200, identifying the type of groove profile;
步骤S300,根据凹槽轮廓的类型确定相应的凹槽填充方案;Step S300, determining a corresponding groove filling scheme according to the type of groove profile;
步骤S400,基于所述凹槽填充方案对凹槽进行填充。Step S400, filling the grooves based on the groove filling scheme.
在步骤S100中,可以获取物体的3D点云信息,例如可以通过3D工业相机获取点云信息,3D工业相机一般装配有两个镜头,分别从不同的角度捕捉待抓取物品组,经过处理后能够实现物体的三维图像的展示。将待抓取物品组置于视觉传感器的下方,两个镜头同时拍摄,根据所得到的两个图像的相对姿态参数,使用通用的双目立体视觉算法计算出待填充物体的各点的X、Y、Z坐标值及各点的坐标朝向,进而转变为待抓取物品组的点云数据。具体实施时,也可以使用激光探测器、LED等可见光探测器、红外探测器以及雷达探测器等元件生成点云,本申请对具体实现方式不作限定。In step S100, the 3D point cloud information of the object can be obtained. For example, the point cloud information can be obtained through a 3D industrial camera. The 3D industrial camera is generally equipped with two lenses, which respectively capture the group of objects to be grasped from different angles. It can realize the display of three-dimensional images of objects. Place the group of objects to be grasped under the vision sensor, and shoot with two lenses at the same time. According to the obtained relative pose parameters of the two images, use a general binocular stereo vision algorithm to calculate the X, X, and X of each point of the object to be filled. The Y, Z coordinate values and the coordinate orientation of each point are then converted into the point cloud data of the item group to be grasped. During specific implementation, components such as laser detectors, visible light detectors such as LEDs, infrared detectors, and radar detectors can also be used to generate point clouds, and the application does not limit the specific implementation.
通过以上方式获取的点云数据是三维的数据,为了方便数据的处理,提高效率,可将获取的三维点云数据正投影映射到二维平面上。The point cloud data acquired in the above manner is three-dimensional data. In order to facilitate data processing and improve efficiency, the acquired three-dimensional point cloud data can be orthographically mapped onto a two-dimensional plane.
作为一个示例,也可以生成该正投影对应的深度图。可以沿垂直于物品的深度方向获取与三维物品区域相对应的二维彩色图以及对应于二维彩色图的深度图。其中,二维彩色图对应于与预设深度方向垂直的平面区域的图像;对应于二维彩色图的深度图中的各个像素点与二维彩色图中的各个像素点一一对应,且各个像素点的取值为该像素点的深度值。As an example, a depth map corresponding to the orthographic projection can also be generated. A two-dimensional color map corresponding to a three-dimensional object region and a depth map corresponding to the two-dimensional color map can be acquired in a depth direction perpendicular to the object. Wherein, the two-dimensional color map corresponds to an image of a plane area perpendicular to the preset depth direction; each pixel in the depth map corresponding to the two-dimensional color map is in one-to-one correspondence with each pixel in the two-dimensional color map, and each pixel The value of the pixel is the depth value of the pixel.
本申请可以用于工业中各种凹槽填充的场景,例如在桌板表面的凹槽涂胶的场景。在一些场景中,物品表面的凹槽较浅,在3D点云或深度图中,凹槽内外轮廓的点云无法区分,因而无法根据3D点云或深度图识别出凹槽的轮廓。为了能够提取这类浅凹槽的轮廓,申请人开发了一种浅凹槽轮廓提取方法,该方法中,结合所获取的二维图像,通过对二维图像进行处理,获取能够清晰显示凹槽的二维图像,从而准确地识别并提取凹槽轮廓,这是本申请的重点之一。This application can be used for various groove filling scenarios in the industry, such as the scenario of gluing the grooves on the surface of the table board. In some scenes, the grooves on the surface of the object are shallow, and in the 3D point cloud or depth map, the point clouds of the inner and outer contours of the groove cannot be distinguished, so the contour of the groove cannot be identified from the 3D point cloud or depth map. In order to be able to extract the contours of such shallow grooves, the applicant has developed a method for extracting the contours of shallow grooves. In this method, combined with the acquired two-dimensional images, the two-dimensional images are processed to obtain a method that can clearly display the grooves. The two-dimensional image of the 2D image, so as to accurately identify and extract the groove contour, which is one of the focuses of this application.
图2示出了根据本申请一个实施例的浅凹槽轮廓提取方法,包括:FIG. 2 shows a method for extracting a shallow groove profile according to an embodiment of the present application, including:
步骤S110,获取物体表面二维图像;Step S110, acquiring a two-dimensional image of the object surface;
步骤S120,对图像进行图像均衡操作;Step S120, performing an image equalization operation on the image;
步骤S130,对均衡后的图像进行图像分割操作;Step S130, performing an image segmentation operation on the equalized image;
步骤S140,根据分割后的图像确定浅凹槽并提取浅凹槽轮廓。Step S140: Determine the shallow groove according to the segmented image and extract the outline of the shallow groove.
在步骤S110中,获取物体表面的二维图像。可以根据S100的方法获取物体三维图像,例如3D点云信息,再映射为二维图像。In step S110, a two-dimensional image of the surface of the object is acquired. A three-dimensional image of the object, such as 3D point cloud information, can be acquired according to the method of S100, and then mapped into a two-dimensional image.
在步骤S120中,对获取的二维图像执行图像均衡操作。由于图像均衡操作,原来比较少像素的灰度会被分配到别的灰度去,像素相对集中,处理后的图像灰度范围变大,对比度变大,清晰度变大,所以能识别出原本无法看清的图像细节。原二维图像中由于物体表面和浅凹槽的对比度接近而无法有效识别,为了解决这个问题,可以在保证一定光照的情况下,并进行图像均衡操作,如此处理之后,能够较为清晰地识别浅凹槽。In step S120, an image equalization operation is performed on the acquired two-dimensional image. Due to the image equalization operation, the original grayscale with fewer pixels will be allocated to other grayscales, and the pixels are relatively concentrated. Image details that cannot be seen clearly. In the original two-dimensional image, due to the close contrast between the surface of the object and the shallow groove, it cannot be effectively identified. In order to solve this problem, an image equalization operation can be performed under the condition of ensuring a certain amount of illumination. After such processing, the shallow groove can be clearly identified. groove.
在步骤S130中,对执行图像均衡操作后的二维图像进一步执行图像分割操作。在物体表面和浅凹槽的对比度接近到一定程度后,即便经过图像均衡,也可能无法清晰地识别出凹槽。此时,可以对经过图像均衡操作的二维图像进行图像分割,具体地,可以将图像中具有与浅凹槽相似性质的图形进行分割并提取。在一个实施方式中,分割提取后形成如图3所示的二维图像,该二维图像中,多处浅凹槽清晰可见。In step S130, an image segmentation operation is further performed on the two-dimensional image after performing the image equalization operation. After the contrast between the object surface and the shallow grooves is close to a certain level, the grooves may not be clearly identified even after image equalization. At this time, image segmentation can be performed on the two-dimensional image that has undergone the image equalization operation, and specifically, graphics with properties similar to shallow grooves in the image can be segmented and extracted. In one embodiment, after segmentation and extraction, a two-dimensional image as shown in FIG. 3 is formed. In the two-dimensional image, many shallow grooves are clearly visible.
在步骤S140中,根据分割后的图像确定浅凹槽并提取浅凹槽轮廓。如图3所示,虽然获得了全部凹槽,然而其中很多凹槽仅仅是物体表面的凹点,这些凹点例如可能是因为碰撞产生的,并不需要进行填充。为了剔除这些无需填充的凹槽,可以预先设定一最小像素点阈值,像素数量小于该阈值的凹槽都视为凹点,无需填充。如此,在提取凹槽轮廓时,对于每一个凹槽,可以先判断该凹槽部分的像素点数量是否大于该最小像素点阈值,大于则认为该凹槽为需要填充的凹槽,否则为无需填充的凹点。此外,还可以预先设定一最大像素点阈值,以筛除物品表面特定的凹陷结构,例如一些物体表面上可能设有放置物品的分装格。如此,只有在凹槽部分的像素点数量小于该阈值时,才将该凹槽识别为需要填充的凹槽。此外,经过图像均衡,图像分割等处理后,形成的如图3所示的二维图像中,由外自内能够识别出多层凹槽,对于位置在最外层凹槽之内的凹槽,可以将其定义为内层凹槽。这些内层凹槽,轮廓清晰,容易识别并提取。然而对于最外层凹槽,仅内轮廓能够清晰识别,外轮廓与黑色背景融为一体,无法准确识别该外轮廓的位置。为了确定该外轮廓,可以先根据之前获取的三维图像确定该最外层凹槽的外边缘的位置,即外轮廓的位置,再与二维图像结合,从而获得最外层凹槽的外轮廓。In step S140, the shallow groove is determined according to the segmented image and the outline of the shallow groove is extracted. As shown in FIG. 3 , although all the grooves are obtained, many of the grooves are only pits on the surface of the object, and these pits may, for example, be generated by collision and do not need to be filled. In order to eliminate these grooves that do not need to be filled, a minimum pixel threshold can be preset, and grooves with a number of pixels less than the threshold are regarded as pits and do not need to be filled. In this way, when extracting the groove outline, for each groove, it is possible to first judge whether the number of pixels in the groove part is greater than the minimum pixel threshold, and if it is greater than the groove, it is considered that the groove needs to be filled, otherwise it is not required. Filled pits. In addition, a maximum pixel threshold can also be preset to screen out specific concave structures on the surface of the object. For example, some object surfaces may be provided with sub-packaging compartments for placing objects. In this way, only when the number of pixel points in the groove portion is less than the threshold, the groove is identified as a groove to be filled. In addition, after image equalization, image segmentation and other processing, in the formed two-dimensional image as shown in Figure 3, multi-layer grooves can be identified from the outside to the inside. For grooves located within the outermost grooves , which can be defined as the inner groove. These inner grooves, with clear outlines, are easy to identify and extract. However, for the outermost groove, only the inner contour can be clearly identified, and the outer contour is integrated with the black background, so the position of the outer contour cannot be accurately identified. In order to determine the outer contour, the position of the outer edge of the outermost groove, that is, the position of the outer contour, can be determined according to the previously acquired three-dimensional image, and then combined with the two-dimensional image to obtain the outer contour of the outermost groove .
在步骤S200中,基于提取的凹槽轮廓,识别凹槽轮廓的类型。本申请中为了准确地填充凹槽,做到填充物既能填满凹槽并且不会从凹槽溢出,因此设计了多种填充方法,每种填充方法对应于特定的轮廓 类型,这是本申请的重点之一。可以根据所使用的凹槽填充方法能够填充的凹槽类型,对凹槽进行分类。在如图4所示的实施方式中,将凹槽分为闭合凹槽,开口凹槽和单点凹槽,大致来说,单点凹槽的轮廓呈单点状,闭合凹槽和开口凹槽呈线条状。其中,闭合凹槽呈闭合型线条状,没有明确的起始点和结束点。开口凹槽呈非闭合型线条状,有明确的起始点和结束点。In step S200, based on the extracted groove profile, the type of the groove profile is identified. In this application, in order to fill the grooves accurately, so that the filler can fill the grooves without overflowing from the grooves, so a variety of filling methods are designed, each filling method corresponds to a specific type of contour, this is the one of the main points of the application. The grooves can be classified according to the type of grooves that can be filled by the groove filling method used. In the embodiment shown in FIG. 4 , the grooves are divided into closed grooves, open grooves and single-point grooves. Roughly speaking, the outline of the single-point grooves is single-point, closed grooves and open grooves. The grooves are linear. Among them, the closed groove is in the shape of a closed line, and there is no clear starting point and ending point. The open grooves are in the shape of non-closed lines, with clear start and end points.
在步骤S300中,根据凹槽轮廓的类型确定相应的凹槽填充方案。在本申请优选的实施方式中,凹槽类型与填充方式一一对应。在其它实现方式中,也可以多种填充方式对应于一类凹槽,或者多类凹槽对应于一种填充方式,本申请对此不作限制。本申请的重点在于针对不同的凹槽调用不同的填充方案,因此可以使用任意的填充方案,本申请对此不作限制。然而,在一个优选的实施例,设计了闭合凹槽填充方法,开口凹槽填充方法和点凹槽填充方案三种不同的填充方案,分别用于闭合凹槽,开口凹槽和点凹槽的填充。In step S300, a corresponding groove filling scheme is determined according to the type of groove profile. In a preferred embodiment of the present application, the groove types correspond to the filling methods one-to-one. In other implementation manners, multiple filling modes may also correspond to one type of groove, or multiple types of grooves may correspond to one filling mode, which is not limited in this application. The focus of this application is to call different filling schemes for different grooves, so any filling scheme can be used, which is not limited in this application. However, in a preferred embodiment, three different filling schemes, a closed groove filling method, an open groove filling method and a point groove filling scheme, are designed for closed grooves, open grooves and point grooves, respectively. filling.
在步骤S400中,基于所述凹槽填充方案对凹槽进行填充。本申请中可以使用机器人进行凹槽填充,为此需要先规划处机器人的移动轨迹,移动速度和填料速度等,机器人按照规划好的路径和速度,在物体表面移动,并按照规划好的填料速度向凹槽中填充填料。以下对闭合凹槽填充方法,开口凹槽填充方法和点凹槽填充方案这三种不同的填充方案进行说明。In step S400, the grooves are filled based on the groove filling scheme. In this application, a robot can be used for groove filling. For this purpose, it is necessary to plan the movement trajectory, movement speed and filling speed of the robot first. The robot moves on the surface of the object according to the planned path and speed, and follows the planned filling speed. Fill the groove with filler. Three different filling schemes, the closed groove filling method, the open groove filling method and the point groove filling scheme, are described below.
单点凹槽single point groove
可以根据获取的单点凹槽的二维轮廓,将其映射为三维点云,然后获取其三维点云的位姿信息,根据位姿信息令机器人移动到单点凹槽所在位置进行填充。According to the acquired two-dimensional contour of the single-point groove, it can be mapped to a three-dimensional point cloud, and then the pose information of the three-dimensional point cloud can be obtained, and the robot can be moved to the position of the single-point groove for filling according to the pose information.
闭合凹槽closed groove
机器人在对凹槽进行填充时,会基于一定的出料速率控制出料头进行填充。出料速率,作为机器人的固有属性,影响本实施例中填充的效果。由于通常情况下机器人的出料速率是固定不变的,如果需要填充的凹槽在整条路径上的宽度不一致,而机器人在各个轨迹点都以同样的运动速度移动,则可能导致在宽凹槽处出现欠胶的情况,而在窄凹槽处出现堆胶的情况,为了解决该问题,本申请提出了一种根据凹槽的宽窄控制机器人移动速度来控制凹槽处的出料速率的方案,这也是本申请的重点之一。When the robot fills the groove, it will control the discharge head to fill based on a certain discharge rate. The discharge rate, as an inherent property of the robot, affects the filling effect in this embodiment. Since the discharge rate of the robot is usually fixed, if the width of the groove to be filled is inconsistent on the entire path, and the robot moves at the same motion speed at each trajectory point, it may lead to wide grooves. There is a lack of glue at the groove, and there is a glue pile at the narrow groove. In order to solve this problem, this application proposes a method that controls the moving speed of the robot according to the width of the groove to control the discharge rate at the groove. scheme, which is also one of the focuses of this application.
图5示出了本申请的通过控制机器人移动速度的凹槽填充方法,该方法可以用于本申请中闭合凹槽和开口凹槽的填充,该方法包括:Fig. 5 shows the groove filling method of the present application by controlling the moving speed of the robot. The method can be used for the filling of closed grooves and open grooves in the present application, and the method includes:
步骤411,提取物体表面凹槽轮廓;Step 411, extracting the contour of the groove on the surface of the object;
步骤412,根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;Step 412, traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot movement at each traversed point;
步骤413,基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;Step 413: Determine the robot moving speed Vk at the track point based on the groove width Wk at the track point;
步骤414,令机器人根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。Step 414 , let the robot perform groove filling according to the determined trajectory point and the movement speed at the trajectory point.
对于步骤411,可以采用与步骤S100类似的方法提取物体表面凹槽轮廓,此处不再赘述。For step 411, a method similar to step S100 can be used to extract the groove contour on the surface of the object, which will not be repeated here.
对于步骤412,闭合凹槽轮廓由内外两条轮廓组成。在一个实施例中,为了获得机器人运动的轨迹,可以预先设定轨迹点间隔,之后以内轮廓或外轮廓为基准,根据轨迹点间隔遍历该基准轮廓上的点。轨迹点间隔可以是距离,即可以设置每隔一定距离生成一个轨迹点,换句话说,也就是每隔一定的距离遍历轮廓上的一个点,以此方式遍历整个轮廓。对所遍历的每一个点P1,求取当前点P1沿局部法向方向到另一个轮廓对应的点P2,如果在内轮廓上执行遍历,则P1在内轮廓上,而P2在外轮廓上。P1到P2的距离为此处的凹槽宽度W。可以在P1与P2之间选取一个点P3,将该点作为填充轨迹点。优选的,填 充轨迹点可以为凹槽宽度W的中点,即该点为宽度W上距内外轮廓的距离比为1:1的位置。根据实际填充的需要,也可以选取不同的距离比的位置作为轨迹点,例如,如果一段凹槽一边较深而另一边较浅,此时在宽度为W的凹槽的中点处填充的话,由于该点到内轮廓的横截面积大于其到外轮廓的横截面积,因此填料可能会堆积到外轮廓之外。此时,为了能够准确地填充凹槽,可以将轨迹点设在距内轮廓较近的位置,例如可以将轨迹点距内外轮廓的距离设为2:3。在其它实施方式中,也可以不用比值,而是用距离调整轨迹点的位置,例如轨迹点设为距内轮廓1mm处。以上述方式获取机器人在二维平面上全部的轨迹点,并形成完整的移动轨迹后,将这些二维轨迹点通过2D到3D的映射关系获取三维的轨迹点,已形成三维的移动轨迹。For step 412, the closed groove contour consists of two contours, an inner and outer contour. In one embodiment, in order to obtain the trajectory of the robot motion, the interval of the trajectory points can be preset, and then the inner contour or the outer contour is used as a reference, and the points on the reference contour are traversed according to the interval of the trajectory points. The track point interval can be a distance, that is, a track point can be set to be generated every certain distance, in other words, that is, a point on the contour is traversed every certain distance, and the entire contour is traversed in this way. For each traversed point P1, find the point P2 corresponding to the current point P1 along the local normal direction to another contour. If the traversal is performed on the inner contour, P1 is on the inner contour and P2 is on the outer contour. The distance from P1 to P2 is the groove width W here. A point P3 can be selected between P1 and P2 as the fill track point. Preferably, the filling track point can be the midpoint of the groove width W, that is, the point is the position on the width W where the distance ratio to the inner and outer contours is 1:1. According to the actual filling needs, the positions of different distance ratios can also be selected as track points. For example, if a groove is deep on one side and shallow on the other side, then filling at the midpoint of a groove with a width of W, Since the cross-sectional area from this point to the inner contour is greater than its cross-sectional area to the outer contour, filler may accumulate outside the outer contour. At this time, in order to accurately fill the groove, the track point may be set at a position closer to the inner contour, for example, the distance between the track point and the inner and outer contour may be set to 2:3. In other embodiments, instead of using the ratio, the position of the track point may be adjusted by the distance, for example, the track point is set at a distance of 1 mm from the inner contour. After obtaining all the trajectory points of the robot on the two-dimensional plane in the above manner, and forming a complete moving trajectory, these two-dimensional trajectory points are used to obtain three-dimensional trajectory points through the 2D to 3D mapping relationship, and a three-dimensional moving trajectory has been formed.
对于步骤413,机器人在对凹槽进行填充时,会基于一定的填充速率控制出料头进行填充。出料速率,作为机器人的固有属性,影响本实施例中填充的效果。由于通常情况下机器人的出料速率是固定不变的,如果需要填充的凹槽在整条路径上的宽度不一致,而机器人在各个轨迹点都以同样的运动速度移动,则可能导致在宽凹槽处出现欠料的情况,而在窄凹槽处出现溢料的情况。在出料速率固定的情况下,不同的机器人移动速度会导致不同的出料量,大致来说,在出料速率固定的情况下,机器人移动速度越快,出料越少,反之则出料越多。一般来说,较宽的凹槽需要填充的料的量越大,因此需要机器人在该凹槽处的移动速度相对较慢。在一个实施方式中,可以预先确定一特定宽度W0对应的合适的机器人速度V0。这样,对于每一个轨迹点,可以先获取该轨迹点处凹槽的宽度Wk,如果Wk>V0,则该轨迹点处的机器人移动速度Vk应当小于V0,反之亦然。For step 413, when the robot fills the groove, it will control the discharge head to fill based on a certain filling rate. The discharge rate, as an inherent property of the robot, affects the filling effect in this embodiment. Since the discharge rate of the robot is usually fixed, if the width of the groove to be filled is inconsistent on the entire path, and the robot moves at the same motion speed at each trajectory point, it may lead to wide grooves. Underfill occurs in the grooves and overflow occurs in the narrow grooves. In the case of a fixed discharge rate, different robot moving speeds will lead to different discharge amounts. Roughly speaking, when the discharge rate is fixed, the faster the robot moves, the less material will be discharged, and vice versa. more. Generally speaking, a wider groove needs to be filled with a larger amount of material, so the robot needs to move relatively slowly at the groove. In one embodiment, a suitable robot speed V0 corresponding to a specific width W0 may be predetermined. In this way, for each track point, the width Wk of the groove at the track point can be obtained first. If Wk>V0, the robot moving speed Vk at the track point should be less than V0, and vice versa.
对于步骤414,可以先计算凹槽宽度Wk与特定宽度W0的比值Rk=Wk/W0,则当前轨迹点处的移动速度Vk可以为V0和Rk的线性比例或者非线性比例。在一种实施方式中,可以下面的公式针对每个轨迹点计算该轨迹点处的机器人移动速度:For step 414, the ratio Rk=Wk/W0 of the groove width Wk to the specific width W0 can be calculated first, then the moving speed Vk at the current track point can be a linear or nonlinear ratio of V0 and Rk. In one embodiment, the movement speed of the robot at each trajectory point can be calculated for each trajectory point using the following formula:
Vk=V0/Rk.Vk=V0/Rk.
开口凹槽open groove
闭合凹槽为两条轮廓,在设置轨迹点时,可以从内轮廓或外轮廓上任一点开始按照预设的轨迹点间隔遍历该轮廓上所有的点。与闭合凹槽不同,开口凹槽在形态上有特定的开口端点,因此必须将某一开口端点作为起始点,而另一开口端点作为结束点,如此才能根据预设的轨迹点间隔,从开口点到结束点对轮廓进行遍历。因此区别于闭合凹槽,开口凹槽还需要确定出正确的轨迹起始点和结束点才能准确地形成机器人的移动轨迹。申请人付出了大量的劳动以设计了可以用于任意的有确定起始点和结束点的凹槽,即非闭合凹槽,的凹槽填充方案,这也是本申请的重点之一。Closed grooves are two contours. When setting track points, all points on the contour can be traversed from any point on the inner or outer contour according to the preset track point interval. Different from the closed groove, the open groove has a specific opening end point in shape, so one open end point must be used as the starting point, and the other open end point must be used as the end point, so that according to the preset trajectory point interval, from the opening point The contour is traversed from point to end point. Therefore, different from closed grooves, open grooves also need to determine the correct starting point and ending point of the trajectory to accurately form the movement trajectory of the robot. The applicant has made a lot of effort to design a groove filling solution that can be used for any groove with a defined start point and an end point, that is, a non-closed groove, which is also one of the focuses of this application.
图6示出了本申请的非闭合凹槽填充方法,包括:Figure 6 shows the non-closed groove filling method of the present application, including:
步骤421,提取物体表面非闭合凹槽轮廓;Step 421, extract the contour of the non-closed groove on the surface of the object;
步骤422,生成轮廓的外接矩形;Step 422, generating a circumscribed rectangle of the outline;
步骤423,基于所述生成的外接矩形确定轮廓的两个开口端点;Step 423, based on the generated circumscribed rectangle, determine two open end points of the outline;
步骤424,将两个开口端点分别作为起始点和结束点执行凹槽填充。In step 424, groove filling is performed using the two open end points as the starting point and the ending point, respectively.
图7示出了根据本申请的一个实施例的通过外接矩形分析非闭合凹槽的开口和轮廓的示意图,以下结合图7对本申请的非闭合凹槽填充方法进行说明。FIG. 7 shows a schematic diagram of analyzing the opening and contour of a non-closed groove through a circumscribed rectangle according to an embodiment of the present application. The following describes the non-closed groove filling method of the present application with reference to FIG. 7 .
对于步骤421,可以采用与步骤S100类似的方法提取物体表面凹槽轮廓,此处不再赘述。For step 421, a method similar to that of step S100 can be used to extract the contour of the groove on the surface of the object, which will not be repeated here.
对于步骤422,为该开口凹槽轮廓求取最小外接矩形,可以采用任意可行的方式求取最小外接矩形,本申请对此不作限制;For step 422, the minimum circumscribed rectangle is obtained for the outline of the opening groove, and any feasible method can be used to obtain the minimum circumscribed rectangle, which is not limited in this application;
对于步骤423,根据最小外接矩形确定开口端点。例如根据凹槽轮廓确定开口点位于外接矩形某一边,然后确定轮廓上与该边最近的点作为开口端点。在优选的实施方式中,可以确定两个开口端点P1和P2。For step 423, the end point of the opening is determined according to the minimum circumscribed rectangle. For example, according to the groove outline, it is determined that the opening point is located on a certain side of the circumscribed rectangle, and then the point on the outline closest to the side is determined as the opening end point. In a preferred embodiment, two open end points P1 and P2 can be determined.
对于步骤424,将整个凹槽轮廓在P1和P2处断开,形成两条分离的轮廓段S1和S2,在图7所示的实施方式中,S1为外轮廓,S2为内轮廓。如此,获得了遍历的起始点P1和终结点P2,以及P1、P2所在的外轮廓S1和与外轮廓相对的内轮廓S2。从P1出发到P2根据预设的轨迹点间隔对S1进行遍历采样。轨迹点间隔可以是距离,即可以设置每隔一定距离生成一个轨迹点,换句话说,每隔一定距离对轮廓点进行遍历。对于所遍历的每一个点P1,求取当前点P1沿局部法向方向到另一个轮廓对应的点P3。P1到P3的距离为此处的凹槽宽度W。在P1与P3之间选取一个点P4,将该点作为填充轨迹点。优选的,填充轨迹点可以为凹槽宽度W的中点,即该点为宽度W上距内外轮廓距离1:1的位置。根据实际填充的需要,也可以选取不同的距离比的位置作为轨迹点,例如,如果宽度W的中点到内轮廓的横截面积大于其到外轮廓的横截面积,则为了精确填充,可以将轨迹点设为距内轮廓较近,例如可以将轨迹点距内外轮廓的距离设为2:3。在其它实施方式中,也可以不用比值,而是用距离调整轨迹点的位置,例如轨迹点设为距内轮廓1mm处。以此方式获取机器人在二维平面上完整的移动轨迹后,将这些二维轨迹点通过2D到3D的映射关系获取三维的轨迹点。For step 424, the entire groove contour is broken at P1 and P2 to form two separate contour segments S1 and S2. In the embodiment shown in FIG. 7, S1 is the outer contour and S2 is the inner contour. In this way, the starting point P1 and the ending point P2 of the traversal are obtained, as well as the outer contour S1 where P1 and P2 are located, and the inner contour S2 opposite to the outer contour. From P1 to P2, traversal sampling is performed on S1 according to the preset trajectory point interval. The track point interval can be a distance, that is, a track point can be set to be generated every certain distance, in other words, the contour points are traversed every certain distance. For each point P1 traversed, obtain the point P3 corresponding to the current point P1 along the local normal direction to another contour. The distance from P1 to P3 is the groove width W here. Pick a point P4 between P1 and P3, and use this point as the fill track point. Preferably, the filling track point may be the midpoint of the groove width W, that is, the point is a position on the width W that is 1:1 away from the inner and outer contours. According to the actual filling needs, the positions of different distance ratios can also be selected as trajectory points. For example, if the cross-sectional area from the midpoint of the width W to the inner contour is larger than the cross-sectional area to the outer contour, for accurate filling, you can Set the track point to be closer to the inner contour. For example, the distance between the track point and the inner and outer contour can be set to 2:3. In other embodiments, instead of using the ratio, the position of the track point may be adjusted by the distance, for example, the track point is set at a distance of 1 mm from the inner contour. After acquiring the complete movement trajectory of the robot on the two-dimensional plane in this way, these two-dimensional trajectory points are used to obtain three-dimensional trajectory points through a 2D-to-3D mapping relationship.
机器人在对凹槽进行填充时,会基于一定的填充速率控制出料头进行填充。出料速率,作为机器人的固有属性,影响本实施例中填充的效果。由于通常情况下机器人的出料速率是固定不变的,如果需要填充的凹槽在整条路径上的宽度不一致,而机器人在各个轨迹点都以同样的运动速度移动,则可能导致在宽凹槽处出现欠料的情况,而在窄凹槽处出现溢料的情况。When the robot fills the groove, it will control the discharge head to fill based on a certain filling rate. The discharge rate, as an inherent property of the robot, affects the filling effect in this embodiment. Since the discharge rate of the robot is usually fixed, if the width of the groove to be filled is inconsistent on the entire path, and the robot moves at the same motion speed at each trajectory point, it may lead to wide grooves. Underfill occurs in the grooves and overflow occurs in the narrow grooves.
在出料速率固定的情况下,不同的机器人移动速度会导致不同的出料量,大致来说,在出料速率固定的情况下,机器人移动速度越快,出料越少,反之则出料越多。一般来说,较宽的凹槽需要填充的料的量越大,因此需要机器人在该凹槽处的移动速度相对较慢。在一个实施方式中,可以预先确定一特定宽度W0对应的合适的机器人速度V0。这样,对于每一个轨迹点,可以先获取该轨迹点处凹槽的宽度Wk,如果Wk>V0,则该轨迹点处的机器人移动速度Vk应当小于V0,反之亦然。In the case of a fixed discharge rate, different robot moving speeds will lead to different discharge amounts. Roughly speaking, when the discharge rate is fixed, the faster the robot moves, the less material will be discharged, and vice versa. more. Generally speaking, a wider groove needs to be filled with a larger amount of material, so the robot needs to move relatively slowly at the groove. In one embodiment, a suitable robot speed V0 corresponding to a specific width W0 may be predetermined. In this way, for each track point, the width Wk of the groove at the track point can be obtained first. If Wk>V0, the robot moving speed Vk at the track point should be less than V0, and vice versa.
可以先计算凹槽宽度Wk与特定宽度W0的比值Rk=Wk/W0,则当前轨迹点处的移动速度Vk可以为V0和Rk的线性比例或者非线性比例。在一种实施方式中,可以下面的公式针对每个轨迹点计算该轨迹点处的机器人移动速度:The ratio Rk=Wk/W0 of the groove width Wk to the specific width W0 can be calculated first, then the moving speed Vk at the current track point can be a linear or nonlinear ratio of V0 and Rk. In one embodiment, the movement speed of the robot at each trajectory point can be calculated for each trajectory point using the following formula:
Vk=V0/Rk.Vk=V0/Rk.
根据上述实施例,首先,本申请能够针对不同的凹槽实施专用于该凹槽的填充方式,从而大大提高填充精度;其次,本申请即便在所需填充的凹槽较浅,也能够准确识别并提取;第三,本申请根据凹槽宽度控制机器人的移动速率,能够准确填充宽窄不一的凹槽,提高了填充的精度;第四,对于特殊的开口凹槽,本申请也开发了专用的方法,能够提高该类凹槽的填充精度。由此可见,本申请解决了使用机器人进行凹槽填充的过程中出现的方方面面的问题。According to the above embodiment, firstly, the present application can implement filling methods dedicated to different grooves, thereby greatly improving the filling accuracy; secondly, the present application can accurately identify the grooves to be filled even if the grooves to be filled are shallow. Thirdly, the application controls the movement rate of the robot according to the groove width, which can accurately fill the grooves with different widths and improves the filling accuracy; fourthly, for special opening grooves, the application also develops special The method can improve the filling accuracy of such grooves. It can be seen that the present application solves all the problems in the process of using the robot to fill the groove.
另外,本领域技术人员还能够针对上述实施例进行各种改动和变形:In addition, those skilled in the art can also make various changes and modifications to the above-mentioned embodiments:
本申请的各个实施方式中的机器人可以是工业机器人手臂,这些机器人手臂可以是通用的,也可以是专用于进行凹槽填充的。本申请可以填充任意物体表面的凹槽,例如玻璃,桌板,钢板等,本申请可以使用任何填料进行填充,例如胶,各种化学填充剂等,本申请对具体应用领域不作限制,作为优选的实施例,本申请特别适用于在桌板的凹槽中涂胶。The robots in various embodiments of the present application may be industrial robot arms, and these robot arms may be general-purpose or dedicated to groove filling. The application can fill the grooves on the surface of any object, such as glass, table board, steel plate, etc. The application can be filled with any filler, such as glue, various chemical fillers, etc. The application does not limit the specific application field, as the preferred This application is particularly suitable for applying glue in the grooves of the table top.
为了使得机器人走更少的多余轨迹,可将轨迹点的初始点设置在轨迹路径上与机器人初始位姿最为相近的位置,例如:将初始点设置在靠近机器人那条边的中间。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的轨迹路径上的中间点作为轨迹点的初始点,之后可根据机器人的固有属性在轨迹路径上设置其他轨迹点,进而可以得到轨迹点信息。值得一提的是,该轨迹点信息可包括但不限于轨迹点的坐标、轨迹点的初始轨迹点以及轨迹点的走向(即轨迹点走位顺序)等。在得到轨迹点信息之后,可采用通信方式将轨迹点信息发送至机器人。机器人在接收到轨迹点信息时,可基于轨迹点信息,控制自身的喷料喷头进行凹槽填充。In order to make the robot take fewer redundant trajectories, the initial point of the trajectory point can be set at the position on the trajectory path that is closest to the initial pose of the robot, for example, the initial point is set in the middle of the edge close to the robot. That is to say, after the initial pose of the robot is determined, the middle point on the trajectory path of the side closest to the initial pose of the robot can be used as the initial point of the trajectory point, and then according to the inherent properties of the robot Other track points are set on the track path, and then the track point information can be obtained. It is worth mentioning that the track point information may include, but is not limited to, the coordinates of the track point, the initial track point of the track point, and the direction of the track point (ie, the position sequence of the track point). After obtaining the trajectory point information, the trajectory point information can be sent to the robot by means of communication. When the robot receives the trajectory point information, it can control its own spray nozzle to fill the groove based on the trajectory point information.
在某些实施方式中,根据机器人的固有属性以及机器人初始位姿,在轨迹路径上生成轨迹点信息,包括:In some embodiments, according to the inherent properties of the robot and the initial pose of the robot, trajectory point information is generated on the trajectory path, including:
确定轨迹路径中的拐角处和直线处;Determine the corners and straight lines in the trajectory path;
根据机器人的出料速率、运动速度在拐弯处以及直线处以相应密度设置轨迹点;According to the discharge rate and movement speed of the robot, set the trajectory points at the corresponding density at the corners and straight lines;
根据机器人初始位姿确定轨迹点的走位顺序,以得到轨迹点信息。According to the initial pose of the robot, determine the movement sequence of the trajectory points to obtain the trajectory point information.
具体地,确定轨迹路径中的拐角处和直线处,可以基于轨迹路径上各点的坐标值间的关系确定。拐角处相邻点的X坐标和Y坐标均会不一样,而直线处相邻点,可能其X坐标会一样或Y坐标会一样。例如:假设待填充物品的形状为矩形,则该待填充物品的轨迹路径中,四个角的拐角处相邻点的X坐标和Y坐标均会不一样,而上边直线处相邻点的Y坐标会一样而X坐标会不一样,下边直线处相邻点的Y坐标会一样而X坐标会不一样且Y坐标相对于上边直线处数值小,左边直线处相邻点的X坐标会一样而Y坐标会不一样,右边直线处相邻点的X坐标会一样而Y坐标会不一样且X坐标相对于左边直线处数值小。Specifically, determining the corners and straight lines in the trajectory path may be determined based on the relationship between the coordinate values of each point on the trajectory path. The X and Y coordinates of the adjacent points at the corner will be different, while the adjacent points at the straight line may have the same X coordinate or the same Y coordinate. For example: Assuming that the shape of the item to be filled is a rectangle, in the trajectory path of the item to be filled, the X and Y coordinates of the adjacent points at the corners of the four corners will be different, and the Y coordinates of the adjacent points at the upper line will be different. The coordinates will be the same but the X-coordinates will be different, the Y-coordinates of the adjacent points on the lower line will be the same but the X-coordinates will be different. The Y coordinate will be different, the X coordinate of the adjacent points on the right line will be the same, but the Y coordinate will be different, and the X coordinate will be smaller than the value of the left line.
机器人进行填充时,会基于一定的出料速率控制出料头进行填充。出料速率作为机器人的固有属性,影响本实施例中填充的效果。为了能够方便参考机器人的出料速率在轨迹路径上设置轨迹点,以避免堆料情况,可确定该机器人的出料速率。When the robot is filling, it will control the discharge head to fill based on a certain discharge rate. As an inherent property of the robot, the discharge rate affects the filling effect in this embodiment. In order to conveniently set track points on the trajectory path with reference to the discharge rate of the robot to avoid stacking, the discharge rate of the robot can be determined.
机器人运动的固有属性还体现为,若机器人在拐角处和直线处设置同样的运动速度参数,其在拐角处和直线处的运动速度会不同,具体拐角处运动速度慢于直线处运动速度。而实际情况下机器人另一固有属性出料速率是不变的,因此对于合适直线的出料速率与运动速度参数,在拐弯处就会造成堆料情况。在某些实施方式中,在保证机器人沿着所确定的轨迹路径移动的前提下,在轨迹路径上的拐角处设置的轨迹点的间距可以比直线处设置的轨迹点间距大些,以达到直线处运动速度与拐角处运动速度的平衡,进而解决拐角可能造成的堆料现象。可在直线处设置一最小间距用于限定直线处轨迹点的间距,防止直线处由于机器人由于轨迹点数量过多而出现卡顿堆料的情况。还可在直线处和拐角处设置数值不同的运动速度参数以达到直线处运动速度与拐角处运动速度的平衡,解决由于固有属性导致的堆料问题。The inherent property of robot motion is also reflected in that if the robot sets the same motion speed parameters at the corner and the straight line, its motion speed at the corner and the straight line will be different, and the specific motion speed at the corner is slower than that at the straight line. In practice, another inherent property of the robot, the discharge rate is unchanged. Therefore, for the discharge rate and motion speed parameters of a suitable straight line, a stacking situation will occur at the corner. In some embodiments, on the premise of ensuring that the robot moves along the determined trajectory path, the distance between the trajectory points set at the corners on the trajectory path may be larger than the distance between the trajectory points set at the straight line, so as to achieve a straight line Balance the movement speed at the corner and the movement speed at the corner, so as to solve the stacking phenomenon that may be caused by the corner. A minimum distance can be set at the straight line to limit the distance between the trajectory points on the straight line to prevent the robot from jamming and stacking due to the excessive number of trajectory points on the straight line. It is also possible to set moving speed parameters with different values at the straight line and at the corner to achieve a balance between the moving speed at the straight line and the moving speed at the corner, and solve the problem of stacking due to inherent properties.
根据机器人初始位姿确定轨迹点的走位顺序,以得到所述轨迹点信息。可以理解,为了使得机器人 走更少的多余轨迹,设置轨迹点的初始点为靠近机器人初始位姿的点,例如:可以为待填充物品的靠近机器人那条边的中间部位对应的轨迹点。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的轨迹路径上的中间点对应的轨迹点(或者距离该点最近的轨迹点)作为轨迹点的初始轨迹点,之后,可以顺时针走位其他轨迹点,也可以逆时针走位其他轨迹点。The walking sequence of the trajectory points is determined according to the initial pose of the robot, so as to obtain the trajectory point information. It can be understood that, in order to make the robot take fewer redundant trajectories, the initial point of the trajectory point is set as a point close to the initial pose of the robot, for example, it can be the trajectory point corresponding to the middle part of the object to be filled close to the side of the robot. That is to say, after the initial pose of the robot is determined, the track point corresponding to the middle point (or the track point closest to the point) on the trajectory path of the side closest to the initial pose of the robot can be used as The initial track point of the track point, after that, other track points can be moved clockwise, or other track points can be moved counterclockwise.
在某些实施方式中,轨迹点信息具体可以包括轨迹点坐标,初始轨迹点坐标、轨迹点的走位顺序、轨迹点的运动速度参数等。In some embodiments, the track point information may specifically include track point coordinates, initial track point coordinates, a position sequence of track points, and motion speed parameters of track points, and the like.
在某些实施方式中,轨迹点信息还包括:轮廓点对应的法向信息。In some embodiments, the track point information further includes: normal information corresponding to the contour points.
具体地,法向信息可以为各轮廓点云对应的法向量相对于一固定量的角度值,还可以为各轮廓点云中相应走位顺序在后的点云相对于其前一点云的偏离角度值。Specifically, the normal information can be the angle value of the normal vector corresponding to each contour point cloud relative to a fixed amount, and can also be the deviation of the point cloud in the corresponding position sequence behind the contour point cloud relative to the previous point cloud. angle value.
图8示出了根据本申请又一个实施例的基于凹槽轮廓识别的凹槽填充装置的结构示意图,该装置包括:Fig. 8 shows a schematic structural diagram of a groove filling device based on groove contour identification according to yet another embodiment of the present application, and the device includes:
轮廓提取模块500,用于提取物体表面凹槽轮廓,即用于实现步骤S100;The contour extraction module 500 is used for extracting the contour of the groove on the surface of the object, that is, for implementing step S100;
轮廓识别模块600,用于识别凹槽轮廓的类型,即用于实现步骤S200;The contour identification module 600 is used to identify the type of the groove contour, that is, to realize step S200;
填充方案确定模块700,用于根据凹槽轮廓的类型确定相应的凹槽填充方案,即用于实现步骤S300;The filling scheme determination module 700 is used to determine the corresponding groove filling scheme according to the type of the groove profile, that is, to implement step S300;
填充模块800,用于基于所述凹槽填充方案对凹槽进行填充,即用于实现步骤S400。The filling module 800 is used to fill the grooves based on the groove filling scheme, that is, to implement step S400.
可选的,轮廓提取模块500还用于去除非凹槽轮廓,例如可以根据像素点数量去除。Optionally, the contour extraction module 500 is also used to remove the non-groove contour, for example, it can be removed according to the number of pixel points.
可选的,轮廓识别模块600可以识别的凹槽轮廓的类型包括闭合凹槽、开口凹槽、单点凹槽中的至少一种。Optionally, the types of groove contours that can be identified by the contour identification module 600 include at least one of closed grooves, open grooves, and single-point grooves.
可选的,当填充方案确定模块700确定使用单点凹槽填充方案时,填充模块800获取该单点的3D点云,根据3D点云的位姿对凹槽进行填充。Optionally, when the filling scheme determining module 700 determines to use a single-point groove filling scheme, the filling module 800 acquires the 3D point cloud of the single point, and fills the groove according to the pose of the 3D point cloud.
可选的,当填充方案确定模块700确定使用闭合凹槽和/或开口凹槽填充方案时,填充模块800根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,并选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。所述轨迹点可以为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。Optionally, when the filling scheme determination module 700 determines to use the closed groove and/or open groove filling scheme, the filling module 800 traverses the points on the inner contour or the outer contour according to the preset trajectory point interval, At a point, find the point from the point along the local normal direction to the corresponding outer or inner contour, and select the point between the point and the corresponding point on the outer or inner contour as the trajectory point. The trajectory point may be a midpoint between the traversed point and the corresponding point on the outer or inner contour.
可选的,填充模块800根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。可以预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。Optionally, the filling module 800 determines the moving speed Vk of the filling tool at the track point according to the groove width Wk at the track point. A moving speed V0 corresponding to a specific width W0 may be preset, and the moving speed Vk at the track point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
图9示出了根据本申请又一个实施例的物体表面浅凹槽轮廓提取装置的结构示意图,该装置包括:FIG. 9 shows a schematic structural diagram of a device for extracting a contour of a shallow groove on an object surface according to yet another embodiment of the present application, and the device includes:
图像获取模块510,用于获取物体表面二维图像,即用于实现步骤S110;The image acquisition module 510 is used for acquiring a two-dimensional image of the surface of the object, that is, for implementing step S110;
图像均衡模块520,用于对图像进行图像均衡操作,即用于实现步骤S120;an image equalization module 520, configured to perform an image equalization operation on the image, that is, to implement step S120;
图像分割模块530,用于对均衡后的图像进行图像分割操作,即用于实现步骤S130;The image segmentation module 530 is configured to perform an image segmentation operation on the equalized image, that is, to implement step S130;
轮廓提取模块540,用于根据分割后的图像确定浅凹槽并提取浅凹槽轮廓,即用于实现步骤S140。The contour extraction module 540 is configured to determine the shallow groove according to the segmented image and extract the contour of the shallow groove, that is, to implement step S140.
可选的,浅凹槽轮廓提取装置还包括三维图像获取模块,用于获取物体表面三维图像。Optionally, the shallow groove contour extraction device further includes a three-dimensional image acquisition module for acquiring a three-dimensional image of the surface of the object.
可选的,图像获取模块510可以通过对三维图像的映射获得二维图像。Optionally, the image acquisition module 510 may acquire a two-dimensional image by mapping a three-dimensional image.
可选的,轮廓提取模块540还用于去除非凹槽轮廓,例如可以根据像素点数量去除非凹槽轮廓。Optionally, the contour extraction module 540 is also used to remove the non-groove contour, for example, the non-groove contour can be removed according to the number of pixel points.
可选的,浅凹槽轮廓包括最外层凹槽轮廓和内层凹槽轮廓,最外层凹槽轮廓包括内轮廓和外轮廓。Optionally, the shallow groove contour includes an outermost groove contour and an inner groove contour, and the outermost groove contour includes an inner contour and an outer contour.
可选的,内层凹槽轮廓以及最外层凹槽的内轮廓可以根据二维图像提取,最外层凹槽的内轮廓可以根据三维图像提取。Optionally, the inner contour of the inner groove and the inner contour of the outermost groove may be extracted according to the two-dimensional image, and the inner contour of the outermost groove may be extracted according to the three-dimensional image.
图10示出了根据本申请又一个实施例的基于机器人移动速度控制的凹槽填充装置的结构示意图,该装置包括:10 shows a schematic structural diagram of a groove filling device based on robot movement speed control according to yet another embodiment of the present application, the device includes:
轮廓提取模块811,用于提取物体表面凹槽轮廓,即用于实现步骤S411;The contour extraction module 811 is used to extract the contour of the groove on the surface of the object, that is, to realize step S411;
轨迹点确定模块812,用于根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点,即用于实现步骤S412;The trajectory point determination module 812 is used to traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot moving at each traversed point, that is, to implement step S412;
移动速度确定模块813,用于基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk,即用于实现步骤S413;The movement speed determination module 813 is configured to determine the robot movement speed Vk at the track point based on the groove width Wk at the track point, that is, to implement step S413;
填充模块814,用于令机器人根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充,即用于实现步骤S414。The filling module 814 is used to make the robot perform groove filling according to the determined trajectory point and the movement speed at the trajectory point, that is, to implement step S414.
可选的,轮廓提取模块811还用于去除非凹槽轮廓,例如可以根据像素点数量去除。Optionally, the contour extraction module 811 is also used to remove the non-groove contour, for example, it can be removed according to the number of pixel points.
可选的,移动速度确定模块814根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。可以预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。Optionally, the moving speed determination module 814 determines the moving speed Vk of the filling tool at the track point according to the groove width Wk at the track point. A moving speed V0 corresponding to a specific width W0 may be preset, and the moving speed Vk at the track point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
可选的,轨迹点确定模块812根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,并选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。所述轨迹点可以为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。Optionally, the trajectory point determination module 812 traverses the points on the inner contour or the outer contour according to the preset trajectory point interval, and at each point traversed, obtains the point along the local normal direction to the corresponding outer contour or the outer contour. point on the inner contour, and select the point between the point and the corresponding point on the outer or inner contour as the trajectory point. The trajectory point may be a midpoint between the traversed point and the corresponding point on the outer or inner contour.
图11示出了根据本申请又一个实施例的物体表面的非闭合凹槽填充装置的结构示意图,该装置包括:11 shows a schematic structural diagram of a device for filling a non-closed groove on an object surface according to another embodiment of the present application, the device includes:
轮廓提取模块821,用于提取物体表面凹槽轮廓,即用于实现步骤S421;The contour extraction module 821 is used to extract the contour of the groove on the surface of the object, that is, to realize step S421;
外接矩形生成模块822,生成轮廓的外接矩形,即用于实现步骤S422;The circumscribed rectangle generation module 822 generates the circumscribed rectangle of the outline, that is, is used to realize step S422;
开口确定模块823,用于基于所述生成的外接矩形确定轮廓的两个开口端点,即用于实现步骤S423;The opening determination module 823 is used to determine the two opening end points of the outline based on the generated circumscribed rectangle, that is, to realize step S423;
填充模块824,用于将两个开口端点分别作为起始点和结束点执行凹槽填充,即用于实现步骤S424。The filling module 824 is used to perform groove filling using the two opening end points as the starting point and the ending point respectively, that is, to implement step S424.
可选的,填充模块824在所述起始点和结束点处断开凹槽轮廓,以形成分离的内轮廓和外轮廓。Optionally, the fill module 824 breaks the groove profile at the start and end points to form separate inner and outer profiles.
可选的,填充模块824根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。可以预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。Optionally, the filling module 824 determines the moving speed Vk of the filling tool at the track point according to the groove width Wk at the track point. A moving speed V0 corresponding to a specific width W0 may be preset, and the moving speed Vk at the track point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
可选的,填充模块824根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,并选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。所述轨迹点可以为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。Optionally, the filling module 824 traverses the points on the inner contour or the outer contour according to the preset trajectory point interval, and at each point traversed, obtains the point along the local normal direction to the corresponding outer contour or inner contour. and select the point between the point and the corresponding point on the outer or inner contour as the trajectory point. The trajectory point may be a midpoint between the traversed point and the corresponding point on the outer or inner contour.
上述图8-图11所示的装置实施例中,仅描述了模块的主要功能,各个模块的全部功能与方法实施例中相应步骤相对应,各个模块的工作原理同样可以参照方法实施例中相应步骤的描述,此处不再赘述。另外,虽然上述实施例中限定了功能模块的功能与方法的对应关系,然而本领域技术人员能够理解,功能模块的功能并不局限于上述对应关系,即特定的功能模块还能够实现其他方法步骤或方法步骤的一部分。例如,上述实施例描述了轮廓识别模块600用于实现步骤S200的方法,然而根据实际情况的需要, 轮廓识别模块600也可以用于实现步骤S100、S300或S400的方法或方法的一部分。In the apparatus embodiments shown in FIG. 8 to FIG. 11 above, only the main functions of the modules are described, all the functions of each module correspond to the corresponding steps in the method embodiments, and the working principles of each module can also refer to the corresponding steps in the method embodiments. The description of the steps will not be repeated here. In addition, although the above-mentioned embodiment defines the corresponding relationship between the functions of the functional modules and the methods, those skilled in the art can understand that the functions of the functional modules are not limited to the above-mentioned corresponding relationships, that is, a specific functional module can also implement other method steps. or part of a method step. For example, the above embodiments describe the method for implementing step S200 by the contour identification module 600, however, the contour identification module 600 can also be used for implementing the method or a part of the method in steps S100, S300 or S400 according to actual needs.
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施方式的方法。需要指出的是,本申请实施方式的计算机可读存储介质存储的计算机程序可以被电子设备的处理器执行,此外,计算机可读存储介质可以是内置在电子设备中的存储介质,也可以是能够插拔地插接在电子设备的存储介质,因此,本申请实施方式的计算机可读存储介质具有较高的灵活性和可靠性。The present application also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, implements the method of any one of the foregoing embodiments. It should be noted that the computer program stored in the computer-readable storage medium of the embodiments of the present application may be executed by the processor of the electronic device. In addition, the computer-readable storage medium may be a storage medium built in the electronic device, or a storage medium capable of The storage medium of the electronic device is pluggable and pluggable. Therefore, the computer-readable storage medium of the embodiments of the present application has high flexibility and reliability.
图12示出了根据本申请实施例的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。FIG. 12 shows a schematic structural diagram of an electronic device according to an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the electronic device.
如图12所示,该电子设备可以包括:处理器(processor)902、通信接口(Communications Interface)904、存储器(memory)906、以及通信总线908。As shown in FIG. 12 , the electronic device may include: a processor (processor) 902 , a communication interface (Communications Interface) 904 , a memory (memory) 906 , and a communication bus 908 .
其中:in:
处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。The processor 902 , the communication interface 904 , and the memory 906 communicate with each other through the communication bus 908 .
通信接口904,用于与其它设备比如客户端或其它服务器等的网元通信。The communication interface 904 is used to communicate with network elements of other devices such as clients or other servers.
处理器902,用于执行程序910,具体可以执行上述方法实施例中的相关步骤。The processor 902 is configured to execute the program 910, and specifically may execute the relevant steps in the foregoing method embodiments.
具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。Specifically, the program 910 may include program code including computer operation instructions.
处理器902可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。The processor 902 may be a central processing unit (CPU), or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the electronic device may be the same type of processors, such as one or more CPUs; or may be different types of processors, such as one or more CPUs and one or more ASICs.
存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。The memory 906 is used to store the program 910 . Memory 906 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk memory.
程序910具体可以用于使得处理器902执行上述方法实施例中的各项操作。The program 910 may specifically be used to cause the processor 902 to perform various operations in the foregoing method embodiments.
概括地说,本申请的申请内容包括:In general, the application content of this application includes:
一种基于凹槽轮廓识别的凹槽填充方法,包括:A groove filling method based on groove contour recognition, comprising:
提取物体表面凹槽轮廓;Extract the contour of the groove on the surface of the object;
识别凹槽轮廓的类型;Identify the type of groove profile;
根据凹槽轮廓的类型确定相应的凹槽填充方案;Determine the corresponding groove filling scheme according to the type of groove profile;
基于所述凹槽填充方案对凹槽进行填充。The grooves are filled based on the groove filling scheme.
可选的,所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。Optionally, the extracting the groove contour on the surface of the object includes removing the non-groove contour.
可选的,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。Optionally, the removing the non-groove contour includes removing the non-groove contour according to the number of pixel points.
可选的,所述凹槽类型包括闭合凹槽和/或开口凹槽。Optionally, the groove types include closed grooves and/or open grooves.
可选的,所述凹槽类型包括单点凹槽。Optionally, the groove type includes a single point groove.
可选的,所述凹槽轮廓包括内轮廓和外轮廓。Optionally, the groove profile includes an inner profile and an outer profile.
可选的,根据预设的轨迹点间隔遍历内轮廓或外轮廓上的点。Optionally, traverse the points on the inner contour or the outer contour according to a preset trajectory point interval.
可选的,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点。Optionally, at each traversed point, obtain the point from the point along the local normal direction to the corresponding outer contour or inner contour.
可选的,在所遍历的每一个点处,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。Optionally, at each traversed point, a point between the point and a point on the corresponding outer contour or inner contour is selected as a trajectory point.
可选的,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。Optionally, the trajectory point is a midpoint between the traversed point and a corresponding point on the outer contour or inner contour.
可选的,根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。Optionally, the moving speed Vk of the filling tool at the track point is determined according to the groove width Wk at the track point.
可选的,预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。Optionally, a moving speed V0 corresponding to a specific width W0 is preset, and the moving speed Vk at the trajectory point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
可选的,获取该单点的3D点云,根据3D点云的位姿对凹槽进行填充。Optionally, a 3D point cloud of the single point is obtained, and the groove is filled according to the pose of the 3D point cloud.
一种物体表面浅凹槽轮廓提取方法,包括:A method for extracting the contour of a shallow groove on the surface of an object, comprising:
获取物体表面二维图像;Obtain a two-dimensional image of the surface of the object;
对图像进行图像均衡操作;Perform image equalization operations on images;
对均衡后的图像进行图像分割操作;Perform image segmentation on the equalized image;
根据分割后的图像确定浅凹槽并提取浅凹槽轮廓。Determine shallow grooves and extract shallow groove contours from the segmented image.
可选的,还包括获取物体表面三维图像。Optionally, it also includes acquiring a three-dimensional image of the surface of the object.
可选的,所述二维图像通过对三维图像的映射获得。Optionally, the two-dimensional image is obtained by mapping a three-dimensional image.
可选的,所述确定浅凹槽并提取浅凹槽轮廓包括去除非凹槽轮廓。Optionally, the determining the shallow groove and extracting the contour of the shallow groove includes removing the contour of the non-groove.
可选的,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。Optionally, the removing the non-groove contour includes removing the non-groove contour according to the number of pixel points.
可选的,所述浅凹槽轮廓包括最外层凹槽轮廓和内层凹槽轮廓。Optionally, the shallow groove contour includes an outermost groove contour and an inner groove contour.
可选的,所述内层凹槽轮廓根据二维图像提取。Optionally, the inner layer groove contour is extracted according to a two-dimensional image.
可选的,所述最外层凹槽轮廓包括内轮廓和外轮廓。Optionally, the outermost groove contour includes an inner contour and an outer contour.
可选的,所述最外层凹槽的内轮廓根据二维图像提取。Optionally, the inner contour of the outermost groove is extracted according to a two-dimensional image.
可选的,所述最外层凹槽的外轮廓根据三维图像提取。Optionally, the outer contour of the outermost groove is extracted according to a three-dimensional image.
一种基于机器人移动速度控制的凹槽填充方法,包括:A groove filling method based on robot movement speed control, comprising:
提取物体表面凹槽轮廓;Extract the contour of the groove on the surface of the object;
根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;Traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot movement at each traversed point;
基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;Determine the robot moving speed Vk at the track point based on the groove width Wk at the track point;
令机器人根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。Let the robot perform groove filling according to the determined trajectory point and the movement speed at the trajectory point.
可选的,所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。Optionally, the extracting the groove contour on the surface of the object includes removing the non-groove contour.
可选的,所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。Optionally, the removing the non-groove contour includes removing the non-groove contour according to the number of pixel points.
可选的,预设特定宽度W0对应的移动速度V0,并根据W0,V0以及Wk计算轨迹点处的机器人移动速度Vk。Optionally, preset the movement speed V0 corresponding to the specific width W0, and calculate the robot movement speed Vk at the trajectory point according to W0, V0 and Wk.
可选的,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。Optionally, the moving speed Vk at the trajectory point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
可选的,所述凹槽轮廓包括内轮廓和外轮廓。Optionally, the groove profile includes an inner profile and an outer profile.
可选的,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。Optionally, at each point traversed, obtain the point from the point along the local normal direction to the corresponding outer contour or inner contour, and select the point and the corresponding point on the outer contour or inner contour. The points in between are used as trajectory points.
可选的,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。Optionally, the trajectory point is a midpoint between the traversed point and a corresponding point on the outer contour or inner contour.
一种物体表面的非闭合凹槽填充方法A non-closed groove filling method on the surface of an object
提取物体表面非闭合凹槽轮廓;Extract the contour of the non-closed groove on the surface of the object;
生成轮廓的外接矩形;Generate the circumscribed rectangle of the outline;
基于所述生成的外接矩形确定轮廓的两个开口端点;Determine two open end points of the contour based on the generated circumscribed rectangle;
将两个开口端点分别作为起始点和结束点执行凹槽填充。The groove filling is performed with the two open end points as the start and end points, respectively.
可选的,在所述起始点和结束点处断开凹槽轮廓,以形成分离的内轮廓和外轮廓。Optionally, the groove profile is broken at the start and end points to form separate inner and outer profiles.
可选的,根据预设的轨迹点间隔从起始点到结束点遍历内轮廓或外轮廓上的点。Optionally, traverse the points on the inner contour or the outer contour from the start point to the end point according to the preset trajectory point interval.
可选的,在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点。Optionally, at each traversed point, obtain the point from the point along the local normal direction to the corresponding outer contour or inner contour.
可选的,在所遍历的每一个点处,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。Optionally, at each traversed point, a point between the point and a point on the corresponding outer contour or inner contour is selected as a trajectory point.
可选的,所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。Optionally, the trajectory point is a midpoint between the traversed point and a corresponding point on the outer contour or inner contour.
可选的,根据轨迹点处的凹槽宽度Wk确定该轨迹点处的填充工具的移动速度Vk。Optionally, the moving speed Vk of the filling tool at the track point is determined according to the groove width Wk at the track point.
可选的,预设特定宽度W0对应的移动速度V0,所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。Optionally, a moving speed V0 corresponding to a specific width W0 is preset, and the moving speed Vk at the trajectory point is a linear or nonlinear ratio of V0 and Rk, where Rk=Wk/W0.
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。In the description of this specification, reference to the terms "one embodiment," "some embodiments," "exemplary embodiment," "example," "specific example," or "some examples" or the like is meant to be used in conjunction with the described embodiments. A particular feature, structure, material, or characteristic described in a manner or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。Any description of a process or method in the flowcharts or otherwise described herein may be understood to represent a module, segment or portion of code comprising one or more executable instructions for implementing a specified logical function or step of the process , and the scope of the preferred embodiments of the present application includes alternative implementations in which the functions may be performed out of the order shown or discussed, including performing the functions substantially concurrently or in the reverse order depending upon the functions involved, which should It is understood by those skilled in the art to which the embodiments of the present application belong.
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。The logic and/or steps represented in flowcharts or otherwise described herein, for example, may be considered an ordered listing of executable instructions for implementing the logical functions, may be embodied in any computer-readable medium, For use by an instruction execution system, apparatus or apparatus (such as a computer-based system, a system including a processing module, or other system that can fetch instructions from and execute instructions from an instruction execution system, apparatus or apparatus), or in conjunction with such instruction execution system, apparatus or equipment. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or apparatus. More specific examples (non-exhaustive list) of computer readable media include the following: electrical connections with one or more wiring (electronic devices), portable computer disk cartridges (magnetic devices), random access memory (RAM), Read Only Memory (ROM), Erasable Editable Read Only Memory (EPROM or Flash Memory), Fiber Optic Devices, and Portable Compact Disc Read Only Memory (CDROM). In addition, the computer readable medium may even be paper or other suitable medium on which the program may be printed, as the paper or other medium may be optically scanned, for example, followed by editing, interpretation, or other suitable medium as necessary process to obtain the program electronically and then store it in computer memory.
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可 编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The processor may be a Central Processing Unit (CPU), other general-purpose processors, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable processor Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
应当理解,本申请的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。It should be understood that various parts of the embodiments of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented by any one or a combination of the following techniques known in the art: Discrete logic circuits, application specific integrated circuits with suitable combinational logic gates, Programmable Gate Arrays (PGA), Field Programmable Gate Arrays (FPGA), etc.
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。Those skilled in the art can understand that all or part of the steps carried by the methods of the above embodiments can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer-readable storage medium, and the program can be stored in a computer-readable storage medium. When executed, one or a combination of the steps of the method embodiment is included.
此外,在本申请的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing module, or each unit may exist physically alone, or two or more units may be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware, and can also be implemented in the form of software function modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they may also be stored in a computer-readable storage medium.
上述提到的存储介质可以是只读存储器,磁盘或光盘等。The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like.
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。Although the embodiments of the present application have been shown and described above, it should be understood that the above embodiments are exemplary and should not be construed as limitations to the present application. Embodiments are subject to variations, modifications, substitutions and alterations.

Claims (11)

  1. 一种基于机器人移动速度控制的凹槽填充方法,包括:A groove filling method based on robot movement speed control, comprising:
    提取物体表面凹槽轮廓;Extract the contour of the groove on the surface of the object;
    根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;Traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot movement at each traversed point;
    基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;Determine the robot moving speed Vk at the track point based on the groove width Wk at the track point;
    根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。The groove filling is performed according to the determined track point and the movement speed at the track point.
  2. 根据权利要求1所述的凹槽填充方法,其中:所述提取物体表面凹槽轮廓包括去除非凹槽轮廓。The groove filling method according to claim 1, wherein: extracting the contour of the groove on the surface of the object comprises removing non-groove contours.
  3. 根据权利要求2所述的凹槽填充方法,其中:所述去除非凹槽轮廓包括根据像素点数量去除非凹槽轮廓。The groove filling method according to claim 2, wherein: removing the non-groove contour comprises removing the non-groove contour according to the number of pixel points.
  4. 根据权利要求1所述的凹槽填充方法,其中,还包括:预设特定宽度W0对应的移动速度V0,并根据W0,V0以及Wk计算轨迹点处的机器人移动速度Vk。The groove filling method according to claim 1, further comprising: presetting a moving speed V0 corresponding to a specific width W0, and calculating the robot moving speed Vk at the trajectory point according to W0, V0 and Wk.
  5. 根据权利要求4所述的凹槽填充方法,其中,还包括:所述轨迹点处的移动速度Vk为V0与Rk的线性比例或非线性比例,其中,Rk=Wk/W0。The groove filling method according to claim 4, further comprising: the moving speed Vk at the track point is a linear or nonlinear ratio of V0 and Rk, wherein Rk=Wk/W0.
  6. 根据权利要求1-5中任一项所述的凹槽填充方法,其中:所述凹槽轮廓包括内轮廓和外轮廓。The groove filling method according to any one of claims 1-5, wherein: the groove contour includes an inner contour and an outer contour.
  7. 根据权利要求6所述的凹槽填充方法,其中,所述根据所遍历的点确定机器人移动的轨迹点具体包括:在所遍历的每一个点处,求取该点沿局部法向方向到对应的外轮廓或内轮廓上的点,选取该点与所述对应的外轮廓或内轮廓上的点之间的点作为轨迹点。The groove filling method according to claim 6, wherein the determining the trajectory point of the robot movement according to the traversed points specifically comprises: at each traversed point, obtaining the point along the local normal direction to the corresponding The point on the outer or inner contour of the , select the point between the point and the corresponding point on the outer or inner contour as the trajectory point.
  8. 根据权利要求7所述的凹槽填充方法,其中:所述轨迹点为遍历的点与对应的外轮廓或内轮廓上的点之间的中点。The groove filling method according to claim 7, wherein: the trajectory point is a midpoint between the traversed point and the corresponding point on the outer contour or the inner contour.
  9. 一种基于机器人移动速度控制的凹槽填充装置,其中,包括:A groove filling device based on robot movement speed control, comprising:
    轮廓提取模块,用于提取物体表面凹槽轮廓;The contour extraction module is used to extract the groove contour on the surface of the object;
    轨迹点确定模块,用于根据预设的轨迹点间隔遍历轮廓上的点,在每一个遍历的点处确定机器人移动的轨迹点;The trajectory point determination module is used to traverse the points on the contour according to the preset trajectory point interval, and determine the trajectory point of the robot movement at each traversed point;
    移动速度确定模块,用于基于所述轨迹点处的凹槽宽度Wk确定该轨迹点处的机器人移动速度Vk;a movement speed determination module, configured to determine the robot movement speed Vk at the track point based on the groove width Wk at the track point;
    填充模块,用于根据所确定的轨迹点及轨迹点处的移动速度执行凹槽填充。The filling module is used to perform groove filling according to the determined trajectory point and the movement speed at the trajectory point.
  10. 一种电子设备,其中,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的基于机器人移动速度控制的凹槽填充方法。An electronic device, comprising: a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the computer program in claims 1 to 8 when the processor executes the computer program Any one of the groove filling methods based on robot movement speed control.
  11. 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的基于机器人移动速度控制的凹槽填充方法。A computer-readable storage medium on which a computer program is stored, wherein when the computer program is executed by a processor, the groove filling method based on the control of the movement speed of a robot according to any one of claims 1 to 8 is implemented.
PCT/CN2021/138498 2021-04-20 2021-12-15 Method and apparatus for filling grooves on basis of controlling moving speed of robot WO2022222513A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110426174.4A CN112967307A (en) 2021-04-20 2021-04-20 Groove filling method and device based on robot moving speed control, electronic equipment and storage medium
CN202110426174.4 2021-04-20

Publications (1)

Publication Number Publication Date
WO2022222513A1 true WO2022222513A1 (en) 2022-10-27

Family

ID=76280851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/138498 WO2022222513A1 (en) 2021-04-20 2021-12-15 Method and apparatus for filling grooves on basis of controlling moving speed of robot

Country Status (2)

Country Link
CN (1) CN112967307A (en)
WO (1) WO2022222513A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112967307A (en) * 2021-04-20 2021-06-15 梅卡曼德(北京)机器人科技有限公司 Groove filling method and device based on robot moving speed control, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977694A (en) * 2008-03-27 2011-02-16 伊诺斯自动控制软件有限公司 Method and device for automatically introducing or applying viscous material
CN104324866A (en) * 2013-07-22 2015-02-04 泰科电子(上海)有限公司 Method for injecting sealant into groove of workpiece
CN106056648A (en) * 2016-06-14 2016-10-26 深圳市智能机器人研究院 Intelligent robot image drawing method and system
CN109795128A (en) * 2018-12-06 2019-05-24 大连理工大学 A kind of ablator automatic filling method towards honeycomb cored hole
CN110102855A (en) * 2019-05-15 2019-08-09 上海振华重工(集团)股份有限公司 A kind of robot automtion welding system, device and method
CN110153534A (en) * 2019-06-03 2019-08-23 山东大学 Adapt to the multilayer multiple tracks robot welding paths planning method and system of welding deformation
CN112967307A (en) * 2021-04-20 2021-06-15 梅卡曼德(北京)机器人科技有限公司 Groove filling method and device based on robot moving speed control, electronic equipment and storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977694A (en) * 2008-03-27 2011-02-16 伊诺斯自动控制软件有限公司 Method and device for automatically introducing or applying viscous material
CN104324866A (en) * 2013-07-22 2015-02-04 泰科电子(上海)有限公司 Method for injecting sealant into groove of workpiece
CN106056648A (en) * 2016-06-14 2016-10-26 深圳市智能机器人研究院 Intelligent robot image drawing method and system
CN109795128A (en) * 2018-12-06 2019-05-24 大连理工大学 A kind of ablator automatic filling method towards honeycomb cored hole
CN110102855A (en) * 2019-05-15 2019-08-09 上海振华重工(集团)股份有限公司 A kind of robot automtion welding system, device and method
CN110153534A (en) * 2019-06-03 2019-08-23 山东大学 Adapt to the multilayer multiple tracks robot welding paths planning method and system of welding deformation
CN112967307A (en) * 2021-04-20 2021-06-15 梅卡曼德(北京)机器人科技有限公司 Groove filling method and device based on robot moving speed control, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN112967307A (en) 2021-06-15

Similar Documents

Publication Publication Date Title
WO2022222515A1 (en) Article surface gluing method and apparatus based on robot vision, device, and medium
Park et al. Pix2pose: Pixel-wise coordinate regression of objects for 6d pose estimation
US20240064391A1 (en) Methods for refining rgbd camera poses
WO2022237166A1 (en) Trajectory generation method and apparatus, electronic device, storage medium, and 3d camera
Schilling et al. Trust your model: Light field depth estimation with inline occlusion handling
CN113199479B (en) Track generation method and device, electronic equipment, storage medium and 3D camera
TWI489418B (en) Parallax Estimation Depth Generation
JP6469905B2 (en) Monocular 3D localization for autonomous driving using adaptive ground plane estimation
US20210039257A1 (en) Workpiece picking device and workpiece picking method
WO2022222513A1 (en) Method and apparatus for filling grooves on basis of controlling moving speed of robot
Ogale et al. Stereo correspondence with slanted surfaces: critical implications of horizontal slant
CN112991193B (en) Depth image restoration method, device and computer-readable storage medium
WO2007052191A2 (en) Filling in depth results
CN111721259A (en) Underwater robot recovery positioning method based on binocular vision
CN108428249A (en) A kind of initial position and orientation estimation method based on optical flow tracking and double geometrical models
CN113344769A (en) Method, device and medium for acquiring 3D image information of article based on machine vision
CN113189934A (en) Trajectory generation method and apparatus, electronic device, storage medium, and 3D camera
KR20160098012A (en) Method and apparatus for image matchng
CN114798321A (en) Three-dimensional calibration method, device, equipment and medium for needle head of dispenser
JP2001091232A (en) Three-dimensional shape measuring device and method, and recording medium
CN117124302A (en) Part sorting method and device, electronic equipment and storage medium
WO2022222934A1 (en) Glass adhesive coating method, glass adhesive coating apparatus, electronic device, and storage medium
CN113052863A (en) Robot-based object surface shallow groove profile extraction method and device, electronic equipment and storage medium
CN113345111A (en) Robot-based object surface non-closed groove filling method, device and medium
CN113327260A (en) Groove filling method, device and medium based on groove contour recognition

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21937735

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE