Method and device for path planning of mechanical arm, electronic equipment and storage medium
By acquiring the robotic arm's operational trajectory and constraint direction information, the end-effector's pose and joint path are planned, solving the problem of the end-effector's lack of directional constraints and enabling fast and accurate execution of operational tasks.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-11
- Publication Date
- 2026-03-24
AI Technical Summary
Existing robotic arm end-effectors lack directional constraints, resulting in low operational efficiency and difficulty in meeting the precise execution requirements of complex tasks such as cleaning and drawing.
By acquiring the robotic arm's work trajectory and the constraint direction information of each work point, the end-effector pose is planned and the target joint angle is determined, and the joint path is generated to ensure that the end-effector meets the orientation requirements in the work trajectory.
This enables the robotic arm's end effector to execute tasks quickly and accurately within its work trajectory, meeting orientation requirements and improving work efficiency and precision.
Smart Images

Figure CN116766172B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of mechanical arm, and in particular to a path planning method and device of a mechanical arm, an electronic device and a storage medium. BACKGROUND
[0002] With the continuous development of automation technology, the application of mechanical arms is becoming more and more widespread, and accordingly, the operation requirements for mechanical arms are also increasing. At present, when the mechanical arm is operating, the end tool of the mechanical arm is mostly unconstrained in direction. For some application scenarios, the efficiency of the end tool in performing the operation task is low and does not meet the operation requirements. For example, when cleaning an object by using a mechanical arm, the end tool is a wiping tool. If the end tool is unconstrained in direction, it may not always use the largest wiping surface of the wiping tool to perform the wiping operation, and the wiping efficiency is low. Or when performing a drawing operation by using a mechanical arm, if the clamping mechanism of the end tool is unconstrained in direction, it is difficult to complete the drawing task according to the preset drawing trajectory. SUMMARY
[0003] Based on the above research, the present application provides a path planning method and device of a mechanical arm, an electronic device and a storage medium, which can plan the joint path of the mechanical arm according to the constraint direction information of the end tool of the mechanical arm and the operation trajectory, so as to ensure that the mechanical arm performs the operation task according to the set operation trajectory and meets the directional requirements of the end tool.
[0004] Embodiments of the present application can be implemented as follows:
[0005] In a first aspect, the present application provides a path planning method of a mechanical arm, which comprises:
[0006] obtaining an operation trajectory of the mechanical arm and constraint direction information of each operation point in the operation trajectory;
[0007] determining the end tool pose of the mechanical arm at each operation point according to the constraint direction information of each operation point and the position information of each operation point;
[0008] determining the target joint angle of each operation point according to the end tool pose of each operation point;
[0009] determining the joint path of the mechanical arm according to the target joint angle corresponding to each operation point.
[0010] In an optional implementation, the step of determining the end tool pose of the mechanical arm at each operation point according to the constraint direction information of each operation point and the position information of each operation point comprises:
[0011] Based on the constraint direction information of each work point, the rotation matrix of the end tool coordinate system of the robot arm at each work point relative to the base coordinate system of the robot arm is determined.
[0012] Based on the position information of each work point and the rotation matrix of each work point, the end-effector pose of each work point is determined.
[0013] In an optional implementation, the step of determining the target joint angle of each work point based on the end-effector pose of each work point includes:
[0014] Determine the starting point of each work point, and determine the target joint angle of the starting point based on the end-effector pose of the starting point.
[0015] Based on the target joint angle of the starting point of the operation and the end tool pose of other operation points in each operation point, the target joint angle of other operation points in the operation point is determined.
[0016] In an optional implementation, the step of determining the target joint angles of other work points among the work points based on the target joint angle of the work starting point and the end-effector poses of other work points among the work points includes:
[0017] Based on the target joint angle of the starting point of the operation and the end tool pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined.
[0018] The next work point adjacent to the work start point is set as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined. The next work point adjacent to the new work start point is set as the new work start point. This process is repeated until the target joint angle of the work end point of the work trajectory is determined.
[0019] In an optional implementation, the step of determining the target joint angles of other work points among the work points, based on the target joint angle of the work starting point and the end-effector poses of other work points among the work points, includes:
[0020] Based on the target joint angle of the starting point of the operation and the end tool pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined.
[0021] Collision detection is performed on the target joint angle of the next work point adjacent to the work start point;
[0022] If there is no collision, the target joint angle of the next work point adjacent to the work start point is set as a new node and placed in a random tree created with the target joint angle of the work start point as the root node. The next work point adjacent to the work start point is set as a new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined.
[0023] If a collision occurs, the work point corresponding to any node in the random tree is set as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined.
[0024] Collision detection is performed on the target joint angle of the next work point adjacent to the new work starting point, and this process is iterated until the target joint angle of the work endpoint of the work trajectory is determined or the number of iterations reaches a set threshold.
[0025] In an optional implementation, the step of determining the target joint angle of the next working point adjacent to the new working starting point based on the target joint angle of the new working starting point and the end-effector pose of the next working point adjacent to the new working starting point includes:
[0026] Based on the target joint angle of the new task starting point, the task Jacobian matrix of the new task starting point is determined;
[0027] The task error is determined based on the target joint angle of the new starting point and the end-effector pose of the next work point adjacent to the new starting point.
[0028] Based on the task Jacobian matrix and the task error, the joint velocity of the next task point adjacent to the new task starting point is obtained;
[0029] According to the preset integration step size, the joint velocity is discretized to obtain the joint angle increment of the next working point adjacent to the new working starting point.
[0030] Based on the target joint angle of the new starting point and the joint angle increment, the target joint angle of the next working point adjacent to the new starting point is determined.
[0031] In an optional implementation, the step of setting the job point corresponding to any node in the random tree as the new job starting point if a collision occurs includes:
[0032] Obtain obstacle information of the robotic arm's working environment;
[0033] Based on the configuration space of the robotic arm and the obstacle information, the free space of the robotic arm is determined, and random sampling is performed in the free space to obtain the sampled joint angles;
[0034] Detect the node in the random tree that is closest to the sampling joint angle, and set the work point corresponding to the node that is closest to the sampling joint angle as the new work starting point.
[0035] In an optional implementation, the step of determining the joint path of the robotic arm based on the target joint angle corresponding to each of the work points includes:
[0036] Based on the target joint angles corresponding to each work point, the joint path of the robotic arm is obtained through backtracking.
[0037] Secondly, embodiments of the present invention provide a path planning device for a robotic arm, comprising:
[0038] The acquisition module is used to acquire the working trajectory of the robotic arm, as well as the constraint direction information of each working point in the working trajectory;
[0039] The first calculation module is used to determine the end-effector pose of the robotic arm at each of the work points based on the constraint direction information and position information of each work point.
[0040] The second calculation module is used to determine the target joint angle of each work point based on the end-effector pose of each work point.
[0041] The planning module is used to determine the joint path of the robotic arm based on the target joint angles corresponding to each of the work points.
[0042] Thirdly, embodiments of the present invention provide an electronic device, the electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the path planning method of the robotic arm described in any of the foregoing embodiments.
[0043] Fourthly, embodiments of the present invention provide a storage medium storing a computer program, which, when executed by a processor, implements the path planning method for the robotic arm described in any of the foregoing embodiments.
[0044] The path planning method, apparatus, electronic device, and storage medium for a robotic arm provided in this invention, after acquiring the robotic arm's working trajectory and the constraint direction information of each working point in the working trajectory, determines the end-effector pose of the robotic arm at each working point based on the constraint direction information and the position information of each working point. Based on the end-effector pose of each working point, the target joint angle of each working point is determined, and then the joint path of the robotic arm is determined based on the target joint angle corresponding to each working point. Thus, by using the constraint direction information of the end-effector at each working point of the working trajectory, the end-effector pose of the robotic arm at each working point of the working trajectory is determined, and the joint path of the robotic arm is determined based on the end-effector pose of each working point. The end-effector of the robotic arm can perform the work task while following the set working trajectory, meeting the orientation requirements and executing the work task quickly and accurately. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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.
[0046] Figure 1 This is a schematic diagram of a robotic arm wiping object A according to the present invention.
[0047] Figure 2 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention.
[0048] Figure 3 This is a schematic flowchart of a path planning method for a robotic arm provided in an embodiment of the present invention.
[0049] Figure 4 This is a schematic diagram of the end-effector constraint direction in the work trajectory provided in an embodiment of the present invention.
[0050] Figure 5 This is a schematic diagram of the DH parameter model of the 6-joint robotic arm provided in an embodiment of the present invention.
[0051] Figure 6 This is a schematic diagram of the location of the next work point adjacent to the work start point, provided in an embodiment of the present invention.
[0052] Figure 7 This is an alternative location diagram of the next work point adjacent to the work start point, provided in an embodiment of the present invention.
[0053] Figure 8 This is a block diagram of a path planning device for a robotic arm provided in an embodiment of the present invention.
[0054] Icons: 100 - Electronic device; 10 - Path planning device for robotic arm; 11 - Acquisition module; 12 - First calculation module; 13 - Second calculation module; 14 - Planning module; 20 - Memory; 30 - Processor; 40 - Communication unit. Detailed Implementation
[0055] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0056] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientation or positional relationships based on the orientation or positional relationships shown in the accompanying drawings, are only for the convenience of describing the invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the invention. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of the stated features. In the description of this invention, "a plurality of" means two or more, unless otherwise explicitly specified.
[0057] In this invention, the term "exemplary" is used to mean "serving as an example, illustration, or description." Any embodiment described as "exemplary" in this invention is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is provided to enable any person skilled in the art to make and use the invention. Details are set forth in the following description for purposes of explanation. It should be understood that those skilled in the art will recognize that the invention can be made without using these specific details. In other instances, well-known structures and processes will not be described in detail to avoid obscuring the description of the invention with unnecessary detail. Therefore, the invention is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed herein.
[0058] As described in the background section, currently, during robotic arm operations, the end effector of the robotic arm is mostly without directional constraints. For some application scenarios, the efficiency of the end effector in performing tasks is low and does not meet the operational requirements. For example... Figure 1 In the case of cleaning object A with a robotic arm, the end effector is a wiping tool. If the end effector is not oriented, it may not use the maximum wiping surface of the wiping tool to perform the wiping operation, resulting in low wiping efficiency. Or, when performing drawing operations with a robotic arm, if the end effector clamping mechanism is not oriented, it is difficult to complete the drawing task according to the preset drawing trajectory.
[0059] With the continuous development of automation and intelligent robot technology, robotic arms are being used more and more widely in industries and manufacturing. The operational requirements for robotic arms are also becoming increasingly complex. In some applications, there are directional constraints on the end-effector. When these constraints are present, existing robotic arm path planning methods struggle to control the end-effector to perform tasks according to a pre-set trajectory while satisfying these constraints.
[0060] The path planning method, apparatus, electronic device, and storage medium for a robotic arm provided in this invention, after acquiring the robotic arm's working trajectory and the constraint direction information of each working point in the working trajectory, determines the end-effector pose of the robotic arm at each working point based on the constraint direction information and the position information of each working point. Based on the end-effector pose of each working point, the target joint angle of each working point is determined, and then the joint path of the robotic arm is determined based on the target joint angle corresponding to each working point. Thus, by using the constraint direction information of the end-effector at each working point of the working trajectory, the end-effector pose of the robotic arm at each working point of the working trajectory is determined, and the joint path of the robotic arm is determined based on the end-effector pose of each working point. The end-effector of the robotic arm can perform the work task while following the set working trajectory, meeting the orientation requirements and executing the work task quickly and accurately.
[0061] Please see Figure 2 , Figure 2 This is a structural block diagram of an electronic device 100 provided in this embodiment. Figure 2 As shown, the electronic device may include a path planning device 10 for the robotic arm, a memory 20, a processor 30, and a communication unit 40. The memory 20 stores machine-readable instructions that can be executed by the processor 30. When the electronic device 100 is running, the processor 30 and the memory 20 communicate with each other via a bus. The processor 30 executes the machine-readable instructions and performs the path planning method for the robotic arm.
[0062] The memory 20, processor 30, and communication unit 40 are electrically connected directly or indirectly to each other to achieve signal transmission or interaction. For example, these components can be electrically connected to each other through one or more communication buses or signal lines. The path planning device 10 of the robotic arm includes at least one software function module that can be stored in the memory 20 in the form of software or firmware. The processor 30 is used to execute the executable module (e.g., the software function module or computer program included in the path planning device 10 of the robotic arm) stored in the memory 20.
[0063] The memory 20 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.
[0064] In some embodiments, processor 30 is used to perform one or more functions described in this embodiment. In some embodiments, processor 30 may include one or more processing cores (e.g., a single-core processor (S) or a multi-core processor (S)). By way of example only, processor 30 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), an application-specific instruction-set processor (ASIP), a graphics processing unit (GPU), a physical processing unit (PPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic device (PLD), a controller, a microcontroller unit, a reduced instruction set computing (RISC) computer, or a microprocessor, or any combination thereof.
[0065] For ease of explanation, only one processor is described in electronic device 100. However, it should be noted that electronic device 100 in this embodiment may also include multiple processors, and therefore the steps performed by one processor as described in this embodiment may also be performed jointly or individually by multiple processors. For example, if the server's processor performs steps A and B, it should be understood that steps A and B may also be performed jointly by two different processors or individually by one processor. For example, one processor performs step A, and a second processor performs step B, or the first and second processors jointly perform steps A and B.
[0066] In this embodiment, the memory 20 is used to store the program, and the processor 30 is used to execute the program after receiving the execution instruction. The process definition method disclosed in any implementation of this embodiment can be applied to the processor 30, or implemented by the processor 30.
[0067] The communication unit 40 is used to establish a communication connection between the electronic device 100 and other devices via a network, and to send and receive data via the network.
[0068] In some implementations, the network can be any type of wired or wireless network, or a combination thereof. By way of example only, the network may include wired networks, wireless networks, fiber optic networks, telecommunications networks, intranets, the Internet, local area networks (LANs), wide area networks (WANs), wireless local area networks (WLANs), metropolitan area networks (MANs), public switched telephone networks (PSTNs), Bluetooth networks, ZigBee networks, or near field communication (NFC) networks, or any combination thereof.
[0069] In this embodiment, the electronic device 100 may be, but is not limited to, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), or other electronic devices.
[0070] Understandably, Figure 2 The structure shown is for illustrative purposes only. The electronic device 100 may also have... Figure 2 Showing more or fewer components, or having with Figure 2 The different configurations shown. Figure 2 The components shown can be implemented using hardware, software, or a combination thereof.
[0071] based on Figure 2 The implementation architecture of this embodiment provides a path planning method for a robotic arm, which is based on... Figure 2 The electronic device executes, based on the following Figure 2 The provided structural diagram of the electronic device 100 provides a detailed explanation of the path planning method for the robotic arm provided in this embodiment. Please refer to the attached diagram. Figure 3 The path planning method for the robotic arm provided in this embodiment includes steps S101 to S104.
[0072] S101: Obtain the working trajectory of the robotic arm, as well as the constraint direction information of each working point in the working trajectory.
[0073] In this embodiment, the work trajectory refers to the pre-set work trajectory of the robotic arm's end effector. The end effector needs to perform tasks according to this work trajectory, and each work point in the work trajectory has its corresponding constraint direction information. In this embodiment, the work trajectory is relative to the base coordinate system of the robotic arm, which is a fixed coordinate system, meaning it does not move with the robotic arm. The constraint direction information of the robotic arm represents the directional constraints on the end effector during work at each work point; therefore, the constraint direction is relative to the end effector's coordinate system. In this embodiment, the constraint direction information of each work point is set according to the work requirements. In practical applications, it can be adjusted according to the work requirements, but this embodiment does not impose any limitations.
[0074] In this embodiment, the constraint direction information represents the posture constraints of the robotic arm's end effector at each work point. Before determining the constraint direction information at each work point, the robotic arm links and joints are modeled by constructing a Denavit-Hartenberg (DH) parameter model. This involves establishing a link coordinate system for the robotic arm. For each link, a coordinate system is established fixed to it. The robotic arm base can also be considered a link, and the end effector is considered to be connected to a link of zero length. Thus, a robot with n degrees of freedom has n+1 links and correspondingly n+1 coordinate systems. The base coordinate system is a fixed coordinate system. The constraint direction information is determined in the coordinate system corresponding to the end effector. For example: Please refer to [reference needed]. Figure 1 When using a robotic arm to perform wiping operations, the end effector of the robotic arm is a wiping disc. In order to maximize the use of the wiping tool at the end of the robotic arm and perform wiping operations quickly, at each working point, it is necessary to ensure that the wiping surface B of the wiping tool is always parallel to the plane to be wiped on the object A. That is, the Z-axis of the coordinate system of the end effector is perpendicular to the working surface. The constraint direction information of each working point is determined based on the current position of the working surface and the working orientation constraint of the end effector. When the wiping surface is a horizontal plane, the Z-axis of the coordinate system of the end effector is vertical; when the wiping plane is a vertical plane, the Z-axis of the coordinate system of the end effector is horizontal.
[0075] In this embodiment, the constraint direction information for each work trajectory can be the same or different. For example: Please refer to Figure 4 Given the working trajectory S, when the robotic arm is working, it is necessary to ensure that at each working point A, B, C, etc., the Z-axis A1, B1, C1 of the end-effector coordinate system of the robotic arm are all perpendicular to the working surface.
[0076] S102: Based on the constraint direction information and position information of each work point, determine the end-effector pose of the robotic arm at each work point.
[0077] In this embodiment, since the work constraint direction is relative to the end-effector coordinate system, and the position information of the work trajectory is relative to the base coordinate system, the position information of the work point is the position of the robotic arm's end effector. In this embodiment, the end-effector pose represents the pose of the end-effector relative to the base coordinate system. Therefore, after determining the position of each work point relative to the base coordinate system, it is also necessary to determine the orientation of each work point relative to the base coordinate system. In this embodiment, the end-effector coordinate system can be determined based on the constraint direction information, and the pose of the end-effector can be determined by the rotation relationship between the end-effector coordinate system and the base coordinate system.
[0078] S103: Determine the target joint angle of each work point based on the end-effector pose of each work point.
[0079] In this embodiment, the target joint angle of each work point can be determined by solving the forward kinematics equations inversely and solving the inverse kinematics equations at the velocity layer, etc., based on the pose of the end tool at each work point. This embodiment does not impose specific limitations, as long as the orientation constraints of the end tool of the robotic arm are met and the work task can be performed according to the preset work path.
[0080] S104: Determine the joint path of the robotic arm based on the target joint angles corresponding to each work point.
[0081] The joint path of the robotic arm represents the transformation path of the joint angles of the robotic arm as it moves along the work trajectory. In this embodiment, after obtaining the target joint angles corresponding to each work point, the target joint angles are determined sequentially from the work start point to the work end point according to the work trajectory, thus obtaining the joint path of the robotic arm.
[0082] In this embodiment, the end-effector pose of each work point is determined by the constraint direction information of the end-effector at each work point on the work trajectory. That is, the pose that the end-effector needs to reach to simultaneously satisfy the work trajectory and constraint direction information. Then, the target joint angle of each work point is determined by the end-effector pose of each work point, so that the joint path that simultaneously satisfies the work trajectory and constraint direction information can be obtained.
[0083] For ease of illustration, the robotic arm in this embodiment has 6 joints, and the Z-axis of the end-effector coordinate system is set as the constraint direction. The Z-axis of the end-effector coordinate system must always be perpendicular to the working surface. When the working surface is curved, the Z-axis of the end-effector coordinate system needs to be perpendicular to the tangent line corresponding to each working point on the curved surface. This will not be elaborated further. It is understood that the number of joints of the robotic arm and the orientation constraint of the end-effector here are only illustrative examples and should not be regarded as a limitation on the number of joints of the robotic arm and the orientation constraint of the end-effector.
[0084] Optionally, in this embodiment, the step of determining the end-effector pose of the robotic arm at each work point based on the constraint direction information and position information of each work point includes:
[0085] Based on the constraint direction information of each work point, the rotation matrix of the end-effector coordinate system of the robotic arm relative to the base coordinate system of the robotic arm at each work point is determined.
[0086] Based on the location information of each work point and the rotation matrix of each work point, the end-effector pose of each work point is determined.
[0087] In this embodiment, since the orientation constraint of the end-effector is relative to the end-effector coordinate system, it is necessary to determine the end-effector pose of the robotic arm at each work point relative to the base coordinate system based on the constraint direction information and the position information of each work point. Based on the work trajectory, the position of the end-effector in the base coordinate system can be determined. Based on the constraint direction information, the end-effector coordinate system can be determined. Based on the rotation relationship between the end-effector coordinate system and the base coordinate system, i.e., the rotation matrix, the end-effector pose corresponding to each work point can finally be determined. For example, in this embodiment, please refer to... Figure 1 In this embodiment, the robotic arm is used to wipe object A. The working trajectory is the coordinates of the wiping surface B of the end effector in the base coordinate system. It is required that the Z-axis of the end effector coordinate system is perpendicular to the working surface at each working point. The current working surface is a horizontal plane, so the Z-axis of the current end effector coordinate system is perpendicular to the working surface, and the end effector coordinate system can be determined. Furthermore, the coordinates of the wiping surface B in the end effector coordinate system can be determined. Knowing the coordinates of the same point in the base coordinate system and the end effector coordinate system, the rotation matrix of the end effector coordinate system relative to the base coordinate system can be obtained, and finally the end effector pose relative to the base coordinate system can be determined.
[0088] In this embodiment, the constraint direction information of the end-effector is converted into the attitude description of the end-effector relative to the base coordinate system to determine the end-effector pose at each work point, ensuring that the machine can perform the work task according to the orientation constraints.
[0089] Optionally, in this embodiment, the step of determining the target joint angle of each work point based on the end-effector pose of each work point includes:
[0090] Determine the starting point of the operation at each operation point, and based on the end tool pose of the starting point, determine the target joint angle of the starting point.
[0091] Based on the target joint angle at the starting point of the operation and the end-effector pose of other operation points in each operation point, the target joint angles of other operation points in the operation point are determined.
[0092] In this embodiment, when determining the target joint angle of the starting point of the operation based on the end-effector pose, the target joint angle corresponding to the starting point is obtained by inversely solving the aforementioned kinematic equations of the robotic arm. When the application scenario of the robotic arm is simple, there are no obstacles in the workspace, and the operation trajectory of the robotic arm is simple, and the robotic arm will not experience self-collision and / or fail to meet joint limits, any inverse solution of the aforementioned kinematic equations of the robotic arm can be set as the target joint angle of the starting point of the operation. When it is necessary to consider the self-collision of the robotic arm and joint limits, based on the configuration of the robotic arm and the limits of each joint, any inverse solution that will not experience self-collision and satisfies the limits of each joint is determined as the target joint angle of the starting point of the operation. When considering self-collision, joint limitations, and obstacles in the robotic arm's workspace, collision detection is required for each inverse kinematics (IkM). Collision detection can be implemented using existing detection algorithms by directly configuring their environmental parameters; alternatively, the free space of the robotic arm can be pre-determined based on its configuration space and the obstacle space formed by the obstacles. Free space is the movement space of the robotic arm where it will not collide with obstacles or engage in self-collision, and then the IkM can be checked to see if it lies within this free space. In practical applications, there are various collision detection methods available, as long as they ensure obstacle avoidance by the robotic arm. This embodiment does not impose any limitations on these methods.
[0093] In this embodiment, after determining the target joint angle at the starting point of the operation, the target joint angles of other operation points are determined based on the end-effector poses of other operation points. This can be achieved by inversely solving the aforementioned forward kinematics equations. The number of inverse solutions depends on the number of joints in the robotic arm, the robotic arm configuration, and the range of joint motion. Inverse solutions can be obtained using algebraic or geometric methods. After inverse solving, each joint has multiple possible values. If the target joint angles for each joint are randomly selected, countless joint paths will be obtained. Alternatively, the inverse kinematics equations of the velocity layer can be obtained, and the target joint angles for each operation point can be derived sequentially from the starting point to the ending point of the operation along the work trajectory. This embodiment does not impose any limitations on this. When obstacles, joint limits, and robotic arm self-collisions are not considered, collision detection of the target joint angles is unnecessary. If obstacles, joint limits, and robotic arm self-collisions are considered, then the joint angles calculated for each operation point need to undergo collision detection; only the joint angles without collisions are the target joint angles for each operation point.
[0094] In this embodiment, the robotic arm has 6 joints, and the Z-axis of the end-effector coordinate system is set as the constraint direction. The Z-axis of the end-effector must always be perpendicular to the working surface.
[0095] Please refer to the following: Figure 5 If the DH parameter model of the robotic arm with 6 joints in this embodiment is as follows: Figure 5As shown, the DH parameter table is as follows:
[0096] i a (mm) α d (mm) θ 1 0 0 267 0 2 0 -90° 0 -90° 3 289.489 0 0 0 4 77.5 -90° 342.5 0 5 0 90° 0 0 6 76 -90° 97 0
[0097] Where i represents a joint, a represents a joint offset, α represents a joint torsion, θ represents the joint rotation variable of the robotic arm, and d represents the joint sliding variable.
[0098] The pose description of the end effector of the robotic arm relative to the robotic arm base in this embodiment, i.e., the forward kinematics equation of the robotic arm, is as follows:
[0099]
[0100] in: i-1 T i =Trans(a i-1 0 0)·Rot(X i-1 α i-1 )·Trans(0 0 d i-1 )·Rot(Z i θ i-1 ), representing the pose relationship of joint i relative to joint i-1. O represents the coordinate system of the robotic arm's end effector. t X t Y t Z t The pose relationship relative to the end-effector coordinate system O6X6Y6Z6.
[0101] Depend on Figure 5 As can be seen, the Z-axis in the end-effector coordinate system Tool1 is horizontal, therefore, the working surface corresponding to this working point is vertical; the Z-axis in Tool1 is vertical, therefore, the working surface corresponding to this working point is horizontal.
[0102] Optionally, in this embodiment, the step of determining the target joint angles of other work points based on the target joint angle at the start of the work and the end-effector poses of other work points includes:
[0103] Based on the target joint angle at the starting point of the operation and the end-effector pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined.
[0104] Set the next work point adjacent to the work start point as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, determine the target joint angle of the next work point adjacent to the new work start point. Set the next work point adjacent to the new work start point as the new work start point. Repeat this process until the target joint angle of the work end point of the work trajectory is determined.
[0105] In this embodiment, when obstacles, joint limits, and robot arm self-collision are not considered, in order to ensure the continuity and optimization of the path, the target joint angles of other work points are derived sequentially from the work start point to the work end point of the work trajectory.
[0106] In this embodiment, the next work point adjacent to the work start point (or the new work start point) refers to the next work point adjacent to the work start point (or the new work start point) along the work trajectory direction. For example: Please refer to Figure 6 The operation trajectory X moves from left to right. Work points a, b, and c are three adjacent work points. Therefore, the next work point adjacent to work point a is work point b, and the next work point adjacent to work point b is work point c. Please refer to the relevant documentation. Figure 7 The work trajectory is U, and the work direction is as shown in the figure. The three work points H, I, and J are adjacent work points. As can be seen from the figure, the work point closest to work point H is J. However, in this embodiment, the next adjacent work point refers to the work point adjacent in the movement direction of the work trajectory, not the work point with the closest distance. Therefore, the next work point adjacent to work point H is I, and the next work point adjacent to work point I is work point J.
[0107] Accordingly, in this embodiment, when determining the target joint angle of the next work point adjacent to the work start point (or a new work start point), it can be done by inversely solving the aforementioned forward kinematic equations. The number of inverse solutions depends on the number of joints in the robotic arm, the configuration of the robotic arm, and the range of motion of the joints. Algebraic or geometric methods can be used for inverse solving. Each joint angle obtained by inverse solving has multiple values. If the target joint angles corresponding to each joint are all randomly selected, countless joint paths will be obtained according to the work trajectory. Alternatively, the inverse kinematic equations of the velocity layer can be obtained, and the target joint angles corresponding to each work point can be derived sequentially from the work start point to the work end point according to the work trajectory. This embodiment does not impose any limitations on this.
[0108] Optionally, in this embodiment, the step of determining the target joint angles of other work points based on the target joint angle at the start of the work and the end-effector poses of other work points includes:
[0109] Based on the target joint angle at the starting point of the operation and the end-effector pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined.
[0110] Collision detection is performed on the target joint angle of the next work point adjacent to the work start point;
[0111] If there is no collision, set the target joint angle of the next work point adjacent to the work start point as a new node and put it into a random tree created with the target joint angle of the work start point as the root node. Set the next work point adjacent to the work start point as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, determine the target joint angle of the next work point adjacent to the new work start point.
[0112] If a collision occurs, set the work point corresponding to any node in the random tree as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, determine the target joint angle of the next work point adjacent to the new work start point.
[0113] Collision detection is performed on the target joint angle of the next work point adjacent to the new work starting point. This process is repeated until the target joint angle of the work endpoint of the work trajectory is determined or the number of iterations reaches a set threshold.
[0114] In this embodiment, when considering the robot arm's self-collision, joint limitations, and obstacles in the robot arm's workspace, collision detection is required for the calculated target joint angles at each work point. In this embodiment, the target joint angle at the work start point is collision-free. Collision detection is still required when determining the target joint angle at the work start point. The collision detection methods are as described in the previous embodiments, and there are multiple options available, which will not be repeated here.
[0115] Optionally, in this embodiment, the step of creating a random tree with the target node at the start of the task as the root node includes:
[0116] Initialize a random tree;
[0117] Based on the end-effector pose at the starting point of the operation, the forward kinematics equations of the robotic arm are solved inversely to obtain multiple inverse solutions. Collision detection is performed on the inverse solutions, and the joint angle corresponding to any inverse solution without collision is set as the target joint angle at the starting point of the operation.
[0118] In this embodiment, the preset threshold for the number of iterations is pre-set. In practical applications, those skilled in the art can set it according to their needs. This embodiment does not impose any specific limitations.
[0119] In this embodiment, a random tree is created with the target joint angle corresponding to the starting point of the operation as the root node, and the non-collision target joint angles corresponding to each operation point are set as new nodes and added to the random tree to ensure that a complete joint path that satisfies the constraint direction information and obstacle avoidance requirements can be determined in the end.
[0120] Optionally, in this embodiment, the step of determining the target joint angle of the next working point adjacent to the new working starting point based on the target joint angle of the new working starting point and the end-effector pose of the next working point adjacent to the new working starting point includes:
[0121] Based on the target joint angle of the new task starting point, the task Jacobian matrix of the new task starting point is determined;
[0122] Based on the target joint angle of the new starting point and the end-effector pose of the next work point adjacent to the new starting point, the task error corresponding to the new starting point is determined.
[0123] Based on the task Jacobian matrix of the new starting point and the task error of the new starting point, the joint velocity of the next working point adjacent to the new starting point is obtained.
[0124] According to the preset integration step size, the joint velocity of the new starting point is discretized to obtain the joint angle increment of the next working point adjacent to the new starting point.
[0125] The target joint angle of the next work point adjacent to the new work start point is determined based on the target joint angle of the new work start point and the joint angle increment of the next work point adjacent to the new work start point.
[0126] Among them, based on the task Jacobian matrix of the new task starting point and the task error of the new task starting point, the joint velocity of the next task point adjacent to the new task starting point is obtained, which is the general solution for calculating the velocity kinematic equation.
[0127] In this embodiment, the planning of the joint path can be specifically described as follows: given a task path t d (s) and constraint direction information n corresponding to each work point d (s), s∈[0,1], generate a joint trajectory θ such that:
[0128] p(θ(s))=t d (s), and a(θ(s))=n d (s), θ(s)∈C free ,
[0129] Where p(θ(s)) represents the position of the end effector when the joint angle of the robotic arm is θ(s), and a(θ(s)) represents the Z-axis direction of the end effector. The kinematic velocity equations of the robotic arm in this embodiment are constructed as follows:
[0130] x′=[J υ J ω ] T θ′
[0131] J υ J represents a 3x6 position-dependent Jacobian matrix. ω Let θ' represent the 3*6 attitude-related Jacobian matrix, θ′ represent the joint velocity, and x′ represent the velocity of the end effector of the robotic arm.
[0132] Based on the gradient projection method, the general solution of the above kinematic velocity equations can be obtained:
[0133] θ′=J t + (θ)(t′ d +ke t )+(IJ t + (θ)J t (θ))w
[0134] in, The Jacobian matrix J represents the task (current job point). t The pseudo-inverse of (θ), t′ d e represents the desired end-effector speed (the next work point adjacent to the current work point). t Represents the task error, I is the identity matrix, (IJ) t + (θ)J t (θ))w represents the free movement of the robotic arm in null space, w is the remaining input, which is an arbitrary n-dimensional vector, n is the number of joints of the robotic arm, and the value of each vector in w is [-1,1].
[0135] In this embodiment, the orientation constraint of the robotic arm's end effector releases one degree of freedom, meaning the total degrees of freedom of the robotic arm joints are greater than the degrees of freedom of the end effector. Randomly searching the null space of the Jacobian matrix allows full utilization of this released degree of freedom.
[0136] Because the current task has orientation constraints relative to the end-effector coordinate system's Z-axis and position constraints relative to the base coordinate system—that is, constraint direction and position information for the current work point—the angular error δ of the Z-axis is ignored. z The current task Jacobian matrix can be described as a combination of the position Jacobian matrix relative to the base coordinate system and the attitude Jacobian matrix relative to the end-tool coordinate system. The current task Jacobian matrix is as follows:
[0137]
[0138]
[0139] in b J υ This represents the 3x6 Jacobian matrix indicating the position of the end-effector relative to the base coordinate system. e J′ ω This represents the 2x6 attitude Jacobian matrix of the end-effector relative to the end-effector coordinate system (ignoring Z-axis error). b R e This represents the rotation matrix of the current end-tool coordinate system relative to the base coordinate system. for b R e The corresponding transpose form.
[0140] In this embodiment, a combined Jacobian matrix approach is used to process position and attitude separately, thus resolving the position constraints relative to the base coordinate system and the attitude orientation constraints relative to the end-effector coordinate system. In this embodiment, given the target joint angle of the new task starting point, the task Jacobian matrix corresponding to the new task starting point can be determined based on the target joint angle and the constraint direction information corresponding to the new task starting point.
[0141] Similarly, task error also takes the form of a combination: e t =[ b d x b d y b d z e δ x e δ y [The positional error] b d relative to the base coordinate system, attitude error e δ relative to the end-tool coordinate system:
[0142]
[0143] in b p d and b R d These represent the position and orientation of the next work point adjacent to the current work point, respectively. b p and b R represents the position and orientation of the current work point, respectively. b d represents the position error in the base coordinate system. eΔR represents the attitude error in the end-effector coordinate system, where f and dθ are... e The rotation angle form of ΔR.
[0144] In this embodiment, the task error represents the error between the current work point and the next work point adjacent to the current work point. In this embodiment, given the target joint angle of the new work starting point, the task error corresponding to the new work starting point can be obtained according to the above calculation formula based on the end-effector pose of the new work starting point and the end-effector pose of the next work point adjacent to the new work starting point.
[0145] Discretizing the general solution of the above kinematic velocity equations according to the preset integration step size Δs, we can obtain:
[0146]
[0147] With the gain error set to k = 1 / Δs, the above formula can be transformed into:
[0148] θ n+1 -θ n =J t + (n)(t d (n+1)-t(n))+α(IJ t + (n)J t (n))w(n)
[0149] Where α represents the self-motion coefficient, t(n) and t d (n+1) represent the end-effector pose of the current work point and the end-effector pose of the next work point adjacent to the current work point, respectively, θ n+1 For the target joint angle of the next work point adjacent to the current work point, this algorithm prioritizes whether the joint limits of the robotic arm are met.
[0150] In this embodiment, starting from the work start point, when the target joint angles of other work points are determined in sequence, the current work point is the work start point. When a new work start point is determined, the current work point becomes the new work start point.
[0151] When the application scenario of the robotic arm is simple, there are no obstacles in the work space, and the robotic arm will not self-collision and / or fail to meet the joint limit, according to the general solution of the above kinematic velocity equation, based on the target joint angle of the starting point of the work and the end tool pose of each work point, the remaining input w can be randomly selected, and the calculated target joint angle can meet the requirements.
[0152] When considering the self-collision of the robotic arm, joint limits, and obstacles in the robotic arm's workspace, when calculating the general solution of the kinematic velocity equation, w takes any value. Collision detection is performed on the calculated target joint angle. If there is no collision, w does not need to be changed, and the target joint angle of the next work point can be calculated sequentially according to the work trajectory. If there is a collision, after selecting the work point corresponding to the non-collision target joint angle in the random tree as the new work starting point, in order to avoid repeated calculations and obtaining the same target joint angle that will collide, the remaining input w also needs to be revalued. The n-dimensional vector in w takes the value of [-1,1], which can be obtained by generating 6 random trees between [-1,1].
[0153] Optionally, in this embodiment, if a collision occurs, the step of setting the job point corresponding to any node in the random tree as the new job starting point includes:
[0154] Obtain obstacle information from the robotic arm's operating environment;
[0155] Based on the configuration space of the robotic arm and obstacle information, the free space of the robotic arm is determined, and random sampling is performed in the free space to obtain the sampled joint angles;
[0156] Detect the node in the random tree that is closest to the sampling joint angle, and set the job point corresponding to the node that is closest to the sampling joint angle as the new job starting point.
[0157] In this context, the configuration of the robotic arm refers to the positions of all points on the arm. The minimum number of real coordinates, *n*, describing the configuration of the robotic arm is the number of degrees of freedom. This *n*-dimensional space encompasses all possible configurations of the robotic arm and is called its configuration space. Considering the limitations of each joint, the configuration space of the robotic arm is determined by all possible configurations, within which the robotic arm moves. The free space of the robotic arm is obtained by removing the portion overlapping with the obstacle space formed by obstacles in the working environment. Movement within this free space satisfies obstacle avoidance requirements.
[0158] In this embodiment, if a collision is detected between the target joint angle of the next work point adjacent to the work start point or the new work start point, and a new work start point needs to be selected for the next calculation, it is necessary to ensure that the target joint angle of the new work start point is collision-free. This can be achieved by randomly sampling the joint angles in the free space of the robotic arm, and then detecting the work point corresponding to the target joint angle closest to the sampled joint angle on the random tree, setting that work point as the new work start point. Sampling in free space can narrow down the search range.
[0159] Optionally, in this embodiment, the step of determining the joint path of the robotic arm based on the target joint angle corresponding to each work point includes:
[0160] Based on the target joint angles corresponding to each work point, the joint path of the robotic arm is obtained through backtracking.
[0161] Once the target joint angle corresponding to the end-effector pose at the end of the task has been calculated, a complete joint path that satisfies obstacle avoidance requirements and end-effector orientation constraints can be obtained by backtracking from the target joint angle corresponding to the end of the task to the target joint angle corresponding to the start of the task in the random tree.
[0162] The path planning method for a robotic arm provided in this embodiment of the invention, after acquiring the working trajectory of the robotic arm and the constraint direction information of each working point in the working trajectory, determines the end-effector pose of the robotic arm at each working point based on the constraint direction information and the position information of each working point. Based on the end-effector pose of each working point, the target joint angle of each working point is determined. Then, based on the target joint angle corresponding to each working point, the joint path of the robotic arm is determined. Thus, by using the constraint direction information of the end-effector at each working point of the working trajectory, the end-effector pose of the robotic arm at each working point of the working trajectory is determined, and the joint path of the robotic arm is determined based on the end-effector pose of each working point. The end-effector of the robotic arm can perform the work task while following the set working trajectory, meeting the orientation requirements and executing the work task quickly and accurately.
[0163] Based on the same inventive concept, please refer to the following: Figure 8 This embodiment also provides a path planning device 10 for a robotic arm, which is applied... Figure 2 The electronic devices shown, such as Figure 8 As shown, the path planning device for the robotic arm provided in this embodiment includes:
[0164] The acquisition module 11 is used to acquire the working trajectory of the robotic arm and the constraint direction information of each working point in the working trajectory;
[0165] The first calculation module 12 is used to determine the end tool pose of the robotic arm at each work point based on the constraint direction information and position information of each work point.
[0166] The second calculation module 13 is used to determine the target joint angle of each work point based on the end-effector pose of each work point.
[0167] Planning module 14 is used to determine the joint path of the robotic arm based on the target joint angle corresponding to each work point.
[0168] In an optional implementation, the first calculation module 12 is further configured to:
[0169] Based on the constraint direction information of each work point, the rotation matrix of the end-effector coordinate system of the robotic arm relative to the base coordinate system of the robotic arm at each work point is determined.
[0170] Based on the location information of each work point and the rotation matrix of each work point, the end-effector pose of each work point is determined.
[0171] In an optional implementation, the second calculation module 13 is further configured to:
[0172] Determine the starting point of the operation at each operation point, and based on the end tool pose of the starting point, determine the target joint angle of the starting point.
[0173] Based on the target joint angle at the starting point of the operation and the end-effector pose of other operation points in each operation point, the target joint angles of other operation points in the operation point are determined.
[0174] In an optional implementation, the second calculation module 13 is further configured to:
[0175] Based on the target joint angle at the starting point of the operation and the end-effector pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined.
[0176] Set the next work point adjacent to the work start point as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, determine the target joint angle of the next work point adjacent to the new work start point. Set the next work point adjacent to the new work start point as the new work start point. Repeat this process until the target joint angle of the work end point of the work trajectory is determined.
[0177] In an optional implementation, the second calculation module 13 is further configured to:
[0178] Based on the target joint angle at the starting point of the operation and the end-effector pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined.
[0179] Collision detection is performed on the target joint angle of the next work point adjacent to the work start point;
[0180] If there is no collision, set the target joint angle of the next work point adjacent to the work start point as a new node and put it into a random tree created with the target joint angle of the work start point as the root node. Set the next work point adjacent to the work start point as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, determine the target joint angle of the next work point adjacent to the new work start point.
[0181] If a collision occurs, set the work point corresponding to any node in the random tree as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, determine the target joint angle of the next work point adjacent to the new work start point.
[0182] Collision detection is performed on the target joint angle of the next work point adjacent to the new work starting point. This process is repeated until the target joint angle of the work endpoint of the work trajectory is determined or the number of iterations reaches a set threshold.
[0183] In an optional implementation, the second calculation module 13 is further configured to:
[0184] Based on the target joint angle of the new task starting point, the task Jacobian matrix of the new task starting point is determined;
[0185] The task error is determined based on the target joint angle of the new starting point and the end-effector pose of the next work point adjacent to the new starting point.
[0186] Based on the task Jacobian matrix and the task error, the joint velocity of the next work point adjacent to the new work start point is obtained;
[0187] According to the preset integration step size, the joint velocity of is discretized to obtain the joint angle increment of the next working point adjacent to the new working starting point.
[0188] Based on the target joint angle and the joint angle increment of the new starting point, the target joint angle of the next working point adjacent to the new starting point is determined.
[0189] In an optional implementation, the second calculation module 13 is further configured to:
[0190] Obtain obstacle information from the robotic arm's operating environment;
[0191] Based on the configuration space of the robotic arm and obstacle information, the free space of the robotic arm is determined, and random sampling is performed in the free space to obtain the sampled joint angles;
[0192] Detect the node in the random tree that is closest to the sampling joint angle, and set the job point corresponding to the node that is closest to the sampling joint angle as the new job starting point.
[0193] In an optional implementation, the planning module 14 is further configured to:
[0194] Based on the target joint angles corresponding to each work point, the joint path of the robotic arm is obtained through backtracking.
[0195] The path planning device for a robotic arm provided in this embodiment of the invention, after acquiring the working trajectory of the robotic arm and the constraint direction information of each working point in the working trajectory, determines the end-effector pose of the robotic arm at each working point based on the constraint direction information and the position information of each working point. Based on the end-effector pose of each working point, it determines the target joint angle of each working point, and then determines the joint path of the robotic arm based on the target joint angle corresponding to each working point. Thus, by using the constraint direction information of the end-effector at each working point of the working trajectory, the end-effector pose of the robotic arm at each working point of the working trajectory is determined, and the joint path of the robotic arm is determined based on the end-effector pose of each working point. While performing the work task according to the set working trajectory, the end-effector of the robotic arm can meet the orientation requirements and perform the work task quickly and accurately.
[0196] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the path planning device 10 of the robotic arm described above can be referred to the corresponding process in the aforementioned method, and will not be elaborated further here.
[0197] Based on the above, this embodiment provides a storage medium storing a computer program, which, when executed by a processor, implements the path planning method of the robotic arm according to any of the aforementioned embodiments.
[0198] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working process of the storage medium described above can be referred to the corresponding process in the aforementioned method, and will not be elaborated further here.
[0199] In summary, the path planning method, device, electronic equipment, and storage medium for the robotic arm provided in this embodiment of the invention, after acquiring the working trajectory of the robotic arm and the constraint direction information of each working point in the working trajectory, determine the end-effector pose of the robotic arm at each working point based on the constraint direction information and the position information of each working point. Based on the end-effector pose of each working point, the target joint angle of each working point is determined. Then, based on the target joint angle corresponding to each working point, the joint path of the robotic arm is determined. Thus, by using the constraint direction information of the end-effector at each working point of the working trajectory, the end-effector pose of the robotic arm at each working point of the working trajectory is determined. Based on the end-effector pose of each working point, the joint path of the robotic arm is determined. The end-effector of the robotic arm can meet the orientation requirements while performing the work task according to the set working trajectory, enabling it to perform the work task quickly and accurately.
[0200] The above descriptions are merely various embodiments of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A path planning method for a robotic arm, characterized in that, The method includes: Obtain the working trajectory of the robotic arm, and the constraint direction information of each working point in the working trajectory; Based on the constraint direction information and position information of each work point, the end-effector pose of the robotic arm at each work point is determined. Determining the target joint angle of each work point based on the end-effector pose of each work point includes: determining the work start point in each work point; determining the target joint angle of the work start point based on the end-effector pose of the work start point; and determining the target joint angle of other work points in each work point based on the target joint angle of the work start point and the end-effector poses of other work points in each work point. The joint path of the robotic arm is determined based on the target joint angle corresponding to each of the aforementioned work points; The step of determining the target joint angles of other work points based on the target joint angle of the work starting point and the end-effector poses of other work points in each work point includes: Based on the target joint angle of the starting point of the operation and the end tool pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined. The next work point adjacent to the work start point is set as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined. The next work point adjacent to the new work start point is set as the new work start point. This process is repeated until the target joint angle of the work end point of the work trajectory is determined. The step of determining the target joint angle of the next working point adjacent to the new working starting point based on the target joint angle of the new working starting point and the end-effector pose of the next working point adjacent to the new working starting point includes: Based on the target joint angle of the new starting point, the task Jacobian matrix of the new starting point is determined; the task Jacobian matrix is described as a combination of the position Jacobian matrix relative to the base coordinate system and the attitude Jacobian matrix relative to the end tool coordinate system. The position and attitude are processed separately by combining the Jacobian matrices. The task error is determined based on the target joint angle of the new starting point and the end-effector pose of the next work point adjacent to the new starting point. Based on the task Jacobian matrix and the task error, the joint velocity of the next task point adjacent to the new task starting point is obtained; According to the preset integration step size, the joint velocity is discretized to obtain the joint angle increment of the next working point adjacent to the new working starting point. Based on the target joint angle of the new starting point and the joint angle increment, the target joint angle of the next working point adjacent to the new starting point is determined.
2. The path planning method for a robotic arm according to claim 1, characterized in that, Based on the constraint direction information and position information of each work point, the position constraint relative to the base coordinate system of the robotic arm and the attitude orientation constraint relative to the end tool coordinate system are processed separately to determine the end tool pose of the robotic arm at each work point. Based on the constraint direction information of each work point, the rotation matrix of the end tool coordinate system of the robot arm at each work point relative to the base coordinate system of the robot arm is determined. Based on the position information of each work point and the rotation matrix of each work point, the end-effector pose of each work point is determined.
3. The path planning method for a robotic arm according to claim 1, characterized in that, The step of determining the target joint angles of other work points based on the target joint angle of the work starting point and the end-effector poses of other work points in each work point includes: Based on the target joint angle of the starting point of the operation and the end tool pose of the next operation point adjacent to the starting point of the operation, the target joint angle of the next operation point adjacent to the starting point of the operation is determined. Collision detection is performed on the target joint angle of the next work point adjacent to the work start point; If there is no collision, the target joint angle of the next work point adjacent to the work start point is set as a new node and placed in a random tree created with the target joint angle of the work start point as the root node. The next work point adjacent to the work start point is set as a new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined. If a collision occurs, the work point corresponding to any node in the random tree is set as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined. Collision detection is performed on the target joint angle of the next work point adjacent to the new work starting point, and this process is iterated until the target joint angle of the work endpoint of the work trajectory is determined or the number of iterations reaches a set threshold.
4. The path planning method for a robotic arm according to claim 3, characterized in that, If a collision occurs, the step of setting the job point corresponding to any node in the random tree as the new job starting point includes: Obtain obstacle information of the robotic arm's working environment; Based on the configuration space of the robotic arm and the obstacle information, the free space of the robotic arm is determined, and random sampling is performed in the free space to obtain the sampled joint angles; Detect the node in the random tree that is closest to the sampling joint angle, and set the work point corresponding to the node that is closest to the sampling joint angle as the new work starting point.
5. The path planning method for a robotic arm according to claim 1, characterized in that, The step of determining the joint path of the robotic arm based on the target joint angle corresponding to each of the work points includes: Based on the target joint angles corresponding to each work point, the joint path of the robotic arm is obtained through backtracking.
6. A path planning device for a robotic arm, characterized in that, include: The acquisition module is used to acquire the working trajectory of the robotic arm, as well as the constraint direction information of each working point in the working trajectory; The first calculation module is used to determine the end-effector pose of the robotic arm at each of the work points based on the constraint direction information and position information of each work point. The second calculation module is used to determine the target joint angle of each work point based on the end-effector pose of each work point, and is also used to determine the work start point in each work point, and determine the target joint angle of the work start point based on the end-effector pose of the work start point; and determine the target joint angle of other work points in the work point based on the target joint angle of the work start point and the end-effector pose of other work points in the work points. The planning module is used to determine the joint path of the robotic arm based on the target joint angles corresponding to each of the work points; The second calculation module is further configured to: determine the target joint angle of the next work point adjacent to the work start point based on the target joint angle of the work start point and the end tool pose of the next work point adjacent to the work start point; The next work point adjacent to the work start point is set as the new work start point. Based on the target joint angle of the new work start point and the end tool pose of the next work point adjacent to the new work start point, the target joint angle of the next work point adjacent to the new work start point is determined. The next work point adjacent to the new work start point is set as the new work start point. This process is repeated until the target joint angle of the work end point of the work trajectory is determined. Furthermore, based on the target joint angle of the new starting point of the operation, the task Jacobian matrix of the new starting point of the operation is determined; the task Jacobian matrix is described as a combination of the position Jacobian matrix relative to the base coordinate system and the attitude Jacobian matrix relative to the end tool coordinate system, and the position and attitude are processed separately by using the method of combining Jacobian matrices. The task error is determined based on the target joint angle of the new starting point and the end-effector pose of the next work point adjacent to the new starting point. Based on the task Jacobian matrix and the task error, the joint velocity of the next task point adjacent to the new task starting point is obtained; According to the preset integration step size, the joint velocity is discretized to obtain the joint angle increment of the next working point adjacent to the new working starting point. Based on the target joint angle of the new starting point and the joint angle increment, the target joint angle of the next working point adjacent to the new starting point is determined.
7. An electronic device, characterized in that, The electronic device includes 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 path planning method for the robotic arm according to any one of claims 1 to 5.
8. A storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the path planning method for the robotic arm according to any one of claims 1 to 5.
Citation Information
Patent Citations
Spraying method for keeping spray nozzle perpendicular to spraying surface
CN110653137A