Method and device for acquiring operation motion path of robot

By acquiring data from the robotic arm and end effector, the robot's operational motion path is planned, solving the problem of the robotic arm sinking or deviating during piano playing, thus improving playing accuracy and equipment safety.

CN121928561APending Publication Date: 2026-04-28LINGXIN QIAOSHOU (BEIJING) TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
LINGXIN QIAOSHOU (BEIJING) TECH CO LTD
Filing Date
2026-02-13
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

When a humanoid robot performs piano playing using its upper limbs, the robotic arm may sink or deviate due to unreasonable trajectory planning, insufficient end-effector position control precision, or dynamic interference, accidentally touching non-target keys, disrupting the musical timing logic, or even causing a collision risk between the robotic arm and the piano structure.

Method used

By acquiring the kinematic data of the robotic arm and the dynamic data of the end effector, the expected sinking amount is determined, and obstacle avoidance paths are planned based on the sinking amount and collision risk areas. Combined with time adjustments, the robot's operation motion path is precisely planned.

Benefits of technology

This reduces the probability of erroneous operation caused by the robotic arm sinking or shifting, improves the accuracy of piano playing, reduces the risk of collision between the robotic arm and the piano structure, and ensures the safe operation of the equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121928561A_ABST
    Figure CN121928561A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a method and device for obtaining an operation motion path of a robot, and the method comprises the steps: determining the expected sinking amount of an end effector according to the kinematics data of a mechanical arm and the dynamics data of the end effector, and determining the sinking displacement constraint amount applied in the vertical direction according to the expected sinking amount; the vertical direction is perpendicular to the plane of the guitar body. Determining a collision risk area of the robotic arm and a piano body structure of the piano, and determining an obstacle avoidance path according to the collision risk area; and determining an operation motion path of the robot according to the displacement constraint quantity and the obstacle avoidance path. According to the method, the sinkage of the end effector is predicted through the kinematics data of the mechanical arm and the dynamics data of the end effector, when the operation motion path is planned, the obstacle avoidance path determined through the collision risk area of the mechanical arm and the piano body structure is comprehensively considered, the collision interference of the mechanical arm and the piano body can be reduced, and the working efficiency is improved. And the misoperation probability in piano playing is further reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a method and apparatus for obtaining the operational motion path of a robot. Background Technology

[0002] In scenarios where humanoid robots perform piano playing using their upper limbs, the robotic arm needs to perform high-precision movements and operations. However, during movement, the robotic arm is prone to sinking or deviating due to unreasonable trajectory planning, insufficient end-effector position control precision, or dynamic interference. This can lead to accidental touches on non-target keys, disrupting the musical timing logic, reducing performance accuracy, and even posing a risk of collision between the robotic arm and the piano structure. Therefore, accurately planning the robot's movement path and minimizing robotic arm sinking or deviating to reduce misoperation has become a key technical problem to be solved. Summary of the Invention

[0003] This application provides a method and apparatus for obtaining the working motion path of a robot, which is used to accurately plan the working motion path of the robot, reduce the sinking or deviation of the robotic arm, and reduce the probability of misoperation.

[0004] In a first aspect, embodiments of this application provide a method for obtaining the motion path of a robot, the robot including a robotic arm and an end effector of the robotic arm, the robot being used to play the piano, the method comprising: Based on the kinematic data of the robotic arm and the dynamic data of the end effector, the expected sinking amount of the end effector is determined, and based on the expected sinking amount, the sinking displacement constraint amount applied in the vertical direction is determined; the vertical direction is the direction perpendicular to the plane of the instrument body. Determine the collision risk area between the robotic arm and the piano's body structure, and determine an obstacle avoidance path based on the collision risk area; The robot's operational motion path is determined based on the displacement constraint and the obstacle avoidance path.

[0005] Optionally, determining the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector includes: Based on the kinematic data and a pre-constructed dynamic disturbance model, the dynamic disturbance force of the end effector on the instrument body structure is determined; the dynamic disturbance model indicates the mapping relationship between the dynamic disturbance force and the kinematic data. Based on the dynamic disturbance force and the kinetic data, and combined with the pre-constructed sinking formula, the expected sinking is determined; the sinking formula indicates the mapping relationship between the expected sinking and the dynamic disturbance force and the kinetic data.

[0006] Optionally, the kinematic data includes angular velocity. and angular acceleration The dynamic data includes the mass m of the end effector. n is the number of joints, and the dynamic disturbance model is given by formula (1): (1); in, The dynamic disturbance force, The first correlation coefficient of the robotic arm is... This is the second correlation coefficient of the robotic arm; The formula for the subsidence amount is formula (2): (2); in, Let be the gravitational force acting on the end effector, and k be the elastic coefficient of the contact surface between the end effector and the piano. The expected subsidence amount is given.

[0007] Optionally, determining the downward displacement constraint applied in the vertical direction based on the expected downward subsidence includes: The subsidence risk level is determined based on the expected subsidence amount. Based on the aforementioned subsidence risk level, determine the amount of subsidence displacement constraint applied in the vertical direction.

[0008] Optionally, determining the subsidence risk level based on the expected subsidence amount includes: If the expected subsidence is greater than or equal to 0 and less than the first threshold, the subsidence risk level is determined to be a low risk level. If the expected subsidence is greater than or equal to the first threshold and less than the second threshold, the subsidence risk level is determined to be a medium risk level. If the expected subsidence is greater than or equal to the second threshold, the subsidence risk level is determined to be high risk; the first threshold is greater than 0 and less than the second threshold. The step of determining the amount of vertical displacement constraint applied based on the subsidence risk level includes: If the subsidence risk level is the low risk level, the applied subsidence displacement constraint is 0; If the subsidence risk level is the medium risk level, determine the amount of the first subsidence displacement constraint to be applied; If the subsidence risk level is the high risk level, determine the amount of the second subsidence displacement constraint to be applied; Wherein, the first sinking displacement constraint is greater than the second sinking displacement constraint; and the first sinking displacement constraint is greater than 0.

[0009] Optionally, determining the collision risk area between the robotic arm and the piano's body structure includes: Obtain the three-dimensional position and attitude information of the end effector; Obtain the three-dimensional model of the robotic arm and the three-dimensional model of the instrument body structure; Based on the three-dimensional position and the posture information, the current pose information of the robotic arm is determined; the current pose information of the robotic arm includes the angles and positions of each joint of the robotic arm, as well as the overall posture and position of the robotic arm. Based on the current pose information of the robotic arm, the 3D model of the robotic arm, and the 3D model of the instrument structure, the collision risk area is determined using a bounding box algorithm.

[0010] Optionally, determining the obstacle avoidance path based on the collision risk area includes: Determine the initial position and initial orientation of the robotic arm; A random point is generated in the workspace of the robotic arm. The path from the current position of the robotic arm to the random point is intersected with the collision risk area. If they do not intersect, the random point is valid. If they intersect, a new random point is generated and the intersection detection is performed again until the random point is valid, thus obtaining a valid random point. Based on a preset step size, the robotic arm moves from its current position to the valid random point to obtain a new position. The distance between the new position and the target position of the target piano key is determined. If the distance is less than a preset standard threshold, the target position is determined, and the obstacle avoidance path is obtained. If the distance is greater than or equal to the preset standard threshold, the step size is reset or a new valid random point is generated. The operation of obtaining a new position and re-determining whether the new position has reached the target position is then performed again until the preset maximum number of iterations is reached or the target position is reached.

[0011] Optionally, the method further includes: Obtain the task timing data of the robotic arm; The timing deviation value is determined by comparing the duration of the current task cycle in the task timing data with the estimated time for the end effector to reach the target piano key. Based on the timing deviation value, adjust the trajectory execution time of the obstacle avoidance path; Determining the robot's operational motion path based on the displacement constraint and the obstacle avoidance path includes: The robot's operational motion path is determined based on the displacement constraint and the obstacle avoidance path adjusted according to the trajectory execution time.

[0012] Optionally, adjusting the trajectory execution time of the obstacle avoidance path based on the timing deviation value includes: Determine the time scaling factor based on the timing deviation value; Wherein, if the timing deviation value is greater than 0, the time scaling factor is less than 1 and greater than 0; if the timing deviation is less than 0, the time scaling factor is greater than 1; if the timing deviation is less than 0, the time scaling factor is equal to 1. The trajectory execution time of the obstacle avoidance path is adjusted according to the time scaling factor; the adjusted trajectory execution time is positively correlated with the time scaling factor.

[0013] Secondly, embodiments of this application provide a device for obtaining the operational motion path of a robot. The robot includes a robotic arm and an end effector of the robotic arm. The robot is used to play the piano, and the device includes: The expected sinking amount determination unit is used to determine the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector, and to determine the sinking displacement constraint amount applied in the vertical direction based on the expected sinking amount; the vertical direction is the direction perpendicular to the plane of the instrument body. The obstacle avoidance path determination unit is used to determine the collision risk area between the robotic arm and the piano's body structure, and to determine the obstacle avoidance path based on the collision risk area. The motion path determination unit is used to determine the robot's operation motion path based on the displacement constraint and the obstacle avoidance path.

[0014] Thirdly, embodiments of this application also provide a computer storage medium for storing a computer program; when the computer program is executed, it is used to perform the method described in any of the first aspects.

[0015] Fourthly, embodiments of this application also provide a computer program product containing instructions that, when the computer program product is run on at least one computing device, cause the at least one computing device to perform the method as described in any of the first aspects.

[0016] Fifthly, embodiments of this application provide a chip system including one or more processors for calling and executing instructions stored in memory, causing the methods in any of the above aspects or possible implementations to be executed. The chip system may be composed of chips or may include chips and other discrete devices. The chip system may include input circuitry or interfaces for transmitting information or data, and output circuitry or interfaces for receiving information or data.

[0017] This application provides a method for obtaining the operational motion path of a robot. The robot includes a robotic arm and an end effector of the robotic arm. The robot is used to play a piano. The method includes: determining the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector; determining a sinking displacement constraint applied in the vertical direction based on the expected sinking amount; the vertical direction is the direction perpendicular to the plane of the piano body; determining the collision risk area between the robotic arm and the piano body structure; determining an obstacle avoidance path based on the collision risk area; and determining the operational motion path of the robot based on the displacement constraint and the obstacle avoidance path. This application predicts the sinking amount of the end effector by using the kinematic data of the robotic arm and the dynamic data of the end effector. When planning the operational motion path, constraining the sinking amount of the end effector in the vertical direction based on the expected sinking amount can reduce the problem of accidental touch of non-target piano keys due to sinking or deviation. At the same time, when planning the operational motion path, comprehensively considering the obstacle avoidance path determined by the collision risk area between the robotic arm and the piano body structure can reduce collision interference between the robotic arm and the piano body, further reducing the probability of misoperation during piano playing. Attached Figure Description

[0018] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of this application; Figure 2 A flowchart illustrating a method for obtaining the operational motion path of a robot, as provided in an embodiment of this application; Figure 3 This is a schematic diagram of a robot motion path acquisition device provided in an embodiment of this application. Detailed Implementation

[0019] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. The terminology used in the following embodiments is for the purpose of describing specific embodiments only and is not intended to be a limitation of this application. As used in the specification and appended claims of this application, the singular expressions "a," "an," "the," "the," "the," and "this" are intended to also include expressions such as "one or more," unless the context clearly indicates otherwise.

[0020] It should also be understood that in the embodiments of this application, "one or more" refers to one, two, or more; "and / or" describes the correspondence between associated objects, indicating that three relationships can exist; for example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0021] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0022] The "multiple" mentioned in the embodiments of this application refers to two or more. It should be noted that in the description of the embodiments of this application, terms such as "first" and "second" are used only for the purpose of distinguishing descriptions and should not be construed as indicating or implying relative importance, nor should they be construed as indicating or implying order.

[0023] First, we will introduce the application scenarios of the embodiments of this application.

[0024] The robot provided in this application is a humanoid robot, including a robotic arm and an end effector (also known as a dexterous hand). The robotic arm is used for macroscopic spatial positioning. In practical use, the robotic arm is often equipped with joints, for example, one robotic arm is equipped with 7 joints, and the motor can drive the joints to drive the movement of the robotic arm. The dexterous hand is the end effector unit of the robotic arm, used for fine microscopic operations, such as pressing piano keys or grasping objects. The movement of the robotic arm can enable the dexterous hand to complete microscopic operations in three-dimensional space.

[0025] It should be noted that the number of robotic arms can be one or more, such as two, and this application embodiment is not limited. The number of dexterous hands can be one or more, such as four, and this application embodiment is not limited.

[0026] Robots can be applied in many fields, such as precision manufacturing, service assistance, and artistic performance. For ease of explanation, the following example illustrates their application in piano performance.

[0027] Appendix Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of this application. In this application scenario, the robot includes two robotic arms and four dexterous hands working together. Each robotic arm includes seven joints. The robotic arms and dexterous hands work together to perform tasks such as playing a four-hand piano duet, accurately reproducing the rhythm and emotion of the music.

[0028] The method for obtaining the robot's operational motion path provided in this application is described below with reference to the accompanying drawings. It should be noted that in this application embodiment, the executing entity can be a robot, a controller carried by the robot, or other devices or components with control functions; this application embodiment is not limited to any particular type. For ease of explanation, the following description uses a robot as the executing entity.

[0029] Appendix Figure 2 A flowchart of a robot motion path acquisition method provided in this application embodiment is shown. The method includes the following steps: S210 acquires the kinematic data of the robotic arm and the dynamic data of the end effector.

[0030] The kinematic data of the robotic arm is used to describe the motion state of the robotic arm, including but not limited to: joint angles. angular velocity angular acceleration ,in, , where n is the number of joints configured in the robotic arm.

[0031] The dynamic data of the end effector are used to describe the force conditions of the end effector, including but not limited to: mass m and moment of inertia I.

[0032] S220 determines the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector.

[0033] In one example, the robot can determine the expected depth of the end effector by combining the kinematic data of the robotic arm and the dynamic data of the end effector with a pre-trained neural network model.

[0034] In another example, the robot determines the dynamic disturbance force of the end effector on the instrument structure based on kinematic data and a pre-built dynamic disturbance model; the dynamic disturbance model indicates the mapping relationship between the dynamic disturbance force and the kinematic data. Based on dynamic disturbance force and kinetic data, and combined with the pre-constructed subsidence formula, the expected subsidence is determined; the subsidence formula indicates the mapping relationship between the expected subsidence and the dynamic disturbance force and kinetic data.

[0035] For example, the dynamic disturbance model is Equation (1): (1); in, For dynamic interference force, The first correlation coefficient for the robotic arm. The second correlation coefficient for the robotic arm; and Unpositive integers, for example It is 0.92. It is 0.35. The formula for the amount of subsidence is formula (2): (2); in, Let be the gravitational force acting on the end effector, and k be the elastic coefficient of the contact surface between the end effector and the piano. This represents the expected subsidence.

[0036] It should be noted that the robot can also determine the expected sinking amount of the end effector using other methods, which are not limited in the embodiments of this application.

[0037] S230, based on the expected subsidence, determine the amount of subsidence displacement constraint applied in the vertical direction.

[0038] The vertical direction is the direction perpendicular to the plane of the instrument body.

[0039] The vertical displacement constraint refers to the maximum allowable vertical displacement value set by the end effector of the robotic arm in a piano performance scenario, which is prone to unexpected downward movement perpendicular to the piano body plane due to dynamic interference. It is also a hard constraint indicator for the vertical displacement of the end effector in path planning. Its core is to actively avoid problems such as accidental key touches and piano body collisions caused by end effector downward displacement from the path planning level through quantitative numerical constraints.

[0040] In this embodiment, the robot can determine the amount of vertical displacement constraint applied based on the expected sinking amount. For example, the larger the expected sinking amount, the smaller the amount of vertical displacement constraint applied.

[0041] In practical use, the subsidence risk level can be determined based on the expected subsidence amount; and the subsidence displacement constraint amount applied in the vertical direction can be determined based on the subsidence risk level.

[0042] The risk level of subsidence can be classified as needed. For example, in this embodiment of the application, the risk level of subsidence is divided into low risk, medium risk, and high risk. Specifically, if the expected subsidence amount... Satisfy: If The risk level of sinking is classified as low risk; if The risk level of sinking is classified as medium risk; if The risk level of sinking is classified as high risk; among them, The preset low-risk level threshold (i.e., the first threshold) is used. The preset medium-risk level threshold (i.e., the second threshold) and .

[0043] If the subsidence risk level is low, the applied subsidence displacement constraint is 0; if the subsidence risk level is medium, a first subsidence displacement constraint is applied; if the subsidence risk level is high, a second subsidence displacement constraint is applied. The first subsidence displacement constraint is greater than the second subsidence displacement constraint, and the first subsidence displacement constraint is greater than 0. Specifically, at the low risk level, no additional vertical displacement constraint is applied, and the vertical displacement z of the end effector satisfies the vertical constraints of the robotic arm's workspace. When the risk level is medium, an additional vertical displacement constraint is applied to limit the maximum vertical sinking of the end effector. ,and ,Right now ,in, The vertical position of the end effector when there is no subsidence; in high-risk situations; restrict vertical displacement and set a smaller maximum subsidence amount. ,and ,Right now .

[0044] S240, identify the collision risk area between the robotic arm and the piano's body structure.

[0045] In this embodiment of the application, the robot can determine the collision risk area between the robotic arm and the piano's body structure using the following method, which includes the following steps: Step A1: Obtain the three-dimensional position and orientation information of the end effector.

[0046] Step A2: Obtain the 3D model of the robotic arm and the 3D model of the instrument body structure.

[0047] Step A3: Determine the current pose information of the robotic arm based on the three-dimensional position and attitude information.

[0048] The current pose information of the robotic arm includes the angles and positions of each joint of the robotic arm, as well as the overall posture and position of the robotic arm.

[0049] Step A4: Based on the current pose information of the robotic arm, the 3D model of the robotic arm and the 3D model of the instrument body structure, and combined with the bounding box algorithm, determine the collision risk area.

[0050] The bounding box algorithm is used for collision detection between the robotic arm and the piano body structure. This is achieved by constructing axis-aligned bounding boxes for each link of the robotic arm and each part of the piano body structure. For ease of explanation, the following description uses a spatial coordinate system where the bounding boxes are located, with the X-axis parallel to the piano body plane, the Y-axis along the direction of the keys, the Y-axis along the depth of the keyboard, and the Z-axis perpendicular to the piano body plane.

[0051] The axis-aligned bounding box of link i of the robotic arm is as follows: ; The axis-aligned bounding box of the j-shaped structural part of the piano body is: ; Intersection detection is performed on the bounding boxes of the axis alignment of each link of the robotic arm and the bounding boxes of the axis alignment of each part of the instrument body structure. If the following conditions are met, it is considered that a collision has occurred between link i of the robotic arm and part j of the instrument body structure, and the collision area is marked as a collision risk area: .

[0052] in, Let i be the minimum value of link i in the X-axis direction of the robotic arm. Let i be the maximum value of link i in the X-axis direction of the robotic arm. Let be the minimum value of link i in the Y-axis direction of the robotic arm. Let be the maximum value of link i in the Y-axis direction of the robotic arm. Let i be the minimum value of link i in the Z-axis direction of the robotic arm. This represents the maximum value of link i in the Z-axis direction of the robotic arm. Let j be the minimum value of the structural part of the instrument in the X-axis direction. Let j be the maximum value of the instrument's structural component j in the X-axis direction. Let j be the minimum value of the structural part of the instrument in the Y-axis direction. Let j be the maximum value of the instrument's structural component j in the Y-axis direction. Let j be the minimum value of the instrument's structural component j in the Z-axis direction. The maximum value of j in the Z-axis direction represents the structural part of the instrument.

[0053] It should be noted that in the embodiments of this application, the robot can also obtain the collision risk area in other ways, such as calculating the collision risk area between the robotic arm and the instrument structure through a geometric collision detection algorithm. This geometric collision detection algorithm can directly process the three-dimensional model of the robotic arm and the three-dimensional model of the instrument structure to determine the collision risk area between the robotic arm and the instrument structure. This application does not limit this.

[0054] S250 determines the obstacle avoidance path based on the collision risk area.

[0055] In one example, the robot can determine an obstacle avoidance path by including the following steps: Step 1: Determine the initial position and initial posture of the robotic arm; Step 2: Generate a random point in the workspace of the robotic arm. From the current position of the robotic arm to a random point The path and the collision risk area are intersected. If they do not intersect, the random point... If the random point is valid, and the points intersect, repeat step 2 until the random point is valid and a valid random point is obtained. Step 3: Based on the preset step size, move the robotic arm from its current position to a valid random point to obtain the new position of the robotic arm. Determine the new location Target position of the target piano key The distance, based on the distance and a preset standard threshold. conduct Proximity judgment is as follows: like If so, then it is determined that the destination has been reached; like If so, it is determined that the destination has not been reached; If the result indicates arrival, the algorithm terminates, yielding an obstacle avoidance path; if the result indicates arrival failure, and the number of iterations has not reached the maximum number of iterations. If the iteration count reaches the maximum iteration count, continue iterating and re-execute either step 2 or step 3. However, the judgment result is still that the target has not been reached. After adjusting the algorithm parameters, the iteration is restarted, including increasing the step size and resetting the random point.

[0056] In another example, the robot may use a fast exploration random tree algorithm to generate an obstacle avoidance path, or it may generate an obstacle avoidance path in other ways, which are not limited in the embodiments of this application.

[0057] S260 determines the robot's operational motion path based on the sinking displacement constraint and obstacle avoidance path.

[0058] Furthermore, the robot can convert the work motion path into control commands to drive the robotic arm to perform actions.

[0059] This application uses kinematic data from the robotic arm and dynamic data from the end effector to predict the sinking amount of the end effector. When planning the operation path, the vertical sinking amount of the end effector is constrained based on the expected sinking amount, which can reduce the problem of accidental touches of non-target keys caused by sinking or deviation. At the same time, when planning the operation path, obstacle avoidance paths determined by the collision risk area between the robotic arm and the piano structure can reduce collision interference between the robotic arm and the piano, further reducing the probability of misoperation during piano playing.

[0060] Furthermore, in this embodiment of the application, the robot can also acquire the task timing data of the robotic arm; compare the duration of the current task cycle in the task timing data with the estimated time for the end effector to reach the target piano key to determine the timing deviation value; adjust the trajectory execution time of the obstacle avoidance path according to the timing deviation value; and determine the robot's operation motion path according to the obstacle avoidance path adjusted by the displacement constraint and the trajectory execution time.

[0061] Specifically, based on the kinematic data of the robotic arm, for example, given a path length of L and the robotic arm moving at a constant speed v along the path, the robot calculates the estimated time for the end effector of the robotic arm to reach the target piano key. The formula is as follows: Then, the duration of the current task cycle is obtained from the task timing data. The timing deviation value is calculated based on the estimated time. Its formula is: .

[0062] Furthermore, the robot can also determine the time scaling factor based on the timing deviation value. Specifically, if It is necessary to increase the speed of movement, among which, ; like The speed of movement needs to be slowed down, among which, ; like ,but No time adjustment is required.

[0063] Next, the robot adjusts the trajectory running time of the obstacle avoidance path based on a time scaling factor. For example, if the trajectory running time of the obstacle avoidance path is t, and the position, velocity, and acceleration parameters on the original path trajectory are as follows: , , By adjusting the trajectory running time using a time scaling algorithm, a new time is obtained. The new position parameters are The new speed parameters are The new acceleration parameters are .

[0064] When determining the robot's operational motion path, kinematic data of the robotic arm and dynamic data of the end effector are acquired, and a dynamic disturbance model is constructed. The expected vertical sinking of the end effector is calculated, and the sinking risk level is classified according to the sinking amount. The collision risk area between the robotic arm and the piano structure is calculated using a geometric collision detection algorithm. The task timing data of the robotic arm is acquired and compared with the expected time for the end effector to reach the target piano key to calculate the timing deviation value. On the basis of the kinematic constraints of the robotic arm, an additional vertical displacement constraint is applied. A fast exploration random tree algorithm is used to generate an obstacle avoidance path. The execution time of the obstacle avoidance path trajectory is adjusted by a time scaling algorithm, and the optimized path is converted into control commands to drive the robotic arm to perform actions. This can avoid accidental touch of non-target piano keys, thereby ensuring that the robotic arm can accurately operate the piano keys according to the musical timing logic in fixed scenarios such as piano playing, significantly improving the accuracy of the performance. At the same time, it can effectively constrain the dynamic sinking of the robotic arm end effector, reduce the possibility of collision between the robotic arm and the piano structure, and ensure the safe operation of the equipment.

[0065] Furthermore, this application also provides a robot motion path acquisition device, which is used to perform the above-described... Figure 2 The content shown.

[0066] Appendix Figure 3 This is a schematic diagram of a robot motion path acquisition device provided in an embodiment of this application. The device 300 includes: The expected sinking amount determination unit 301 is used to determine the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector, and to determine the sinking displacement constraint amount applied in the vertical direction based on the expected sinking amount; the vertical direction is the direction perpendicular to the plane of the instrument body. The obstacle avoidance path determination unit 302 is used to determine the collision risk area between the robotic arm and the piano body structure, and determine the obstacle avoidance path based on the collision risk area; The motion path determination unit 303 is used to determine the robot's operation motion path based on the displacement constraint and the obstacle avoidance path.

[0067] Optionally, determining the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector includes: Based on the kinematic data and a pre-constructed dynamic disturbance model, the dynamic disturbance force of the end effector on the instrument body structure is determined; the dynamic disturbance model indicates the mapping relationship between the dynamic disturbance force and the kinematic data. Based on the dynamic disturbance force and the kinetic data, and combined with the pre-constructed sinking formula, the expected sinking is determined; the sinking formula indicates the mapping relationship between the expected sinking and the dynamic disturbance force and the kinetic data.

[0068] Optionally, the kinematic data includes angular velocity. and angular acceleration The dynamic data includes the mass m of the end effector. n is the number of joints, and the dynamic disturbance model is given by formula (1): (1); in, The dynamic disturbance force, The first correlation coefficient of the robotic arm is... This is the second correlation coefficient of the robotic arm; The formula for the subsidence amount is formula (2): (2); in, Let be the gravitational force acting on the end effector, and k be the elastic coefficient of the contact surface between the end effector and the piano. The expected subsidence amount is given.

[0069] Optionally, determining the downward displacement constraint applied in the vertical direction based on the expected downward subsidence includes: The subsidence risk level is determined based on the expected subsidence amount. Based on the aforementioned subsidence risk level, determine the amount of subsidence displacement constraint applied in the vertical direction.

[0070] Optionally, determining the subsidence risk level based on the expected subsidence amount includes: If the expected subsidence is greater than or equal to 0 and less than the first threshold, the subsidence risk level is determined to be a low risk level. If the expected subsidence is greater than or equal to the first threshold and less than the second threshold, the subsidence risk level is determined to be a medium risk level. If the expected subsidence is greater than or equal to the second threshold, the subsidence risk level is determined to be high risk; the first threshold is greater than 0 and less than the second threshold. The step of determining the amount of vertical displacement constraint applied based on the subsidence risk level includes: If the subsidence risk level is the low risk level, the applied subsidence displacement constraint is 0; If the subsidence risk level is the medium risk level, determine the amount of the first subsidence displacement constraint to be applied; If the subsidence risk level is the high risk level, determine the amount of the second subsidence displacement constraint to be applied; Wherein, the first sinking displacement constraint is greater than the second sinking displacement constraint; and the first sinking displacement constraint is greater than 0.

[0071] Optionally, determining the collision risk area between the robotic arm and the piano's body structure includes: Obtain the three-dimensional position and attitude information of the end effector; Obtain the three-dimensional model of the robotic arm and the three-dimensional model of the instrument body structure; Based on the three-dimensional position and the posture information, the current pose information of the robotic arm is determined; the current pose information of the robotic arm includes the angles and positions of each joint of the robotic arm, as well as the overall posture and position of the robotic arm. Based on the current pose information of the robotic arm, the 3D model of the robotic arm, and the 3D model of the instrument structure, the collision risk area is determined using a bounding box algorithm.

[0072] Optionally, determining the obstacle avoidance path based on the collision risk area includes: Determine the initial position and initial orientation of the robotic arm; A random point is generated in the workspace of the robotic arm. The path from the current position of the robotic arm to the random point is intersected with the collision risk area. If they do not intersect, the random point is valid. If they intersect, a new random point is generated and the intersection detection is performed again until the random point is valid, thus obtaining a valid random point. Based on a preset step size, the robotic arm moves from its current position to the valid random point to obtain a new position. The distance between the new position and the target position of the target piano key is determined. If the distance is less than a preset standard threshold, the target position is determined, and the obstacle avoidance path is obtained. If the distance is greater than or equal to the preset standard threshold, the step size is reset or a new valid random point is generated. The operation of obtaining a new position and re-determining whether the new position has reached the target position is then performed again until the preset maximum number of iterations is reached or the target position is reached.

[0073] Optionally, the device further includes an acquisition unit for acquiring the task timing data of the robotic arm; The duration of the current task beat in the task timing data is compared with the estimated time for the end effector to reach the target piano key to determine the timing deviation value; the trajectory execution time of the obstacle avoidance path is adjusted according to the timing deviation value. Determining the robot's operational motion path based on the displacement constraint and the obstacle avoidance path includes: The robot's operational motion path is determined based on the displacement constraint and the obstacle avoidance path adjusted according to the trajectory execution time.

[0074] Optionally, adjusting the trajectory execution time of the obstacle avoidance path based on the timing deviation value includes: Determine the time scaling factor based on the timing deviation value; Wherein, if the timing deviation value is greater than 0, the time scaling factor is less than 1 and greater than 0; if the timing deviation is less than 0, the time scaling factor is greater than 1; if the timing deviation is less than 0, the time scaling factor is equal to 1. The trajectory execution time of the obstacle avoidance path is adjusted according to the time scaling factor; the adjusted trajectory execution time is positively correlated with the time scaling factor.

[0075] The acquisition device provided in this application can predict the sinking amount of the end effector using the kinematic data of the robotic arm and the dynamic data of the end effector. When planning the operation path, the vertical sinking amount of the end effector is constrained according to the expected sinking amount, which can reduce the problem of accidental touch of non-target keys due to sinking or deviation. At the same time, when planning the operation path, the obstacle avoidance path determined by comprehensively considering the collision risk area between the robotic arm and the piano structure can reduce the collision interference between the robotic arm and the piano, further reducing the probability of misoperation during piano playing.

[0076] According to the method provided in the embodiments of this application, this application also provides a computer program product, which includes: computer program code, which, when run on a computer, causes the computer to execute the various steps or processes performed in any of the foregoing method embodiments.

[0077] According to the method provided in the embodiments of this application, this application also provides a computer-readable storage medium storing program code, which, when run on a computer, causes the computer to execute the various steps or processes performed in any of the foregoing method embodiments.

[0078] The computer-readable storage medium may be the aforementioned volatile memory or non-volatile memory, or it may include both volatile memory and non-volatile memory.

[0079] In the embodiments of this application, the terms and English abbreviations are exemplary examples given for ease of description and should not be construed as limiting the application in any way. This application does not preclude the possibility of defining other terms that can achieve the same or similar functions in existing or future agreements.

[0080] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated.

[0081] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0082] It should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0083] In summary, the above description is merely a preferred embodiment of the technical solution of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A method for obtaining the operational motion path of a robot, characterized in that, The robot includes a robotic arm and an end effector of the robotic arm. The robot is used to play the piano, and the method includes: Based on the kinematic data of the robotic arm and the dynamic data of the end effector, the expected sinking amount of the end effector is determined, and based on the expected sinking amount, the sinking displacement constraint applied in the vertical direction is determined; the vertical direction is the direction perpendicular to the plane of the instrument body. Determine the collision risk area between the robotic arm and the piano's body structure, and determine an obstacle avoidance path based on the collision risk area; The robot's operational motion path is determined based on the displacement constraint and the obstacle avoidance path.

2. The method according to claim 1, characterized in that, The step of determining the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector includes: Based on the kinematic data and a pre-constructed dynamic disturbance model, the dynamic disturbance force of the end effector on the instrument body structure is determined; the dynamic disturbance model indicates the mapping relationship between the dynamic disturbance force and the kinematic data. Based on the dynamic disturbance force and the kinetic data, and combined with the pre-constructed sinking formula, the expected sinking is determined; the sinking formula indicates the mapping relationship between the expected sinking and the dynamic disturbance force and the kinetic data.

3. The method according to claim 1, characterized in that, The kinematic data includes angular velocity. and angular acceleration The dynamic data includes the mass m of the end effector. n is the number of joints, and the dynamic disturbance model is given by formula (1): (1); in, The dynamic disturbance force, The first correlation coefficient of the robotic arm is... This is the second correlation coefficient of the robotic arm; The formula for the subsidence amount is formula (2): (2); in, Let be the gravitational force acting on the end effector, and k be the elastic coefficient of the contact surface between the end effector and the piano. The expected subsidence amount is given.

4. The method according to claim 1, characterized in that, The step of determining the vertical displacement constraint based on the expected subsidence includes: The subsidence risk level is determined based on the expected subsidence amount. Based on the aforementioned subsidence risk level, determine the amount of subsidence displacement constraint applied in the vertical direction.

5. The method according to claim 4, characterized in that, The step of determining the subsidence risk level based on the expected subsidence amount includes: If the expected subsidence is greater than or equal to 0 and less than the first threshold, the subsidence risk level is determined to be a low risk level. If the expected subsidence is greater than or equal to the first threshold and less than the second threshold, the subsidence risk level is determined to be a medium risk level. If the expected subsidence is greater than or equal to the second threshold, the subsidence risk level is determined to be high risk; the first threshold is greater than 0 and less than the second threshold. The step of determining the amount of vertical displacement constraint applied based on the subsidence risk level includes: If the subsidence risk level is the low risk level, the applied subsidence displacement constraint is 0; If the subsidence risk level is the medium risk level, determine the amount of the first subsidence displacement constraint to be applied; If the subsidence risk level is the high risk level, determine the amount of the second subsidence displacement constraint to be applied; Wherein, the first sinking displacement constraint is greater than the second sinking displacement constraint; and the first sinking displacement constraint is greater than 0.

6. The method according to claim 1, characterized in that, The process of determining the collision risk area between the robotic arm and the piano's body structure includes: Obtain the three-dimensional position and attitude information of the end effector; Obtain the three-dimensional model of the robotic arm and the three-dimensional model of the instrument body structure; Based on the three-dimensional position and the posture information, the current pose information of the robotic arm is determined; the current pose information of the robotic arm includes the angles and positions of each joint of the robotic arm, as well as the overall posture and position of the robotic arm. Based on the current pose information of the robotic arm, the 3D model of the robotic arm, and the 3D model of the instrument structure, the collision risk area is determined using a bounding box algorithm.

7. The method according to claim 1, characterized in that, Determining the obstacle avoidance path based on the collision risk area includes: Determine the initial position and initial orientation of the robotic arm; A random point is generated in the workspace of the robotic arm. The path from the current position of the robotic arm to the random point is intersected with the collision risk area. If they do not intersect, the random point is valid. If they intersect, a new random point is generated and the intersection detection is performed again until the random point is valid, thus obtaining a valid random point. Based on a preset step size, the robotic arm moves from its current position to the valid random point to obtain a new position. The distance between the new position and the target position of the target piano key is determined. If the distance is less than a preset standard threshold, the target position is determined, and the obstacle avoidance path is obtained. If the distance is greater than or equal to the preset standard threshold, the step size is reset or a new valid random point is generated. The operation of obtaining a new position and re-determining whether the new position has reached the target position is then performed again until the preset maximum number of iterations is reached or the target position is reached.

8. The method according to claim 1, characterized in that, The method further includes: Obtain the task timing data of the robotic arm; The timing deviation value is determined by comparing the duration of the current task cycle in the task timing data with the estimated time for the end effector to reach the target piano key. Based on the timing deviation value, adjust the trajectory execution time of the obstacle avoidance path; Determining the robot's operational motion path based on the displacement constraint and the obstacle avoidance path includes: The robot's operational motion path is determined based on the displacement constraint and the obstacle avoidance path adjusted according to the trajectory execution time.

9. The method according to claim 8, characterized in that, The step of adjusting the trajectory execution time of the obstacle avoidance path based on the timing deviation value includes: Determine the time scaling factor based on the timing deviation value; Wherein, if the timing deviation value is greater than 0, the time scaling factor is less than 1 and greater than 0; if the timing deviation is less than 0, the time scaling factor is greater than 1; if the timing deviation is less than 0, the time scaling factor is equal to 1. The trajectory execution time of the obstacle avoidance path is adjusted according to the time scaling factor; the adjusted trajectory execution time is positively correlated with the time scaling factor.

10. A device for acquiring the working motion path of a robot, characterized in that, The robot includes a robotic arm and an end effector for playing the piano, and the device includes: The expected sinking amount determination unit is used to determine the expected sinking amount of the end effector based on the kinematic data of the robotic arm and the dynamic data of the end effector, and to determine the sinking displacement constraint amount applied in the vertical direction based on the expected sinking amount; the vertical direction is the direction perpendicular to the plane of the instrument body. The obstacle avoidance path determination unit is used to determine the collision risk area between the robotic arm and the piano's body structure, and to determine the obstacle avoidance path based on the collision risk area. The motion path determination unit is used to determine the robot's operation motion path based on the displacement constraint and the obstacle avoidance path.

Citation Information

Patent Citations

  • Mechanical arm obstacle avoidance path planning method and system and storage medium

    CN112809682A

  • Operation arm motion control method, device and system and storage medium

    CN120228713A

  • Humanoid robot whole body motion control method and system based on guide learning and remapping data

    CN121290403A

  • Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning

    US20210387350A1

  • Humanoid piano playing robot

    WO2024008217A1