Path debugging system
The path error detection system generates and expands the motion path of the robot robot arm, which solves the problem of path planning failure in the prior art, and improves the efficiency of path planning and the collision-free operation ability of the robot arm.
Patent Information
- Application Number
- CN202311384601.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-24
- Publication Date
- 2025-04-25
AI Technical Summary
When planning the motion path of a robot robot arm in a simulation environment, the path is prone to no solution or point conflicts, which leads to repeated debugging by engineers, which increases the difficulty of on-site delivery and low work efficiency.
A path error detection system is provided, which generates an initial path cluster through the processing unit and performs path expansion based on it until a motion path that meets the preset conditions is generated, a path that does not meet the conditions is displayed and a reason for failure is prompted, and a user can correct the error based on this.
It improves the efficiency of path planning, ensures that the robotic arm can run to the target position without collision, reduces the difficulty and time of debugging for engineers, and improves work efficiency.
Smart Images

Figure CN119871369A_ABST
Abstract
Description
Background Art
[0002] With the development of automation and information technology, there are more and more scenarios where robots are used to replace manual labor, and the technology is becoming more and more mature. Before putting robots into real industrial applications, in order to reduce the difficulty of on-site delivery, a corresponding simulation environment is often built based on real scenarios, and various functions of the robot are rehearsed in the simulation environment during operation, so as to detect problems in advance and improve the efficiency of on-site delivery.
[0003] At present, the motion trajectory of the robot arm is generally planned in the simulation software according to the preset initial conditions, the motion path of each joint of the robot arm is obtained, and then the motion path is saved and finally loaded into the corresponding scene template. However, the motion path generated in this way is prone to the situation where there is no solution for the path, or there are conflicts (such as collisions) in the points in the path planning.
[0004] In view of the above situation, engineers need to repeatedly debug the robot's motion path parameters, which makes on-site delivery difficult, reduces work efficiency, and requires high experience and ability of engineers. Summary of the invention
[0005] In view of the defects in the prior art, an object of the present invention is to provide a path error detection system.
[0006] In a first aspect, an embodiment of the present application provides a path error detection system, comprising: a processing unit, an input unit, and a display unit, wherein the input unit is used to receive operation instruction information input by a user and transmit it to the processing unit, wherein:
[0007] The processing unit is used to generate an initial path cluster according to the robot arm point position configured by the user, and to perform path expansion based on the initial path cluster until at least one motion path that meets a preset condition is generated, wherein the preset condition refers to: the robot arm moves to a target position without collision;
[0008] The display unit is used to display the motion path generated during the path extension process that does not meet the preset conditions, and prompt the reasons for the failure of motion path planning, wherein the reasons for the failure of motion path planning include: collision and unreachable target position.
[0009] Optionally, the processing unit includes: a path cluster generating unit and a preset path importing unit,
[0010] The path cluster generation unit is used to select a path planning control in a pre-built simulation interface, and to generate an initial path cluster in series according to the robot arm points input by the user;
[0011] The preset path importing unit is used to import the preset path according to the on-site layout;
[0012] The path cluster generation unit is also used to automatically modify the preset path according to the adjustment result of the robot arm posture by the user in the simulation interface to generate an initial path cluster.
[0013] Optionally, the processing unit further includes: a path extension unit, configured to enumerate all possible positions of each robot arm point in the initial path cluster respectively, until at least one motion path in which all points are collision-free is obtained.
[0014] Optionally, the display unit includes a first display area and a second display area, and in the first display area, a plurality of motion paths that do not meet the preset conditions are displayed;
[0015] The input unit is used to receive a trigger operation of a user on any motion path in the first area;
[0016] In the second display area, the current position of each point of the corresponding motion path is displayed in a graphical manner, and the reason for the failure of motion path planning is prompted.
[0017] Optionally, the display unit further includes a third display area;
[0018] The processing unit further includes: a point adjustment unit;
[0019] The input unit is used to receive operation instruction information input by the user;
[0020] Displaying the complete process of the robot arm running along the selected motion path in the third display area;
[0021] The point adjustment unit is used to compare whether the abnormal situation occurring during the operation of the robot arm is consistent with the prompted failure cause. If consistent, the point position of the motion path is adjusted according to the prompted failure cause until a motion path that meets the preset conditions is obtained.
[0022] Optionally, the input unit is further used to receive perspective indication information input by a user;
[0023] The working environment of the robot arm is displayed in a wireframe manner in the third display area; wherein the working environment of the robot arm includes: any one or any combination of: a material frame, a conveying mechanism, a robot arm, an obstacle, and a tray.
[0024] Optionally, it also includes:
[0025] The preview unit is used to preview the motion path that meets the preset conditions to detect whether the robot arm can perform collision-free operation.
[0026] Optionally, it also includes:
[0027] The path adjustment unit is used to adjust the corresponding motion path when a collision occurs during the preview process until the robot arm can complete the collision-free operation according to the adjusted motion path.
[0028] Optionally, the path adjustment unit is further used to mark the limit point where the robot arm approaches the safety distance, and adjust the limit point so that the robot arm always maintains the safety distance during operation.
[0029] In a second aspect, an embodiment of the present application further provides a robot, comprising: a visual system, a robot body, a drive system and a robotic arm, wherein the visual system may be arranged on the robot body or the robotic arm, and is used to capture an image of the robot's working environment, and a processor in the robot body, or a computer remotely connected to the robot body, is loaded with a path error detection system as described in any one of the first aspects;
[0030] The system is used to generate an initial path cluster according to the robot arm point position configured by the user, and to perform path expansion based on the initial path cluster until at least one motion path that meets a preset condition is generated, wherein the preset condition refers to: the robot arm moves to a target position without collision;
[0031] The robot's arm moves according to the generated motion path to perform various work tasks.
[0032] Compared with the prior art, the present invention has the following beneficial effects:
[0033] In the present application, an initial path cluster is generated according to the robot arm points configured by the user; the path is extended based on the initial path cluster until at least one motion path that meets the preset conditions is generated; wherein the preset conditions refer to: the robot arm runs to the target position without collision; the motion paths generated during the path extension process that do not meet the preset conditions are displayed, and the reasons for the failure of motion path planning are prompted, wherein the reasons for the failure of motion path planning include: the existence of collisions, and the target position is unreachable. In this way, the motion paths generated by the robot arm during the solution process can be displayed in a visual manner, and the reasons for the failure of the motion paths that failed to be planned, the locations where collisions occurred, etc. are clearly displayed, so that users can correct the motion paths, improve the efficiency of path planning, and ensure that the robot arm can successfully reach the preset target position and complete collision-free operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings in the following descriptions are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without creative work. By reading the detailed description of the non-limiting embodiments with reference to the following drawings, other features, purposes and advantages of the present invention will become more obvious:
[0035] FIG. 1( a ) is a schematic diagram of a simulation interface for path error detection provided in an embodiment of the present application;
[0036] FIG1( b ) is a schematic diagram of an interface of node information in an embodiment of the present application;
[0037] FIG1( c ) is a schematic diagram of an interface of path information in an embodiment of the present application;
[0038] FIG1( d ) is a schematic diagram of a progress bar of a path operation in an embodiment of the present application;
[0039] Figure 2 A schematic diagram of the structure of a path error detection system provided in an embodiment of the present application;
[0040] Figure 3 A schematic diagram of the structure of another path error detection system provided in an embodiment of the present application;
[0041] Figure 4 A schematic diagram of the structure of another path error detection system provided in an embodiment of the present application;
[0042] Figure 5 A schematic diagram of the structure of another path error detection system provided in an embodiment of the present application;
[0043] Figure 6 A schematic diagram of the structure of a path error detection device provided in an embodiment of the present application;
[0044] Figure 7 It is a schematic diagram of the structure of a computer-readable storage medium in an embodiment of the present invention. DETAILED DESCRIPTION
[0045] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0046] It should be noted that when a component is said to be "fixed to" another component, it can be directly on the other component or there can be a central component. When a component is said to be "connected to" another component, it can be directly connected to the other component or there can be a central component at the same time.
[0047] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The term "and / or" used herein includes any and all combinations of one or more of the related listed items.
[0048] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein, for example, can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0049] The following specific embodiments are used to describe in detail the technical solution of the present invention and how the technical solution of the present application solves the above technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0050] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0051] The embodiments of the present application provide a method, device, equipment and storage medium for marking the contour of a workpiece. The following description of the present application uses a robot as an example. It will be apparent to those skilled in the art that other types of robots can be used without restriction, and the embodiments of the present application can be applied to various types of robots. For example, a movable logistics robot, a robot on a large-scale production line, a simple handling robot, etc., the embodiments of the present application are not limited thereto.
[0052] FIG1(a) is a schematic diagram of the simulation interface of the path debugging provided in the embodiment of the present application. As shown in FIG1(a), the upper left area of the simulation interface of the path debugging displays the workpiece name, path solution result, grab workspace, placement workspace, robot information, and basic information such as project path and log path. The lower left area of the simulation interface of the path debugging displays the solved path information (including sequence number, path name, solution stage, and solution result); the upper right area of the simulation interface of the path debugging displays the planning environment (3D dynamic demonstration of the robot arm operation process), and the lower right area of the simulation interface of the path debugging displays the progress bar of the path operation.
[0053] Exemplarily, when a path is selected, the path details will pop up and analyze the reasons for path failure (for example: collision, safety distance limit, kinematics no solution, intelligent planning failure, etc.). Regarding collision, the location of the collision point and the name of the collision object are displayed, and the collision point and collision object are displayed synchronously in the environment planning on the right. Regarding safety distance limits, too close points and too close objects that do not meet the safety distance limits will be displayed, and too close points and too close objects will be displayed in the environment planning on the right. Regarding kinematics no solution, basic error information will be displayed, and the end target pose will be displayed in the environment planning on the right to check whether it is reachable. Regarding intelligent planning failure, one possible situation is that the solution has timed out, and the timeout time used for the current solution will be displayed.
[0054] Figure 1(b) is a schematic diagram of the interface of node information in an embodiment of the present application. As shown in Figure 1(b), for each point configured by the user, the type, name, and relative relationship of the point will be displayed, and all candidate locations will be displayed in a table. After checking some point selections, the paths can be filtered and screened. The paths with higher matching degree with the checked options will be ranked higher (corresponding to higher priority).
[0055] Figure 1(c) is a schematic diagram of the interface of the path information in the embodiment of the present application. As shown in Figure 1(c), each path will display the path name, the stage of solution failure, and the solution result. The solution stage is displayed in a progress bar-like manner to facilitate intuitive perception of the location of solution failure. There are three ways to sort the path table, one is to sort according to the mvf solution order, one is to sort according to the stage of solution failure (the later the failure, the higher the ranking, and the successful solution ranks the highest), and one is to filter the path according to the selected point in the node table. You can select the path by clicking a path with the mouse or sliding over a path with the mouse pressed, and update the progress bar on the right and the path details label above.
[0056] Figure 1(d) is a schematic diagram of the progress bar of the path operation in the embodiment of the present application. As shown in Figure 1(d), the large dot represents the end point of each segment of the trajectory, and the small dot represents the interpolation point on the trajectory. It should be noted that because each point corresponds one-to-one with the point when the MVF is solved, each large dot and the small dot immediately following it represent the same position. The square box represents the current running position. In order to highlight the failed points, other colors can be used to distinguish them from normal points.
[0057] In this embodiment, the motion path generated by the robot arm during the solution process is displayed in a visual manner, and the reasons why the motion path failed to be planned, the location where the collision occurred, etc. are clearly displayed, so that the user can correct the motion path, improve the efficiency of path planning, and ensure that the robot arm can successfully reach the preset target position and complete the collision-free operation.
[0058] Figure 2 A schematic diagram of the structure of a path error detection system provided in an embodiment of the present application is shown in FIG. Figure 2 As shown, the path detection system 200 in this embodiment may include: a processing unit 210, an input unit 220, and a display unit 230. The input unit 220 is used to receive operation instruction information input by a user and transmit it to the processing unit 210, wherein: the processing unit 210 is used to generate an initial path cluster according to the robot arm points configured by the user, and to perform path expansion based on the initial path cluster until at least one motion path that meets the preset conditions is generated, and the preset conditions refer to: the robot arm runs to the target position without collision; the display unit 230 is used to display the motion path that does not meet the preset conditions generated during the path expansion process, and prompt the reasons for the failure of the motion path planning, wherein the reasons for the failure of the motion path planning include: the existence of a collision and the target position is unreachable.
[0059] In this embodiment, the processing unit 210 includes: a path cluster generation unit 211 and a preset path importing unit 212. The path cluster generation unit 211 is used to select a path planning control in a pre-built simulation interface, and generate an initial path cluster in series based on the robot arm points input by the user, or import a preset path based on the on-site layout; the preset path importing unit 212 is used to automatically modify the preset path according to the user's adjustment result of the robot arm posture in the simulation interface to generate an initial path cluster.
[0060] Exemplarily, as shown in FIG. 1( a ), the user can use the mouse to drag the position of the robot arm in the 3D interface of the environment planning, and the movement point of the robot arm will be formed according to the dragging result of the user.
[0061] In this embodiment, all possible positions of each robot point in the initial path cluster are enumerated respectively until at least one motion path without collision at all points is obtained. In this embodiment, the preset condition means that the robot moves to the target position without collision.
[0062] In this embodiment, the reasons for the failure of motion path planning include: collision, unreachable target position, unsolvable path, planning timeout, etc.
[0063] In this embodiment, an initial path cluster is generated according to the robot arm points configured by the user; the path is extended based on the initial path cluster until at least one motion path that meets the preset conditions is generated; wherein the preset conditions refer to: the robot arm runs to the target position without collision; the motion paths generated during the path extension process that do not meet the preset conditions are displayed, and the reasons for the failure of motion path planning are prompted, wherein the reasons for the failure of motion path planning include: the existence of collisions and the target position is unreachable. In this way, the motion paths generated by the robot arm during the solution process can be displayed in a visual manner, and the reasons for the failure of the motion paths that failed to be planned, the locations where collisions occurred, etc. are clearly displayed, so that the user can correct the motion paths, improve the efficiency of path planning, and ensure that the robot arm can successfully reach the preset target position and complete the collision-free operation.
[0064] Figure 3 A schematic diagram of another path error detection system provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, the path error detection system 200 in this embodiment may include: a processing unit 210, an input unit 220, and a display unit 230, wherein the display unit 230 is used to display the motion paths that do not meet the preset conditions generated during the path expansion process, and prompt the reasons for the failure of the motion path planning, and the reasons for the failure of the motion path planning include: the existence of a collision and the target position is unreachable. The display unit 230 includes a first display area 231 and a second display area 232. In the first display area 231, a number of motion paths that do not meet the preset conditions are displayed; the input unit 220 is used to receive a user's trigger operation for any motion path in the first area 231; in the second display area 232, the current position of each point of the corresponding motion path is displayed in a graphical manner, and the reason for the failure of the motion path planning is prompted.
[0065] Exemplarily, the display unit 230 also includes a third display area 233; the processing unit 210 also includes: a point adjustment unit 213; an input unit 220, for receiving operation instruction information input by a user; and displaying the complete process of the robot arm running according to the selected motion path in the third display area 233; the point adjustment unit 213 is used to compare whether the abnormal situation occurring during the operation of the robot arm is consistent with the prompted failure cause. If so, the point of the motion path is adjusted according to the prompted failure cause until a motion path that meets the preset conditions is obtained.
[0066] In this embodiment, as shown in FIG. 1( a ), the complete process of the robot arm moving along the selected motion path can be dynamically demonstrated in the 3D interface of the environment planning, and a progress bar of the motion path can also be displayed.
[0067] In this embodiment, sometimes it may not be possible to obtain a motion path that meets the preset conditions. In this case, the user needs to select a path from the paths where the motion planning failed to make adjustments. According to the prompt failure reason, find the point where the problem occurs and adjust the point until the robot arm can reach the target posture without collision.
[0068] In an optional implementation, the input unit 220 is further used to receive perspective indication information input by the user; the working environment of the robot arm is displayed in a wireframe manner in the third display area 233; wherein the working environment of the robot arm includes: any one or any combination of the material frame, the conveying mechanism, the robot arm, the obstacle, and the tray. With such a display method, the situation of each point can be more intuitively seen.
[0069] In this embodiment, all planned motion paths can be run in the simulation interface to intuitively display the motion process of the robot arm, so that users can find the points where problems occur and make targeted adjustments to the motion path based on the failure reasons prompted. In addition, when there is no solution to the motion path, the problem can be quickly found out by adjusting the problem points, and a motion path that meets the preset conditions can be obtained.
[0070] Figure 4 A schematic diagram of the structure of another path error detection system provided in an embodiment of the present application is shown in FIG. Figure 4 As shown, the path detection system 200 in this embodiment may include: a processing unit 210, an input unit 220, a display unit 230, and a preview unit 240, wherein the preview unit 240 is used to preview the motion path that meets the preset conditions to detect whether the robot arm can perform collision-free operations.
[0071] In this embodiment, the generated motion path that meets the preset conditions can be previewed in the simulation interface to detect whether the robot arm can operate without collision.
[0072] In this embodiment, after obtaining a motion path that meets the preset conditions, it can be previewed in a simulation interface in an intuitive manner to demonstrate the complete process of the robot arm moving along the motion path, so as to detect problems in a timely manner and ensure that the obtained motion path can truly achieve collision-free.
[0073] Figure 5 A schematic diagram of the structure of another path error detection system provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the path detection system 200 in this embodiment may include: a processing unit 210, an input unit 220, a display unit 230, a preview unit 240, and a path adjustment unit 250, wherein: the path adjustment unit 250 is used to adjust the corresponding motion path when a collision occurs during the preview process, until the robot arm can complete the collision-free operation according to the adjusted motion path.
[0074] Illustratively, the path adjustment unit 250 in this embodiment is also used to mark the limit points where the robot arm approaches the safety distance, and adjust the limit points so that the robot arm always maintains the safety distance during operation.
[0075] In this embodiment, some points that are close to the limit safety distance can also be manually adjusted to make the robot arm safer when moving.
[0076] The embodiment of the present application also provides a robot, including: a visual system, a robot body, a drive system and a mechanical arm. The visual system can be set on the robot body or the mechanical arm to capture the image of the robot's working environment. The processor in the robot body or the computer connected to the robot body in remote communication is loaded with Figure 2 to Figure 5 The path error detection system shown is used to generate an initial path cluster according to the robot arm points configured by the user, and to expand the path based on the initial path cluster until at least one motion path that meets the preset conditions is generated. The preset conditions are: the robot arm moves to the target position without collision; the robot's robot arm moves according to the generated motion path to perform various work tasks.
[0077] The present application also provides a path error detection method, which may include the following steps:
[0078] Step S1: Generate an initial path cluster according to the robot arm points configured by the user.
[0079] In this embodiment, a path planning control can be selected in a pre-built simulation interface, and an initial path cluster can be generated in series based on the robot arm points input by the user, or a preset path can be imported based on the on-site layout. Based on the user's adjustment results of the robot arm's posture in the simulation interface, the preset path is automatically modified to generate an initial path cluster.
[0080] Exemplarily, as shown in FIG. 1( a ), the user can use the mouse to drag the position of the robot arm in the 3D interface of the environment planning, and the movement point of the robot arm will be formed according to the dragging result of the user.
[0081] Step S2: perform path expansion based on the initial path cluster until at least one motion path that meets preset conditions is generated.
[0082] In this embodiment, all possible positions of each robot point in the initial path cluster are enumerated respectively until at least one motion path without collision at all points is obtained. In this embodiment, the preset condition means that the robot moves to the target position without collision.
[0083] Step S3: display the motion paths generated during the path extension process that do not meet the preset conditions, and prompt the reasons for the failure of motion path planning.
[0084] In this embodiment, the reasons for the failure of motion path planning include: collision, unreachable target position, unsolvable path, planning timeout, etc.
[0085] Exemplarily, several motion paths that do not meet preset conditions can be displayed in the first display area of the simulation interface; when a trigger operation is received from the user in the first display area for any motion path, the current position of each point on the corresponding motion path is displayed graphically in the second display area, and the reason for the failure of motion path planning is prompted.
[0086] In this embodiment, an initial path cluster is generated according to the robot arm points configured by the user; the path is extended based on the initial path cluster until at least one motion path that meets the preset conditions is generated; wherein the preset conditions refer to: the robot arm runs to the target position without collision; the motion paths generated during the path extension process that do not meet the preset conditions are displayed, and the reasons for the failure of motion path planning are prompted, wherein the reasons for the failure of motion path planning include: the existence of collisions and the target position is unreachable. In this way, the motion paths generated by the robot arm during the solution process can be displayed in a visual manner, and the reasons for the failure of the motion paths that failed to be planned, the locations where collisions occurred, etc. are clearly displayed, so that the user can correct the motion paths, improve the efficiency of path planning, and ensure that the robot arm can successfully reach the preset target position and complete the collision-free operation.
[0087] Optionally, the above method may further include:
[0088] Step S4: When the operation instruction information input by the user is received, the complete process of the robot arm running according to the selected motion path is displayed in the third display area.
[0089] In this embodiment, as shown in FIG. 1( a ), the complete process of the robot arm moving along the selected motion path can be dynamically demonstrated in the 3D interface of the environment planning, and a progress bar of the motion path can also be displayed.
[0090] Step S5, comparing the abnormal situation occurring during the operation of the robot arm with the prompted failure cause to see if they are consistent. If they are consistent, adjusting the points of the motion path according to the prompted failure cause until a motion path that meets the preset conditions is obtained.
[0091] In this embodiment, sometimes it may not be possible to obtain a motion path that meets the preset conditions. In this case, the user needs to select a path from the paths where the motion planning failed to make adjustments. According to the prompt failure reason, find the point where the problem occurs and adjust the point until the robot arm can reach the target posture without collision.
[0092] In an optional implementation, when the perspective indication information input by the user is received, the working environment of the robot arm is displayed in a wireframe manner in the third display area; wherein the working environment of the robot arm includes: any one or any combination of: a material frame, a conveying mechanism, a robot arm, an obstacle, and a tray. With such a display method, the situation of each point can be more intuitively seen.
[0093] In this embodiment, all planned motion paths can be run in the simulation interface to intuitively display the motion process of the robot arm, so that users can find the points where problems occur and make targeted adjustments to the motion path based on the failure reasons prompted. In addition, when there is no solution to the motion path, the problem can be quickly found out by adjusting the problem points, and a motion path that meets the preset conditions can be obtained.
[0094] Step S6: Preview the motion path that meets the preset conditions to detect whether the robot arm can perform collision-free operation.
[0095] In this embodiment, the generated motion path that meets the preset conditions can be previewed in the simulation interface to detect whether the robot arm can operate without collision.
[0096] Step S7: If the robot arm collides during the preview process, the corresponding motion path is adjusted until the robot arm can complete the collision-free operation according to the adjusted motion path.
[0097] In this embodiment, if a collision is found during the rehearsal, the point where the problem occurs is found, the motion path is adjusted, and then the operation is performed again until the robot arm can complete the operation without collision.
[0098] In this embodiment, after obtaining a motion path that meets the preset conditions, a preview can be performed in a simulation interface in an intuitive manner to demonstrate the complete process of the robot arm moving along the motion path, and problems can be promptly checked to ensure that the obtained motion path can truly achieve collision-free. In addition, for some points close to the limit safety distance, these points can also be manually adjusted to make the robot arm safer when moving.
[0099] Figure 6 This is a schematic diagram of the structure of a path error detection device provided in an embodiment of the present application. The path error detection device 600 in this embodiment may include: a processor 601 and a memory 602.
[0100] The memory 602 is used to store programs. The memory 602 may include volatile memory, such as random-access memory (RAM), such as static random-access memory (SRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), etc. The memory may also include non-volatile memory, such as flash memory. The memory 602 is used to store computer programs (such as applications, functional modules, etc. that implement the above method), computer instructions, etc. The above computer programs, computer instructions, etc. may be partitioned and stored in one or more memories 602. And the above computer programs, computer instructions, data, etc. may be called by the processor 601.
[0101] The above-mentioned computer programs, computer instructions, etc. may be stored in partitions in one or more memories 602 . And the above-mentioned computer programs, computer instructions, data, etc. may be called by the processor 601 .
[0102] The processor 601 is used to execute the computer program stored in the memory 602 to implement each step of the method involved in the above embodiment.
[0103] For details, please refer to the relevant description in the previous method embodiment.
[0104] The processor 601 and the memory 602 may be independent structures or integrated structures. When the processor 601 and the memory 602 are independent structures, the memory 602 and the processor 601 may be coupled and connected via a bus 603 .
[0105] The workpiece contour marking device 800 of this embodiment can perform Figures 2 to 5 For the technical solution in the method shown, its specific implementation process and technical principles can be found in Figures 2 to 5 The relevant descriptions in the method shown will not be repeated here.
[0106] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as systems, methods or program products. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits", "modules" or "platforms".
[0107] In addition, an embodiment of the present application further provides a computer-readable storage medium, in which computer-executable instructions are stored. When at least one processor of a user device executes the computer-executable instructions, the user device executes the above-mentioned various possible methods.
[0108] Among them, computer-readable media include computer storage media and communication media, wherein the communication media include any media that facilitates the transmission of computer programs from one place to another. The storage medium can be any available medium that can be accessed by a general or special-purpose computer. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a user device. Of course, the processor and the storage medium can also be present in a communication device as discrete components.
[0109] The present application also provides a program product, which includes a computer program. The computer program is stored in a readable storage medium. At least one processor of the server can read the computer program from the readable storage medium. At least one processor executes the computer program so that the server implements any method of the above-mentioned embodiments of the present invention.
[0110] Those skilled in the art can understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiments; and the aforementioned storage medium includes: read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc. Various media that can store program codes.
[0111] Figure 7 Schematic diagram of the structure of a computer-readable storage medium in an embodiment of the present invention. Figure 7 As shown, a program product 700 for implementing the above method according to an embodiment of the present invention is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.
[0112] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0113] Computer readable storage media may include data signals propagated in baseband or as part of a carrier wave, wherein readable program codes are carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program codes contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.
[0114] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).
[0115] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same and similar parts between the embodiments can be referred to each other. The above description of the disclosed embodiments enables professionals and technicians in this field to implement or use the present invention. Various modifications to these embodiments will be obvious to professionals and technicians in this field, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown in this article, but will comply with the widest range consistent with the principles and novel features disclosed herein.
[0116] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art may make various modifications or variations within the scope of the claims, which do not affect the essence of the present invention.
Claims
1. A path error detection system, characterized in that: include: A processing unit, an input unit, and a display unit, wherein the input unit is used to receive operation instruction information input by a user and transmit it to the processing unit, wherein: The processing unit is used to generate an initial path cluster according to the robot arm point position configured by the user, and to perform path expansion based on the initial path cluster until at least one motion path that meets a preset condition is generated, wherein the preset condition refers to: the robot arm moves to a target position without collision; The display unit is used to display the motion path generated during the path extension process that does not meet the preset conditions, and prompt the reasons for the failure of motion path planning, wherein the reasons for the failure of motion path planning include: collision and unreachable target position.
2. The path error detection system according to claim 1, characterized in that: The processing unit includes: a path cluster generating unit and a preset path importing unit. The path cluster generation unit is used to select a path planning control in a pre-built simulation interface, and to generate an initial path cluster in series according to the robot arm points input by the user; The preset path importing unit is used to import the preset path according to the on-site layout; The path cluster generation unit is also used to automatically modify the preset path according to the adjustment result of the robot arm posture by the user in the simulation interface to generate an initial path cluster.
3. The path error detection system according to claim 1, characterized in that: The processing unit further includes: a path extension unit, which is used to enumerate all possible positions of each robot arm point in the initial path cluster respectively until at least one motion path with no collision at all points is obtained.
4. The path error detection system according to claim 1, characterized in that: The display unit includes a first display area and a second display area, and in the first display area, a plurality of motion paths that do not meet the preset conditions are displayed; The input unit is used to receive a trigger operation of a user on any motion path in the first area; In the second display area, the current position of each point of the corresponding motion path is displayed in a graphical manner, and the reason for the failure of motion path planning is prompted.
5. The path error detection system according to claim 4, characterized in that: The display unit further includes a third display area; The processing unit further includes: a point adjustment unit; The input unit is used to receive operation instruction information input by the user; Displaying the complete process of the robot arm running along the selected motion path in the third display area; The point adjustment unit is used to compare whether the abnormal situation occurring during the operation of the robot arm is consistent with the prompted failure cause. If consistent, the point position of the motion path is adjusted according to the prompted failure cause until a motion path that meets the preset conditions is obtained.
6. The path error detection system according to claim 4, characterized in that: The input unit is further used to receive perspective indication information input by a user; The working environment of the robot arm is displayed in a wireframe manner in the third display area; wherein the working environment of the robot arm includes: any one of a material frame, a conveying mechanism, a robot arm, an obstacle, and a tray, or any combination of multiple items.
7. The path error detection system according to any one of claims 1 to 6, characterized in that: Also includes: The preview unit is used to preview the motion path that meets the preset conditions to detect whether the robot arm can perform collision-free operation.
8. The path error detection system according to any one of claims 1 to 6, characterized in that: Also includes: The path adjustment unit is used to adjust the corresponding motion path when a collision occurs during the preview process until the robot arm can complete the collision-free operation according to the adjusted motion path.
9. The path error detection system according to claim 8, characterized in that: The path adjustment unit is also used to mark the limit point where the robot arm approaches the safe distance, and adjust the limit point so that the robot arm always maintains the safe distance during operation.
10. A robot, characterized in that: include: A visual system, a robot body, a drive system and a robotic arm, wherein the visual system can be arranged on the robot body or the robotic arm and is used to capture images of the robot's working environment, and a processor in the robot body or a computer remotely connected to the robot body is loaded with a path error detection system as described in any one of claims 1 to 9; The system is used to generate an initial path cluster according to the robot arm point position configured by the user, and to perform path expansion based on the initial path cluster until at least one motion path that meets a preset condition is generated, wherein the preset condition refers to: the robot arm moves to a target position without collision; The robot's arm moves according to the generated motion path to perform various work tasks.