Working point location determination method of robot, robot and storage medium
By obtaining the operation map and the operation path of the robot arm, determining candidate working points and calculating point scores, the problem of low execution efficiency of robot tasks in most working points is solved, and more efficient task execution and reasonable work point selection is achieved.
Patent Information
- Application Number
- CN202311354271.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-18
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2043-10-18
AI Technical Summary
In the prior art, robots perform tasks in most working points in low efficiency.
By obtaining the operation map and the operation path of the robot arm, the candidate working area and candidate working points of the base are determined, the point score is calculated based on joint information, and the target working points that meet the preset scoring conditions are selected.
It improves the robot's task execution efficiency at the target working point, reduces the computing burden, and enhances the rationality of the selection of working points.
Smart Images

Figure CN119839847A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control technology, and in particular to a method for determining a working point of a robot, a robot and a storage medium. Background Art
[0002] With the continuous development of robot technology in recent years, a robot with a composite form that integrates mobile robots and general industrial robots has emerged. Composite robots usually include AGV (Automated Guided Vehicle) and robotic arms. AGV can perform mobile functions, while robotic arms can perform functions similar to human arms such as grasping and carrying. Composite robots perform complex tasks through the coordination of the two. Therefore, composite robots can be used in industries such as medical care, cleaning, electronic components, and mechanical parts manufacturing.
[0003] In some scenarios, composite robots are assigned continuous working paths, such as wiping and cleaning a continuous tabletop, welding a continuous weld, etc. In such scenarios, composite robots often have multiple possible working positions, and the efficiency of composite robots in performing tasks at most of these working positions is not high. Summary of the invention
[0004] The present application provides a method for determining a working point of a robot, a robot and a storage medium to solve the problem of low efficiency in executing tasks at most working points of the robot in the prior art.
[0005] In a first aspect, the present application provides a method for determining a working point of a robot, wherein the robot comprises a base and a mechanical arm disposed on the base, and the method comprises:
[0006] Acquire an operation map and an operation path of the robot arm, wherein the operation map includes a plurality of position points, each of the position points is configured with joint information of the robot arm at the position point, and the operation path includes a plurality of path points, and the path points are represented by the position points;
[0007] Determine a candidate working area of the base according to the working path and a preset working radius of the robot arm, wherein the candidate working area includes a plurality of candidate working points;
[0008] Determine a target reachable path point corresponding to the candidate work point according to the joint information corresponding to each of the path points;
[0009] Calculate the point score of the candidate work point according to the target reachable path point and the operation path;
[0010] According to the point scores of the plurality of candidate work points, a candidate work point that meets a preset score condition is determined as a target work point among the plurality of candidate work points.
[0011] Optionally, determining the target reachable path point corresponding to the candidate work point according to the joint information corresponding to each of the path points includes:
[0012] Determining, based on the joint information corresponding to each of the path points, a path point that satisfies a reachable condition as a reachable path point;
[0013] According to the joint information corresponding to the reachable path point, a reachable path point that meets the preset constraint condition is determined as the target reachable path point.
[0014] Optionally, the joint information includes a reachable joint angle state of the robot arm, and determining, based on the joint information corresponding to each of the path points, that a path point that satisfies a reachable condition is a reachable path point includes:
[0015] According to the operation map, determining whether each of the path points is configured with a reachable joint angle state;
[0016] If configured, it is determined that the path point meets the reachability condition and the path point is a reachable path point.
[0017] Optionally, after determining that a reachable path point that satisfies a preset constraint condition is a target reachable path point, the method further includes:
[0018] Determine target joint information of the target reachable path point;
[0019] Then, the point score of the candidate working point calculated according to the target reachable path point and the working path is:
[0020] The point score of the candidate working point is calculated according to the target reachable path point, the working path and the target joint information.
[0021] Optionally, the target joint information includes a joint angle state and a target operability corresponding to the joint angle state, and the target joint information for determining the target reachable path point includes:
[0022] Determining the optimal joint angle state for each of the target reachable path points;
[0023] Calculating the joint distance between two adjacent target reachable path points according to the optimal joint angle states of the two adjacent target reachable path points;
[0024] The operability of the first target reachable path point is determined according to a preset operation sequence as the target operability.
[0025] Optionally, the joint information includes a reachable joint angle state of the robot arm, and after determining that a path point that satisfies a reachable condition is a reachable path point according to the joint information corresponding to each path point, the method further includes:
[0026] Determine the joint angle state sequence of each of the reachable path points in sequence according to a preset sorting algorithm and a preset operation sequence;
[0027] Then, according to the joint information corresponding to the reachable path point, determining the reachable path point that meets the preset constraint condition as the target reachable path point is:
[0028] According to the joint information corresponding to the reachable path points, the reachable path points that meet the preset constraint conditions are determined in sequence from the joint angle state sequence as the target reachable path points.
[0029] Optionally, the joint information further includes a degree of operability corresponding to the joint angle state, and the step of sequentially determining the joint angle state sequence of each of the reachable path points according to a preset sorting algorithm and a preset operation sequence includes:
[0030] Determining, according to the operation sequence, a plurality of operability degrees of the first reachable path point;
[0031] According to the order of the operability from high to low, the joint angle state sequence of the first reachable path point is determined.
[0032] Optionally, determining the joint angle state sequence of each of the reachable path points in sequence according to a preset sorting algorithm and a preset operation order further includes:
[0033] Determine, according to the operation sequence, a plurality of joint angle states of the current reachable point and the joint angle state of the previous target reachable point;
[0034] According to the joint angle state of the last reachable point and the multiple joint angle states of the current reachable point, respectively determine the joint movement distance corresponding to each joint angle state of the current reachable point and the joint angle state of the last reachable point;
[0035] The joint angle state sequence of the current reachable path point is determined by arranging the joint movement distances in order from low to high.
[0036] Optionally, the joint information further includes an end posture corresponding to the joint angle state, the preset constraint condition includes an expected posture condition and a preset anti-collision condition, and the step of determining, based on the joint information corresponding to the reachable path point, the reachable path points that meet the preset constraint conditions from the joint angle state sequence as target reachable path points in sequence includes:
[0037] According to the joint angle state sequence, it is determined in sequence whether the reachable path points have an end posture that satisfies an expected posture condition, and / or whether a preset anti-collision condition is satisfied;
[0038] If so, the reachable path point is determined to be a target reachable path point.
[0039] Optionally, the coordinate system of the path point is a world coordinate system, and before determining the target reachable path point corresponding to the candidate work point according to the operation path and the joint information corresponding to each of the path points, the method further includes:
[0040] Determine the posture relationship of the robotic arm relative to the world coordinate system according to the posture of the base relative to the world coordinate system and the posture relationship of the robotic arm relative to the base;
[0041] The coordinates of the path point relative to the robotic arm are determined based on the coordinates of the path point relative to the world coordinate system and the posture relationship of the robotic arm relative to the world coordinate system.
[0042] Optionally, determining the candidate working area of the base according to the working path and the preset working radius of the robot arm includes:
[0043] Obtaining a moving map of the base;
[0044] Determine a path center point according to the operation path;
[0045] The candidate working area is determined from the movement map according to the path center point and the working radius of the robot arm.
[0046] Optionally, after acquiring the movement map of the base, the method further includes:
[0047] Determine a prohibited area of an obstacle in the moving map, a radius of the base, and a reserved distance of the base relative to the obstacle;
[0048] The prohibited area is expanded according to the radius of the base and / or the reserved distance.
[0049] Optionally, before obtaining the operation map, the method further includes:
[0050] Determining the working space of the robotic arm;
[0051] Discretizing the working space to obtain a position space consisting of a plurality of position points;
[0052] Determine and configure the joint information of the robotic arm at each position point to obtain the operation map.
[0053] Optionally, the point score includes a path coverage score, and the calculation of the point score of the candidate work point based on the target reachable path points and the work path includes: calculating the path coverage score of the candidate work point based on the number of target reachable path points and the number of path points on the work path.
[0054] Optionally, the point score includes a continuity score, and the point score of the candidate work point calculated based on the target reachable path point and the work path includes: calculating the continuity score of the candidate work point based on the operability of the target reachable path point and the joint movement distance calculated from the joint angle state.
[0055] Optionally, the point score includes a path coverage score and a continuity score, and the point score of the candidate work point calculated according to the target reachable path point and the work path includes:
[0056] Calculate the path coverage score of the candidate work point according to the ratio of the target reachable path point to the work path;
[0057] Calculating the continuity score of the candidate working point according to the operability of the target reachable path point and the joint movement distance calculated from the joint angle state;
[0058] The point score of the candidate working point is calculated according to the product of the preset weight coefficient and the path coverage score and the continuity score.
[0059] In a second aspect, the present application further provides a robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the robot implements the method described in the first aspect.
[0060] In a third aspect, the present application further provides a storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the method described in the first aspect is implemented.
[0061] In the technical solution provided by the present application, the operation map and the operation path of the robot arm are first obtained, and the candidate work area can be determined according to the operation path and the operation map, and the target reachable path point corresponding to each different candidate work point in the candidate work area is determined, and by evaluating the point scores of the target reachable path points corresponding to different candidate work points, one or more of the multiple candidate work points are determined as the target work point. For different candidate work points, some may not be able to complete the task, and some may be completed in a way with low efficiency of certain indicators. The work points are screened by estimating the scores, so that the robot can perform the task at the work point that meets the task requirements and has the highest efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.
[0063] Figure 1 A schematic diagram of an application environment of a method for determining a working point of a robot provided in an embodiment of the present application;
[0064] Figure 2 A schematic diagram of a flow chart of a method for determining a working point of a robot provided in an embodiment of the present application;
[0065] Figure 3 A schematic diagram of a flow chart of a method for generating an operation map provided in an embodiment of the present application;
[0066] Figure 4 A schematic diagram of the structure of an operating space provided in an embodiment of the present application;
[0067] Figure 5 A flowchart of a method for determining a candidate work area provided in an embodiment of the present application;
[0068] Figure 6 A schematic diagram of a no-travel zone scenario provided in an embodiment of the present application;
[0069] Figure 7 A schematic diagram of a scenario of determining a path center point according to an operation path provided in an embodiment of the present application;
[0070] Figure 8 A schematic diagram of a scenario for determining a candidate work area based on a path center point provided in an embodiment of the present application;
[0071] Fig. 9A schematic diagram of a flow chart of a method for determining a target reachable path point provided in an embodiment of the present application;
[0072] Fig.10 A schematic diagram of a scene of a joint angle provided in an embodiment of the present application;
[0073] Fig.11 A schematic diagram of a scene of joint movement distance provided in an embodiment of the present application;
[0074] Fig.12 A schematic diagram of a scenario for determining a path coverage score provided in an embodiment of the present application;
[0075] Fig.13 A schematic diagram of the architecture of a computer device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0076] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0077] It should be noted that, if there is no conflict, the various features in the embodiments of the present application can be combined with each other, all within the scope of protection of the present application. In addition, although the functional module division is performed in the device schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in a sequence different from the module division in the device or the flow chart. Furthermore, the words "first", "second", "third", etc. used in this application do not limit the data and execution order, but only distinguish the same items or similar items with basically the same functions and effects.
[0078] First, in order to facilitate the introduction of the robot working point determination method provided in the embodiment of the present application, the application environment of the method provided in the embodiment of the present application is introduced.
[0079] See also Figure 1 , Figure 1 This is a schematic diagram of the application environment of the method for determining the working position of a robot provided in an embodiment of the present application. The composite robot 10 includes a movable base 11 and a mechanical arm 12 disposed on the base 11. The base 11 can move in the scene 30 and carry the mechanical arm 12 to move to multiple areas in the scene 30. The mechanical arm 12 can move on the base 11 with certain constraints to complete tasks, such as grabbing objects, cleaning the desktop, etc. For ease of description, the composite robot 10 is referred to as the robot 10 below.
[0080] The base 11 is defined as a movable machine device for supporting the robot arm 12, which is used to carry the robot arm 12 to move. Obviously, the robot arm 12 in the prior art is set on the fixed base 11, such as the sorting robot arm 12 on the logistics product line, and the working radius of the robot arm 12 is the working radius of the entire robot 10. In this embodiment, through the movable base 11, the working radius of the robot arm 12 is extended to the range of motion of the base 11 plus the working radius of the robot arm 12, thereby enabling the robot 10 to perform more and more complex tasks. For example, the base 11 can be an AGV to carry the robot arm 12 to move in the ground space, and the base 11 can also be a drone to carry the robot arm 12 to move in the flying space to perform tasks such as cleaning the curtain wall of a high-rise building. The base 11 can also be a submersible to carry the robot arm 12 to move in the underwater space to perform tasks such as salvaging items and ore sampling. In some other embodiments, the base 11 can also be a conveyor belt, and the robot arm 12 performs different processes on the fixed products through the transportation of the conveyor belt.
[0081] The robot arm 12 is defined as a general-purpose robot that performs high-precision movements and has different forms according to different uses and tasks. For example, in the medical industry, the robot arm 12 has a sampling straw and a dropper for adding samples, so that the robot arm 12 can sample samples in batches, or the robot arm 12 can add different doses of ingredients to the droplets according to the task. In the cleaning industry, the robot arm 12 may have structures such as a rotating brush head, a water spray head or an air pump to complete functions such as mopping, sweeping or vacuuming. It can be understood that the robot arm 12 in the present application does not necessarily have a structure similar to that of a human arm.
[0082] In this embodiment, the robot arm 12 has multiple rigid components, which are movably connected by joints. The joints can be any one of, for example, revolute joints, translation joints, screw joints, cylindrical joints, Hooke joints, and ball joints. The joints have one or more degrees of freedom, which can be described by angles q. Since each segment is rigid and connected only by joints, the position and posture of the entire robot arm 12 can be represented by joints. Furthermore, the position and posture of the robot arm 12 can be represented by a joint angle state ξ composed of multiple joint angles q, where ξ={q0,q1,q2……q n}.
[0083] The robot 10 can be deployed in any type of target space, and the robot 10 can perform the target task on the target work object 20 in the target space, wherein the target space is a space that provides any regional function, and the target space includes indoor space, shopping malls, living rooms, kitchens, offices, toilets, airports and other spaces. The target task can be tasks such as welding, cleaning, sorting or measurement, and the target work object 20 is an object with a continuous work path in the work scene 30, such as the table in the figure, and the robot 10 wipes the continuous desktop area. For example, the urinals in public toilets, the robot 10 cleans the continuous smooth surface of each urinal. Obviously, as long as the base 11 of the robot 10 is located at a certain distance around the target work object 20, the robot arm 12 can operate the target work object 20. However, not every position around the target work object 20 can complete the task of the robot 10. For example, when wiping the desktop area, if the robot 10 is at the corner of the table, it is limited by the length of the robotic arm 12 and cannot clean the other part of the desktop opposite to the corner of the table, so the robot 10 must move to the other corner of the table again to complete the cleaning of all the desktops. If the robot 10 starts wiping directly at a position close to the center of the desktop, the length of the robotic arm 12 can cover an increased area of the desktop, and the base 11 of the robot 10 does not need to be moved again to complete the wiping of the desktop, thereby improving the work efficiency of the robot 10. It should be noted that the working radius of the robotic arm 12 is not equal to the length of the robotic arm 12. For example, in some embodiments, the task of the robot 10 is to measure the temperature of the target object by infrared rays, so the working radius of the robotic arm 12 is the length of the robotic arm 12 plus the infrared detection distance.
[0084] Based on the above scenario diagram, the method for determining the working point of the robot provided in the embodiment of the present application is introduced below.
[0085] See also Figure 2 , Figure 2 A schematic flow chart of a method for determining a robot's working point provided in an embodiment of the present application. The method comprises:
[0086] S21. Obtain an operation map and an operation path of the robot arm.
[0087] In this step, the operation map is a three-dimensional working space storing the joint information of the robot arm. The three-dimensional working space of the robot arm is defined as the position space that the end effector of the robot arm can reach, which is mainly related to the structure of the robot arm. It can also be expressed as a three-dimensional space determined by the range of motion of the base superimposed on the working radius of the robot arm, which is not exactly the same as the real scene environment. For example, there are dead corners in the room that the base or the robot arm cannot reach, so the three-dimensional working space will not include this dead corner. It should also be noted that the position in the three-dimensional working space does not mean that the robot arm can definitely work at this position. It may be due to the obstruction of other obstacles, the constraints of the joint angle state of the robot arm, or other set environmental conditions, so that the robot arm cannot work at this position. The operation map has multiple discrete position points, and each position point is configured with the joint information of the robot arm at this position point for describing the state of the robot arm. The definition of position points and joint information is described in detail later, and will not be expanded here.
[0088] In this step, the operation path is a set of continuous multiple operation path points, that is, multiple operation path points are connected in a certain order to form a continuous operation path. For example, the desktop is a continuous operation path, and the desktop can also be decomposed into multiple continuous areas, such as the east side of the desktop, the middle of the desktop, and the west side of the desktop, or it can be the 1 o'clock area, 6 o'clock area, and 9 o'clock area of the desktop in a clockwise or counterclockwise direction. Furthermore, when the desktop area is discretized, the operation area can be represented by multiple operation path points, thereby making a continuous operation path divided into multiple continuous operation path points. It can be understood that the operation path points are also located in the operation map and can be represented by location points. In some embodiments, the operation path also has a preset operation order, for example, the desktop should be operated from west to east or in a clockwise direction.
[0089] In this step, the method of obtaining the operation map or the working path can be that the robot generates it autonomously, or it can be directly obtained by receiving external control instructions, or it can be a combination of the two, that is, the operation map or the working path is autonomously generated by partial information obtained from the outside world. This is not limited here. In some embodiments, the robot pre-stores the three-dimensional working space of the robotic arm, and then the robot processes the three-dimensional working space in an offline manner to generate an operation map. In some embodiments, the robot receives a cleaning task sent by the robot base station, and the cleaning task includes a target work object. The robot autonomously generates a working path in the three-dimensional working space by combining the three-dimensional working space and the target work object.
[0090] S22. Determine a candidate working area of the base according to the working path and the preset working radius of the robot arm.
[0091] In this step, the robot arm has a preset working radius, and the working radius is determined according to the posture relationship constraints of the robot arm relative to the base and the function of the robot arm body. For example, if the joint connecting the robot arm and the base is a ball joint, the movement space of the robot arm is a hemispherical shape centered on the joint, and if a shifting member is provided on the base, the movement space of the robot arm may be a sector with a certain angle. Furthermore, as mentioned above, the working radius of the robot arm is not equal to the length of the robot arm. When the robot arm performs non-contact tasks, the working radius of the robot arm will be greater than the movable space of the robot arm.
[0092] In this step, the candidate working area is defined as an area at a certain distance around the working path, which can be specifically expressed as an area centered on the working path and extending according to the working radius. For example, the working radius of the cleaning robot is 1m, and the table to be cleaned is a round table with a radius of 1.5m. The candidate working area is an annular area with the center of the round table as the center, an inner ring radius of 1m, and an outer ring radius of 1.5m. In some other embodiments, the candidate working area can be not only a plane but also a three-dimensional space. For example, when a flying robot is inspecting a high-voltage transmission line, the candidate working area can be a cylindrical area 10m to 100m away from the high-voltage transmission line.
[0093] In this step, the candidate work point is defined as a position point included in the candidate work area that may be used as the robot work point, which can be specifically expressed as a position point located in the candidate work area. For example, the operation map has 2000 positions, and the candidate work area only includes 50 positions, then the 50 positions located in the candidate work area are all determined as candidate work points. When evaluating the candidate work points later, only the 50 candidate work points need to be evaluated to select the best position point as the robot's work point, without evaluating the 2000 positions of the operation map, thereby greatly reducing the computational burden of determining the work point.
[0094] S23. Determine a target reachable path point corresponding to the candidate work point according to the joint information corresponding to each path point.
[0095] In this step, joint information is defined as information used to describe the state and performance of the robot. In some embodiments, the joint information includes the joint angle state, the end position and maneuverability corresponding to the joint angle state. The joint angle state, as described above, is a set of angles used to describe the joint position (i.e., position and posture), for example, ξ={q1,q2……q n It can be understood that in addition to the joint angles, other parameters can also be used to represent the position and posture of each component of the robot arm, such as the familiar Cartesian coordinate system ξ={(x1,y1,z1),(x2,y2,z2)……(xn ,y n ,z n )}, or by using implicit constraint equations to represent the positions and postures of the robot components, such as L1*cosq1+L2*cosq2+…L n *cosq n = 0. The end of the robot arm is usually the execution end of the robot arm. The end posture of the robot arm can be calculated through the joint angle state and forward kinematics. The end posture can be calculated according to the formula T i =f(q i ), which will not be described in detail here. Maneuverability is used to represent the motion capability of the robot arm, which can be calculated by the Jacobian matrix and expressed as Among them, Ji is the Jacobian matrix, T represents the transposed matrix, and det represents the value of the determinant. The specific calculation process is not expanded here. It should be noted that the joint information is usually pre-calculated and configured at the position points in the operation map. When obtaining the operation map, the joint information such as the joint angle state, end position and operability can be directly obtained.
[0096] In this step, the target reachable path point is defined as the path point that the end of the robot arm can reach or cover when the base is at the corresponding candidate work point. Obviously, at different candidate work points, the path points that the end of the robot arm can reach are different. For example, when the robot is located near the corner of the desktop, the target reachable path point includes the path points in the fan-shaped area with the corner point of the desktop as the center, while other path points may not be covered due to being located far away from the working radius of the robot arm, or because other items are placed on the desktop to prevent the end of the robot arm from reaching some path points, so that these path points cannot be defined as target reachable path points. Through the constraints of the candidate work point, the constraints of the robot arm's own state, the constraints of the path points combined with the constraints of the environmental conditions, the path points that meet multiple constraints are solved to be the target reachable path points. The specific calculation process is described in detail later and will not be explained here.
[0097] S24. Calculate the point scores of the candidate work points according to the target reachable path points and the operation path.
[0098] In this step, the point score is defined as a quantitative indicator for evaluating the value of the robot base at the corresponding candidate work point. In some embodiments, the point score is related to the target reachable path points and the path points included in the work path. For example, when the robot base performs the task of cleaning the desktop at the candidate work point near the corner of the table, the number of target reachable path points covered is 50% of the number of all path points, and the point score of the candidate work point is 50 points; and when the robot base performs the task of cleaning the desktop at the candidate work point near the center of the desktop, the number of target reachable path points covered is 90% of the number of all path points, and the point score of the candidate work point is 90 points.
[0099] S25. According to the point scores of the plurality of candidate work points, determine a candidate work point that meets a preset scoring condition among the plurality of candidate work points as a target work point.
[0100] In this step, the preset scoring condition is used to determine at least one condition as the target working point from multiple candidate working points. Specifically, in some embodiments, the preset scoring condition can be to select the candidate working point with the highest point score from the point scores of multiple candidate working points as the target working point, that is, to limit the number of target working points, and to screen the candidate working points from high to low according to the point score scores to determine the target working point. For example, for multiple point score scores of 60, 80, 90 and 95, the candidate working point corresponding to the highest score of 95 is selected as the target working point. It can also be to set a point score threshold, that is, the number of target working points is not limited, as long as the point score is higher than the threshold, the candidate working point can be determined as the target working point. For example, for multiple point score scores of 60, 80, 90 and 95, the candidate working points corresponding to the two point scores of 90 and 95 that are greater than the threshold 85 are selected as the target working points. In some other embodiments, the point score consists of multiple parts. For example, the point score includes a part for evaluating path coverage, a part for evaluating robot arm continuity, a part for evaluating robot arm motion capability, and a part for evaluating robot arm power consumption. A corresponding threshold is also set for each part. For example, if the path coverage score threshold is 70 points, then if the path coverage score part of the point score is lower than 70 points, the candidate work point will not be determined as the target work point.
[0101] In summary, the technical solution of the present application obtains the joint information stored in the operation map, combines it with the set operation path, and narrows the candidate work area in the entire scene to reduce the computational burden. For the candidate work points in the candidate work area, determine whether the path points in the operation path are the target reachable points in the candidate work points, and generate point scores based on the target reachable points and path points to judge the work efficiency or work value of the candidate work points. Finally, the best target work point is determined based on the point score. When the robot base is at the target work point, the robot's mechanical arm can better perform the task, thereby improving the overall work efficiency of the robot.
[0102] The following is a detailed description of how to generate the operation map. Figure 3 , S21 includes:
[0103] S211, determining the working space of the robotic arm.
[0104] S212: discretize the working space to obtain a position space composed of a plurality of position points.
[0105] S213: Determine and configure the joint information of the robotic arm at each position point to obtain the operation map.
[0106] In step S211, the working space of the robot arm is obtained based on the actual scene map, combined with the working radius of the robot arm and the moving space of the base. In some embodiments, the working space is pre-stored in the robot, and the robot directly loads the working space before starting the task to generate the operation map. In some other embodiments, the working space is generated in a base station outside the robot, and is sent to the robot after processing to generate the operation map.
[0107] In step S212, the workspace is originally a continuous geometric space, and the continuous workspace needs to be discretized to obtain a position space composed of multiple position points, so as to facilitate the description of the robot posture in the workspace. In some embodiments, the workspace is discretized to obtain a grid space relative to the robot arm coordinate system, and the position points are the multiple grid points included in the grid space. For example, a three-dimensional workspace
[0108] W e ={(x,y,z)|x∈[w xmin ,w xmax ],y∈[w ymin ,w ymax ],z∈[w zmin ,w zmax ]}
[0109] n={(n x ,n y ,nz )|n x ∈[0,N x ],n y ∈[0,N y ],n z ∈[0,N z ]}
[0110] Among them, n is the grid space, n x ,n y ,n z The subscripts are the numerical values describing the positions of the x-axis, y-axis, and z-axis in the spatial rectangular coordinate system. xmin ,w xmax ,w ymin ,w ymax ,w zmin ,w zmax The subscripts min and max represent the minimum and maximum values in the direction of the coordinate axis in the workspace, respectively, and will not be described in detail. The specific parameter calculation process is as follows:
[0111]
[0112] Among them, ε is the size of the grid unit, which can also be understood as the resolution of the grid space, and the floor function is the rounding function.
[0113] In step S213, please refer to Figure 4 , Figure 4 A schematic diagram of an operation map provided for an embodiment of the present application. First, the joint angle in the joint information needs to be configured for each position point. The joint angle q is determined by traversing each joint of the robot arm at a certain resolution to obtain a determined joint angle qi. In some embodiments, the resolution is 0.15 rad, that is, qi = k*0.15 rad, where k is a natural number. Then, when the joint angle state ξ is known, the end position T can be calculated by forward kinematics as described above i =f(q i ). For each end pose T i The grid n corresponding to the terminal posture can be calculated k =(n kx ,n kx ,n kx ), for this grid, the end of the robot arm can reach it with different postures (i.e., joint angles), then the grid n k A plurality of joint angles are also configured, and the plurality of joint angles constitute the joint angle state ξ as described above k (q1,q2……q n ). Finally, the joint information also includes the maneuverability. As mentioned above, the maneuverability is calculated by the Jacobian matrix and is expressed as Finally, for each location point (i.e. grid n k ) is configured with the joint angle state ξ k , terminal posture T i And the operability w. For each different position point, different joint information is configured, such as Figure 4 The relatively upper position point A in the figure has different joint angle states ξ1(q 11 ,q 12 ,q 13 ……q 1n ), operability (w 11 ,w 12 ,w 13 ...w 1n ), and the terminal pose (T 11 ,T 12 ,T 13 ……T 1n) , and for the relatively lower position point B in the figure, its joint information is different from that of the relatively upper position point. The joint angle state ξ2(q 21 ,q 22 ,q 23 ……q 2n ), different operability (w 21 ,w 22 ,w 23 ...w 2n ), and different terminal positions (T 21 ,T 22 ,T 23 ……T 2n ).
[0114] The following is a detailed description of the method for determining candidate work areas. Figure 5 , S22 includes:
[0115] S221. Obtain a moving map of the base.
[0116] S222. Determine the path center point according to the operation path.
[0117] S223. Determine a candidate working area from the moving map according to the center point of the path and the working radius of the robot arm.
[0118] In S221, the moving map of the base is determined by the movable area of the base. In some embodiments, in order to facilitate the description of the position and posture of the base in the moving map, the moving map also needs to be discretized. The moving map includes multiple points, and the base posture of the robot can be described by the points, that is, the position and posture of the base is determined by discrete points. It should be noted that the moving map of the base is different from the operation map of the robotic arm, and the information bodies stored in the two are completely different, but both can be represented by discrete position points. When the base is an AGV, since the AGV can only move on the ground, the moving map is a two-dimensional 2D map; when the base is a drone, since the base can move in three-dimensional space, the moving map is a 3D map; when the base is a submersible, the base moves in the underwater space, and the moving map is further changed, which is not limited here.
[0119] In some embodiments, after S221, it also includes determining a prohibited area of obstacles in the moving map, a radius of the base, and a reserved distance between the base and the obstacles, and expanding the prohibited area according to the radius of the base and / or the reserved distance. Figure 6 There are often many obstacles 41 in the scene, which prevent the robot from entering the points occupied by the obstacles 41. The set of these points is defined as the forbidden area 40. The robot base actually needs to occupy multiple points in the moving map. When calculating the position of the robot base, only the position of the center point of the base is calculated. Therefore, the radius r of the base also needs to be determined. c To avoid collision between the robot base and obstacles. Furthermore, the navigation algorithm for controlling the robot movement is usually provided with a reserved distance d to reduce the blind spot between the robot and the obstacle 41. n , so that the reserved distance d n Can cover blind spots. For example, when a sweeping robot is cleaning dust near a wall or corner, the cleaning component will extend beyond the base to cover locations that the base cannot reach but the cleaning component can. Therefore, the obstacle 41 in the moving map needs to be expanded to expand the area of the prohibited area 40. The specific method is to set the reserved distance d n and base radius r c Increased to a radius of 40 for the no-go zone.
[0120] In S222, see Figure 7, the scale of the mobile map is related to the factory scene of the robot. For example, when performing cleaning tasks in the airport hall, the mobile map almost covers the entire airport hall. In this case, evaluating each point in the mobile map will obviously greatly increase the evaluation burden, so it is necessary to further screen the points in the mobile map to narrow the evaluation range of valid points. In some embodiments, for a given operation path A, according to the above, the operation path A can use a series of discrete path points B {P0, P1...P N} Description. For multiple path points P i By determining a path center point P m (i.e. point C in the figure), so that all path points P i To the path center point P m The expected distance is the shortest, then the path center point P m Specifically, in this embodiment, all path points P i The sum is averaged to determine the center point P of the path m ,Right now Where N is the number of path points.
[0121] In S223, see Figure 8 , when the path center point P is determined m After that, it is necessary to combine the working radius of the robot arm to determine the candidate working area D, which includes multiple candidate working points (D1, D2). That is, the candidate working area D is based on the path center point P m The circular area with the center being the circle and the working radius being the radius. It is understandable that in some embodiments, the working radius is not a fixed length, so the candidate working area can also be an elliptical area, a polygonal area, etc., without specific limitation. It is also understandable that the determination of the candidate working area D should also take into account the area E of the work target itself and the influence of other obstacles. For example, when the robot wipes the table top of a round table, the robot cannot enter the range E of the round table, but extends the robot arm to the surface of the round table for cleaning near the round table. Therefore, the actual candidate working area is the annular area D minus the area of the round table itself.
[0122] The following is a detailed description of the method for determining the target reachable path points corresponding to the candidate work points. Fig. 9 , S23 mainly includes:
[0123] S231. Determine, based on the joint information corresponding to each path point, a path point that meets a reachability condition as a reachable path point.
[0124] S232. Determine, based on the joint information corresponding to the reachable path point, a reachable path point that satisfies preset constraints as a target reachable path point.
[0125] Before step S231, since the coordinate system of the path point is usually the world coordinate system, and to determine whether the path point is reachable for the robot arm, it is necessary to convert the path point from the world coordinate system to the robot arm coordinate system. In some embodiments, the position of the robot base relative to the world coordinate system is first determined, and the position can be specifically expressed as bp(x, y, θ). Among them, for the candidate work point to be evaluated, its x value and y value can be directly determined according to the mobile map, θ represents the orientation of the robot base, and the default setting of the robot is to face the path center point P m For example, the candidate work point (3, 4, 0.6) is evaluated, where 3 and 4 represent the coordinates of the candidate work point on the x-axis and y-axis on the moving map, respectively, and 0.6 represents the path center point P. m The angle between the line connecting the center of the base and the rotation axis of the moving map is 0.6 rad.
[0126] According to the position bp(x, y, θ) of the robot base and the position of the robot arm relative to the base b T ab , can calculate and determine the position relationship of the robot arm relative to the world w T ab Among them, T represents posture, the upper left subscript b represents the relative reference system, the first subscript a represents the fixed coordinate system, and the second subscript b represents the object coordinate system. The details are not introduced in detail. According to the change law of the three-dimensional space coordinate system, the posture of the path point relative to the world coordinate system and the posture of the robot relative to the world coordinate system can be combined to determine the posture of the path point relative to the robot coordinate system, that is, in, is the position relationship of the robot arm relative to the world w T ab The inverse matrix of w P i is the position of the path point relative to the world coordinate system, ab P i is the position of the path point relative to the robot coordinate system.
[0127] In S231, for each candidate work point, not all path points are reachable. For example, when the robot base is located next to the table corner, the tabletop robotic arm close to the table corner can cover and clean it, then these path points are considered reachable. If the position of the base is not changed, the robotic arm cannot reach the tabletop on the other side of the table corner, so there are some path points that are unreachable for the candidate work point. Specifically, each position point in the operation map is configured with joint information. For a fixed candidate work point, the reachability condition is to determine whether the path point is configured with a joint angle state corresponding to the candidate work point. If there is a corresponding joint angle state, it means that the path point may have at least one posture covered by the end of the robotic arm, then the path point meets the reachability condition and is a reachable path point. If there is no corresponding joint angle state, it means that the path point is not covered by the robot's manipulator end at the candidate work point, that is, the path point is unreachable for the candidate work point and does not meet the reachability condition. Therefore, the candidate work point can be directly deleted from the candidate work area, or the point score of the candidate work point can be directly set to 0.
[0128] In some embodiments, after S231 and before S232, the process further includes determining the joint angle state sequence of each reachable path point in sequence according to a preset sorting algorithm and a preset operation sequence. Specifically, when there are multiple joint angles in the joint angle state of a reachable path point, if each joint angle is used to judge whether the reachable path point is a target reachable path point, the computational load will increase and work efficiency will be reduced. Therefore, when there are multiple joint angles in a reachable path point, it is also necessary to determine the sorting of the joint angles, and the result after the joint angle sorting is defined as the joint angle state sequence of the reachable path point, so that in the subsequent calculation steps, it is judged whether the reachable path point is a target reachable path point according to the joint angle state sequence, and when one of the joint angles can satisfy the requirement that the reachable path point is judged as a target reachable path point, the judgment process ends, and there is no need to judge other joint angles, thereby reducing the computational load.
[0129] In some embodiments, for a continuous operation path, the joint angle state sequence of the first reachable path point is first determined. Specifically, for the first reachable path point P0, the joint angle state sequence is determined by arranging the joint angles from high to low according to the operability corresponding to the joint angles. For example, see Fig.10 , for the joint angle states ξ(q1,q2,q3), the corresponding operability is 0.8, 1.2, 1 respectively, then the joint angle states arranged from high to low according to the operability are ξ(q2,q3,q1). For the subsequent path points {P1, P2...P N}, still according to the operation order, determine the joint angle state sequence of P1, then determine the joint angle state sequence of P2, and repeat this process until P is determined. NThe joint angle state sequence.
[0130] In some embodiments, see Fig.11 , for a reachable path point P i , first determine the last reachable path point P i-1 The joint angle state, that is, determine the reachable path point P i-1 The optimal joint angle q * i-1 Then determine the reachable path point P i The joint angle state ξ i Multiple joint angles q included i Since the position of the robot arm can be expressed by the joint angle, the joint position of the robot arm can be calculated after the joint angle is determined. i-1 The optimal joint angle q * i-1 The corresponding joint posture is T * i-1 , then for a reachable path point P i Each joint angle q i Also has different joint postures T i , according to different joint postures T i With joint pose T * i-1 The distance is determined as the joint movement distance l i , according to the joint movement distance l i Arrange from low to high to determine the reachable path point P i Each joint angle q i The sequence of permutations is the joint angle state sequence. For example, P i The joint angle state ξ i (q1, q2, q3), the corresponding joint movement distances are 1, 3, and 2 respectively, then the joint angle state after rearrangement is ξ i (q2, q3, q1). It can be understood that after calculating the joint angle state sequence of the first reachable path point according to the operability, the joint angle state sequence of all subsequent reachable path points can be determined in this way. It can also be understood that in some other embodiments, there is no need to determine the joint movement distance, but directly determine the joint angle change value of the previous reachable path point and the current reachable path point, and sort them from low to high according to the joint angle change value. For example, the previous reachable path point P i-1 The optimal joint angle q * i-1 and the current achievable path point P i The difference in joint angles is Δq, and different joint angles correspond to different Δq. * i-1=0.3rad,ξ i In the equation, q1, q2, and q3 are 0.45 rad, 1.2 rad, and 0.9 rad, respectively. Then Δq is 0.15 rad, 0.9 rad, and 0.6 rad, respectively. Arranged from low to high, the joint angle state sequence is ξ i (q1,q3,q2).
[0131] In S232, the preset constraints include the expected posture condition and the preset anti-collision condition. If the joint angle state sequence has not been sorted after 231, it is necessary to traverse each joint angle in the joint angle state to determine whether the reachable path point meets the preset constraint condition; if only the joint angle state sequence has been sorted, it is necessary to determine whether the joint angle meets the preset constraint condition in turn according to the joint angle state sequence. When there is a joint angle judgment, the judgment process is terminated to save computing resources. In some embodiments, the expected posture condition is set according to the working path of the robot, and the expected posture condition of the reachable path point is T i ', from the above, we can see that different joint angles q i Corresponding to different terminal postures T i , then the joint angle q i The corresponding terminal pose T i The expected posture condition T should be met i ', otherwise the joint angle q is discarded i , and determine the next joint angle q according to the joint angle state sequence i The corresponding terminal pose T i Whether the expected posture condition T is met i In some embodiments, the preset anti-collision condition of the reachable path point is T i ", the preset anti-collision condition is the environmental factor, which is set according to the robot's working scene. Similarly, the joint angle q i The corresponding terminal pose T i The preset anti-collision condition should be met as T i ”, when the joint angle q i The corresponding terminal pose T i Meet the preset anti-collision condition T i ", the reachable path point determines the preset anti-collision condition; otherwise, the next joint angle is determined according to the joint angle state sequence until a joint angle satisfies the preset anti-collision condition. Only when the joint angle q of the reachable path point is i When the expected posture condition and the preset anti-collision condition are met at the same time, the reachable path point is judged to meet the preset constraint condition, and the reachable path point is the target reachable path point, and the corresponding joint angle q i is the optimal joint angle.
[0132] The following is a detailed description of the method for calculating the point score of the candidate work point.
[0133] In some embodiments, S24 includes calculating the path coverage score of the candidate work point according to the number of target reachable path points and the number of path points of the work path. Specifically, the work path includes N work points in total, and the number of target reachable path points of the candidate work point is n, then the path coverage rate e c = n / N. For example, if N is 200 and n is 120, the path coverage is 0.6. The path coverage score can be obtained by directly using the path coverage or by processing the path coverage. For example, c = n / N*100, then the path coverage score is 60 points. Fig.12 In the figure, D is the candidate work area, E is the prohibited area of the target work object, and the target reachable path corresponding to the relatively upper candidate work point A, that is, the arc length l of the circle A Obviously longer than the arc length l corresponding to the relatively lower candidate working point B B , if there are 360 path points in total, the target reachable path points of the relatively upper candidate work point A are 60, and the target reachable path points of the relatively lower candidate work point B are 30, then the path coverage score of the relatively upper candidate work point A is 0.16 points, and the path coverage score of the relatively lower candidate work point B is 0.08 points.
[0134] In some embodiments, S24 includes calculating the continuity score of the candidate work point according to the maneuverability of the target reachable path point and the joint movement distance calculated from the joint angle state. Specifically, the continuity score is associated with the target maneuverability and the joint movement distance. Among them, m0 is the operability of the optimal joint angle corresponding to the first target reachable path point, l i is the joint movement distance between each target reachable path point and the previous target reachable path point, and n is the maximum number of target reachable path points. For example, the operability m0 of the optimal joint angle corresponding to the first target reachable path point is 1.2, there are a total of 10 target reachable path points, and the joint movement distance is 1, then the continuity score is
[0135] In some embodiments, the point score includes both a path coverage score and a continuity score. S24 includes: calculating the path coverage score of the candidate work point according to the ratio of the target reachable path point to the work path; calculating the continuity score of the candidate work point according to the operability of the target reachable path point and the joint movement distance calculated from the joint angle state; and calculating the point score of the candidate work point according to the product of the path coverage score and the continuity score by the preset weight coefficient. The calculation of the path coverage score and the continuity score is the same as above and will not be repeated here. Specifically, the point score e is calculated by the path coverage score e c and continuity score e mc Together, for example, e = e c +e mc Furthermore, different weight coefficients can be set for the path coverage score and the continuity score to adjust the impact of the two on the point score, for example, e = 1*e c +0.1*e mc , where the weight coefficient of the path coverage score is 1, and the weight coefficient of the continuity score is 0.1. In this embodiment, the weight coefficient of the path coverage score is greater than the weight coefficient of the continuity score, that is, the influence of the path coverage score on the point score is given priority.
[0136] In the technical solution of the embodiment of the present application, the operation map and the operation path are first obtained, and then the candidate work area is determined according to the operation path and the working radius of the robot arm, and then the target reachable path point and the joint information of the target reachable path point are determined for the candidate work point in the candidate work area, and finally the point score is calculated according to the number of the target reachable path point and all path points and the joint information of the target reachable path point, and the target work point is determined from the multiple candidate work points in the candidate work area according to the point score. In the step of determining the candidate work area, the number of candidate work points can be reduced to improve the calculation efficiency, and the calculation efficiency can be further improved by combining the reserved distance and the base radius, and the rationality of selecting the candidate work point can be improved. When determining the target reachable path point, not only whether there is a posture that the path point is reachable, but also the constraints of the terminal posture and the environmental collision constraints are taken into account at the same time, so as to avoid scoring the unreachable path points when scoring the points, and reduce the calculation amount of the scoring. Furthermore, for path points with multiple joint angles, the joint angle state sequence is obtained by sorting, and there is no need to evaluate all joint angles to determine whether it is a target reachable path point, and the optimal joint angle of the target reachable path point is determined simultaneously, which is convenient for the subsequent joint distance calculation. Finally, in the point scoring step, the point scoring includes both the path coverage and continuity scores, making the consideration of the target working point more comprehensive and reasonable, thereby making the robot more efficient when performing tasks at the determined target working point.
[0137] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and when the program instructions are executed by a computer, the computer executes the method described in the above embodiment.
[0138] An embodiment of the present application also provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the method of the aforementioned embodiment is implemented when the processor executes the computer program.
[0139] An embodiment of the present application also provides a control device, which is applied to a robot. The control device includes a signal receiving module, which is used to obtain an operation map and an operation path of a robotic arm, wherein the operation map includes multiple position points, each position point is configured with joint information of the robotic arm at the position point, and the operation path includes multiple path points, which are represented by position points.
[0140] The control device also includes a first computing module, which is used to determine a candidate working area of the base according to the working path and a preset working radius of the robot arm, wherein the candidate working area includes a plurality of candidate working points.
[0141] The control device also includes a second computing module, which is used to determine a target reachable path point corresponding to a candidate work point according to joint information corresponding to each path point.
[0142] The control device also includes a scoring module, which is used to calculate the point score of the candidate working point according to the target reachable path point and the working path;
[0143] The control device also includes a point determination module, which is used to determine, according to the point scores of the multiple candidate work points, a candidate work point that meets a preset scoring condition among the multiple candidate work points as a target work point.
[0144] The embodiment of the present application also provides a computer device, which may be a server, and its internal structure diagram may be as follows: Fig.13As shown. The computer device includes a processor, a memory, a network interface and a database connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data to be saved in the method of the above embodiment. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, the method provided in the above embodiment is implemented.
[0145] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
[0146] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0147] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the protection scope of the present invention.
Claims
1. A method for determining a working point of a robot, wherein the robot comprises a base and a mechanical arm disposed on the base, wherein: The method comprises: Acquire an operation map and an operation path of the robot arm, wherein the operation map includes a plurality of position points, each of the position points is configured with joint information of the robot arm at the position point, and the operation path includes a plurality of path points, and the path points are represented by the position points; Determine a candidate working area of the base according to the working path and a preset working radius of the robot arm, wherein the candidate working area includes a plurality of candidate working points; Determine a target reachable path point corresponding to the candidate work point according to the joint information corresponding to each of the path points; Calculate the point score of the candidate work point according to the target reachable path point and the operation path; According to the point scores of the plurality of candidate work points, a candidate work point that meets a preset score condition is determined as a target work point among the plurality of candidate work points.
2. The method according to claim 1, characterized in that The determining, according to the joint information corresponding to each of the path points, a target reachable path point corresponding to the candidate work point position comprises: Determining, based on the joint information corresponding to each of the path points, a path point that satisfies a reachable condition as a reachable path point; According to the joint information corresponding to the reachable path point, a reachable path point that meets the preset constraint condition is determined as the target reachable path point.
3. The method according to claim 2, characterized in that The joint information includes the reachable joint angle state of the robot arm, and determining, based on the joint information corresponding to each of the path points, that a path point that meets the reachability condition is a reachable path point includes: According to the operation map, determining whether each of the path points is configured with a reachable joint angle state; If configured, it is determined that the path point meets the reachability condition and the path point is a reachable path point.
4. The method according to claim 2, characterized in that: After determining that a reachable path point that satisfies the preset constraint condition is a target reachable path point, the method further includes: Determine target joint information of the target reachable path point; Then, the point score of the candidate working point calculated according to the target reachable path point and the working path is: The point score of the candidate working point is calculated according to the target reachable path point, the working path and the target joint information.
5. The method according to claim 4, characterized in that The target joint information includes a joint angle state and a target operability corresponding to the joint angle state. The target joint information for determining the target reachable path point includes: Determining the optimal joint angle state for each of the target reachable path points; Calculating the joint distance between two adjacent target reachable path points according to the optimal joint angle states of the two adjacent target reachable path points; The operability of the first target reachable path point is determined according to a preset operation sequence as the target operability.
6. The method according to claim 2, characterized in that The joint information includes the reachable joint angle state of the robot arm, and after determining that the path point that meets the reachability condition is a reachable path point according to the joint information corresponding to each path point, the method further includes: Determine the joint angle state sequence of each of the reachable path points in sequence according to a preset sorting algorithm and a preset operation sequence; Then, according to the joint information corresponding to the reachable path point, determining the reachable path point that meets the preset constraint condition as the target reachable path point is: According to the joint information corresponding to the reachable path points, the reachable path points that meet the preset constraint conditions are determined in sequence from the joint angle state sequence as the target reachable path points.
7. The method according to claim 6, characterized in that The joint information also includes the operability corresponding to the joint angle state. The determining of the joint angle state sequence of each reachable path point in sequence according to a preset sorting algorithm and a preset operation sequence includes: Determining, according to the operation sequence, a plurality of operability degrees of the first reachable path point; According to the order of the operability from high to low, the joint angle state sequence of the first reachable path point is determined.
8. The method according to claim 7, characterized in that The step of sequentially determining the joint angle state sequence of each of the reachable path points according to a preset sorting algorithm and a preset operation sequence further comprises: Determine, according to the operation sequence, a plurality of joint angle states of the current reachable point and the joint angle state of the previous target reachable point; According to the joint angle state of the last reachable point and the multiple joint angle states of the current reachable point, respectively determine the joint movement distance corresponding to each joint angle state of the current reachable point and the joint angle state of the last reachable point; The joint angle state sequence of the current reachable path point is determined by arranging the joint movement distances in order from low to high.
9. The method according to claim 8, characterized in that The joint information also includes an end position and posture corresponding to the joint angle state, the preset constraint condition includes an expected position and posture condition and a preset anti-collision condition, and the step of sequentially determining, based on the joint information corresponding to the reachable path point, the reachable path points that meet the preset constraint conditions from the joint angle state sequence as target reachable path points includes: According to the joint angle state sequence, it is determined in sequence whether the reachable path points have an end posture that satisfies an expected posture condition, and / or whether a preset anti-collision condition is satisfied; If so, the reachable path point is determined to be a target reachable path point.
10. The method according to any one of claims 1 to 9, characterized in that The coordinate system of the path point is a world coordinate system. Before determining the target reachable path point corresponding to the candidate work point according to the operation path and the joint information corresponding to each of the path points, the method further includes: Determine the posture relationship of the robotic arm relative to the world coordinate system according to the posture of the base relative to the world coordinate system and the posture relationship of the robotic arm relative to the base; The coordinates of the path point relative to the robotic arm are determined based on the coordinates of the path point relative to the world coordinate system and the posture relationship of the robotic arm relative to the world coordinate system.
11. The method according to any one of claims 1 to 9, characterized in that The determining of the candidate working area of the base according to the working path and the preset working radius of the robot arm includes: Obtaining a moving map of the base; Determine a path center point according to the operation path; The candidate working area is determined from the movement map according to the path center point and the working radius of the robot arm.
12. The method according to claim 11, characterized in that After acquiring the moving map of the base, the method further includes: Determine a prohibited area of an obstacle in the moving map, a radius of the base, and a reserved distance of the base relative to the obstacle; The prohibited area is expanded according to the radius of the base and / or the reserved distance.
13. The method according to any one of claims 1 to 9, characterized in that The obtaining operation map further comprises: Determining the working space of the robotic arm; Discretizing the working space to obtain a position space consisting of a plurality of position points; Determine and configure the joint information of the robotic arm at each position point to obtain the operation map.
14. The method according to any one of claims 1 to 9, characterized in that The point score includes a path coverage score, and the point score of the candidate work point calculated based on the target reachable path points and the operation path includes: calculating the path coverage score of the candidate work point based on the number of target reachable path points and the number of path points on the operation path.
15. The method according to any one of claims 1 to 9, characterized in that The point score includes a continuity score, and the point score of the candidate work point calculated based on the target reachable path point and the work path includes: calculating the continuity score of the candidate work point based on the operability of the target reachable path point and the joint movement distance calculated from the joint angle state.
16. The method according to any one of claims 1 to 9, characterized in that The point score includes a path coverage score and a continuity score. The point score of the candidate work point calculated according to the target reachable path point and the operation path includes: Calculate the path coverage score of the candidate work point according to the ratio of the target reachable path point to the work path; Calculating the continuity score of the candidate working point according to the operability of the target reachable path point and the joint movement distance calculated from the joint angle state; The point score of the candidate working point is calculated according to the product of the preset weight coefficient and the path coverage score and the continuity score.
17. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the robot implements the method according to any one of claims 1 to 16.
18. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 16 is implemented.
Citation Information
Patent Citations
Robot and control method thereof
CN113116224A
Autonomous exploration mapping target selection method and system
CN115145270A
Obstacle avoiding target point determination method and device, intelligent equipment and storage medium
CN116300843A
Path planning method and device of mechanical arm, electronic equipment and storage medium
CN116766172A
Park assisting-device
JP2019214379A
Cited By
Basin unmanned aerial vehicle airport deployment method and device based on three-dimensional space perception
CN120871928A
Multi-sensor fusion-based bergamot pear picking equipment control method and picking equipment
CN120901979A