Robot start / stop control methods, devices, robots and computer program products
By performing look-ahead interpolation and dynamic constraints on the original trajectory of the multi-axis robotic arm to generate a smooth transition trajectory, the problem of motion instability caused by the lack of consideration of joint axis dynamic constraints during the start-up and stop of the multi-axis robotic arm is solved, and smooth and safe start-up and stop control is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TP-LINK
- Filing Date
- 2026-02-26
- Publication Date
- 2026-06-02
Smart Images

Figure CN122125690A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotics technology, and in particular relates to a robot start-stop control method, device, robot, and computer program product. Background Technology
[0002] Multi-axis robotic arms are commonly used in industrial production to perform continuous trajectory motion tasks, such as assembly, welding, and material handling. During actual operation, robots may need to pause or restart during movement due to external safety signals, process changes, or human intervention. In existing technologies, the start-stop control of robotic arms is typically based on the task space or a preset trajectory, ensuring that the end effector maintains consistency with the original trajectory as much as possible during pauses or restarts.
[0003] However, since the movement of a multi-axis robotic arm is completed by the coordinated movement of multiple joints, the trajectory has nonlinear characteristics after being mapped from the task space to the joint space. If the dynamic constraints of each joint axis are not fully considered during the start-up and shutdown process, individual joints may experience excessive acceleration or sudden velocity changes, which may lead to unstable movement, shaking, or even protection shutdown.
[0004] Therefore, how to ensure that the robotic arm does not deviate from its original trajectory during pause and restart while satisfying dynamic constraints and achieving smooth synchronous control of the transitional motion of each joint axis has become an urgent technical problem to be solved. Summary of the Invention
[0005] This application provides a robot start-stop control method, device, robot, and computer program product, which can improve the smoothness and safety of the robotic arm movement during robot start-stop.
[0006] In a first aspect, this application provides a robot start-stop control method, which is applied to a robot equipped with a multi-axis robotic arm. The robot start-stop control method includes:
[0007] In response to the received control command, look-ahead interpolation is performed on the original trajectory of the multi-axis robotic arm to generate a list of joint space path points containing multiple interpolation moments. Each path point in the list of joint space path points corresponds to the position information of each joint axis of the multi-axis robotic arm at the corresponding interpolation moment. The control command is either a pause command or a restart command. Based on the list of joint space path points and the dynamic constraints of each joint axis of the multi-axis robot, the reference joint axis is determined among the joint axes of the multi-axis robot. Under the dynamic constraints of the reference joint axis, a smooth transition position curve of the reference joint axis from the initial state to the target state is generated, where the initial state is the state of the multi-axis robot arm when the control command is received, and the target state is the state indicated by the control command. Based on the smooth transition position curves of the reference joint axes and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes of the multi-axis robot is calculated to control the smooth transition of the multi-axis robot to the target state.
[0008] Secondly, this application provides a robot start-stop control device, which is applied to a robot equipped with a multi-axis robotic arm. The robot start-stop control device includes: The first generation module is used to respond to the received control command, perform look-ahead interpolation on the original trajectory of the multi-axis robot arm, and generate a list of joint space path points containing multiple interpolation moments. Each path point in the list of joint space path points corresponds to the position information of each joint axis of the multi-axis robot arm at the corresponding interpolation moment. The control command is either a pause command or a restart command. The determination module is used to determine the reference joint axis among the joint axes of the multi-axis robot arm based on the list of joint space path points and the dynamic constraints of each joint axis of the multi-axis robot arm. The second generation module is used to generate a smooth transition position curve of the reference joint axis from the initial state to the target state under the dynamic constraints of the reference joint axis. The initial state is the state of the multi-axis robot arm when the control command is received, and the target state is the state indicated by the control command. The control module is used to calculate the synchronous smooth transition trajectory of all joint axes of the multi-axis robot based on the smooth transition position curve of the reference joint axis and the list of joint space path points, so as to control the multi-axis robot to smoothly transition to the target state.
[0009] Thirdly, this application provides a robot, which 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 steps of the method described in the first aspect.
[0010] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.
[0011] Fifthly, this application provides a computer program product comprising a computer program that, when executed by one or more processors, implements the steps of the method described in the first aspect.
[0012] The advantages of this application compared to existing technologies are as follows: This application generates a list of joint space path points by performing look-ahead interpolation on the original trajectory after receiving control commands. This allows the start-stop process to be planned based on the future path information of the original trajectory, ensuring that the robotic arm does not deviate from the original trajectory during pauses or restarts. Furthermore, by combining the list of joint space path points with the dynamic constraints of each joint axis, a reference joint axis is determined. A smooth transition position curve is generated under the dynamic constraints of this reference joint axis, ensuring that the key transition movements during the start-stop process are dominated by the most constrained joint, thus preventing any joint from exceeding its speed or acceleration limits during the start-stop process. Finally, based on the smooth transition position curve of the reference joint axis and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes is calculated, enabling each joint axis to collaboratively complete the start-stop transition while satisfying the dynamic constraints. Therefore, this application can achieve smooth, synchronous, and constrained transition movements of each joint axis while ensuring the continuity and consistency of the trajectory during the start-stop process of the robotic arm, improving the smoothness and safety of the start-stop process.
[0013] It is understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0014] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0015] Figure 1 This is a schematic diagram illustrating the implementation process of the robot start / stop control method provided in the embodiments of this application; Figure 2 This is an example diagram illustrating the shortest transition time provided in the embodiments of this application; Figure 3 This is a schematic diagram illustrating the calculation process for the shortest transition time of each joint axis when the robot is paused, as provided in the embodiments of this application. Figure 4 This is a schematic diagram of the process of controlling a multi-axis robotic arm to smoothly transition to a target state when the robot is paused, as provided in the embodiments of this application. Figure 5 This is a structural block diagram of the robot start / stop control device provided in the embodiments of this application; Figure 6 This is a schematic diagram of the robot provided in the embodiments of this application. Detailed Implementation
[0016] The embodiments of the technical solution of this application will now be described in detail with reference to the accompanying drawings. These embodiments are only used to more clearly illustrate the technical solution of this application and are therefore merely examples, and should not be used to limit the scope of protection of this application.
[0017] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains; the terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the application; the terms “comprising” and “having”, and any variations thereof, in the specification, claims, and foregoing description of the drawings are intended to cover non-exclusive inclusion.
[0018] In the description of the embodiments of this application, technical terms such as "first" and "second" are used only to distinguish different objects and should not be construed as indicating or implying relative importance or implicitly indicating the number, specific order, or primary and secondary relationship of the indicated technical features.
[0019] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0020] In the description of the embodiments in this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0021] In the description of the embodiments of this application, the term "multiple" refers to two or more (including two), unless otherwise expressly and specifically defined.
[0022] This application proposes a robot start-stop control method. This method can be applied to a robot or to an external device that has a communication connection with and can control the robot. This application does not limit the entity executing the robot start-stop control method. Specifically, the robot is a robot equipped with a multi-axis robotic arm. Please refer to... Figure 1 , Figure 1 The implementation flow of the robot start-stop control method is presented. Taking a robot as the executing entity as an example, the implementation flow of the robot start-stop control method is described below in detail: Step 101: In response to the received control command, perform look-ahead interpolation on the original trajectory of the multi-axis robotic arm to generate a list of joint space path points containing multiple interpolation moments.
[0023] When the robot receives a control command from a user or external device, it can trigger the execution of the robot start / stop control method proposed in this application embodiment. The control command can be a pause command, corresponding to the pausing process of the robotic arm; or a restart command, corresponding to the restart process of the robotic arm. That is, the control command includes both pause and restart commands.
[0024] Under normal circumstances, during the movement of the robotic arm, the robot's planner can calculate the position, velocity, and acceleration information of the robotic arm in real time within each control cycle. Based on this, in this embodiment, the robot can first record the state of the robotic arm on the original trajectory (i.e., the pre-planned motion trajectory that the robotic arm was originally executing) at the instant the command is received. This state includes at least: the interpolation time, the pose, velocity, and acceleration of the robotic arm at this time. This recorded state is called the initial state, which is the starting point of the entire transition process.
[0025] It is understandable that if the pose of the robotic arm is recorded in Cartesian space (that is, the original trajectory is a Cartesian space trajectory), then it can specifically be the position and orientation of the end effector of the robotic arm; if the pose of the robotic arm is recorded in joint space (that is, the original trajectory is a joint space trajectory), then it can specifically be the joint angles of each axis of the robotic arm.
[0026] The robot's trajectory planner can use this initial state as a starting point to perform look-ahead interpolation on the original trajectory. Look-ahead interpolation refers to calculating a series of path points corresponding to consecutive moments forward (i.e., towards the future time direction) based on the planning equations of the original trajectory. These path points reflect the positions the robot arm should have reached at each future moment if the original trajectory had continued. The results of look-ahead interpolation generate an ordered list, which can be denoted as the joint space path point list. This list contains: multiple interpolation moments, and the path point corresponding to each interpolation moment; each path point contains the position information of all joint axes (i.e., each degree of freedom) of the multi-axis robot arm at that interpolation moment; that is, each path point in the joint space path point list corresponds to the position information of each joint axis of the multi-axis robot arm at the corresponding interpolation moment. It can be understood that a path point is a vector composed of all joint angle values. In this way, the robot can obtain a series of discrete target position sequences in joint space that the robot arm should follow based on the original trajectory over a future period.
[0027] This step provides the robot with a path reference for the upcoming start-stop transition planning. The generated list of joint space path points forms the basic framework for subsequent planning, ensuring that no matter what acceleration or deceleration strategy is ultimately adopted, the movement of the robotic arm will be constrained to the vicinity of the path described in the list. This fundamentally avoids significant deviations from the original path and prevents the risk of collisions caused by trajectory deviations.
[0028] Step 102: Determine the reference joint axis among the joint axes of the multi-axis robot arm based on the list of joint space path points and the dynamic constraints of each joint axis.
[0029] After obtaining the list of joint space waypoints, the robot can plan a transition trajectory that allows the robotic arm to smoothly change from its initial state to the target state. During the pause of the robotic arm, the target state is a stationary state; during the restart of the robotic arm, the target state is a motion state that reconnects with the original trajectory.
[0030] To ensure that all joint axes can coordinate and synchronize this change without exceeding their respective physical limits, the robot can first determine the reference joint axes of the robotic arm. Specifically, this can be determined based on the following two key inputs: first, a list of joint space path points, which provides target path information; and second, the dynamic constraints of each joint axis of the multi-axis robotic arm, the most critical of which is the maximum allowable acceleration of each joint axis.
[0031] The robot can traverse every joint axis of the robotic arm and analyze the shortest transition time required for it to change from the initial state to the target state, while strictly adhering to its maximum acceleration constraint. Among all joint axes, the joint axis with the longest shortest transition time is the total time required for the entire robotic arm to complete the state transition. This corresponding axis can be determined as the reference joint axis, and other joint axes will be synchronized based on the reference joint axis.
[0032] This step allows the robot to determine the reference joint axes that limit the speed of the entire transition process, thereby ensuring that all joint axes move within their own dynamic constraints. This avoids problems such as overload and / or vibration caused by excessive acceleration or deceleration of individual joints, laying a safe foundation for generating a smooth transition trajectory.
[0033] Step 103: Under the dynamic constraints of the reference joint axis, generate a smooth transition position curve of the reference joint axis from the initial state to the target state.
[0034] After determining the reference joint axis, since this reference joint axis serves as the benchmark for the synchronous planning of other joint axes, the robot can first plan a smooth transition position curve for this reference joint axis from the initial state to the target state. Specifically, under the dynamic constraints of the reference joint axis (mainly referring to its maximum acceleration), a smooth transition position curve is generated to show the reference joint axis moving from the initial state (its position and velocity at the moment of receiving the command) to the target state (its position and velocity in the state required by the command). This smooth transition position curve describes the continuous functional relationship of the reference joint axis's position changing with time. In some examples, in order to fully utilize the dynamic performance of the reference joint axis and ensure the smoothness of its motion, this smooth transition position curve can usually be planned as a position-time curve under uniform acceleration or deceleration motion (i.e., constant acceleration).
[0035] This step generates a smooth transition position curve for the reference joint axis, providing a reference for the synchronous movement of other axes. The reference joint axis will move strictly according to this calculated smooth position curve, ensuring that the movement of the reference joint axis is smooth and safe. This smooth transition position curve can serve as an important basis for calculating the positions of all joint axes at the same time in subsequent steps.
[0036] Step 104: Based on the smooth transition position curve of the reference joint axis and the list of joint space path points, calculate the synchronous smooth transition trajectory of all joint axes of the multi-axis robot arm to control the smooth transition of the multi-axis robot arm to the target state.
[0037] After obtaining the smooth transition position curve of the reference joint axis, the robot can calculate the synchronous smooth transition trajectory of all joint axes of the robotic arm based on this smooth transition position curve and the list of joint space path points. In each control cycle, the system sends the calculated position, velocity, and acceleration of all joint axes as control parameters to the robotic arm's actuators. The actuators control each joint axis to move based on the obtained control parameters, thereby causing the entire robotic arm to move smoothly along a calculated trajectory synchronized with the motion of the reference joint axis. The above process is repeated in each control cycle until the robotic arm fully reaches the target state required by the control command, such as complete stop (in the case of a pause command) or connection with the original trajectory (in the case of a restart command).
[0038] Through this step, the robot starts from the smooth transition position curve of the reference joint axis and obtains the synchronous smooth transition trajectory of all joint axes, so that the robotic arm can smoothly, accurately and synchronously transition to the target state.
[0039] In some embodiments, the list of joint space path points can be obtained as follows: A1, in response to the received control command, records the path point of the multi-axis robotic arm on the original trajectory at the start of interpolation.
[0040] When a robot receives a control command (pause or restart command), its planner can use the current moment as the starting interpolation moment (denoted as t0) and record the path point of the multi-axis robotic arm at that starting interpolation moment. This path point describes the state of the robotic arm corresponding to t0 on the original trajectory (the predetermined trajectory that the robotic arm is executing), and typically includes at least pose and motion information. As described earlier, if the original trajectory is planned in Cartesian space, the pose information can be the position and orientation of the end effector; if the original trajectory is planned in joint space, the pose information can be the angle values of all joints; the motion information specifically refers to the corresponding velocity and acceleration. It can be understood that this recorded path point has a dual identity: it is both a point on the original trajectory and the initial state of the start-stop transition process, serving as the starting point for subsequent calculations of this start-stop control.
[0041] Through this step, the robot records the starting path point during look-ahead interpolation, ensuring that the results obtained from subsequent look-ahead interpolation operations can seamlessly connect with the original trajectory in terms of state. This avoids trajectory jumps or errors caused by command response delays or data processing lags, and guarantees the continuity of the transition.
[0042] A2, taking the path point at the initial interpolation moment as the starting point, calculates the path points corresponding to the multi-axis robot on the original trajectory at multiple consecutive interpolation moments based on the planning equation of the original trajectory, so as to form an interpolation path point list.
[0043] Starting from the path points recorded in step A1 (i.e., the initial state), the robot's planner can begin performing look-ahead interpolation. As described earlier, this operation calculates a series of path points corresponding to consecutive moments forward (i.e., towards the future time direction) based on the planning equations of the original trajectory (including but not limited to the analytical equations of straight lines / circles or the parametric equations of spline curves). Specifically, after the initial moment t0, the planner can determine multiple future interpolation moments (e.g., t1, t2, ..., t...) based on preset time intervals. n For each future interpolation time t i The planner can use the planning equation of the original trajectory to calculate the robot arm's position at the interpolation time t. i The path points that should have been reached are obtained, thus yielding the path points corresponding to each future interpolation moment. These path points constitute an ordered set arranged in chronological order, denoted as the interpolation path point list. It can be understood that this interpolation path point list maintains consistency with the original trajectory in content, but is represented in data structure as a series of discrete state sampling points.
[0044] Taking the pause process as an example, its initial state can be expressed as: Where t0 represents the starting time, s0 is the position of the robotic arm at time t0, v0 is the velocity of the robotic arm at time t0, and a0 is the acceleration of the robotic arm at time t0; the corresponding generated pathpoint queue is expressed as... The elements in this queue are , The interpolation time of the corresponding path point on the original trajectory. for The state of the robotic arm at any given moment. As described earlier, if the original trajectory is a Cartesian space trajectory, This refers to the position and orientation of the robotic arm's end effector; if the original trajectory is a joint trajectory, These are the joint angles of each joint axis of the robotic arm.
[0045] Assume the robot pauses from time t0 until... If a pause is achieved, taking the restart process after the pause as an example, the robot's planner can proceed along the original trajectory. Start performing lookahead interpolation at any time to obtain The states of multiple pathpoints after a given time. Similarly, the pathpoint queue for the restart process is... The elements in this queue are , The interpolation time of the corresponding path point on the original trajectory. for The state of the robotic arm at any given moment. As described earlier, if the original trajectory is a Cartesian space trajectory, This refers to the position and orientation of the robotic arm's end effector; if the original trajectory is a joint trajectory, These are the joint angles of each joint axis of the robotic arm.
[0046] Through this step, the robot can discretize the trajectory equation corresponding to the original trajectory into a data queue that can be queried and processed, namely, the interpolation path point list, which serves as the basic basis for subsequent start-stop control.
[0047] A3, obtain the joint space path point list based on the interpolation path point list.
[0048] The end effector pose of a robotic arm with n degrees of freedom is determined by n joint variables; this set of variables is collectively called an n-dimensional joint vector. ( q i (representing the i-th joint variable), all joint vectors The space formed is called joint space. The pose x of the robotic arm's end effector is described in Cartesian coordinate space. When the position is measured on mutually orthogonal axes in space, and the posture is measured according to any specification such as Euler angles or rotation matrix, this space is called Cartesian space. In some scenarios, this Cartesian space can also be called task space and operation space.
[0049] Kinematic equation x=x( This can be viewed as a mapping from joint space to Cartesian space, while inverse kinematics is the process of finding the preimage in joint space based on the Cartesian image. In the multi-axis robotic arm of the embodiments of this application, if the pausing trajectory is planned directly in Cartesian space, although it can ensure that the position and orientation of the end effector move along the original trajectory, these Cartesian paths must be equivalently transformed into variables in joint space before they can be input into the robotic arm's control system. That is, when planning the motion of the robot, regardless of which space (Cartesian space or joint space) the original trajectory of the robotic arm is planned in, the final underlying motion control is performed in joint space. Based on this, the robot needs to place the data in a unified joint space representation. Therefore, after obtaining the interpolation path point list, the robot can obtain the joint space path point list based on the interpolation path point list, specifically as follows: Step A11: Obtain the planning space type of the original trajectory.
[0050] The robot can first determine the spatial type in which the original trajectory was planned, that is, obtain the planning space type of the original trajectory. As described earlier, there are two common planning space types: Cartesian space and joint space. The robot can determine its planning space type by reading the configuration file of the original trajectory or parsing its data structure.
[0051] Step A12: If the original trajectory is a Cartesian space trajectory, convert each path point in the interpolation path point list to joint space to obtain a joint space path point list.
[0052] If the original trajectory is determined to be a Cartesian space trajectory, each path point in the interpolation path point list contains the position and orientation information of the end effector. To obtain joint space information, each path point in the interpolation path point list is transformed to joint space. Taking the pause process as an example, this transformation operation can be expressed as:
[0053] in, This represents the position, angular velocity, and angular acceleration of each joint axis in the initial state during the pause process. In some examples, the initial state during the pause process (i.e., the path point corresponding to time t0) can be transformed to joint space as follows: first, the joint displacement (i.e., position) is obtained through inverse kinematics; then, the joint velocity (i.e., angular velocity) is calculated using the inverse velocity Jacobian matrix; finally, the joint acceleration is calculated using the inverse velocity Jacobian matrix and its derivative. It should be noted that since the transformation is nonlinear and time-varying, the inverse solution of the trajectory from Cartesian space programming to joint space may exceed the dynamic constraints of the joint axes (especially near singular points and in the edge region of the workspace). Path points corresponding to other interpolation times can be directly solved to joint space through inverse kinematics without solving for joint velocity (i.e., angular velocity) and joint acceleration (i.e., angular acceleration), thus reducing the computational load.
[0054] Step A13: If the original trajectory is a joint space trajectory, determine the interpolation path point list as the joint space path point list.
[0055] When the original trajectory is determined to be a joint space trajectory, since each path point in the interpolation path point list is already the position information of each joint axis (a set of joint angles), the robot does not need to perform any conversion processing, and the interpolation path point list obtained can be directly determined as the joint space path point list.
[0056] Through this step, the robot achieves unified processing of Cartesian trajectories and joint trajectories; that is, regardless of where the original trajectory is planned in space, the robot start-stop control method proposed in this application embodiment can be applied, which greatly enhances the versatility and robustness of the robot start-stop control method.
[0057] In some embodiments, the reference joint axis can be obtained in the following manner: B1, for each joint axis, calculate the shortest transition time required for the joint axis to change from the initial state to the target state with the maximum allowable acceleration based on the list of joint space path points.
[0058] For any given joint axis, the process of its transformation from an initial state to a target state is analyzed. During this transformation, the motion of the joint axis must strictly adhere to its own dynamic constraints, the most crucial of which is the maximum acceleration that the joint axis can provide. It is important to note that the maximum acceleration considered is negative when paused, and positive when restarted.
[0059] Under the constraint of the maximum acceleration mentioned above, the robot's planner can calculate the theoretically shortest time required for the joint axis to complete the transition from the initial state to the target state. This time can be denoted as the shortest transition time of the joint axis. During the calculation, the planner considers the joint axis undergoing uniformly accelerated motion at maximum acceleration (uniformly decelerated motion during pause and uniformly accelerated motion during restart), and combines this with the position requirements of the target state to solve for the minimum time that satisfies the conditions. In essence, this shortest transition time refers to the shortest time it takes for the joint axis to complete a pause or restart without exceeding its physical limits.
[0060] Taking the pause process as an example, the calculation of the shortest transition time for each joint axis of the robotic arm is explained: Let j be the joint axis number of the robotic arm, and i be the index of the path point in the joint space path point list. The moment the pause is triggered. This refers to the time corresponding to index i in the list of joint space path points. Let J be the position of the joint axis at the moment of pause triggering. To pause the speed at the trigger moment; This refers to the position corresponding to the index i in the list of joint space path points. The speed corresponding to index i in the path point list; This represents the maximum allowable acceleration value for the j-joint axis.
[0061] The robot can start from joint axis numbered 0, traverse the list of path points, and if the condition is met... This indicates that the joint axis can stop at the time corresponding to sequence number i, thus allowing us to obtain the shortest transition time for that joint axis. The derivation process is as follows: It is understandable that the pause process is a uniformly decelerated motion, satisfying the following conditions: Where a is the acceleration, s is the path length, v0 is the starting velocity, and v1 is the ending velocity. The shortest path length required for the joint axis to transition from the paused state to the stationary state is... Substituting the corresponding parameters of the joint axis, we can obtain... If the velocity of the joint axis at a certain path point is in the opposite direction to the initial velocity ( This indicates that there must be a moment when the joint axis has zero velocity between these two path points, meaning that the joint axis can stop at the moment corresponding to index i. Based on this, if the following conditions are met... or This means that the joint axis can stop at the time corresponding to i. Let the time corresponding to i be denoted as . Repeat the above steps until the shortest time required for each axis of the robotic arm to decelerate from the initial state to the target state (stationary state) is found.
[0062] Through this step, the robot can assess the upper limit of its ability (i.e., the shortest transition time) when each joint axis independently completes the transition task (i.e., the transition from the initial state to the target state), thus providing a data basis for the subsequent determination of the reference joint axis.
[0063] B2, determine the maximum value among the shortest transition times of each joint axis as the common transition time.
[0064] After obtaining the shortest transition time for each joint axis of the robotic arm, the robot can compare all the obtained shortest transition times. Since the robotic arm is a multi-axis coordinated motion system, it cannot only satisfy the fastest joint axis during movement, but must wait for the slowest joint axis to complete its movement. Based on this, the robot can determine the maximum value among all calculated shortest transition times and set this maximum value as the common transition time used by the entire robotic arm to complete this start-stop transition. In other words, regardless of the capabilities of other joint axes, the entire start-stop transition process of the robotic arm will be uniformly planned to this common transition time.
[0065] By selecting the maximum value among the shortest transition times as the common transition time for all joint axes, this step ensures that all joint axes can simultaneously and coordinately reach their respective target states at the end of the transition, providing a time reference for generating a time-uniform overall trajectory.
[0066] B3, the joint axis corresponding to the common transition duration is determined as the reference joint axis.
[0067] It can be understood that the joint axis with the shortest transition time selected as the common transition time can be determined as the reference joint axis in this start-stop control process. In other words, the reference joint axis is the joint axis that takes the longest time to complete the state transition.
[0068] Through this step, the robot can determine the reference joint axis, so that the subsequent trajectory generation can be carried out around the reference joint axis. That is, the movement of all other joint axes will be synchronously interpolated and calculated based on the reference joint axis, thereby achieving the synchronization and smoothness of the overall movement while ensuring that each joint axis does not exceed the limit.
[0069] Please see Figure 2 , Figure 2 Taking a four-axis SCARA robotic arm as an example, this paper illustrates the shortest transition time for each joint axis during a pause. Specifically, Figure 2 J0, J1, J2, and J3 represent four joint axes; after the pause is triggered at time T0, each joint axis undergoes uniform deceleration with its maximum acceleration value; from Figure 2 It can be seen that the time taken for the J0 axis to decelerate to 0 (i.e., the shortest transition time t)0,end The J0 axis is the longest, therefore it can be determined as the reference joint axis; correspondingly, the common transition time t sync It can be determined as t 0,end .
[0070] In some embodiments, the smooth transition position curve can be obtained as follows: Based on the common transition time, the motion parameters of the reference joint axis in the initial state, and the maximum allowable acceleration of the reference joint axis, the position curve of the uniformly accelerated motion of the reference joint axis from the initial state to the target state is calculated as the smooth transition position curve.
[0071] The smooth transition position curve requires the following data foundation: common transition duration, motion parameters of the reference joint axis in its initial state, and maximum allowable acceleration of the reference joint axis. The common transition duration has been explained previously and will not be repeated here. The motion parameters of the reference joint axis in its initial state refer to the motion state of the reference joint axis itself at the instant the control command is received, including at least its current position and current velocity, serving as the starting point for calculating the smooth transition position curve. The maximum allowable acceleration of the reference joint axis is specifically the most critical quantitative indicator in the dynamic constraints of that reference joint axis, representing the limit of its acceleration or deceleration capability. It can be understood that this value is negative during a pause and positive during a restart.
[0072] After obtaining the above parameters, the robot's planner can use a uniformly accelerated motion model to calculate the smooth transition position curve. Uniformly accelerated motion, i.e., motion with constant acceleration, is calculated as follows: The planner takes the initial position and velocity as the starting point, the target position and velocity as the ending point, the common transition time as the total motion time, and the maximum acceleration as the constant acceleration value throughout the entire motion process. Substituting these values into the displacement formula for uniformly accelerated motion, a quadratic curve of position with respect to time can be uniquely determined. This curve is the smooth transition position curve of the reference joint axis.
[0073] Through this step, the smooth transition position curve generated by the robot can ensure that the motion of the reference joint axis itself is smooth (without abrupt acceleration) and safe (without exceeding limits), thus providing a continuous time reference and position reference for subsequently mapping the motion law of the reference joint axis to all other joint axes.
[0074] For example, regarding the pause process, please refer to [link / reference]. Figure 3 , Figure 3 A flowchart illustrating the robot's calculation of the shortest transition time for each joint axis is provided. It is the maximum allowable acceleration of joint axis j. Indicates that joint axis j is in The position at any given moment; following the steps outlined above, the robot can obtain the shortest transition time required for each joint axis to decelerate from motion to a stationary state. The longest time is selected as the common transition duration t. sync1 .
[0075] Let the reference joint axis determined here be joint axis j. Then the distance required for joint axis j to pause is: (That is, the distance from when the joint axis j receives the pause command to when it comes to a stop), where It is t sync1 At time j, the position of the joint axis is given, and during the pause, the acceleration of the joint axis j is given. The pause time is .
[0076] Taking the restart process after a pause as an example, let's record... It is the maximum allowable acceleration of joint axis j. Indicates that joint axis j is in Position at any given moment; following the steps outlined above, the robot can obtain the shortest time required for each joint axis to accelerate from rest to the target state that connects to the original trajectory. The longest time is selected as the common transition duration t. sync2 .
[0077] Let the reference joint axis determined here be joint axis j. Then, joint axis j accelerates from rest to velocity... The required distance is ,in and These are the joint axis j on the original trajectory t respectively. sync2 The position and velocity at any given time, and the acceleration of joint axis j during the restart process are: The time required for restart is .
[0078] In some embodiments, the robot can control the multi-axis robotic arm to smoothly transition to the target state in the following manner: C1 determines the current theoretical state of the reference joint axis based on the current moment and the smooth transition position curve of the reference joint axis within each control cycle.
[0079] It can be understood that the robot's start-stop control process iterates within multiple consecutive control cycles. The control cycle is the basic time unit for the robot to perform calculations and issue commands, and its length is t. periodA fixed value (e.g., 1 millisecond) determines the real-time performance and accuracy of the control. At the beginning of each control cycle, the system first obtains the current time, which is the time elapsed since the start-stop control began execution (i.e., the moment the control command was received). Subsequently, the robot can query the smooth transition position curve of the generated reference joint axis, substitute the current time into the smooth transition position curve, and obtain the current theoretical state of the reference joint axis. It can be understood that this current theoretical state represents the ideal state that the reference joint axis should reach according to global planning within the current control cycle, including: the current theoretical velocity and the current theoretical position.
[0080]
[0081]
[0082] Taking the restart process as an example, the robot uses the same approach to calculate the velocity at time t. Given position d, since the restart is a uniformly accelerated motion, its formula can be specifically as follows:
[0083]
[0084] C2, in the list of path points in joint space, find the target interval into which the current theoretical state of the reference joint axis falls, where each interval consists of two adjacent path points in the list of path points in joint space.
[0085] After obtaining the current theoretical state of the reference joint axis, the robot can search the list of path points in joint space. Since this list is a discrete sequence of path points arranged in chronological order, a target interval consisting of two adjacent path points can be found, such that the current theoretical position in the current theoretical state lies between the position values of the reference joint axis recorded by these two adjacent path points; that is, the current theoretical position of the reference joint axis falls within this target interval. Because the position of the reference joint axis changes monotonically with time, this target interval is usually present and unique in each control cycle. These two adjacent path points, as the endpoints of the target interval, not only contain the position of the reference joint axis at the two interpolation times, but more importantly, they completely record the position information of all joint axes at their respective times.
[0086] Whether it's a pause or restart process, the robot can find a path in the joint space path point list that satisfies the requirements. The target interval, and the joint vectors corresponding to the endpoints of the target interval are respectively and , where n is the number of joint axes.
[0087] C3 calculates the control parameters for each joint axis based on the target interval. The control parameters are used to control the corresponding joint axis to move according to the synchronous smooth transition trajectory.
[0088] Once the target range is found, the robot can calculate the control parameters required for each joint axis within the current control cycle based on that range. These control parameters can then be used to control the corresponding joint axis to move along a synchronous, smooth transition trajectory. The robot can package these control parameters into control commands and send them to the drivers of each joint axis in real time via the bus. After receiving the commands, each driver can control the movement of its corresponding motor, ensuring that the actual position and speed of the joint axis track the control parameters indicated by the control commands.
[0089] It is understandable that the above process is repeated in each control cycle; that is, the latest current time is obtained in each control cycle, and then the latest theoretical state of the reference joint axis is retrieved to determine the latest target interval. From this, the latest control parameters of each joint axis are calculated, realizing real-time control of each joint axis. In this way, a closed-loop control for the robotic arm can be formed, continuously guiding each joint axis of the robotic arm to move along the corresponding synchronous smooth transition trajectory.
[0090] In some embodiments, the control parameters of each joint axis can be obtained in the following manner: C31, based on the proportion of the current theoretical state in the target interval, performs linear interpolation on the adjacent path points that constitute the endpoints of the target interval to obtain the target positions of each joint axis other than the reference joint axis at the current moment.
[0091] As described earlier, the target interval consists of two adjacent path points, each corresponding to a different interpolation time. The robot can calculate the proportion of the current theoretical position of the reference joint axis relative to the positions of the reference joint axes indicated by the two endpoints of the target interval; this proportion is typically a value between 0 and 1, reflecting the progress of the current time from the time corresponding to the start endpoint of the target interval to the time corresponding to the end endpoint.
[0092] Subsequently, based on the position information of all joint axes recorded at the two endpoints of the target interval, linear interpolation is performed according to the calculated ratio. Through this linear interpolation operation, the target position that each joint axis of the robotic arm should reach at the current moment can be calculated simultaneously.
[0093] Understandably, whether it's a pause or restart process, the robot can... The joint vector at time t can be obtained by interpolation. Specifically, it can be expressed by the following formula:
[0094] Where d represents the target position of the reference joint axis j at time t; λ represents the proportion of the current theoretical state within the target interval. This indicates the position of the non-reference joint axis k at time t.
[0095] C32 calculates the target velocity and target acceleration of each joint axis other than the reference joint axis by numerical differentiation based on the target position obtained by interpolation.
[0096] The robot can use numerical differentiation to determine the target velocity of each joint axis. With target acceleration For real-time calculations, it's understandable that the formulas used, regardless of whether the process is paused or restarted, can be as follows:
[0097] Through numerical differentiation, the robot can estimate the instantaneous velocity and acceleration of each joint axis in real time from a smoothly changing list of joint space path points. At this point, the control parameters (including position, velocity, and acceleration) for each joint axis have been calculated.
[0098] Please see Figure 4 , Figure 4 A flowchart illustrating the process of smoothly transitioning the multi-axis robotic arm to the target state when the robot is paused is provided. It can be understood that the process of smoothly transitioning the multi-axis robotic arm to the target state when the robot restarts is essentially the same as the process of smoothly transitioning the multi-axis robotic arm to the target state when the robot is paused; the only difference is the calculation formula used for the current theoretical state, which has been described in detail above and will not be repeated here.
[0099] As can be seen from the above, in this embodiment, by performing look-ahead interpolation on the original trajectory after receiving the control command, a list of joint space path points is generated. This allows the start-stop process to be planned based on the future path information of the original trajectory, thereby ensuring that the robotic arm does not deviate from the original trajectory during pause or restart. Furthermore, by combining the list of joint space path points and the dynamic constraints of each joint axis, a reference joint axis is determined, and a smooth transition position curve is generated under the dynamic constraints of this reference joint axis. This ensures that the key transition motions in the start-stop process are dominated by the most strictly constrained joint, thus preventing any joint from exceeding its speed or acceleration limits during the start-stop process. Finally, based on the smooth transition position curve of the reference joint axis and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes is calculated, enabling each joint axis to collaboratively complete the start-stop transition while satisfying the dynamic constraints. Therefore, this embodiment can achieve smooth, synchronous, and constrained transition motions of each joint axis while ensuring the continuity and consistency of the trajectory during the start-stop process of the robotic arm, improving the smoothness and safety of the start-stop process.
[0100] It should be understood that the sequence number of each step in the above embodiments 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.
[0101] Corresponding to the robot start-stop control method provided above, this application also provides a robot start-stop control device. Please refer to... Figure 5 The robot start / stop control device 5 in this embodiment includes: The first generation module 501 is used to respond to the received control command, perform look-ahead interpolation on the original trajectory of the multi-axis robot arm, and generate a list of joint space path points containing multiple interpolation moments. Each path point in the list of joint space path points corresponds to the position information of each joint axis of the multi-axis robot arm at the corresponding interpolation moment. The control command is either a pause command or a restart command. The determination module 502 is used to determine the reference joint axis among the joint axes of the multi-axis robot arm based on the list of joint space path points and the dynamic constraints of each joint axis of the multi-axis robot arm. The second generation module 503 is used to generate a smooth transition position curve of the reference joint axis from the initial state to the target state under the dynamic constraints of the reference joint axis, wherein the initial state is the state of the multi-axis robot arm when the control command is received, and the target state is the state indicated by the control command. The control module 504 is used to calculate the synchronous smooth transition trajectory of all joint axes of the multi-axis robot based on the smooth transition position curve of the reference joint axis and the list of joint space path points, so as to control the multi-axis robot to smoothly transition to the target state.
[0102] In some embodiments, the determining module 502 includes: The first calculation unit is used to calculate, for each joint axis, the shortest transition time required for the joint axis to change from the initial state to the target state with the maximum allowable acceleration of the joint axis, based on the list of path points in the joint space. The first determining unit is used to determine the maximum value among the shortest transition times of each joint axis as the common transition time; The second determining unit is used to determine the joint axis corresponding to the common transition duration as the reference joint axis.
[0103] In some embodiments, the second generation module 503 is specifically used to calculate the position curve of the uniformly accelerated motion of the reference joint axis from the initial state to the target state based on the common transition time, the motion parameters of the reference joint axis in the initial state, and the maximum allowable acceleration of the reference joint axis, as a smooth transition position curve.
[0104] In some embodiments, the first generation module 501 includes: The recording unit is used to record the path points of the multi-axis robotic arm on the original trajectory at the moment of initial interpolation in response to the received control command; The second calculation unit is used to calculate the path points of the multi-axis robot on the original trajectory at multiple consecutive interpolation times, based on the planning equation of the original trajectory and the path points at the initial interpolation time, so as to form an interpolation path point list. The generation unit is used to obtain a list of joint space path points based on the interpolation path point list.
[0105] In some embodiments, the generating unit includes: Obtain sub-units to retrieve the planning space type of the original trajectory; The transformation sub-unit is used to transform each path point in the interpolation path point list to the joint space when the original trajectory is a Cartesian space trajectory, so as to obtain the joint space path point list. The sub-unit is determined to convert the list of interpolated path points into a list of joint space path points when the original trajectory is a joint space trajectory.
[0106] In some embodiments, the control module 504 includes: The third determining unit is used to determine the current theoretical state of the reference joint axis in each control cycle based on the current time and the smooth transition position curve of the reference joint axis. The search unit is used to find the target interval into which the current theoretical state of the reference joint axis falls in the list of path points in the joint space. Each interval consists of two adjacent path points in the list of path points in the joint space. The third determining unit is used to calculate the control parameters of each joint axis based on the target interval. The control parameters are used to control the corresponding joint axis to move according to the synchronous smooth transition trajectory.
[0107] In some embodiments, the control parameters include: position, velocity, and acceleration; the third determining unit includes: The interpolation subunit is used to perform linear interpolation on the adjacent path points that constitute the endpoints of the target interval according to the proportion of the current theoretical state in the target interval, so as to obtain the target positions of each joint axis other than the reference joint axis at the current time. Micro-molecular units are used to calculate the target velocity and target acceleration of each joint axis other than the reference joint axis by numerical differentiation based on the target position obtained by interpolation.
[0108] As can be seen from the above, in this embodiment, by performing look-ahead interpolation on the original trajectory after receiving the control command, a list of joint space path points is generated. This allows the start-stop process to be planned based on the future path information of the original trajectory, thereby ensuring that the robotic arm does not deviate from the original trajectory during pause or restart. Furthermore, by combining the list of joint space path points and the dynamic constraints of each joint axis, a reference joint axis is determined, and a smooth transition position curve is generated under the dynamic constraints of this reference joint axis. This ensures that the key transition motions in the start-stop process are dominated by the most strictly constrained joint, thus preventing any joint from exceeding its speed or acceleration limits during the start-stop process. Finally, based on the smooth transition position curve of the reference joint axis and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes is calculated, enabling each joint axis to collaboratively complete the start-stop transition while satisfying the dynamic constraints. Therefore, this embodiment can achieve smooth, synchronous, and constrained transition motions of each joint axis while ensuring the continuity and consistency of the trajectory during the start-stop process of the robotic arm, improving the smoothness and safety of the start-stop process.
[0109] Corresponding to the robot start-stop control method provided above, this application also provides a robot. Please refer to... Figure 6 The robot 6 in this embodiment includes: a memory 601, and one or more processors 602. Figure 6 (Only one is shown in the image) and a computer program stored in memory 601 and executable on a processor. In addition, the robot 6 includes a multi-axis robotic arm (…). Figure 6 (Not shown in the image). Specifically, the processor 602 performs the following steps when executing the aforementioned computer program stored in the memory 601: In response to the received control command, look-ahead interpolation is performed on the original trajectory of the multi-axis robotic arm to generate a list of joint space path points containing multiple interpolation moments. Each path point in the list of joint space path points corresponds to the position information of each joint axis of the multi-axis robotic arm at the corresponding interpolation moment. The control command is either a pause command or a restart command. Based on the list of joint space path points and the dynamic constraints of each joint axis of the multi-axis robot, the reference joint axis is determined among the joint axes of the multi-axis robot. Under the dynamic constraints of the reference joint axis, a smooth transition position curve of the reference joint axis from the initial state to the target state is generated, where the initial state is the state of the multi-axis robot arm when the control command is received, and the target state is the state indicated by the control command. Based on the smooth transition position curves of the reference joint axes and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes of the multi-axis robot is calculated to control the smooth transition of the multi-axis robot to the target state.
[0110] Assuming the above is the first possible implementation, then in the second possible implementation based on the first possible implementation, a reference joint axis is determined among the joint axes of the multi-axis robot arm according to the joint space path point list and the dynamic constraints of each joint axis of the multi-axis robot arm, including: For each joint axis, based on the list of path points in the joint space, calculate the shortest transition time required for the joint axis to change from the initial state to the target state with the maximum allowable acceleration of the joint axis; The maximum value among the shortest transition times of each joint axis is determined as the common transition time; The joint axis corresponding to the common transition duration is determined as the reference joint axis.
[0111] In a third possible implementation based on the second possible implementation described above, under the dynamic constraints of the reference joint axis, a smooth transition position curve of the reference joint axis from the initial state to the target state is generated, including: Based on the common transition time, the motion parameters of the reference joint axis in the initial state, and the maximum allowable acceleration of the reference joint axis, the position curve of the uniformly accelerated motion of the reference joint axis from the initial state to the target state is calculated as the smooth transition position curve.
[0112] In a fourth possible implementation based on the first possible implementation described above, in response to a received control command, look-ahead interpolation is performed on the original trajectory of the multi-axis robotic arm to generate a list of joint space path points containing multiple interpolation moments, including: In response to the received control command, the path points of the multi-axis robotic arm on the original trajectory at the start of interpolation are recorded; Starting from the path point at the initial interpolation moment, and based on the planning equation of the original trajectory, the path points corresponding to the multi-axis robot on the original trajectory at multiple consecutive interpolation moments are calculated to form an interpolation path point list. The list of joint space path points is obtained based on the list of interpolated path points.
[0113] In the fifth possible implementation provided based on the fourth possible implementation described above, the joint space path point list is obtained based on the interpolation path point list, including: Obtain the planning space type of the original trajectory; Given that the original trajectory is a Cartesian space trajectory, each path point in the interpolation path point list is transformed to joint space to obtain a joint space path point list. When the original trajectory is a joint space trajectory, the list of interpolated path points is determined as the list of joint space path points.
[0114] In a sixth possible implementation based on the first possible implementation described above, the processor 602, when running the computer program stored in the memory 601, further implements the following steps: calculating the synchronous smooth transition trajectory of all joint axes of the multi-axis robotic arm based on the smooth transition position curve of the reference joint axis and the list of joint space path points, so as to control the smooth transition of the multi-axis robotic arm to the target state, including: Within each control cycle, the current theoretical state of the reference joint axis is determined based on the current time and the smooth transition position curve of the reference joint axis. In the list of path points in the joint space, find the target interval into which the current theoretical state of the reference joint axis falls, where each interval consists of two adjacent path points in the list of path points in the joint space. The control parameters for each joint axis are calculated based on the target interval. These control parameters are used to control the corresponding joint axis to move according to a synchronous and smooth transition trajectory.
[0115] In the seventh possible implementation provided based on the sixth possible implementation described above, the control parameters include: position, velocity, and acceleration; the control parameters for each joint axis are calculated based on the target interval, including: Based on the proportion of the current theoretical state in the target interval, linear interpolation is performed on the adjacent path points that constitute the endpoints of the target interval to obtain the target positions of each joint axis other than the reference joint axis at the current moment. Based on the target position obtained by interpolation, the target velocity and target acceleration of each joint axis other than the reference joint axis are calculated by numerical differentiation.
[0116] It should be understood that, in the embodiments of this application, the processor 602 may be a central processing unit (CPU), but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0117] Memory 601 may include read-only memory and random access memory, and provides instructions and data to processor 602. Some or all of memory 601 may also include non-volatile random access memory. For example, memory 601 may also store device type information.
[0118] As can be seen from the above, in this embodiment, by performing look-ahead interpolation on the original trajectory after receiving the control command, a list of joint space path points is generated. This allows the start-stop process to be planned based on the future path information of the original trajectory, thereby ensuring that the robotic arm does not deviate from the original trajectory during pause or restart. Furthermore, by combining the list of joint space path points and the dynamic constraints of each joint axis, a reference joint axis is determined, and a smooth transition position curve is generated under the dynamic constraints of this reference joint axis. This ensures that the key transition motions in the start-stop process are dominated by the most strictly constrained joint, thus preventing any joint from exceeding its speed or acceleration limits during the start-stop process. Finally, based on the smooth transition position curve of the reference joint axis and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes is calculated, enabling each joint axis to collaboratively complete the start-stop transition while satisfying the dynamic constraints. Therefore, this embodiment can achieve smooth, synchronous, and constrained transition motions of each joint axis while ensuring the continuity and consistency of the trajectory during the start-stop process of the robotic arm, improving the smoothness and safety of the start-stop process.
[0119] This application also provides a computer program product that, when run on a robot, enables the robot to perform the steps described in the various method embodiments above.
[0120] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the above device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0121] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0122] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of external device software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0123] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules or units described above 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 an indirect coupling or communication connection between devices or units through some interfaces, and may be electrical, mechanical, or other forms.
[0124] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0125] If the integrated units described above are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing associated hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable storage medium can include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer-readable storage device, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the contents of the aforementioned computer-readable storage media may be appropriately added to or subtracted from the contents according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media may not include electrical carrier signals and telecommunication signals.
[0126] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A robot start / stop control method, characterized in that, The robot start-stop control method is applied to robots equipped with multi-axis robotic arms, and the robot start-stop control method includes: In response to the received control command, look-ahead interpolation is performed on the original trajectory of the multi-axis robotic arm to generate a list of joint space path points containing multiple interpolation moments. Each path point in the list of joint space path points corresponds to the position information of each joint axis of the multi-axis robotic arm at the corresponding interpolation moment. The control command is either a pause command or a restart command. Based on the list of joint space path points and the dynamic constraints of each joint axis of the multi-axis robotic arm, a reference joint axis is determined among the joint axes of the multi-axis robotic arm. Under the dynamic constraints of the reference joint axis, a smooth transition position curve of the reference joint axis from the initial state to the target state is generated, wherein the initial state is the state of the multi-axis robot arm when the control command is received, and the target state is the state indicated by the control command. Based on the smooth transition position curve of the reference joint axis and the list of joint space path points, the synchronous smooth transition trajectory of all joint axes of the multi-axis robot is calculated to control the multi-axis robot to smoothly transition to the target state.
2. The robot start / stop control method as described in claim 1, characterized in that, The step of determining the reference joint axis among the joint axes of the multi-axis robotic arm based on the joint space path point list and the dynamic constraints of each joint axis of the multi-axis robotic arm includes: For each joint axis, based on the list of joint space path points, calculate the shortest transition time required for the joint axis to change from the initial state to the target state with the maximum allowable acceleration of the joint axis; The maximum value among the shortest transition times of each joint axis is determined as the common transition time; The joint axis corresponding to the common transition duration is determined as the reference joint axis.
3. The robot start / stop control method as described in claim 2, characterized in that, The step of generating a smooth transition position curve of the reference joint axis from the initial state to the target state under the dynamic constraints of the reference joint axis includes: Based on the common transition time, the motion parameters of the reference joint axis in the initial state, and the maximum allowable acceleration of the reference joint axis, the position curve of the uniformly accelerated motion of the reference joint axis from the initial state to the target state is calculated as the smooth transition position curve.
4. The robot start / stop control method as described in claim 1, characterized in that, In response to the received control command, the system performs look-ahead interpolation on the original trajectory of the multi-axis robotic arm to generate a list of joint space path points containing multiple interpolation moments, including: In response to the received control command, the path point of the multi-axis robotic arm on the original trajectory at the start interpolation moment is recorded; Starting from the path point at the initial interpolation moment, and based on the planning equation of the original trajectory, the path points corresponding to the multi-axis robotic arm on the original trajectory at multiple consecutive interpolation moments are calculated to form an interpolation path point list. The joint space path point list is obtained based on the interpolation path point list.
5. The robot start / stop control method as described in claim 4, characterized in that, The process of obtaining the joint space path point list based on the interpolation path point list includes: Obtain the planning space type of the original trajectory; When the original trajectory is a Cartesian space trajectory, each path point in the interpolation path point list is converted to joint space to obtain the joint space path point list; When the original trajectory is a joint space trajectory, the interpolation path point list is determined as the joint space path point list.
6. The robot start / stop control method as described in claim 1, characterized in that, The method of calculating the synchronous smooth transition trajectory of all joint axes of the multi-axis robotic arm based on the smooth transition position curve of the reference joint axis and the list of joint space path points, in order to control the smooth transition of the multi-axis robotic arm to the target state, includes: Within each control cycle, the current theoretical state of the reference joint axis is determined based on the current time and the smooth transition position curve of the reference joint axis. In the list of joint space path points, find the target interval into which the current theoretical state of the reference joint axis falls, wherein each interval is composed of two adjacent path points in the list of joint space path points; Based on the target interval, control parameters for each joint axis are calculated, and the control parameters are used to control the corresponding joint axis to move according to the synchronous smooth transition trajectory.
7. The robot start / stop control method as described in claim 6, characterized in that, The control parameters include: position, velocity, and acceleration; the control parameters for each joint axis calculated based on the target interval include: Based on the proportion of the current theoretical state in the target interval, linear interpolation is performed on the adjacent path points constituting the endpoints of the target interval to obtain the target positions of each of the joint axes other than the reference joint axis at the current moment. Based on the target position obtained by interpolation, the target velocity and target acceleration of each of the joint axes other than the reference joint axis are calculated by numerical differentiation.
8. A robot start / stop control device, characterized in that, The robot start-stop control device is applied to a robot equipped with a multi-axis robotic arm, and the robot start-stop control device includes: The first generation module is used to respond to the received control command, perform look-ahead interpolation on the original trajectory of the multi-axis robotic arm, and generate a list of joint space path points containing multiple interpolation moments. Each path point in the list of joint space path points corresponds to the position information of each joint axis of the multi-axis robotic arm at the corresponding interpolation moment. The control command is either a pause command or a restart command. The determination module is used to determine the reference joint axis among the joint axes of the multi-axis robotic arm based on the list of joint space path points and the dynamic constraints of each joint axis of the multi-axis robotic arm. The second generation module is used to generate a smooth transition position curve of the reference joint axis from the initial state to the target state under the dynamic constraints of the reference joint axis, wherein the initial state is the state of the multi-axis robot arm when the control command is received, and the target state is the state indicated by the control command. The control module is used to calculate the synchronous smooth transition trajectory of all the joint axes of the multi-axis robotic arm based on the smooth transition position curve of the reference joint axis and the list of joint space path points, so as to control the multi-axis robotic arm to smoothly transition to the target state.
9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 7.
10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by one or more processors, implements the method as described in any one of claims 1 to 7.