Methods, devices, storage media, and equipment for acquiring the movement path of a robotic arm

By acquiring the robot's real-time position and historical sparse route map, the shortest activity route of the robotic arm is calculated and updated, solving the problem of invalid paths caused by environmental changes and improving the task execution efficiency of the robotic arm.

CN118322182BActive Publication Date: 2025-10-28GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310034980.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-10
Publication Date
2025-10-28
Estimated Expiration
2043-01-10

AI Technical Summary

Technical Problem

When the robot's environment changes at the task location, the robot arm's historical activity path may become invalid, making it unable to perform the task.

Method used

By acquiring the robot's real-time location and historical sparse route map, the shortest activity route is calculated, collision detection is performed, and the route is updated to avoid environmental interference.

Benefits of technology

This improved the efficiency of acquiring the movement path of the robotic arm in periodic tasks, and reduced the amount of data processing and time consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118322182B_ABST
    Figure CN118322182B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, storage medium, and device for acquiring the activity path of a robotic arm. The method includes: acquiring a corresponding historical sparse route map based on the robot's real-time position; obtaining the shortest activity path of the robotic arm from the historical sparse route map based on the robot's initial and final states; performing collision detection on the shortest activity path; if the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, updating the shortest activity path based on the location of the interference and the historical sparse route map, and determining the updated shortest activity path as the activity path of the robotic arm. This application can save human resources and improve the efficiency of acquiring the activity path of the robotic arm when the robot is performing repetitive tasks periodically.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of activity planning technology for robotic arms, specifically to a method, apparatus, storage medium, and device for obtaining the activity path of a robotic arm. Background Art

[0002] When robots are used to perform repetitive tasks in large-scale environments, they need to execute tasks periodically. Specifically, after the robot arrives at the designated task location, its robotic arm periodically moves according to historical activity paths to perform the tasks corresponding to that location. However, if the robot's structure or the environment of the task location changes, such as the addition of obstacles, the historical activity paths may become invalid, preventing the robotic arm from moving along those paths and thus rendering it unable to perform the task. Summary of the Invention

[0003] The purpose of this application is to overcome the shortcomings and deficiencies in the prior art and provide a method, apparatus, storage medium and device for obtaining the movement path of a robotic arm, which enables the robotic arm to perform tasks and improves the efficiency of obtaining the movement path of the robotic arm.

[0004] A first aspect of this application provides a method for obtaining the movement path of a robotic arm, comprising:

[0005] Based on the robot's real-time location, obtain the corresponding historical sparse route map;

[0006] Based on the initial and final states of the robot's robotic arm, the shortest movement path of the robotic arm is obtained from the historical sparse route map.

[0007] Collision detection is performed on the shortest activity path. If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity path is updated according to the location of the interference and the historical sparse route map. The updated shortest activity path is then determined as the activity path of the robotic arm.

[0008] A second aspect of one embodiment of this application provides a device for obtaining the movement path of a robotic arm, comprising:

[0009] The historical sparse route map module is used to obtain the corresponding historical sparse route map based on the robot's real-time location.

[0010] The shortest activity path module is used to obtain the shortest activity path of the robot arm from the historical sparse route map based on the initial and final states of the robot arm.

[0011] The collision detection module is used to perform collision detection on the shortest activity path. If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity path is updated according to the location of the interference and the historical sparse route map, and the updated shortest activity path is determined as the activity path of the robotic arm.

[0012] An embodiment of this application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the robotic arm's movement path acquisition method as described above.

[0013] An embodiment of this application also provides an electronic device, including a storage device, a processor, and a computer program stored in the storage device and executable by the processor, wherein the processor executes the computer program to implement the steps of the robotic arm activity path acquisition method as described above.

[0014] Compared to existing technologies, this application obtains a corresponding historical sparse route map based on the robot's real-time position. Then, based on the robot's initial and final states, it obtains the shortest activity path of the robotic arm. If the collision detection result of the shortest activity path indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity path is updated based on the location of the interference and the historical sparse route map, thereby obtaining the activity path of the robotic arm. This allows the robotic arm to perform its tasks smoothly. Furthermore, the activity path of the robotic arm is updated based on the previous shortest activity path, the historical sparse route map, and the real-time environmental interference situation. Therefore, it is not necessary to regenerate the sparse route map and plan the path based on the real-time environment, which reduces the amount of data processing and can greatly reduce the time spent obtaining the activity path of the robotic arm, thereby improving the efficiency of obtaining the activity path of the robotic arm when the robot is performing periodic repetitive operations.

[0015] To provide a clearer understanding of this application, the specific embodiments of this application will be described below in conjunction with the accompanying drawings. Attached Figure Description

[0016] Figure 1 This is a schematic diagram illustrating an application scenario of a robotic arm activity path acquisition method according to an embodiment of this application.

[0017] Figure 2 This is a flowchart of a method for obtaining the movement path of a robotic arm according to an embodiment of this application.

[0018] Figure 3 This is a schematic diagram of the structure of four points for constructing a sparse route map according to an embodiment of this application.

[0019] Figure 4 This is a schematic diagram of four processes for updating the nodes of a sparse roadmap of history, according to one embodiment of this application.

[0020] Figure 5 This is a schematic diagram of the module connections of a robotic arm activity path acquisition device according to an embodiment of this application.

[0021] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application.

[0022] 10. Robotic arm; 200. Robotic arm movement route acquisition device; 201. Historical sparse route map module; 202. Shortest movement route module; 203. Collision detection module; 300. Electronic device; 301. Processor; 302. Memory; 303. Display; 304. Network interface; 305. User interface; 306. Communication bus. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0024] It should be understood that the described embodiments are merely some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are within the scope of protection of the embodiments of this application.

[0025] In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. In the description of this application, it should be understood that the terms "first," "second," "third," etc., are used only to distinguish similar objects and are not necessarily used to describe a specific order or sequence, nor should they be construed as indicating or implying relative importance. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances. The singular forms "a," "the," and "the" used in this application and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. The word "if" as used herein can be interpreted as "when," "when," or "in response to determination."

[0026] Furthermore, in the description of this application, unless otherwise stated, "multiple" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0027] Please see Figure 1This is a schematic diagram illustrating an application scenario of the robotic arm's activity path acquisition method according to an embodiment of this application. The robotic arm 10's activity path acquisition method according to this embodiment can be used in repetitive tasks within various task scenarios. In this application scenario, the robot moves to the corresponding task location and then drives its robotic arm 10 to move according to historical activity paths, enabling the robotic arm 10 to reach the desired pose indicated by the activity path to perform the task. For example, the robot's task might be to take a picture, clean, or pick up and place objects at a certain spatial location within the task location, requiring the robotic arm 10 to move to the desired pose to achieve this.

[0028] The robotic arm 10 includes multiple joints, which are devices that connect two components. The connection is not fixed but allows for finite relative movement. Optionally, the movement can include rotation and translation. The robotic arm 10 achieves its own movement by controlling the movement of its individual joints.

[0029] The robotic arm 10 also includes one or more processors; the processors can be used to execute the activity path acquisition method of the robotic arm of this application, control the movement of each joint, and thus drive the robotic arm 10 to move.

[0030] Optionally, the processor can be built into the robotic arm 10, forming a whole with the robotic arm 10; alternatively, the processor can be externally placed within the robotic arm 10 to independently control the movement of the robotic arm 10. Optionally, the processor can also only control the movement of each joint. That is, the method for obtaining the movement path of the robotic arm in this embodiment can also be executed by other processing centers connected to the processor, which then transmits the planned obstacle avoidance path to the processor for further control of the movement of each joint.

[0031] The following will be combined with the appendix Figures 2 to 4 This application provides a detailed description of the method for obtaining the movement path of a robotic arm according to the embodiments of this application.

[0032] Please see Figure 2 This is a flowchart of a method for obtaining the movement path of a robotic arm according to an embodiment of this application. The first embodiment of this application provides a method for obtaining the movement path of a robotic arm, including:

[0033] S1: Obtain the corresponding historical sparse route map based on the robot's real-time location.

[0034] Real-time location refers to the location of the robot's chassis at the task site.

[0035] Historical sparse roadmaps refer to sparse roadmaps pre-built at the corresponding task locations, and these roadmaps are updated based on the environmental information involved when the robot last performed a task at the task location.

[0036] Alternatively, methods for constructing historical sparse roadmaps include:

[0037] S101: Discretely sample the joint space of the robot's robotic arm to obtain several candidate path nodes.

[0038] A robotic arm can include n joints, where n is an integer greater than or equal to 1, and each joint has one degree of freedom. The joint states of the robotic arm are determined by the joint states of the n joints, which can be specifically represented as n-dimensional joint vector parameters. The space formed by all the joint vector parameters is called the joint space of the robotic arm.

[0039] The joint vector parameters can include joint angles. That is, the joint angles of each joint are taken as the joint states of each joint, and are recorded as a set of joint states. A set of joint states can determine the end-effector pose of the robotic arm. All possible combinations of joint angles of each joint, that is, all combinations of joint states, constitute the joint space of the robotic arm.

[0040] For example, for a robotic arm with n=6 joints, the joint states can be determined by the combination of joint angles of the 6 joints. This combination of joint angles can be represented by a vector J = (j1, j2, j3, j4, j5, j6), where j1 is the joint angle of the 1st joint, j2 is the joint angle of the 2nd joint, j3 is the joint angle of the 3rd joint, j4 is the joint angle of the 4th joint, j5 is the joint angle of the 5th joint, and j6 is the joint angle of the 6th joint. It can be understood that J = (j1, j2, j3, j4, j5, j6) determines a set of joint states of the robotic arm, and all possible combinations of these 6 joint angles constitute the joint space of the robotic arm.

[0041] It is understood that the space formed by all joint vector parameters in the embodiments of this application can be all possible combinations of joint angles of each joint; and all possible combinations of joint angles of each joint can correspond to multiple state nodes, with each state node indicating a set of joint states and also indicating an end-effector pose of the robotic arm. In an optional embodiment, discrete sampling of the joint space of the robotic arm to obtain several candidate path nodes can be performed by: discretely sampling all possible combinations of joint angles of each joint, that is, discretely sampling the corresponding multiple state nodes, and then using the points corresponding to the discrete sampling as several candidate path nodes.

[0042] Step S102: Construct a sparse route map based on several candidate path nodes.

[0043] Optionally, a sparse route map can be constructed based on several candidate path nodes. This can be achieved using a sparse asymptotic optimization method or other sparse route construction methods.

[0044] The sparse asymptotic optimization method determines the optimal route map by considering the position of each sparse candidate path node and various connection structures. Specifically, the sparse asymptotic optimization method iterates through candidate path nodes one by one, and based on the already selected candidate paths and paths, determines whether to further select the current candidate path node and its corresponding path. Based on the selected candidate path nodes and their corresponding paths, a sparse route map is constructed. Constructing a sparse route map using the sparse asymptotic optimization method achieves completeness, sparsity, and asymptotic approximation of optimality, thereby further improving the efficiency and accuracy of obstacle avoidance path search.

[0045] Optionally, step S102, which involves constructing a sparse route map based on several candidate path nodes, includes:

[0046] Step S1021: Initialize the route map and traverse each candidate path node.

[0047] For an initial route map G S (V S E S ), where V S This represents the set of all nodes in the graph, where each node represents a set of joint states of the robotic arm, E. S Let represent the set of all edges, i.e., paths. d(q1,q2) represents the distance between nodes q1 and q2, and L(q1,q2) represents the local path from q1 to q2. In this embodiment, local paths are identified by straight lines. To ensure map sparsity, an observation distance Δ is set for each path node. The area within Δ is considered the node's visible area. It can be understood that the node's observation distance is determined by sparsity. Let C... free For free space, to satisfy The state of the robotic arm corresponding to node q does not interfere with the obstacle.

[0048] Step S1022: If there is no point in the route map whose distance to the current candidate path node is less than the observation distance of the path node, then the current candidate path node is added to the route map as a path node.

[0049] Specifically, Figure 3 As shown in (a), for the current candidate path node q, the search point set is performed on the route graph GS. satisfy: L(q,v)∈C free And d(q,v) < Δ. In this case, if W = Φ, then the current candidate path node q is an isolated point, and the current candidate path node q is added to V. S .

[0050] Step S1023: If in the route map there are two points that are not in the same connected region and the distance between them and the current candidate path node is less than the observation distance of the path node, and there is a connecting path that connects the current candidate path node with the two points that are not in the same connected region, then the current candidate path node is taken as the path node, and the connecting path between the current candidate path node and the two points that are not in the same connected region is taken as the route path and added to the route map.

[0051] Figure 3 As shown in (b), for the current candidate path node q, if the corresponding set W contains If v and v′ are not in the same connected region (v and v′ have no direct or indirect connection), then the current candidate path node q is added to V as a connection point. S Construct straight-line connections between nodes q, v, and v′ (corresponding to all stored nodes that are not in the same connected region) and add them to E. S middle.

[0052] Step S1024: In the route map, for the two points closest to the current candidate path node, if the two points are in the same connected region, the distances to the current candidate path node are both less than the observation distance of the path node, and the connection path between the two points is valid, and the connection path between the two points has not been added to the route map, then the connection path between the two points is added to the route map as a route path; if the two points are not in the same connected region, but there is a connection path connecting the current candidate path node to the two points, then the candidate path node is added to the route map as a path node, and the connection path between the candidate path node and the two points is added to the route map as a route path.

[0053] The connection path between the two points effectively indicates that the two points do not interfere with each other and are not joint-limited.

[0054] Figure 3 As shown in (c), the conditions for constructing the existing node set W are relaxed, and let be... satisfy: d(q,n)<Δ. Select the two nodes v and v′ closest to node q from N, if L(v,v′)∈C. free and Then add L(v,v′) to E S Conversely, if L(q,v)∈C free And L(q,v′)∈C free Then, the current candidate path node q is set as the interface point, and the current candidate path node q is added to V. S Construct paths L(q,v) and L(q,v′) for nodes q, v, and v′ and add them to E. S middle.

[0055] Step S1025: If in the roadmap, if the current candidate path node connects two points that do not have a direct connection, or the current candidate path node realizes a better connection between the two points, then take the current candidate path node as a candidate path point, and take the connection path between the current candidate path node and the two points that do not have a direct connection as the route path, and add it to the roadmap.

[0056] Optionally, a better connection is used to indicate that there is a shorter path between two points.

[0057] Figure 3 (as shown in (d), V S the visual areas of the path nodes v and v′ and v″ in it have intersections, and but there is no direct connection between v′ and v″. If the current candidate path node can realize a direct connection or a better connection between the path nodes v′ and v″, then take the current candidate path node as an optimization point, add the current candidate path node to V S , and take the direct connection or better connection path between the current candidate path node and the path nodes v′ and v″ as the route path, and add it to E S .

[0058] Step S1026: Obtain a sparse roadmap according to the path nodes and route paths in the roadmap.

[0059] In the embodiment of the present application, a sparse roadmap is constructed by constructing four ways of introducing path nodes. Thus, when adding each new current candidate path node, the relationship between the new current candidate path node and the previously added candidate path nodes is fully considered to determine whether to introduce the current candidate path node to construct the sparse roadmap, thereby improving the completeness, sparsity, and asymptotic near-optimality of the sparse roadmap.

[0060] Please refer to Figure 4 (a)- Figure 4 (d). Preferably, when the historical sparse roadmap obtained in Step S1 is empty, after constructing the sparse roadmap through Steps S101 and S102 (including Steps S1021 - S1026), interpolation processing is also performed on the pruned shortest active route to obtain multiple interpolation points on the shortest active route, and the interpolation points are used to update the historical sparse roadmap. Among them, the interpolation interval length is τ = f·Δ, where τ is the interpolation interval length, Δ is the node observation distance, and 1.0 < f < 2.0. Then the interpolation points are added to the historical sparse roadmap, as Figure 4As shown in (b), all interpolation points are added to the historical sparse route map as isolated points, located on the route corresponding to the shortest activity route in the historical sparse route map. Since the interpolation interval Δ < τ < 2Δ, the intermediate points between adjacent interpolation points also meet the requirements of connection points or interface points. Therefore, the intermediate points between adjacent interpolation points are also added to the historical sparse route map, as shown in (b). Figure 4 As shown in (c), the interpolation points and intermediate points are connected by straight lines in joint space to update the historical sparse roadmap. If an intermediate point added to the historical sparse roadmap partially overlaps with a historical node in the historical sparse roadmap, the corresponding intermediate point is retained, and the corresponding historical node is deleted, as shown in (c). Figure 4 As shown in (d).

[0061] S2: Based on the initial and final states of the robot's robotic arm, obtain the shortest path for the robotic arm from the historical sparse path map.

[0062] It is understood that the initial state of the robotic arm in this embodiment is a set of initial joint states of each joint of the robotic arm after the robot arrives at the task location, or a set of joint states of each joint of the robotic arm after the robotic arm has moved according to the previous activity route. The final state of the robotic arm in this embodiment is a set of joint states that each joint of the robotic arm must achieve when performing a task at the task location. For example, if the task at the task location requires the robotic arm to perform a one-time movement, the final state is a set of final joint states of each joint of the robotic arm during the one-time movement; if the task at the task location requires the robotic arm to perform continuous movement, the continuous movement can be broken down into multiple one-time movements, and the final state is a set of final joint states of each joint of the robotic arm when performing each one-time movement; wherein, continuous movement includes reciprocating movement.

[0063] Optionally, the steps for obtaining the shortest path of the robotic arm from a historical sparse path graph based on the initial and final states of the robotic arm include:

[0064] S201: In the historical sparse route map, the nearest neighbor route node of the starting state is determined as the starting route node, and the nearest neighbor route node of the terminal state is determined as the terminal route node.

[0065] Specifically, the joint space of the robotic arm can be transformed into a starting state node and a final state node. Then, the starting state node and the final state node are added to the historical scattering graph, and the nearest neighbor node of the starting state node and the nearest neighbor node of the final state node are searched to obtain the corresponding starting route node and the final route node.

[0066] S202: Search for the historical planned routes corresponding to the starting route node and the ending route node in the historical sparse roadmap. If the corresponding historical planned route is found, it is determined as the shortest active route. If the corresponding historical planned route is not found, use a preset route search algorithm to search for the shortest active route. For example, the A* algorithm can be used to search for the shortest route in the historical sparse roadmap.

[0067] Through steps S201 - S202, the shortest active route can be obtained in the historical sparse roadmap according to the starting state and the ending state of the robotic arm, so as to facilitate subsequent steps to perform collision detection and update on the shortest active route.

[0068] S3: Perform collision detection on the shortest active route. If the collision detection result indicates that the robotic arm is interfered by the environment during movement, update the shortest active route according to the position where the interference occurs and the historical sparse roadmap, and determine the updated shortest active route as the active route of the robotic arm.

[0069] Collision detection refers to the detection of whether the robotic arm collides with the environment when simulating the movement along the shortest active route according to the environmental data of the chassis height and the real - time position of the robot. During the simulation process, if the robotic arm collides with the environment when moving along the shortest active route, the corresponding collision detection result is that the robotic arm is interfered by the environment during movement; if the robotic arm does not collide with the environment when moving along the shortest active route, the corresponding collision detection result is that the robotic arm is not interfered by the environment during movement.

[0070] Preferably, before determining the updated shortest active route as the active route of the robotic arm, interpolation processing is also performed on the pruned shortest active route to obtain multiple interpolation points on the shortest active route, and the interpolation points are used to update the historical sparse roadmap. Among them, the interpolation interval length is τ = f·Δ, where τ is the interpolation interval length, Δ is the node observation distance, and 1.0 < f < 2.0. Then the interpolation points are added to the historical sparse roadmap. As shown in Figure 4 (b), all interpolation points will be added to the historical sparse roadmap in the form of isolated points and are located on the route corresponding to the historical sparse roadmap and the shortest active route. Since the interpolation interval Δ < τ < 2Δ, the intermediate points between adjacent interpolation points also meet the requirements of connection points or interface points. Therefore, the intermediate points between adjacent interpolation points are also added to the historical sparse roadmap. As shown in Figure 4 (c), and the interpolation points and intermediate points are linearly connected in the joint space to update the historical sparse roadmap. If there is partial overlap between the intermediate points added to the historical sparse roadmap and the historical nodes of the historical sparse roadmap, keep the corresponding intermediate points and delete the corresponding historical nodes. As shown in Figure 4 (d).

[0071] This application obtains the corresponding historical sparse route map based on the robot's real-time position, and then obtains the shortest activity route of the robot arm based on the robot's initial and final states. If the collision detection result of the shortest activity route indicates that the robot arm is interfered with by the environment during its activity, the shortest activity route is updated according to the location of the interference and the historical sparse route map, thus obtaining the robot arm's activity route. This eliminates the need for manual route planning, saving manpower. Furthermore, the robot arm's activity route is updated based on the previous shortest activity route, the historical sparse route map, and the real-time environmental interference situation. Therefore, it does not need to regenerate the sparse route map and plan the path according to the real-time environment, reducing the amount of data processing and significantly reducing the time spent obtaining the robot arm's activity route. This improves the efficiency of obtaining the robot arm's activity route when the robot is performing repetitive tasks periodically.

[0072] In a feasible embodiment, S3: performing collision detection on the shortest activity path; if the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, updating the shortest activity path based on the location of the interference and the historical sparse path map, and determining the updated shortest activity path as the activity path of the robotic arm, includes the following steps:

[0073] S31: Obtain environmental change data of the robotic arm based on its real-time location.

[0074] Environmental change data of the robotic arm can be acquired through several camera devices. These cameras are connected to the robot's processing chip to transmit the environmental change data. The cameras can be mounted on the robot or placed at various task locations. When placed at task locations, the cameras are connected to the local area network (LAN) of that location. When the robot arrives at a task location, it can access the LAN via a wireless network module to acquire environmental change data wirelessly.

[0075] S32: Perform collision detection on the shortest activity route based on environmental change data. If the collision detection result indicates that the robot arm is interfered with by the environment during its activity, update the shortest activity route based on environmental change data and historical sparse route map.

[0076] In this embodiment, when the collision detection result indicates that the robotic arm's activity is subject to environmental interference, the shortest activity route is updated based on environmental change information and historical sparse route maps. This reduces the need to modify the robotic arm's activity route, decreases the amount of data processing, and allows for the faster acquisition of new shortest activity routes.

[0077] In a feasible embodiment, the shortest activity route includes multiple route nodes and route edges. S32: The step of performing collision detection on the shortest activity route based on environmental change data includes:

[0078] Based on environmental change data, single collision detection is performed on the nodes of the shortest activity route, and continuous collision detection is performed on the edges of the shortest activity route.

[0079] Among them, the route nodes in the shortest activity path are the state nodes that must be realized for the robotic arm to move along the shortest activity path.

[0080] Collision detection is a computational problem that detects the intersection of two or more objects. Single collision detection detects the intersection of a robotic arm with environmental objects as it moves towards its desired pose at a first target path node. If an intersection exists, the single collision detection result indicates that the robotic arm's movement is affected by environmental interference; otherwise, it indicates that the robotic arm's movement is unaffected by environmental interference. Continuous collision detection detects the intersection of a robotic arm with environmental objects as it moves along a target path edge from one desired pose at a second target path node to another. The detection process can involve treating the robotic arm's active area as an area object and detecting its intersection with environmental objects. If an intersection exists, the continuous collision detection result indicates that the robotic arm's movement is affected by environmental interference; otherwise, it indicates that the robotic arm's movement is unaffected by environmental interference.

[0081] In this embodiment, single collision detection is performed on the route nodes of the shortest activity path, and continuous collision detection is performed on the edges of the shortest activity path. This can effectively detect whether the robotic arm is affected by environmental change data when it moves along the shortest activity path.

[0082] In one feasible embodiment, the environmental change data includes relative change data between the environment and the robot caused by changes in the robot's chassis pose, and obstacle change data caused by changes in environmental obstacles.

[0083] Among them, the robot's chassis pose change includes the height, tilt, and rotation angle of the base plate. When the robot's chassis pose change occurs, it indicates that a relative change has occurred between the robot and the environment. The obstacle change in the environment refers to the change in obstacle data in the current environment relative to the obstacle data when the robot last acquired the historical sparse route map.

[0084] In this embodiment, considering that changes in the robot's chassis cause relative changes between the robotic arm and the environment, potentially leading to environmental interference during the robotic arm's movement, and that changes in environmental obstacles can also cause environmental interference, the relative changes in the environment caused by changes in the robot's chassis pose, as well as the obstacle changes caused by changes in environmental obstacles, are all considered as environmental change data. This provides more comprehensive environmental change data and improves the accuracy of collision detection for the shortest path.

[0085] In a feasible embodiment, step S3, if the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, updates the shortest activity path based on the location of the interference and the historical sparse route map, and determines the updated shortest activity path as the robotic arm's activity path, includes:

[0086] S33: If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity route is updated by the first thread and the second thread respectively, based on the location of the interference and the historical sparse route map; wherein, the first thread adopts a path optimization algorithm and the second thread adopts a route search algorithm.

[0087] Optionally, the first thread can use a gradient-based trajectory optimization algorithm, such as the CHOMP algorithm (covariant Hamiltonian optimization algorithm for motion planning), and the second thread can use an incremental construction method, such as the RRT_Connect algorithm.

[0088] S34: In the first thread and the second thread, when one thread updates and obtains the shortest activity route, the work of the other thread is stopped, and the updated shortest activity route is determined as the robot's activity route.

[0089] In this embodiment, the shortest path is updated using a dual-thread approach, and the fastest obtained shortest activity route is determined as the robot's activity route, which can further improve the efficiency of obtaining the shortest activity route.

[0090] In one feasible embodiment, the step of updating the shortest activity route using a path optimization algorithm in the first thread includes: inputting the shortest activity route and real-time environmental information into a covariant Hamiltonian optimization algorithm for motion planning, so as to optimize the shortest activity route according to the real-time environmental information and update it to obtain a shortest activity route that is not affected by environmental interference. The real-time environmental information includes both environmental change data and unchanged environmental data, which can prevent the updated shortest activity route from being affected by environmental interference from the real-time environment.

[0091] In this embodiment, since the covariant Hamiltonian optimization algorithm for motion planning can quickly pull the route trajectory out of collisions by reacting to the surrounding environment, it can obtain a route trajectory that is not affected by environmental interference. Therefore, the first thread can use the covariant Hamiltonian optimization algorithm to optimize and update the shortest activity route to obtain the shortest activity route that is not affected by environmental interference.

[0092] In one feasible embodiment, the shortest active route includes multiple route nodes and route edges for connecting the route nodes; the historical sparse route graph includes multiple route graph nodes and route graph edges; the step of updating the shortest active route through a second thread includes:

[0093] S331: In the shortest activity route, delete the route nodes and / or route edges corresponding to the interference positions affected by environmental interference to obtain the shortest activity route to be repaired.

[0094] S332: Repair the shortest active route to be repaired using the RRT_Connect algorithm to update the shortest active route.

[0095] In this embodiment, the RRT_Connect algorithm is used to repair the shortest active route after deleting route map nodes and edges, which can directly repair and obtain a complete shortest active route that is not affected by the environment.

[0096] Please see Figure 5 The second embodiment of this application provides a device for obtaining the movement path of a robotic arm, comprising:

[0097] The historical sparse route map module is used to obtain the corresponding historical sparse route map based on the robot's real-time location.

[0098] The shortest activity path module is used to obtain the shortest activity path of the robot arm from the historical sparse route map based on the robot's initial and final states.

[0099] The collision detection module is used to perform collision detection on the shortest activity path. If the collision detection result indicates that the robot arm is interfered with by the environment during its activity, the shortest activity path is updated according to the location of the interference and the historical sparse route map, and the updated shortest activity path is determined as the activity path of the robot arm.

[0100] Compared to existing technologies, this application obtains the corresponding historical sparse route map based on the robot's real-time position, and then obtains the shortest activity route of the robot arm based on the robot's initial and final states. If the collision detection result of the shortest activity route indicates that the robot arm is interfered with by the environment during its activity, the shortest activity route is updated based on the location of the interference and the historical sparse route map, thereby obtaining the robot arm's activity route. This eliminates the need for manual route planning, saving manpower. Furthermore, the robot arm's activity route is updated based on the previous shortest activity route, the historical sparse route map, and the real-time environmental interference situation. Therefore, it is not necessary to regenerate the sparse route map and plan the path based on the real-time environment, reducing the amount of data processing and significantly reducing the time spent obtaining the robot arm's activity route. This improves the efficiency of obtaining the robot arm's activity route when the robot is performing repetitive tasks.

[0101] In one feasible embodiment, the collision detection module includes:

[0102] The environmental change data acquisition module is used to acquire environmental change data of the robotic arm based on its real-time location.

[0103] The shortest activity route update module is used to perform collision detection on the shortest activity route based on environmental change data. If the collision detection result indicates that the robot arm is interfered with by the environment during its activity, the shortest activity route is updated based on environmental change information and historical sparse route maps.

[0104] In one feasible embodiment, the shortest activity route includes multiple route nodes and route edges. The collision detection module is used to: perform single collision detection on the route nodes of the shortest activity route based on the environmental change data, and perform continuous collision detection on the edges of the shortest activity route.

[0105] In one feasible embodiment, the environmental change data includes relative change data between the environment and the robot caused by changes in the robot's chassis pose, and obstacle change data caused by changes in environmental obstacles.

[0106] In one feasible embodiment, the collision detection module includes:

[0107] The dual-thread update module is used to update the shortest activity route by using a path optimization algorithm in the first thread and a route search algorithm in the second thread if environmental interference is detected during the robotic arm's activity.

[0108] The activity route determination module is used in the first thread and the second thread to stop the work of the other thread when one thread updates and obtains the shortest activity route, and to determine the updated shortest activity route as the robot's activity route.

[0109] In one feasible embodiment, the first thread is used to input the shortest activity route and real-time environmental information into the covariant Hamiltonian optimization algorithm for motion planning, so as to optimize the shortest activity route according to the real-time environmental information and update the obtained shortest activity route that is not affected by environmental interference.

[0110] In one feasible embodiment, the shortest active route includes multiple route nodes and route edges for connecting the route nodes; the historical sparse route map includes multiple route map nodes and route map edges; the second thread is used to delete route nodes and / or route edges that are affected by environmental interference in the shortest active route to obtain the shortest active route to be repaired; the shortest active route to be repaired is repaired using the RRT_Connect algorithm to update the shortest active route.

[0111] It should be noted that the robotic arm path acquisition device provided in the second embodiment of this application is only illustrated by the above-described division of functional modules when executing the robotic arm path acquisition method. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the robotic arm path acquisition device provided in the second embodiment of this application and the robotic arm path acquisition method in the first embodiment of this application belong to the same concept, and its implementation process is detailed in the method embodiment, which will not be repeated here.

[0112] The third embodiment of this application provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the above-described method for obtaining the movement path of a robotic arm.

[0113] Please see Figure 6 The fourth embodiment of this application provides an electronic device 300, which may be a computer, mobile phone, tablet computer, interactive flat panel or processing device in a robotic arm, etc. The electronic device 300 may include at least one processor 301, at least one memory 302, at least one display 303, at least one network interface 304, user interface 305 and at least one communication bus 306.

[0114] The communication bus 306 is used to enable communication between these components.

[0115] The user interface 305 may include a display screen and a camera; the user interface 305 may also include standard wired and wireless interfaces.

[0116] The network interface 304 may optionally include a standard wired interface and a wireless interface (such as a Wi-Fi interface).

[0117] The processor 301 may include one or more processing cores. The processor 301 connects to various parts within the electronic device 300 using various interfaces and lines, and performs various functions and processes data by running or executing instructions, programs, code sets, or instruction sets stored in the memory 302, and by calling data stored in the memory 302. Optionally, the processor 301 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 301 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also be implemented as a separate chip without being integrated into the processor 301.

[0118] The memory 302 may include random access memory (RAM) or read-only memory. Optionally, the memory 302 may include a non-transitory computer-readable storage medium. The memory 302 can be used to store instructions, programs, code, code sets, or instruction sets. The memory 302 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as touch function, sound playback function, image playback function, etc.), instructions for implementing the above-described method embodiments, etc.; the data storage area may store data involved in the above-described method embodiments, etc. Optionally, the memory 302 may also be at least one storage device located remotely from the aforementioned processor 301. Figure 6 As shown, the memory 302, which serves as a computer storage medium, may include an operating system, a network communication module, and a user.

[0119] exist Figure 6In the electronic device 300 shown, the user interface 305 is mainly used to provide an input interface for the user and to obtain the user input data; while the processor 301 can be used to call the operation application stored in the memory 302, such as the application of the robotic arm activity route acquisition method, and execute the relevant operations of any robotic arm activity route acquisition method in the above embodiments, and has the corresponding functions and beneficial effects.

[0120] The device embodiments described above are merely illustrative. The components described as separate parts may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this application according to actual needs. Those skilled in the art can understand and implement this without any inventive effort.

[0121] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0122] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 The computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function selected in one or more boxes.

[0123] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function selected in one or more boxes.

[0124] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0125] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0126] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0127] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0128] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for obtaining the movement path of a robotic arm, characterized in that, include: Based on the robot's real-time location, obtain the corresponding historical sparse route map; Based on the initial and final states of the robot's robotic arm, the shortest movement path of the robotic arm is obtained from the historical sparse route map. Collision detection is performed on the shortest activity path. If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity path is updated according to the location of the interference and the historical sparse route map. The updated shortest activity path is then determined as the activity path of the robotic arm.

2. The method for obtaining the movement path of a robotic arm according to claim 1, characterized in that: The step of performing collision detection on the shortest activity path, and if the collision detection result indicates that the robotic arm is interfered with by the environment during its movement, updating the shortest activity path based on the location of the interference and the historical sparse path map, and determining the updated shortest activity path as the activity path of the robotic arm, includes: Based on the real-time location, obtain the environmental change data of the robotic arm; Collision detection is performed on the shortest activity route based on the environmental change data. If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity route is updated based on the environmental change data and the historical sparse route map.

3. The method for obtaining the movement path of a robotic arm according to claim 2, characterized in that, The shortest activity route includes several route nodes and route edges. The step of performing collision detection on the shortest activity route based on the environmental change data includes: Based on the environmental change data, single collision detection is performed on the route nodes of the shortest activity route, and continuous collision detection is performed on the edges of the shortest activity route.

4. The method for obtaining the movement path of a robotic arm according to claim 2 or 3, characterized in that, The environmental change data includes relative changes in the environment and the robot caused by changes in the robot's chassis pose, as well as obstacle change data caused by changes in environmental obstacles.

5. The method for obtaining the movement path of a robotic arm according to claim 1, characterized in that, The step of updating the shortest path based on the location of the interference and the historical sparse path map, and determining the updated shortest path as the path of the robotic arm if the collision detection result indicates that the robotic arm is interfered with by the environment, includes: If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity route is updated by the first thread and the second thread respectively, based on the location of the interference and the historical sparse route map; wherein, the first thread adopts a path optimization algorithm and the second thread adopts a random sampling algorithm; In the first thread and the second thread, when one thread updates and obtains the shortest activity route, the other thread stops working, and the updated shortest activity route is determined as the robot's activity route.

6. The method for obtaining the movement path of a robotic arm according to claim 5, characterized in that, The step of updating the shortest active route using a path optimization algorithm via the first thread includes: Based on the shortest activity route and real-time environmental information, the shortest activity route is optimized and updated using a covariant Hamiltonian optimization algorithm to obtain the shortest activity route that is not affected by environmental interference.

7. The method for obtaining the movement path of a robotic arm according to claim 5, characterized in that, The shortest active route includes multiple route nodes and route edges for connecting the route nodes; The historical sparse roadmap includes multiple roadmap nodes and roadmap edges; The steps of updating the shortest active route via a second thread include: In the shortest activity route, delete the route nodes and / or route edges that are affected by environmental interference to obtain the shortest activity route to be repaired; The shortest active route to be repaired is repaired using the RRT_Connect algorithm to update the shortest active route.

8. A device for obtaining the movement path of a robotic arm, characterized in that, include: The historical sparse route map module is used to obtain the corresponding historical sparse route map based on the robot's real-time location. The shortest activity path module is used to obtain the shortest activity path of the robot arm from the historical sparse route map based on the initial and final states of the robot arm. The collision detection module is used to perform collision detection on the shortest activity path. If the collision detection result indicates that the robotic arm is interfered with by the environment during its activity, the shortest activity path is updated according to the location of the interference and the historical sparse route map, and the updated shortest activity path is determined as the activity path of the robotic arm.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by the processor, it implements the steps of the method for obtaining the movement path of the robotic arm as described in any one of claims 1 to 7.

10. An electronic device, characterized in that: It includes a storage device, a processor, and a computer program stored in the storage device and executable by the processor, wherein the processor executes the computer program to implement the steps of the robotic arm movement path acquisition method as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Autonomous roaming method, device and equipment for robot

    CN112950782A

  • Intelligent storage redundant mechanical arm dynamic obstacle avoidance motion planning method based on MIRRT*- Connect algorithm

    CN114939872A