Method for determining work point of robot, robot and storage medium
By acquiring the operation map and the robotic arm's work path, calculating the point scores of candidate work points, and selecting efficient target work points, the problem of low task execution efficiency of composite robots at multiple work points is solved, thereby improving overall work efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGZHOU SHIYUAN ELECTRONICS CO LTD
- Filing Date
- 2023-10-18
- Publication Date
- 2026-05-08
AI Technical Summary
The composite robot has low task execution efficiency at most work locations.
By acquiring the operation map and the robotic arm's work path, candidate work areas are determined, and the point scores of candidate work points are calculated based on the joint information of the path points and the preset work radius, thus filtering out target work points that meet the preset scoring conditions.
It improves the robot's task execution efficiency at the target work point, reduces the computational burden, and optimizes the work point selection process.
Smart Images

Figure CN119839847B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot control technology, and in particular to a method for determining the working position of a robot, a robot, and a storage medium. Background Technology
[0002] With the continuous development of robotics technology in recent years, a hybrid robot integrating mobile robots and general-purpose industrial robots has emerged. Hybrid robots typically include an AGV (Automated Guided Vehicle) and a robotic arm. The AGV performs mobility functions, while the robotic arm performs grasping and handling functions similar to a human arm. Through the coordinated operation of both, the hybrid robot performs complex tasks, enabling its application in industries such as medical, cleaning, electronic components, and mechanical parts manufacturing.
[0003] In some scenarios, hybrid robots are assigned continuous work paths, such as wiping and cleaning a continuous tabletop or welding a continuous weld seam. In such scenarios, hybrid robots often have multiple possible work points, but their efficiency is not high when performing tasks at most of these work points. Summary of the Invention
[0004] This application provides a method for determining the working position of a robot, a robot, and a storage medium to solve the problem of low task execution efficiency of robots at most working positions in the prior art.
[0005] In a first aspect, this application provides a method for determining the working position of a robot, the robot including a base and a robotic arm disposed on the base, the method comprising:
[0006] Obtain an operation map and the working path of the robotic arm, wherein the operation map includes multiple location points, each location point is configured with joint information of the robotic arm at the location point, and the working path includes multiple path points, which are represented by the location points;
[0007] The candidate working area of the base is determined based on the work path and the preset working radius of the robotic arm, wherein the candidate working area includes multiple candidate working points;
[0008] Based on the joint information corresponding to each path point, determine the target reachable path point corresponding to the candidate working point;
[0009] Calculate the point score of the candidate work point based on the target reachable path point and the work path;
[0010] Based on the point scores of multiple candidate working points, the candidate working point that meets the preset scoring conditions is determined as the target working point.
[0011] Optionally, determining the target reachable path point corresponding to the candidate working point based on the joint information corresponding to each path point includes:
[0012] Based on the joint information corresponding to each path point, path points that meet the reachability conditions are determined as reachable path points;
[0013] Based on the joint information corresponding to the reachable path points, the reachable path points that satisfy the preset constraints are determined as the target reachable path points.
[0014] Optionally, the joint information includes the reachability joint angle state of the robotic arm, and determining the reachable path point based on the joint information corresponding to each path point includes:
[0015] Based on the operation map, determine whether each path point is configured with an reachable joint angle state;
[0016] If configured, the path point is determined to meet the reachability condition, and the path point is a reachable path point.
[0017] Optionally, after determining that the reachable path points that satisfy the preset constraints are the target reachable path points, the method further includes:
[0018] Determine the target joint information of the target reachable path points;
[0019] Then, the point score for calculating the candidate work point based on the target reachable path point and the work path is:
[0020] Based on the target reachable path points, the work path, and the target joint information, calculate the point score of the candidate work points.
[0021] Optionally, the target joint information includes joint angle state and target operability corresponding to the joint angle state, and the target joint information for determining the target reachable path point includes:
[0022] Determine the optimal joint angle state for each of the target reachable path points;
[0023] Calculate the joint distance between two adjacent reachable path points based on the optimal joint angle state of the two adjacent reachable path points;
[0024] The operability of the first reachable path point of the target is determined according to the preset operation sequence.
[0025] Optionally, the joint information includes the reachable joint angle state of the robotic arm. After determining the reachable path points based on the joint information corresponding to each path point, the method further includes:
[0026] Based on the preset sorting algorithm and preset job order, the joint angle state sequence of each reachable path point is determined sequentially;
[0027] Then, the step of determining the reachable path point that satisfies the preset constraints as the target reachable path point based on the joint information corresponding to the reachable path point is as follows:
[0028] Based on the joint information corresponding to the reachable path points, the reachable path points that satisfy the preset constraints are sequentially determined from the joint angle state sequence as the target reachable path points.
[0029] Optionally, the joint information also includes operability corresponding to the joint angle state, and the step of determining the joint angle state sequence of each reachable path point sequentially according to a preset sorting algorithm and a preset operation order includes:
[0030] Based on the operation sequence, determine multiple operability parameters of the first reachable path point;
[0031] Based on the operability arranged 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 reachable path point according to a preset sorting algorithm and a preset job order further includes:
[0033] Based on the operation sequence, determine the joint angle states of the current reachable point and the joint angle state of the previous target reachable point;
[0034] Based on the joint angle state of the previous reachable point and multiple joint angle states of the current reachable point, determine the joint movement distance corresponding to each joint angle state of the current reachable point and the joint angle state of the previous reachable point.
[0035] Based on the joint movement distances arranged from low to high, the joint angle state sequence of the currently reachable path points is determined.
[0036] Optionally, the joint information further includes the end-effector pose corresponding to the joint angle state, the preset constraint conditions include a desired pose condition and a preset anti-collision condition, and the step of determining the reachable path points that satisfy the preset constraint conditions sequentially from the joint angle state sequence as target reachable path points based on the joint information corresponding to the reachable path points includes:
[0037] Based on the joint angle state sequence, it is determined in sequence whether the reachable path point has an end pose that meets the desired pose condition and / or whether it meets the preset anti-collision condition.
[0038] If so, then the reachable path point is determined as the target reachable path point.
[0039] Optionally, the coordinate system of the path points is the world coordinate system. Before determining the target reachable path point corresponding to the candidate work point based on the work path and the joint information corresponding to each path point, the method further includes:
[0040] Based on the pose of the base relative to the world coordinate system and the pose relationship of the robotic arm relative to the base, the pose relationship of the robotic arm relative to the world coordinate system is determined.
[0041] The coordinates of the path point relative to the world coordinate system are determined based on the coordinates of the path point relative to the world coordinate system and the pose of the robotic arm relative to the world coordinate system.
[0042] Optionally, determining the candidate working area of the base based on the work path and the preset working radius of the robotic arm includes:
[0043] Obtain the moving map of the base;
[0044] Determine the center point of the path based on the described work path;
[0045] The candidate working area is determined from the moving map based on the center point of the path and the working radius of the robotic arm.
[0046] Optionally, after obtaining the moving map of the base, the method further includes:
[0047] Determine the restricted areas of obstacles in the moving map, the radius of the base, and the reserved distance of the base relative to the obstacles;
[0048] The restricted 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] Determine the working space of the robotic arm;
[0051] Discretize the workspace to obtain a location space consisting of multiple location points;
[0052] The joint information of the robotic arm at each of the stated positions is determined and configured to obtain the operation map.
[0053] Optionally, the point scoring includes path coverage scoring, and the point scoring of calculating candidate work points based on the target reachable path points and the work path includes: calculating the path coverage scoring of the candidate work points based on the number of target reachable path points and the number of path points on the work path.
[0054] Optionally, the point scoring includes a continuity score, and the point scoring for calculating candidate work points 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 scoring includes path coverage scoring and continuity scoring, and the point scoring for calculating candidate work points based on the target reachable path points and the work path includes:
[0056] The path coverage score of the candidate work point is calculated based on the ratio of the target reachable path point to the work path.
[0057] The continuity score of the candidate working point is calculated based on 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 by multiplying the preset weight coefficients by the path coverage score and the continuity score respectively.
[0059] In a second aspect, this application also provides a robot, including 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] Thirdly, this application also provides a storage medium storing a computer program that, when executed by a processor, implements the method described in the first aspect.
[0061] In the technical solution provided in this application, an operation map and the robotic arm's work path are first obtained. Based on the work path and operation map, candidate work areas are determined, and the target reachable path points corresponding to each different candidate work point within these areas are identified. By evaluating the point scores of the target reachable path points corresponding to different candidate work points, one or more of the candidate work points are selected as the target work points. For different candidate work points, some may be unable to complete the task, while others may be completed in a less efficient manner. Work points are filtered through a pre-evaluation scoring method, enabling the robot to perform the task at the work point that best meets the task requirements and has the highest efficiency. Attached Figure Description
[0062] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0063] Figure 1 A schematic diagram illustrating the application environment of the robot working position determination method provided in an embodiment of this application;
[0064] Figure 2 A flowchart illustrating a method for determining the working position of a robot according to an embodiment of this application;
[0065] Figure 3 A flowchart illustrating a method for generating an operation map according to an embodiment of this application;
[0066] Figure 4 This is a schematic diagram of the structure of the operating space provided in one embodiment of this application;
[0067] Figure 5 A flowchart illustrating a method for determining a candidate working region according to an embodiment of this application;
[0068] Figure 6 This is a schematic diagram of a restricted area provided in an embodiment of this application;
[0069] Figure 7 This is a schematic diagram of a scenario for determining the center point of a path based on a work path, provided in an embodiment of this application.
[0070] Figure 8 This is a schematic diagram of a scenario for determining candidate working areas based on the path center point, provided as an embodiment of this application.
[0071] Figure 9A flowchart illustrating a method for determining reachable path points of a target according to an embodiment of this application;
[0072] Figure 10 A schematic diagram of a scenario for a joint angle provided in an embodiment of this application;
[0073] Figure 11 A schematic diagram of a scenario providing joint movement distance according to an embodiment of this application;
[0074] Figure 12 A schematic diagram illustrating a scenario for determining path coverage scoring according to an embodiment of this application;
[0075] Figure 13 This is a schematic diagram of the architecture of a computer device provided in an embodiment of this application. Detailed Implementation
[0076] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.
[0077] It should be noted that, unless there is a conflict, the various features in the embodiments of this application can be combined with each other, all of which are within the protection scope of this application. Furthermore, although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than the module division in the device or the order in the flowchart. Moreover, the terms "first," "second," and "third" used in this application do not limit the data or execution order, but only distinguish identical or similar items with essentially the same function and effect.
[0078] First, to facilitate the introduction of the robot working point determination method provided in the embodiments of this application, the application environment of the method provided in the embodiments of this application will be introduced.
[0079] Please see Figure 1 , Figure 1 This is a schematic diagram illustrating the application environment of the robot work location determination method provided in an embodiment of this application. The composite robot 10 includes a movable base 11 and a robotic arm 12 mounted on the base 11. The base 11 can move within the scene 30 and carry the robotic arm 12 to move to multiple areas within the scene 30. The robotic arm 12 can perform activities on the base 11 under certain constraints to complete tasks, such as grasping objects or cleaning a table. For ease of description, the composite robot 10 will be referred to as robot 10 in the following text.
[0080] The base 11 is defined as a movable machine device for supporting the robotic arm 12 and for carrying the robotic arm 12 to move. Obviously, in the prior art, the robotic arm 12 is mounted on a fixed base 11, such as a sorting robotic arm 12 on a logistics production line, where the working radius of the robotic arm 12 is the same as the working radius of the entire robot 10. In this embodiment, however, through the movable base 11, the working radius of the robotic arm 12 is extended to the sum of the base 11's range of motion and the robotic arm 12's working radius, thereby enabling the robot 10 to perform more and more complex tasks. For example, the base 11 can be an AGV (Automated Guided Vehicle) to carry the robotic arm 12 to move in ground space; the base 11 can also be a drone to carry the robotic arm 12 to move in flight space, performing tasks such as cleaning high-rise building facades. The base 11 can also be a submersible to carry the robotic arm 12 to move in underwater space, performing tasks such as retrieving items and sampling ore. In other embodiments, the base 11 can also be a conveyor belt, through which the robotic arm 12 processes fixed products using different procedures.
[0081] The robotic arm 12 is defined as a general-purpose robot that performs high-precision movements, and it has different forms depending on its purpose and task. For example, in the medical industry, the robotic arm 12 has a sampling pipette and a dropper for adding samples, enabling it to sample samples in batches, or to add different dosages of ingredients to liquids according to the task. In the cleaning industry, the robotic arm 12 may have structures such as a rotating brush head, a water spray head, or an air pump to perform functions such as mopping, sweeping, or vacuuming. It is understood that the robotic arm 12 in this application does not necessarily have a structure similar to a human arm.
[0082] In this embodiment, the robotic arm 12 has multiple rigid components connected by joints. The joints can be any of the following: revolute joints, prismatic joints, helical joints, cylindrical joints, Hooke joints, and ball joints. Each joint has one or more degrees of freedom, all of which can be described by an angle q. Since each component is rigid and connected only by joints, the entire robotic arm 12 can represent its position and orientation using joints. Furthermore, the robotic arm 12 can represent its position and orientation using joint angle states ξ, which consist of multiple joint angles q, where ξ = {q0, q1, q2, ..., q...} n}
[0083] Robot 10 can be deployed in any type of target space. Robot 10 can perform target tasks on target workpiece 20 within the target space, which is a space providing functions in any area, including indoor spaces, shopping malls, living rooms, kitchens, offices, restrooms, airports, etc. Target tasks can be welding, cleaning, sorting, or measuring. Target workpiece 20 is an object in the work scenario 30 with a continuous work path, such as a table in the diagram, where robot 10 wipes the continuous tabletop area. Another example is a urinal in a public restroom, where robot 10 cleans the continuous smooth surface of each urinal. Clearly, as long as the base 11 of robot 10 is located at a certain distance from the target workpiece 20, the robotic arm 12 can operate on the target workpiece 20. However, not every location around the target object 20 can fulfill the task of robot 10. For example, when wiping a tabletop area, if robot 10 is positioned at a corner, its arm length is limited, preventing it from cleaning the opposite part of the tabletop. This forces robot 10 to move to the other corner to clean the entire tabletop. If robot 10 starts wiping near the center of the tabletop, the area covered by the arm length increases, eliminating the need to move the robot's base 11 and improving efficiency. It's important to note that the working radius of arm 12 is not equal to its length. For instance, in some embodiments, robot 10's task is to measure the temperature of the target object using infrared light; therefore, the working radius of arm 12 is the length of arm 12 plus the infrared detection distance.
[0084] Based on the above scenario diagram, the following describes the method for determining the working position of a robot provided in the embodiments of this application.
[0085] Please see Figure 2 , Figure 2 This is a schematic flowchart illustrating a method for determining the working position of a robot according to an embodiment of this application. The method includes:
[0086] S21. Obtain the operation map and the working path of the robotic arm.
[0087] In this step, the operation map is a three-dimensional workspace storing the joint information of the robotic arm. The three-dimensional workspace of the robotic arm is defined as the positional space reachable by the end effector of the robotic arm. It is mainly related to the structure of the robotic arm and can also be represented as a three-dimensional space determined by the range of motion of the base plus the working radius of the robotic arm. It is not entirely the same as the real-world environment. For example, there may be blind spots in a room that the base or robotic arm cannot reach, so these blind spots will not be included in the three-dimensional workspace. It should also be noted that a position in the three-dimensional workspace does not necessarily mean that the robotic arm can operate at that position. Obstacles from other objects, constraints on the joint angles of the robotic arm, or other environmental conditions may prevent the robotic arm from operating at that position. The operation map has multiple discrete position points, each configured with joint information used to describe the state of the robotic arm at that point. The definitions of position points and joint information will be detailed later and will not be elaborated here.
[0088] In this step, the work path is a set of multiple consecutive work path points, that is, multiple work path points connected in a certain order to form a continuous work path. For example, the desktop is a continuous work path, and the desktop can also be decomposed into multiple consecutive areas, such as the east side, the middle, and the west side of the desktop, or areas at the 1 o'clock, 6 o'clock, and 9 o'clock positions in a clockwise or counterclockwise direction. Furthermore, after the desktop area is discretized, multiple work path points can be used to represent the work area, thereby dividing a continuous work path into multiple consecutive work path points. It can be understood that the work path points are also located within the operation map and can be represented using location points. In some embodiments, the work path also has a preset work order, for example, the desktop should be operated from west to east or in a clockwise direction.
[0089] In this step, the operation map or work path can be obtained autonomously by the robot, directly by receiving external control commands, or a combination of both, i.e., autonomously generating the operation map or work path using partial information obtained from the outside world. No limitation is made here. In some embodiments, the robot pre-stores the three-dimensional work space of the robotic arm, and then processes the three-dimensional work space offline to generate an operation map. In some embodiments, the robot receives a cleaning task sent by a robot base station, which includes a target object. The robot autonomously generates a work path in the three-dimensional work space by combining the three-dimensional work space and the target object.
[0090] S22. Determine the candidate working area of the base based on the working path and the preset working radius of the robotic arm.
[0091] In this step, the robotic arm has a preset working radius, which is determined by the pose of the robotic arm relative to the base and the function of the robotic arm itself. For example, if the joint connecting the robotic arm and the base is a ball joint, then the robotic arm's movement space is a hemisphere centered on that joint. However, if a stop is provided on the base, the robotic arm's movement space may be a sector with a certain angle. Furthermore, as mentioned above, the working radius of the robotic arm is not the same as its length. When the robotic arm performs a non-contact task, its working radius will be greater than its movable space.
[0092] In this step, the candidate working area is defined as an area surrounding the work path at a certain distance. Specifically, it can be represented as an area extending from the work path based on the working radius. For example, if the working radius of the cleaning robot is 1m and the table to be cleaned is a circular table with a radius of 1.5m, then the candidate working area is an annular area with the center of the circular table as the center, an inner radius of 1m, and an outer radius of 1.5m. In some other embodiments, the candidate working area can be not only planar but also three-dimensional. For example, when a flying robot inspects a high-voltage power line, the candidate working area can be a cylindrical area 10m to 100m away from the high-voltage power line.
[0093] In this step, candidate work points are defined as possible locations within the candidate work area that could serve as robot work points. Specifically, they can be represented as locations within the candidate work area. For example, if the operation map has 2000 locations, but the candidate work area only includes 50, then these 50 locations within the candidate work area are all identified as candidate work points. During subsequent evaluation of candidate work points, only these 50 candidate work points need to be evaluated to select the best location as the robot's work point, eliminating the need to evaluate all 2000 locations on the operation map. This significantly reduces the computational burden of determining work points.
[0094] S23. Based on the joint information corresponding to each path point, determine the target reachable path point corresponding to the candidate working point.
[0095] In this step, joint information is defined as information used to describe the state and performance of the robotic arm. In some embodiments, joint information includes joint angle states, the end effector pose corresponding to the joint angle states, and maneuverability. As described above, joint angle states are a set of angles used to describe joint pose (i.e., position and orientation), for example, ξ = {q1, q2, ..., q...} n It is understandable that, in addition to joint angles, the pose of each component of the robotic arm can be represented by other parameters, such as the familiar Cartesian coordinate system ξ={(x1,y1,z1),(x2,y2,z2)……(xn ,y n ,z n Alternatively, the poses of the robotic arm's components can be represented by implicit constraint equations, such as L1*cosq1+L2*cosq2+……L n *cosq n =0. The end effector of a robotic arm is typically its actuator. The end effector pose can be calculated using joint angle states and forward kinematics. The end effector pose can be determined according to formula T. i =f(q) i The term "operability" represents the robotic arm's movement capabilities, which can be calculated using the Jacobian matrix and is expressed as follows (not explained in detail here). Where Ji is the Jacobian matrix, T represents the transpose matrix, and det represents the determinant value; the specific calculation process will not be elaborated here. It should be noted that the joint information is usually pre-calculated and then positioned on the operation map. When acquiring the operation map, joint information such as joint angle state, end pose, and operability can be directly obtained.
[0096] In this step, the target reachable path point is defined as the path point that the robotic arm's end effector can reach or cover when the base is at the corresponding candidate working point. Obviously, the path points reachable by the robotic arm's end effector differ depending on the candidate working point. For example, when the robot is located near a corner of the table, the target reachable path points include those within a fan-shaped area centered on that corner. Other path points may not be covered because they are too far from the robotic arm's working radius, or because other objects on the table prevent the robotic arm's end effector from reaching some path points, thus preventing them from being defined as target reachable path points. By combining the constraints of the candidate working point, the robotic arm's own state, the path points, and environmental conditions, the path points that satisfy multiple constraints are identified as the target reachable path points. The specific calculation process will be detailed later and will not be elaborated here.
[0097] S24. Calculate the point score of the candidate work point based on the target reachable path points and the work path.
[0098] In this step, the location score is defined as a quantitative indicator used to evaluate the value of the robot base at the corresponding candidate work location. In some embodiments, the location score is related to the target reachable path points and the path points included in the work path. For example, when the robot base is cleaning the table at a candidate work location near the corner of the table, if the number of target reachable path points covered is 50% of the total number of path points, then the location score for that candidate work location is 50 points; while when the robot base is cleaning the table at a candidate work location near the center of the table, if the number of target reachable path points covered is 90% of the total number of path points, then the location score for that candidate work location is 90 points.
[0099] S25. Based on the point scores of multiple candidate working points, determine the candidate working point that meets the preset scoring conditions as the target working point.
[0100] In this step, the preset scoring criteria are used to determine at least one target working point from multiple candidate working points. Specifically, in some embodiments, the preset scoring criteria may be to select the candidate working point with the highest 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 filter candidate working points according to the point score from high to low 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. Alternatively, a point score threshold may be set, 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, which are greater than the threshold of 85, are both selected as target working points. In some other embodiments, the site score consists of multiple parts, such as a part that evaluates path coverage, a part that evaluates the continuity of the robotic arm, a part that evaluates the movement capability of the robotic arm, and a part that evaluates the power consumption of the robotic arm. Each part is also set with a corresponding threshold. For example, if the path coverage score threshold is 70 points, then if the path coverage score is lower than 70 points, the candidate work site will not be determined as the target work site.
[0101] In summary, the technical solution of this application reduces computational burden by obtaining joint information stored in the operation map and combining it with the set operation path to narrow down the candidate work area in the entire scene. For candidate work points in the candidate work area, it is determined whether the path points in the operation path are the target reachable points of the candidate work point. A point score is generated based on the target reachable points and path points to judge the work efficiency or work value of the candidate work point. Finally, the optimal target work point is determined based on the point score. When the robot's base is at the target work point, the robot's robotic arm can perform tasks better, thereby improving the overall work efficiency of the robot.
[0102] The following section details the method for generating operation maps; please refer to [link / reference]. Figure 3 S21 includes:
[0103] S211. Determine the working space of the robotic arm.
[0104] S212. Discretize the workspace to obtain a location space consisting of multiple location points.
[0105] S213. Determine and configure the joint information of the robotic arm at each of the said positions to obtain the operation map.
[0106] In step S211, the robotic arm's workspace is obtained based on the actual scene map, combined with the robotic arm's working radius and the base's movement space. In some embodiments, the workspace is pre-stored within the robot, and the robot directly loads the workspace before starting the task to generate an operation map. In other embodiments, the workspace is generated in a base station outside the robot, processed, and then sent to the robot to generate an operation map.
[0107] In step S212, the workspace, originally a continuous geometric space, needs to be discretized to obtain a position space composed of multiple location points, thereby facilitating the description of the robot pose within the workspace. In some embodiments, the discretized workspace yields a grid space relative to the robot arm coordinate system, where the location 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] Where 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 a spatial rectangular coordinate system, respectively. xmin ,w xmax ,w ymin ,w ymax ,w zmin ,w zmax The subscripts min and max represent the minimum and maximum values in the workspace along that coordinate axis, respectively, and will not be elaborated further. The calculation process for the specific parameters is as follows:
[0111]
[0112] Where ε is the size of the raster cell, which can also be understood as the resolution of the raster space, and the floor function is the floor function.
[0113] In step S213, please refer to the relevant documentation. Figure 4 , Figure 4 This is a simplified schematic diagram of the operation map provided in one embodiment of this application. First, the joint angles in the joint information need to be configured for each position point. The joint angle q is determined by traversing each joint of the robotic arm at a certain resolution to obtain a specific joint angle qi. In some embodiments, the resolution is 0.15 rad, i.e., qi = k * 0.15 rad, where k is a natural number. Then, given the joint angle state ξ, the end effector pose T can be calculated using forward kinematics as described above. i =f(q) i For each end pose T i The grid n corresponding to the end pose can be calculated. k =(n kx ,n kx ,n kx For this grid, if the robotic arm's end effector can reach it in different postures (i.e., joint angles), then the grid n... k It is also equipped with multiple joint angles, which together form the joint angle state ξ as described above. k (q1,q2……q n Finally, joint information also includes operability, which, as mentioned above, is calculated using the Jacobian matrix and is expressed as follows: Finally, for each location point (i.e., grid n) k The joint angle state ξ is configured in the system. k End-effector pose T i And the operability w. Different joint information is configured for each different location point, for example... Figure 4 Point A, which is relatively high in the middle, is configured with different joint angle states ξ1(q). 11 ,q 12 ,q 13 ……q 1n Operability (w) 11 ,w 12 ,w 13 ...w 1n ), and end pose (T) 11 ,T 12 ,T 13 ...T 1n) However, for point B, which is relatively lower in the diagram, its joint information differs from that of the relatively higher points. The joint angle state ξ2(q) configured for point B is different. 21 ,q 22 ,q 23 ……q 2n Different levels of operability (w) 21 ,w 22 ,w 23 ...w 2n ), and different end poses (T 21 ,T 22 ,T 23 ...T 2n ).
[0114] The method for determining candidate work areas is described in detail below. Please refer to [link / reference]. Figure 5 S22 includes:
[0115] S221. Obtain the moving map of the base.
[0116] S222. Determine the center point of the path based on the work path.
[0117] S223. Based on the path center point and the working radius of the robotic arm, determine the candidate working area from the moving map.
[0118] In S221, the base's motion map is determined by the base's movable area. In some embodiments, to facilitate the description of the base's pose in the motion map, the motion map also needs to be discretized. The motion map includes multiple points, and the robot's base pose can be described through these points; that is, the base's pose is determined by discrete points. It should be noted that the base's motion map differs from the robotic arm's operation map; the information they store is entirely 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 motion map is a two-dimensional 2D map; when the base is a drone, since the base can move in three-dimensional space, the motion map is a 3D map; when the base is a submersible, the base moves in underwater space, and the motion map undergoes further changes, which are not limited here.
[0119] In some embodiments, after S221, the method further includes determining a restricted area for obstacles in the moving map, the radius of the base, and a reserved distance between the base and the obstacles, and expanding the restricted area based on the radius and / or reserved distance of the base. See also Figure 6 In a scenario, there are often many obstacles 41 that prevent the robot from entering the points occupied by the obstacles 41. The set of these points is defined as a restricted area 40. The robot base actually needs to occupy multiple points in the moving map, but when calculating the robot base's pose, only the position of the base's center point is calculated. Therefore, the radius r of the base also needs to be determined. c To avoid collisions between the robot base and obstacles, the navigation algorithm controlling the robot's movement typically includes a pre-set distance d to reduce blind spots between the robot and obstacle 41. n This makes the reserved distance d n It can cover blind spots. For example, when a robot vacuum cleaner cleans dust along walls or in corners, the cleaning components extend beyond the base to cover areas that the base cannot reach but the cleaning components can. Therefore, obstacles 41 in the moving map need to be expanded to increase the area of the restricted zone 40. Specifically, the reserved distance d is increased... n and base radius r c Increase the radius of the restricted area to 40.
[0120] Please refer to S222. Figure 7The size of the moving map is related to the factory scenario of the robot. For example, when performing a cleaning task in an airport terminal, the moving map almost covers the entire terminal. In this case, evaluating every point on the moving map would obviously greatly increase the evaluation burden. Therefore, it is necessary to further filter the points on the moving map to narrow down the evaluation range of effective points. In some embodiments, for a given job path A, as mentioned above, job 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 diagram), such that all path points P i To the center point P of the path m If the expected distance is the shortest, then the path center point P is taken as the path center point. m The effective location area can be easily determined by centering on the point. Specifically, in this embodiment, all path points P i Perform summation and averaging to determine the center point P of the path. m ,Right now Where N is the number of path points.
[0121] Please refer to S223. Figure 8 Once the path center point P is determined m Next, the working radius of the robotic arm needs to be considered to determine the candidate working area D, which includes multiple candidate working points (D1, D2). That is, the candidate working area D is centered on the path center point P. m The working area is a circular region centered at a point with a radius equal to a radius of 1. It is understood that in some embodiments, the working radius is not a fixed length; therefore, the candidate working area can also be an elliptical region, a polygonal region, etc., without specific limitations. It is also understood that the determination of the candidate working area D should take into account the area E of the target object itself and the influence of other obstacles. For example, when the robot wipes the surface of a round table, the robot cannot enter the table's area E, but rather extends its robotic arm to the table surface near the table to clean it. Therefore, the actual candidate working area is an annular region D minus the area of the round table itself.
[0122] The following section details the method for determining the target reachable path points corresponding to candidate working locations. Please refer to [link / reference]. Figure 9 S23 mainly includes:
[0123] S231. Based on the joint information corresponding to each path point, determine the path points that meet the reachability conditions as reachable path points.
[0124] S232. Based on the joint information corresponding to the reachable path points, determine the reachable path points that satisfy the preset constraints as the target reachable path points.
[0125] Before step S231, since the coordinate system of the path points is usually the world coordinate system, it is necessary to transform the path points from the world coordinate system to the robot arm coordinate system to determine whether the path points are reachable by the robot arm. In some embodiments, the pose of the robot base relative to the world coordinate system is first determined, and the pose can be specifically represented as bp(x, y, θ). Here, for the candidate working point to be evaluated, its x and y values can be directly determined from the moving map, and θ represents the orientation of the robot base. By default, the robot's orientation is set to face the path center point P. m The direction. For example, evaluate the candidate work point (3,4,0.6), where 3 and 4 represent the x-coordinate of the candidate work point on the moving map as 3 and y-coordinate as 4, respectively, and 0.6 represents the path center point P. m The angle between the line connecting the base to the center and the rotation axis of the moving map is 0.6 rad.
[0126] Based on the pose bp(x, y, θ) of the robot base and the pose of the robotic arm relative to the base b T ab It can calculate and determine the pose of the robotic arm relative to the world. w T ab Where T represents pose, the upper left subscript 'b' represents the relative reference frame, the first lower right subscript 'a' represents the fixed coordinate system, and the second lower right subscript 'b' represents the object coordinate system; details are not elaborated here. Based on the rules of change in three-dimensional coordinate systems, the pose of the path point relative to the robot arm coordinate system can be determined by combining the path point's pose relative to the world coordinate system and the robot arm's pose relative to the world coordinate system. in, The pose relationship of the robotic arm relative to the world w T ab The inverse matrix, w P i This represents the pose of the path point relative to the world coordinate system. ab P i The pose of the path point relative to the robot arm's coordinate system.
[0127] In S231, not all path points are reachable for each candidate work point. For example, when the robot base is located next to a table corner, the robotic arm on the side closest to the corner can cover and clean it, so these path points are considered reachable. However, if the base position is not changed, the robotic arm cannot reach the tabletop on the other side of the corner, therefore some path points are unreachable for that 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 determined by whether the path point has a joint angle state corresponding to that candidate work point. If a corresponding joint angle state exists, it means that the path point may have at least one pose covered by the robotic arm end effector, and 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 end effector at the candidate work point. In other words, 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 method further includes determining the joint angle state sequence of each reachable path point sequentially according to a preset sorting algorithm and a preset job order. Specifically, when there are multiple joint angles in the joint angle state of a reachable path point, judging whether the reachable path point is the target reachable path point for each joint angle would increase the computational load and reduce work efficiency. Therefore, when there are multiple joint angles in a reachable path point, it is also necessary to sort the joint angles. The result of the joint angle sorting is defined as the joint angle state sequence of the reachable path point, so that in subsequent calculation steps, the method judges whether the reachable path point is the target reachable path point based on the joint angle state sequence. When one of the joint angles satisfies the condition that the reachable path point is judged as the target reachable path point, the judgment process ends, and it is not necessary to judge other joint angles, thereby reducing the computational load.
[0129] In some embodiments, for continuous work paths, 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 them from high to low according to the operability corresponding to the joint angles. For example, please refer to... Figure 10 For joint angle states ξ(q1,q2,q3), their corresponding operability degrees are 0.8, 1.2, and 1, respectively. Therefore, the joint angle states arranged from highest to lowest operability are ξ(q2,q3,q1). For subsequent path points {P1, P2, ..., P...} N The sequence of joint angle states for P1 is determined sequentially according to the work order, then the sequence of joint angle states for P2 is determined, and so on until P is determined. NThe sequence of joint angle states.
[0130] In some embodiments, please refer to Figure 11 For a certain reachable path point P i First, determine the previous reachable path point P. i-1 The joint angle state, that is, determining the reachable path point P. i-1 Optimal joint angle q * i-1 Then determine the reachable path point P. i Joint angle state ξ i Includes multiple joint angles q i Since the pose of the robotic arm can be represented by its joint angles, the joint positions of the robotic arm can be calculated after determining the joint angles. Let P be the reachable path point. i-1 Optimal joint angle q * i-1 The corresponding joint pose is T * i-1 For reachable path point P i Each joint angle q i They also have different joint poses T i According to different joint positions T i With joint position T * i-1 The distance is determined as the joint movement distance l i According to the joint movement distance l i Arrange the points in ascending order to determine the reachable path points P. i Each joint angle q i The sequence of arrangements is a sequence of joint angle states. For example, P i Joint angle state ξ i Given (q1, q2, q3), whose corresponding joint movement distances are 1, 3, and 2 respectively, the rearranged joint angle state is ξ. i (q2, q3, q1). It can be understood that after calculating the joint angle state sequence of the first reachable path point based on operability, the joint angle state sequence of all subsequent reachable path points can be determined in the same way. It can also be understood that in some other embodiments, it is not necessary to determine the joint movement distance, but rather to directly determine the joint angle change value between 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 Optimal joint angle q * i-1 With the current reachable path point P i The difference in joint angles is Δq, and different joint angles correspond to different Δq. When q * i-1=0.3rad, ξ i If q1, q2, and q3 are 0.45 rad, 1.2 rad, and 0.9 rad respectively, then Δq are 0.15 rad, 0.9 rad, and 0.6 rad respectively. Arranging them from lowest to highest, the joint angle state sequence is ξ. i (q1,q3,q2).
[0131] In S232, the preset constraints include the desired pose condition and the preset collision avoidance 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 satisfies the preset constraints. If only the joint angle state sequence has been sorted, the joint angle is judged sequentially according to the joint angle state sequence to determine whether the joint angle satisfies the preset constraints. The judgment process ends when a joint angle judgment exists, in order to save computational resources. In some embodiments, the desired pose condition is set according to the robot's working path, and the desired pose condition of the reachable path point is T. i As can be seen from the above, different joint angles q i Corresponding to different end poses T i Then the joint angle q i Corresponding end pose T i The desired pose condition T should be met. i Otherwise, discard the joint angle q. i And determine the next joint angle q according to the joint angle state sequence. i Corresponding end pose T i Does the desired pose condition T meet? i In some embodiments, the preset anti-collision condition for reachable pathpoints is T. i The preset collision avoidance conditions are based on environmental factors and are set according to the robot's working scenario. Similarly, the joint angle q i Corresponding end pose T i The preset anti-collision condition T should be met. i "When the joint angle q i Corresponding end pose T i Meets the preset anti-collision conditions T i If the reachable path point meets the preset collision avoidance condition, then the next joint angle is determined based on the joint angle state sequence, until a joint angle satisfies the preset collision avoidance condition. Only when the joint angle q of the reachable path point meets the preset collision avoidance condition... i When both the desired pose condition and the preset collision avoidance condition are met, the reachable path point is determined to satisfy the preset constraint condition, and the reachable path point is the target reachable path point, and the corresponding joint angle q i This is the optimal joint angle.
[0132] The following section details the method for calculating the point score of candidate working points.
[0133] In some embodiments, S24 includes calculating a path coverage score for candidate work locations based on the number of target reachable path points and the number of path points in the job path. Specifically, if the job path includes a total of N job points, and the number of target reachable path points for candidate work locations is n, then the path coverage score is calculated as follows: c = n / N. For example, if N is 200 and n is 120, then the path coverage rate is 0.6. The path coverage rate score can be obtained directly from the path coverage rate, or it can be obtained after processing the path coverage rate, such as e. c =n / N*100, then the path coverage score is 60 points. Please refer to [link / reference]. Figure 12 In the diagram, D represents the candidate work area, E represents the restricted area of the target work object, and the reachable path corresponding to the relatively upper candidate work point A is the arc length l of the circle. A It is significantly longer than the arc length l corresponding to the relatively lower candidate working point B. B If there are a total of 360 path points, and the target reachable path points of the relatively higher 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 higher candidate work point A is 0.16, and the path coverage score of the relatively lower candidate work point B is 0.08.
[0134] In some embodiments, S24 includes calculating a continuity score for candidate work points based on the operability 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 operability and the joint movement distance. Where m0 is the operability of the optimal joint angle corresponding to the first reachable path point, l i The joint movement distance between each reachable pathpoint and the previous reachable pathpoint, where n is the maximum number of reachable pathpoints. For example, if the operability m0 of the optimal joint angle corresponding to the first reachable pathpoint is 1.2, and there are a total of 10 reachable pathpoints with a joint movement distance of 1 for each, 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 based on the ratio of the target reachable path point to the work path; 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; and calculating the point score of the candidate work point by multiplying the path coverage score and the continuity score by preset weight coefficients, respectively. The calculation of the path coverage score and the continuity score is the same as described above and will not be repeated here. Specifically, the point score e is derived from the path coverage score e. c and continuity score e mc Together they form, for example, e = e c +e mc Furthermore, different weighting coefficients can be set for path coverage scoring and continuity scoring to adjust their impact on location scoring; for example, e = 1*e. c +0.1*e mc In this embodiment, the weighting coefficient of the path coverage score is 1, and the weighting coefficient of the continuity score is 0.1. The weighting coefficient of the path coverage score is greater than the weighting coefficient of the continuity score, that is, the influence of the path coverage score on the location score is given priority.
[0136] In the technical solution of this application embodiment, the operation map and operation path are first acquired. Then, candidate work areas are determined based on the operation path and the working radius of the robotic arm. Next, target reachable path points and joint information of the target reachable path points are determined for candidate work points in the candidate work areas. Finally, a point score is calculated based on the number of target reachable path points and all path points, as well as the joint information of the target reachable path points. The target work point is then determined from multiple candidate work points in the candidate work areas based on the point score. In the step of determining the candidate work area, the number of candidate work points can be reduced to improve computational efficiency. By combining the reserved distance and the base radius, computational efficiency can be further improved, and the rationality of selecting candidate work points can be enhanced. When determining the target reachable path points, not only are the poses reachable by the path points considered, but also the constraints of the end-effector pose and environmental collision constraints are taken into account, thereby avoiding scoring unreachable path points during point scoring and reducing the computational load of scoring. Furthermore, for pathpoints with multiple joint angles, a sequence of joint angle states is obtained by sorting them. This eliminates the need to evaluate all joint angles to determine if they are reachable pathpoints, and simultaneously determines the optimal joint angle for each reachable pathpoint, facilitating subsequent joint distance calculations. Finally, in the point scoring step, the point scoring includes both path coverage and continuity scores, making the consideration of target work points more comprehensive and reasonable. This, in turn, enables the robot to perform tasks at the determined target work points with higher efficiency.
[0137] This application also provides a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a computer, cause the computer to perform the method described in the foregoing embodiments.
[0138] This application also provides a robot, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the method of the foregoing embodiments.
[0139] This application embodiment also provides a control device applied to a robot. The control device includes a signal receiving module for acquiring an operation map and a working path of a robotic arm. The operation map includes multiple location points, each location point is configured with joint information of the robotic arm at the location point, and the working path includes multiple path points, which are represented by location points.
[0140] The control device also includes a first calculation module, which is used to determine the candidate working area of the base according to the working path and the preset working radius of the robotic arm. The candidate working area includes multiple candidate working points.
[0141] The control device also includes a second calculation module, which is used to determine the target reachable path point corresponding to the candidate working point based on the 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 work point based on the target reachable path point and the work path;
[0143] The control device also includes a point determination module, which is used to determine the candidate working point that meets the preset scoring conditions as the target working point based on the point score of multiple candidate working points.
[0144] This application also provides a computer device, which may be a server, and its internal structure diagram may be as follows: Figure 13As shown, the computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores data that needs to be saved in the methods described in the above embodiments. The network interface of the computer device is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements the methods provided in the above embodiments.
[0145] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, 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. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0146] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to 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, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.
Claims
1. A method for determining the working position of a robot, the robot comprising a base and a robotic arm mounted on the base, characterized in that, The method includes: Obtain an operation map and the working path of the robotic arm, wherein the operation map includes multiple location points, each location point is configured with joint information of the robotic arm at the location point, and the working path includes multiple path points, which are represented by the location points; The candidate working area of the base is determined based on the work path and the preset working radius of the robotic arm, wherein the candidate working area includes multiple candidate working points; Based on the joint information corresponding to each path point, path points that meet the reachability conditions are determined as reachable path points; Based on the joint information corresponding to the reachable path point, the reachable path point that meets the preset constraints is determined as the target reachable path point; The target joint information of the target reachable path point is determined. The target joint information includes joint angle state and target operability corresponding to the joint angle state. The determination of the target joint information of the target reachable path point includes: determining the optimal joint angle state of each target reachable path point; calculating the joint distance between two adjacent reachable path points based on the optimal joint angle states of two adjacent reachable path points; and determining the operability of the first target reachable path point as the target operability according to a preset operation sequence. Based on the target reachable path points, the work path, and the target joint information, calculate the point score of the candidate work points; Based on the point scores of multiple candidate working points, the candidate working point that meets the preset scoring conditions is determined as the target working point.
2. The method according to claim 1, characterized in that, The joint information includes the reachable joint angle state of the robotic arm, and the step of determining the reachable path point based on the joint information corresponding to each path point includes: Based on the operation map, determine whether each path point is configured with an reachable joint angle state; If configured, the path point is determined to meet the reachability condition, and the path point is a reachable path point.
3. The method according to claim 1, characterized in that, The joint information includes the reachable joint angle state of the robotic arm. After determining the reachable path points based on the joint information corresponding to each path point, the method further includes: Based on the preset sorting algorithm and preset job order, the joint angle state sequence of each reachable path point is determined sequentially; Then, the step of determining the reachable path point that satisfies the preset constraints as the target reachable path point based on the joint information corresponding to the reachable path point is as follows: Based on the joint information corresponding to the reachable path points, the reachable path points that satisfy the preset constraints are sequentially determined from the joint angle state sequence as the target reachable path points.
4. The method according to claim 3, characterized in that, The joint information also includes operability corresponding to the joint angle state. The step of sequentially determining the joint angle state sequence for each reachable path point according to a preset sorting algorithm and a preset work order includes: Based on the operation sequence, determine multiple operability parameters of the first reachable path point; Based on the operability arranged from high to low, the joint angle state sequence of the first reachable path point is determined.
5. The method according to claim 4, characterized in that, The step of determining the joint angle state sequence of each reachable path point according to a preset sorting algorithm and a preset work order further includes: Based on the operation sequence, determine the joint angle states of the current reachable path point and the joint angle state of the previous target reachable path point; Based on the joint angle state of the previous reachable path point and multiple joint angle states of the current reachable path point, determine the joint movement distance corresponding to each joint angle state of the current reachable path point and the joint angle state of the previous reachable path point; Based on the joint movement distances arranged from low to high, the joint angle state sequence of the currently reachable path points is determined.
6. The method according to claim 5, characterized in that, The joint information also includes the end-effector pose corresponding to the joint angle state, the preset constraints include desired pose conditions and preset anti-collision conditions, and the step of determining the reachable path points that satisfy the preset constraints as target reachable path points from the joint angle state sequence based on the joint information corresponding to the reachable path points includes: Based on the joint angle state sequence, it is determined in sequence whether the reachable path point has an end pose that meets the desired pose condition and / or whether it meets the preset anti-collision condition. If so, then the reachable path point is determined as the target reachable path point.
7. The method according to any one of claims 1 to 6, characterized in that, The coordinate system of the path points is the world coordinate system. Before determining the target reachable path point corresponding to the candidate work point based on the work path and the joint information corresponding to each path point, the method further includes: Based on the pose of the base relative to the world coordinate system and the pose relationship of the robotic arm relative to the base, the pose relationship of the robotic arm relative to the world coordinate system is determined. The coordinates of the path point relative to the world coordinate system are determined based on the coordinates of the path point relative to the world coordinate system and the pose of the robotic arm relative to the world coordinate system.
8. The method according to any one of claims 1 to 6, characterized in that, The step of determining the candidate working area of the base based on the working path and the preset working radius of the robotic arm includes: Obtain the moving map of the base; Determine the center point of the path based on the described work path; The candidate working area is determined from the moving map based on the center point of the path and the working radius of the robotic arm.
9. The method according to claim 8, characterized in that, After obtaining the moving map of the base, the method further includes: Determine the restricted areas of obstacles in the moving map, the radius of the base, and the reserved distance of the base relative to the obstacles; The restricted area is expanded according to the radius of the base and / or the reserved distance.
10. The method according to any one of claims 1 to 6, characterized in that, The acquisition of the operation map also includes: Determine the working space of the robotic arm; Discretize the workspace to obtain a location space consisting of multiple location points; The joint information of the robotic arm at each of the stated positions is determined and configured to obtain the operation map.
11. The method according to any one of claims 1 to 6, characterized in that, The point scoring includes path coverage scoring. The point scoring for calculating candidate work points based on the target reachable path points and the work path includes: calculating the path coverage scoring of the candidate work points based on the number of target reachable path points and the number of path points on the work path.
12. The method according to any one of claims 1 to 6, characterized in that, The point scoring includes a continuity score. The point scoring for calculating candidate work points based on the target reachable path points and the work path includes: calculating the continuity score of the candidate work points based on the operability of the target reachable path points and the joint movement distance calculated from the joint angle state.
13. The method according to any one of claims 1 to 6, characterized in that, The point scoring includes path coverage scoring and continuity scoring. The point scoring for calculating candidate work points based on the target reachable path points and the work path includes: The path coverage score of the candidate work point is calculated based on the ratio of the target reachable path point to the work path. The continuity score of the candidate working point is calculated based on 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 by multiplying the preset weight coefficients by the path coverage score and the continuity score respectively.
14. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the robot implements the method as described in any one of claims 1 to 13.
15. A storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 13.
Citation Information
Patent Citations
Robot and control method thereof
CN113116224A
Autonomous exploration mapping target selection method and system
CN115145270A