Throwing control method and system based on trajectory prediction and electronic device
Patent Information
- Application Number
- CN202611486893.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-23
- Publication Date
- 2026-10-30
Smart Images

Figure CN123000867A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot motion control technology, and more specifically, various exemplary embodiments relate to throwing control methods, systems and electronic devices based on trajectory prediction. Background Technology
[0002] Robot throwing motion typically consists of stages including object acceleration, contact release, and free flight of the target object. Current robot throwing control employs various methods, ranging from non-grasping parabolic control relying on the robot's end effector contacting the target object and determining separation conditions and control information based on the target's motion state, to deep reinforcement learning combined with throwing parameter prediction for motion control. At the rigid body dynamics level, research has derived motion equations not based on the rigid body's center of mass, demonstrating that when the reference point is offset relative to the center of mass, the translational motion description needs to incorporate terms related to angular motion and the center of mass offset, providing mechanical theoretical support for distinguishing the motion state of the gripping reference point from the motion state of the object's center of mass. For the flight problem of slender rigid bodies with tail fins, existing technologies have also analyzed the aerodynamic characteristics of such objects, including normal force, center of pressure, and pitch damping. These research findings can help understand the influence of tail fin aerodynamic forces on the rigid body's rotational behavior. Simultaneously, the field has developed general techniques for dynamic modeling and dynamic parameter identification based on observational data, providing a theoretical basis for correcting flight parameters. Summary of the Invention
[0003] The subject matter of the independent claims is provided according to several aspects. Further aspects are defined in the dependent claims. Embodiments that do not fall within the scope of the claims should be interpreted as examples that aid in understanding this disclosure.
[0004] According to a first aspect of this disclosure, a throwing control method based on trajectory prediction is provided, comprising: acquiring candidate motion trajectories of a robotic arm and candidate opening timing sequences of fingers gripping a thrown object; determining the opening time of each finger based on the candidate opening timing sequences; determining the release time of the thrown object based on the opening time of each finger; acquiring a reference state of the robotic arm at the release time based on the candidate motion trajectories; calculating the actual motion state of the thrown object at the release time based on the reference state; performing a six-degree-of-freedom numerical integration on the thrown object based on the motion state at the release time to predict the flight trajectory of the thrown object; and determining, at least in part, actual trajectory control commands output to the robotic arm and actual opening commands output to each gripping finger based on the predicted flight trajectory of the thrown object.
[0005] According to a second aspect of this disclosure, an electronic device is provided, which may include: at least one processor; and at least one memory storing instructions, which, when executed by the at least one processor, cause the electronic device to perform at least the method according to the first aspect described above.
[0006] According to a third aspect of this disclosure, an electronic device is provided, which may include one or more means for performing the method according to the first aspect described above.
[0007] According to a fourth aspect of this disclosure, a computer-readable medium is provided that may include program instructions, when executed, to implement the method described in accordance with the first aspect above.
[0008] According to a fifth aspect of this disclosure, a computer program product is provided that may include instructions, which, when executed by a processor, perform the method described in accordance with the first aspect above.
[0009] According to a sixth aspect of this disclosure, a trajectory prediction-based throwing control system is provided, which may include: a robotic arm, a multi-finger gripper mounted at the end of the robotic arm, and a controller; the controller is used to perform the method according to the first aspect above.
[0010] The computer program product may include or be embodied in a computer-readable (storage) medium, on which computer-executable computer program instructions and / or programs that can be directly loaded into the internal memory of a computer or its processor are stored.
[0011] It should be understood that the above general description and the following detailed embodiments are merely exemplary and illustrative, and do not limit the scope of the claims intended in this disclosure. Attached Figure Description
[0012] The above and other objects, features, and advantages of this application will become more apparent from the more detailed description of the embodiments of this application in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the embodiments of this application to explain this application and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.
[0013] Figure 1 This is a schematic diagram of the composition of a throwing control system according to an exemplary embodiment of the present disclosure.
[0014] Figure 2 This is a schematic diagram showing the geometric relationship between the clamping point, the center of mass, the arrowhead, and the tail of the arrow.
[0015] Figure 3 This is a schematic flowchart of a pitch-pot release control method according to an exemplary embodiment of the present disclosure.
[0016] Figure 4 This is a schematic diagram illustrating the relationship between the time of the finger opening instruction and the time of the release of contact with the target according to an exemplary embodiment of this disclosure.
[0017] Figure 5 This is a geometrical schematic diagram of an arrow crossing a spout and a finite insertion interval according to an exemplary embodiment of the present disclosure.
[0018] Figure 6 A flowchart illustrating an exemplary method according to an exemplary embodiment of the present disclosure;
[0019] Figure 7 A flowchart illustrating an exemplary method according to an exemplary embodiment of the present disclosure;
[0020] Figure 8 An example block diagram of an example device according to an exemplary embodiment of the present disclosure is shown;
[0021] Figure 9 An example block diagram of an example device according to an exemplary embodiment of the present disclosure is shown;
[0022] Figure 10 An example block diagram of an example device according to an exemplary embodiment of the present disclosure is shown.
[0023] Explanation of reference numerals in the attached diagram: 1. Robotic arm; 2. Multi-finger gripper; 3. Arrow; 4. Pot body; 5. Controller; 6. Status acquisition interface; 7. Parameter storage unit; 8. Calibration observation unit; 31. Arrowhead; 32. Arrow shaft; 33. Arrow tail and tail fin; 41. Pot mouth plane; 42. Pot mouth wall; 43. Plane containing the predetermined insertion depth. P represents the gripping point, C represents the center of mass, H represents the arrowhead tip, and T represents the arrow tail tip. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the spirit of the content disclosed herein will be clearly explained below with reference to the accompanying drawings and detailed description. Any person skilled in the art who understands the embodiments of this disclosure may make changes and modifications based on the technology taught in this disclosure without departing from the spirit and scope of this disclosure.
[0025] The illustrative embodiments and descriptions of this disclosure are used to explain this disclosure, but are not intended to limit this disclosure. Furthermore, elements / components using the same or similar reference numerals in the drawings and embodiments are used to represent the same or similar parts.
[0026] The terms “first,” “second,” etc., used in this document do not specifically refer to any order or sequence, nor are they intended to limit this disclosure; they are merely used to distinguish elements or operations described using the same technical terms.
[0027] The directional terms used in this article, such as up, down, left, right, front, or back, are for reference only when referring to the accompanying drawings. Therefore, the use of directional terms is for illustrative purposes and not to limit this work.
[0028] The terms “include,” “including,” “have,” “contain,” etc., used in this article are all open-ended terms, meaning that they include but are not limited to.
[0029] The term "and / or" as used herein includes any or all of the things mentioned.
[0030] The term "multiple" in this article includes "two" and "more than two"; the term "multiple groups" in this article includes "two groups" and "more than two groups".
[0031] The terms "approximately," "about," etc., used herein are intended to modify any quantity or error that may vary slightly, but these slight variations or errors do not change the essence of the quantity or error. Generally, the range of slight variations or errors modified by such terms may be 20% in some embodiments, 10% in others, 5% in still others, or other values. Those skilled in the art should understand that the aforementioned values can be adjusted according to actual needs and are not limited thereto.
[0032] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.
[0033] When expressions such as "at least one of A, B, and C" are used, they should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, and C" should include, but is not limited to, systems having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). When expressions such as "at least one of A, B, or C" are used, they should generally be interpreted in accordance with the meaning commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, or C" should include, but is not limited to, systems having A alone, having B alone, having C alone, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.). A person skilled in the art should also understand that any conjunction and / or phrase that substantially arbitrarily indicates two or more optional items, whether in the specification, claims, or drawings, should be understood to indicate the possibility of including one of these items, either of these items, or both items. For example, the phrase “A or B” should be understood as including the possibility of “A” or “B”, or “A and B”.
[0034] The following embodiments are exemplary. Although the specification refers to "a," "an," or "some" embodiments in various places, this does not necessarily mean that each reference refers to the same embodiment, or that a specific feature applies only to a single embodiment. Individual features of different embodiments may also be combined to provide other embodiments. Moreover, when specific features, structures, or characteristics are described in conjunction with embodiments, whether explicitly described or not, such features, structures, or characteristics will be applied to other embodiments to the extent that those skilled in the art possess the knowledge to do so. It should be understood that although terms such as "first" and "second" may be used to describe various elements, these elements should not be limited by these terms. These terms are merely used to distinguish one element from another.
[0035] One major application of robot throwing control technology is the throwing of projectiles, such as arrows, into specific containers. For clarity, this disclosure uses the throwing of arrows into a pitcher as an example to illustrate the technical solution. Those skilled in the art will understand that the technical solution of this disclosure can also be used to throw various throwable items into containers such as barrels, perforated containers, cylindrical bodies, square frames, limiting targets, vertical storage cylinders, or hollow receiving frames.
[0036] The arrow used in the arrow-throwing game has a shaft extending along its axis, and arrowheads and tail fins located near both ends. The gripping position of the multi-finger gripper is limited by the finger structure and the arrow-holding posture, and the gripping point may deviate from the arrow's center of mass. When the arrow-holding motion involves rotation, in addition to the difference in position, the gripping point and the center of mass also have different linear velocities determined by both angular velocity and offset vector. Therefore, directly using the motion state of the tool reference point (also known as the gripper's reference point) as the initial flight state of the arrow's center of mass will introduce state conversion errors under corresponding eccentricity and rotational conditions.
[0037] After a multi-finger gripper issues the opening command, the fingers still need to undergo a driving response and mechanical movement to release contact with the arrow. Different fingers respond differently, and during the gradual release of contact, relative slippage or additional rotation of the arrow may occur. Therefore, the moment of the opening command does not necessarily equal the moment the arrow actually enters free flight, and simply adjusting a uniform release delay may not reflect the sequence of contact release for each finger.
[0038] The target of the arrow-throwing game is the mouth of a pot with a finite opening and wall thickness. The arrow reaching near the center of the mouth does not guarantee that the arrow body, with its finite length and lateral dimensions, can continue through the inlet. The entry determination also involves the arrow's crossing direction, the arrow body's attitude, and the geometric gap during the insertion process after crossing. Therefore, it is necessary to establish a release control method that correlates the eccentric clamping state, the actual release response, and the inlet passage conditions.
[0039] The technical problem this disclosure aims to solve is as follows: Existing technologies fail to consider the characteristics of robotic arms and grippers as linked throwing tools in industrial scenarios. They neglect the fact that the gripping point is usually not located at the arrow's center of mass, that the fingers of the gripper disengage sequentially rather than uniformly during throwing, and that the arrow reaching the target does not necessarily mean that the arrow body of a certain length can enter the target container. This leads to the technical problem that existing throwing control schemes cannot guarantee the arrow body's smooth passage through the container inlet and stable delivery. Furthermore, existing technologies do not fully consider the complex contact dynamics at the moment of object release in the throwing planning, nor do they accurately calculate the impact of dynamic effects on the arrow's attitude evolution during flight. This results in significant deviations in the prediction of the arrow's flight trajectory after it leaves the gripper, especially inaccurate simulation of the attitude history, ultimately leading to a serious lack of reliability in the landing point location and its pointing accuracy.
[0040] To solve the above-mentioned technical problems, on the one hand, this disclosure obtains the offset vector from the gripping point of the arrow body to the center of mass, the geometric model of the arrow body and the spout, the contact release delay of each gripping finger, and the release state correction amount; determines the predicted time of final contact release based on the candidate robotic arm trajectory and the finger opening sequence; converts the tool reference point state at this time into the nominal center of mass state of the arrow body, and obtains the predicted actual release state through the release state correction amount; predicts the arrow trajectory and arrow body attitude based on the predicted actual release state, filters the robotic arm trajectory and finger opening sequence that meet the entry passage requirements, and outputs control commands to the robotic arm and each gripping finger. Compared to directly using the tool reference point as the center of mass of the arrow body, this disclosure introduces the offset vector from the gripping point to the center of mass and the cross product of angular velocity in the state conversion, which can characterize the changes in the position and linear velocity of the center of mass corresponding to changes in the gripping position. By calibrating the contact release delay and correcting the disengagement state by pressing the fingers separately, the command time difference and the state changes during contact release are incorporated into the same release prediction. By detecting the finite insertion interval after the arrow passes through, candidate actions that meet the arrow position requirements but whose arrow body attitude or geometric clearance does not meet the entry passage requirements can be screened out. This improves the accuracy of the center of mass motion state conversion, enhances the geometric passability verification capability of the throwing action screening, and improves the overall reliability of the throwing.
[0041] On the other hand, this disclosure does not directly use the ideal motion state of the robotic arm's end effector as the flight initiation condition. Instead, it systematically compensates for state deviations caused by various factors at the moment of release, thereby calculating a more physically accurate actual release state. Based on this, it further couples and deduces the motion of the center of mass and the rotation around the center of mass of the thrown arrow during flight, and introduces necessary dynamic corrections to obtain a flight trajectory prediction result that includes the complete attitude evolution. Through this method, the prediction accuracy and reliability of the flight trajectory of the thrown arrow after it leaves the gripper are significantly improved, enabling the system to more accurately assess the impact point distribution. Furthermore, this predictive capability provides a reliable decision-making basis for optimizing the robotic arm's throwing strategy, allowing the system to adjust throwing parameters in reverse based on the prediction results, thereby improving the success rate of the operation and its adaptability to different working conditions.
[0042] The technical solutions and characteristics of this disclosure are described in detail below through exemplary embodiments. For the purpose of clarity, specific technical implementations, such as specific models, data, and interfaces, are used in the following exemplary embodiments. Those skilled in the art, based on the exemplary embodiments provided by this disclosure, can readily conceive, deduce, and adapt various alternative solutions. Other similar conventional technical means, equivalent algorithm structures, general data formats, and standard interface protocols can be used to replace the specific technical implementations described in this disclosure, without departing from the core technical logic of this disclosure, to complete the adaptation and modification.
[0043] like Figure 1 As shown, a multi-finger gripper 2 is mounted at the end of the robotic arm 1. The multi-finger gripper 2 grips the arrow 3 using at least two gripping fingers that can independently issue opening commands. The controller 5 is connected to the control interfaces of the robotic arm 1 and the multi-finger gripper 2, and receives the joint position and joint speed with timestamps through the status acquisition interface 6. The parameter storage unit 7 can be set in the memory of the controller 5 to store the arrow body parameters, the geometry of the arrow mouth, the gripping transformation between the tool and the arrow body, and the disengagement response parameters.
[0044] The calibration observation unit 8 is used to obtain the moment of finger contact release and the motion state of the arrow body after leaving the hand during the parameter calibration phase. It can employ a dual-view high-speed imaging device calibrated with extrinsic parameters and synchronized with the control recording; the gripping hand with a contact sensor can also use contact signals to assist in determining contact release. The calibration observation unit 8 is not required to continuously participate in online control during each normal throw. The position of the nozzle can be input from known layout parameters or provided by a vision measurement device calibrated with extrinsic parameters.
[0045] Using the base coordinate system (also called the robot base coordinate system) as the world coordinate system W, its vertical upward unit vector is: Establish a coordinate system B for the arrow body with its center of mass C as the origin, where the unit vector... Point from the tail of the arrow to the arrowhead. R represents the rotation matrix from B to W; and These represent the position of the center of mass and the linear velocity under W, respectively; Let be the angular velocity at point B. The arrow's state is denoted as... .
[0046] like Figure 2 As shown, the coordinates s are measured along the arrow axis from the tail T to the arrowhead H. The arrow length is denoted as L, and the coordinates of the centroid are denoted as [missing information]. Clamping coordinates are For axial clamping, , , .in, This represents the distance from the clamping point to the center of mass; Indicates the distance from the centroid to the arrow; This represents the distance from the center of mass to the tail of the arrow. When the clamping point is not on the axis, it is obtained directly using three-dimensional measurement. In this paper, P represents the clamping point on the rocket body; the tool reference point is a virtual reference point that moves with the robotic arm according to the relative transformation when the clamping is not slipping. The two coincide only when the corresponding clamping constraints are maintained.
[0047] For a rigid arrow with a constant mass distribution, changing the clamping position alters the offset from the clamping point to the center of mass and the arrow-holding constraint, but does not change the arrow's own center of mass position or moment of inertia about the center of mass. When maintaining the clamping constraint without slippage, the aforementioned nominal state is converted to a rigid body reference point relationship; after relative slippage occurs, the aforementioned release state correction is used to supplement the description. If different clamping conditions produce the same actual release center of mass position, linear velocity, attitude, and angular velocity, and the air conditions are the same, then the deterministic free flight model of this embodiment gives the same subsequent state, without setting the original clamping position as a separate source of external force after release.
[0048] The shapes of the arrowhead, shaft, and tail fins are obtained through dimensional measurements, forming a solid geometric model of the arrow body. The position of the center of mass is determined by support balancing or weighing moment measurement, and the clamping position is recorded. The mass and moment of inertia of the rocket body can be obtained by weighing and segmented mass model; if a segmented model is used, the moment of inertia matrix of the rocket body is synthesized by using the parallel axis theorem based on the mass of each segment, the moment of inertia of each segment, and the distance from the center of mass of each segment to C. .
[0049] The geometric model of the spout includes the spout center c, the outward unit normal n, the opening boundary, and the wall entity Ω adjacent to the inlet. For a horizontal circular spout, The opening radius is denoted as a. Ω includes the inlet edge and the neck wall within the predetermined insertion interval. Predetermined insertion depth. The depth is determined based on the actual free depth below the inlet, and does not exceed the available space that has been modeled. If the spout has a significant thickness or a non-circular outline, a corresponding solid mesh is used instead of replacing it with a single circular hole.
[0050] During calibration, the time of the finger controller and the calibration observation unit 8 are mapped to the same clock. The time of the k-th opening command for the i-th gripping finger is recorded. It also identifies the moment when the rocket body loses contact and does not re-contact within a preset confirmation range. When using a contact sensor, a contact force below a threshold that persists for the confirmation time is considered a candidate release event, and geometric separation information is used to exclude the still-attached state. When using vision, a gap larger than the imaging error appears between the finger surface and the arrow body surface and continues to separate is considered a candidate release event.
[0051] The response delay sample of the i-th finger is The median of the effective samples was used as... The calibration lower bound is obtained by expanding the time synchronization error and inter-frame positioning error to both ends using the sample extreme values. and the Upper Realm The calibration range applies only to the recorded clamping configuration, opening speed, motion state, and load range. Records showing secondary contact or clock mismatch are not used for this set of normal release parameters.
[0052] The moment when the arrow body and the gripper finally come into contact and disengage is recorded as For work conditions where every finger involved in contact has been recorded and there is no further contact after the contact is removed, For each The maximum value. For working conditions where there are also palm surfaces or other contact surfaces, the corresponding contact surfaces are included in the detection; when the release state cannot be confirmed, the result of calculating the maximum value only for the fingers is not used.
[0053] exist In subsequent short-time imaging sequences, feature points with known relative positions on the rocket body are tracked, and R and ... are solved. Linear velocity and angular velocity are obtained by local polynomial fitting for continuous positions and attitudes, and the states are then extrapolated back to their original values using the same flight model. The velocity fitting uses the actual sampling interval corresponding to the timestamp; the backtracking window should avoid collisions with the pot body. This yields the calibrated actual separation state. .
[0054] Simultaneously, based on the robotic arm joint feedback, tool extrinsic parameters, and clamping transformation, calculations are performed. The state and attitude of the tool reference point at any given time. The reference state is converted into the nominal centroid position and nominal centroid linear velocity by the following formulas (1) and (2):
[0055] (1)
[0056] (2)
[0057] in, Let W be the angular velocity. , As a correction for position and linear velocity; it will satisfy The rotation vector δθ is used as the attitude correction factor; As the angular velocity correction under B. Exp represents the cross product matrix, and Exp represents the exponential mapping of the rotation matrix; The nominal center of mass; Let be the nominal center-of-mass linear velocity.
[0058] The working condition vector z is composed of the clamping coordinates, the initial joint configuration of the fingers, the opening velocity, the tool linear velocity and angular velocity, and the time difference of each finger's opening. (z, ...) , , The calibration records (δr, δv, δθ, δω) are generated. For candidate load cases falling within the calibrated cells, local interpolation can be performed on the position, velocity, and rotation vector corrections; the interpolation attitude is restricted to the same local rotation neighborhood. The residuals of each correction relative to the interpolation prediction are recorded and used as subsequent response scenarios. Load cases not covered by effective calibration cells are not extrapolated to verified load cases.
[0059] The above-mentioned difference calibration is used because when some fingers have detached while others are still in contact, the arrow body may slide or rotate relative to the tool; in this case, the velocity of the tool reference point cannot be taken as the actual velocity of the point where the arrow body grips the material. The release state correction further characterizes the effect of this relative motion on the initial state after release. For working conditions where residual detection shows that this effect is lower than the preset state tolerance, the corresponding correction can be set to zero, and this tolerance can be included in the prediction margin.
[0060] like Figure 3 As shown, the controller performs parameter acquisition step S101, and then generates candidate robot arm trajectories and the last contact release time of the target in step S102. The robotic arm trajectory can be represented by a fifth-order polynomial in joint space, with the trajectory of each joint written as: Where l ranges from 0 to 5. Coefficients are determined based on six boundary conditions: initial position, velocity, acceleration, and candidate release position, velocity, and acceleration. Candidate release states and motion durations can be selected from a bounded parameter grid or a pre-generated trajectory library.
[0061] For each candidate trajectory, the joint positions, velocities, accelerations, torques, and self-collision constraints are verified using the robotic arm's kinematics and dynamics models, and the finger gripping load constraints during the arrow-holding phase are also verified. The velocity of the tool reference point is calculated using a geometric Jacobian matrix that includes the tool offset and the joint velocities, rather than directly substituting the flange origin velocity for the offset gripping reference point velocity.
[0062] like Figure 4 As shown, a target contact release time is set for the i-th finger. ,in and When near-synchronization is released, each Set to zero; when a release order needs to be specified, set different values within the allowed calibration range. The opening command timing is generated based on the delay estimation of the matching working condition using equation (3):
[0063] (3)
[0064] Therefore, even if the actual release time of the target is the same, different fingers can begin to open at different command times. The controller completes the loading of the entire timing sequence before the first opening command, and all commands are triggered through the same time base. Control cycle quantization and communication scheduling errors are included in the delay interval; a fixed number of milliseconds is not defined as the lead time applicable to all clamping positions and opening speeds.
[0065] In step S103, for a given candidate trajectory and instruction timing, the predicted contact release time for each finger is determined according to the predicted delay, and the last release time is taken. If a certain response scenario uses a delay ,but .exist The reference state for rereading candidate trajectories is used, rather than only at the target time. Or read the status at the moment of the first opening instruction.
[0066] First, calculate using the nominal centroid conversion formula. and Then, based on equations (4) to (7), the predicted actual disengagement state (also known as the predicted disengagement state or the predicted actual disengagement state) is calculated using the release state correction amount of the matching working condition.
[0067] (4)
[0068] (5)
[0069] (6)
[0070] (7)
[0071] in, The actual center of mass of the thrown arrow; The nominal center of mass of the thrown arrow; This is the position correction amount; The linear velocity of the center of mass of the thrown arrow; The nominal linear velocity of the center of mass of the thrown arrow; This is the linear velocity correction amount; The actual rotation matrix for the thrown arrow; The reference rotation matrix (also known as the rocket body reference attitude matrix, as mentioned above, can be determined according to the transformation relationship); This is the attitude correction amount; Represents the cross product matrix; Represents the exponential mapping of the rotation matrix; The actual angular velocity of the thrown arrow; for transpose; Angular velocity in the base coordinate system; This is the angular velocity correction amount.
[0072] When using nominal and boundary scenarios, each The lower bound, nominal value, and upper bound are combined in a finite manner, and the recorded representative corrected residuals are added to the corresponding predicted state. Each scenario retains its last release time and complete exit state. For the non-monotonic influence of operating parameters on the predicted state, intermediate scenarios can be added within the calibrated range, and checking only the endpoints is not interpreted as covering all continuous disturbances.
[0073] In step S104, using the actual separation state as the initial value, the equations for the translational motion and rotation about the center of mass of the rocket body are integrated. The aerodynamic forces under condition W are adopted. and the aerodynamic torque under B At that time, the equations are as shown in equations (8) to (11):
[0074] (8)
[0075] (9)
[0076] (10)
[0077] (11)
[0078] in, The location of the center of mass of the thrown arrow; For time; The linear velocity of the center of mass of the thrown arrow; The mass of the thrown arrow or the mass of the arrow body; It is the acceleration due to gravity; It is the vertically upward unit vector of the base coordinate system; Aerodynamic force; It is a rotation matrix; The angular velocity of the thrown arrow; Represents the cross product matrix; Let be the moment of inertia matrix of the thrown arrow; It is the aerodynamic torque.
[0079] Numerical integration can be performed using the fourth-order Runge-Kutta method; attitude can be integrated using unit quaternions and normalized to convert it to R, i.e., based on the actual escape state ( As initial conditions, the fourth-order Runge-Kutta method is used to simultaneously numerically integrate the rigid body translational and rotational coupled dynamic equations formed by equations (8) to (11) to obtain the complete time history of the six-degree-of-freedom state variables of the arrow body. The position and velocity of the arrowhead tip (also known as the arrowhead tip) are calculated using equations (12) and (13):
[0080] (12)
[0081] (13)
[0082] in, The position of the arrowhead tip; The location of the center of mass of the thrown arrow; It is a rotation matrix; Let be the offset vector from the center of mass to the tip in the arrow's coordinate system; where, The linear velocity of the arrowhead tip; The linear velocity of the center of mass of the thrown arrow; Let be the angular velocity of the thrown arrow.
[0083] Under ideal calculation conditions where the effects of air are neglected, it can be taken as follows: =0、 =0. At this point, the center of mass is in parabolic motion under the action of gravity, but the arrowhead and tail still rotate with the arrow body according to their respective positions relative to the center of mass, and the controller calculates their trajectories respectively. The ideal model is applicable to working conditions where its prediction error does not exceed the preset tolerance.
[0084] The flight equations described above assume constant mass, constant moment of inertia, and a locally uniform gravitational field, excluding engine thrust or propellant consumption terms. The resultant force of uniform gravity passes through the center of mass, and the resultant torque about the center of mass is zero. Therefore, it cannot be inferred that the arrow will automatically rotate downwards after release simply because the arrowhead is heavier. The arrow's attitude is determined by its actual takeoff angular velocity, moment of inertia, and aerodynamic torque; in the absence of aerodynamic torque, the angular velocity coupling term in the rotation equations is still retained.
[0085] For operating conditions requiring aerodynamic correction, a low-order identification model can be used: Let Let be the velocity of the thrown arrow relative to the air, and take . ;make ,Pick .
[0086] in, Aerodynamic force; The linear velocity of the center of mass of the thrown arrow; The speed of air; For vectors Length; For aerodynamic torque; and The identification coefficients are non-negative. is the unit vector of the x-axis in the arrow's coordinate system; It is the unit vector of the arrow body relative to the direction of motion of the air in the arrow body coordinate system; It is a rotation matrix; for transpose; The angular velocity of the thrown arrow; It is a non-negative diagonal damping matrix.
[0087] exist The directional torque term is set to zero when it approaches zero. The model is used to fit the drag, axial alignment tendency, and angular velocity damping of the selected rocket body and operating conditions, and is not intended as a general aerodynamic law for any rocket body.
[0088] When explaining the aerodynamic correction, the relationship between the normal force and the center of pressure can be referenced, and the aerodynamic torque around the center of mass can be understood as the synthesis of the torques of the various aerodynamic forces about the center of mass and the corresponding couples. The local relative air motion at the tail fin also includes the velocity component caused by the rotation of the arrow body, which may thus create pitch damping. This physical explanation does not mean that the arrow will necessarily complete attitude alignment within a finite flight time; the controller still uses the actual crossing attitude obtained by integration for screening. For the low-speed conditions involved in arrow throwing, a low-order model should be calibrated in conjunction with the actual shape, Reynolds number, and angle of attack range; the non-negative orientation coefficient model is only used for conditions where observations indicate a corresponding axial alignment tendency.
[0089] Using collision-free flight segments recorded by calibrated observation unit 8, and with the weighted squared error between the predicted feature point positions and attitudes and the observed values as the objective, a fitting method is performed under non-negative coefficient constraints. , and Calculate the prediction residuals for the separately retained valid segments, and set the geometric detection margin accordingly. Operating conditions that do not meet the set prediction error limits are not included in the execution candidate set.
[0090] The fitting process employs the output error approach, comparing observables obtained through model integration with observations at the same time stamp, rather than using the closeness of the fitted curve as a basis for reliable identification of all parameters. Specifically, the release time is first determined by contact observations, geometry and inertia are constrained by independent size and mass measurements, and then the aerodynamic parameters that the flight segment can support are identified. When observations are insufficient to distinguish the influence of multiple parameters, known independent measurements are fixed, the number of parameters to be estimated is reduced, or calibration conditions with discriminative capabilities are added, without simultaneously inferring all release and aerodynamic parameters from a single hit or miss result. A small number of physical records are used for calibration and hold-out verification, while simulations are used for candidate screening and sensitivity checks. Simulation samples do not replace independent physical verification.
[0091] like Figure 5 As shown, the spout plane 41 is defined as , where r represents any point on the spout plane. Determine the first crossing moment when the arrow enters the negative side from the positive side. and demand The location is determined by interpolation between adjacent integration nodes or by root solving. This avoids classifying discrete jumps where the arrow passes directly from above the spout to below the spout as no crossing.
[0092] Define the axis of the arrow body and in The angle between the arrow and the inward normal (-n) is then checked. Integration continues until the arrow reaches its first position. The moment If it does not exist within the finite prediction time domain or , or arrow at reaching If the candidate exited the entry point earlier, it will not meet the entry constraint.
[0093] exist[ , ] within, will Transform to W to obtain The minimum geometric gap between the object and the spout wall 42 (Ω) is calculated. This gap is required to be no less than a preset allowance ε. When entities intersect, the gap is considered to be non-compliant. In implementation, this detection can be performed using triangular mesh collision detection, convex body decomposition distance calculation, or a signed distance field.
[0094] For thin-walled circular holes, initial screening can be performed by checking if the intersection of the arrow body and the spout plane lies within the opening; for cylindrical arrow shafts whose axes pass through the plane at non-right angles, the arrow shaft diameter should not be simply used to replace the width of the inclined section. If necessary, the section should be calculated from a solid model, or... As the radius is The conservative bound of the maximum semi-axis of the cylindrical cross-section; when Candidates with walls smaller than 0.05 mm are rejected outright. Even after passing the initial screening for thin-walled structures, the final test is still performed using Ω, which includes the wall thickness.
[0095] The time interval for discrete geometric detection is no greater than Δt. If the upper bound of the centroid velocity within this interval is... The upper bound of the angular velocity modulus is The maximum distance from the geometric point of the arrow body to C is Then take And increase the required gap at the node. This increase is used to compensate for the geometric motion between adjacent detection nodes; the upper bound of the velocity should cover the corresponding interval, otherwise the time interval should be reduced or the upper bound should be redefined.
[0096] The finite insertion interval is used to determine whether the arrow and subsequent arrow body can pass through the entrance, and does not require the entire arrow, including the tail fin, to penetrate the pot. When the tail fin is not close to the pot's opening wall, the tail fin's shape does not determine the entrance cross-section; when it enters the vicinity of the wall, it participates in collision detection according to its actual shape. The entrance passage condition is not equivalent to the arrow necessarily stopping after colliding with the pot's bottom. If the task has other stopping conditions, contact or observation criteria corresponding to those conditions should be used separately.
[0097] In step S105, entry detection is performed on each candidate trajectory that passes the robotic arm executability check and its corresponding opening timing. For the implementation using a multi-response scenario, all constructed scenarios are required to pass the detection. Among the candidates that meet the requirements, the execution candidate is selected based on the following indicators: the radial deviation when the arrow crosses the spout is small, the deviation of the arrow body axis relative to the inward normal is small, and the predicted minimum gap is large.
[0098] One specific scoring method is ,in Let be the distance from the point where the arrow passes through to the center of the spout within the plane of the spout. To account for the deviation in the angle of the pot's entry posture, This represents the minimum geometric gap within each scene and insertion interval. To prevent positive numbers with a denominator of zero, each weight... , , The preset positive value is normalized according to the dimensions. The feasible candidate with the smallest J is selected; if no feasible candidate exists, the clamping state is retained and the process returns to S102 to adjust the release state, duration, or reselect the clamping position. The clamping position is changed and the data is retrieved again. And the matching calibration parameters.
[0099] In step S106, the controller sends the selected trajectory to the robotic arm, loading the opening target and trigger time of each finger into the finger control task. If the thumb, index finger, and middle finger are used for gripping, the trigger times for each can be set separately; fingers that do not have independent control conditions are calibrated and scheduled as the same action group. The communication timestamps of the trajectory task and the finger task both use the aforementioned unified time base.
[0100] Before the first finger-opening command is issued, the controller updates the tool reference state based on joint feedback and re-predicts using the selected response model. If the state deviates from the calibrated range or the entry constraint is no longer met, the pre-calibrated limited acceleration stop trajectory is executed while maintaining clamping. After entering the finger release process, "cancellation" is no longer implemented through emergency stop and re-clamping, but the release is completed according to the pre-calibrated opening and hand avoidance trajectory, and cases where no feasible entry prediction is possible are recorded as abnormal events.
[0101] The above method can be implemented by generating candidate trajectories offline, filtering them online, and triggering the release. If the online computing power is insufficient to complete the prediction before the current release window, the release command will not be issued. Model parameter updates are separated from the loaded time series to avoid using inconsistent parameter versions in a single release execution.
[0102] In one embodiment, a pitching arrow with a length L = 0.545m and a mass m = 0.0259kg is used, with its center of mass at a distance from the tail of the arrow. =0.265m, distance from clamping point to arrow tail =0.145m, arrow shaft diameter is 0.008m, maximum arrowhead diameter is 0.015m, and arrowhead length is 0.045m. Therefore, we obtain... , , When the clamping point is in the adjustment state, the above... This is used as input for this purpose, rather than as a fixed structure constant.
[0103] Set the nominal tool reference point to The center of the spout is set as radius of the spout For any candidate pose The nominal center of mass should be located at Instead of directly taking the tool reference point position, the nominal arrow position is offset axially by 0.400m relative to this reference point. The 1.550m mentioned is the horizontal coordinate difference between the reference point and the target center in this embodiment. When using other distance benchmarks on site, it should first be converted to the same coordinate definition.
[0104] For example, if the component of the tool's angular velocity perpendicular to the arrow axis in a candidate state is 2 rad / s, then the converted term for the center of mass linear velocity caused by this eccentricity is 0.240 m / s, and its direction is determined by the cross product. When the clamping position is adjusted to 0.205 m from the arrow tail, the offset becomes 0.060 m, and at the same angular velocity, this term becomes 0.120 m / s. The above values are analytical calculations for a given candidate state, illustrating how the controller updates the state with the clamping position, and do not represent the speed or hit result measured by actual object throwing.
[0105] For the calculation case where the arrow axis is perpendicular to the horizontal spout and only the maximum arrow cross-section is considered, the difference between the circular hole radius and the maximum arrow radius is 0.0375m. This value does not yet deduct for attitude, positioning, and model error margins, nor does it represent the actual usable clearance of the tilted arrow body. Actual candidates are still tested based on the complete attitude and spout wall. The lateral shape of the tail fin is input using the measured profile, and the maximum outer diameter is not estimated from the "total tail fin length" without a clearly defined measurement direction.
[0106] In this embodiment, the finger response delay, release state correction, and applicable working condition range are obtained as described above and then input into the controller, without pre-setting uncalibrated delay values. The trajectory parameters, timing parameters, and judgment results required to implement the control method can be obtained in the simulation environment beforehand, and then the same interface is used for the robotic arm and gripper that meet the model's applicable conditions. Simulation predictions and physical observations are recorded separately and are not substituted for each other as measured results.
[0107] The controller disclosed herein can be implemented by a processor executing a program in memory. State acquisition, reference state conversion, release prediction, flight prediction, entry detection, and timing output are connected according to the aforementioned data relationships. The above embodiments are used to illustrate specific implementations of this disclosure, and the scope of protection is defined by the technical solutions in the claims.
[0108] Figure 6 A flowchart illustrating an exemplary method 600 according to an exemplary embodiment of the present disclosure is shown. The exemplary method 600 can be performed by at least a portion of a robot, for example by... Figure 1 Controller 5 executes. See also Figure 6 The exemplary method 600 may include: operation 610, controlling the fingers of a multi-finger gripper mounted at the end of a robotic arm to grip a projectile; operation 620, acquiring an offset vector from the gripping point to the center of mass of the projectile, a geometric model of the projectile body, a geometric model of the projectile target container, and release response parameters, wherein the release response parameters include a delay from the issuance of an opening command to the release of contact between the gripping fingers and the projectile body, and a release state correction amount for the projectile body; operation 630, for each candidate robotic arm motion trajectory and candidate gripping finger opening sequence, determining a predicted time when the contact between the projectile body and the gripping fingers is released based on the delay; operation 640, calculating the state of the gripping hand reference point at the predicted time, and converting the state of the gripping hand reference point into the nominal center of mass state of the projectile based on the offset vector; operation 650, correcting the release state correction amount using the release state correction amount. The nominal center of mass state is used to obtain the predicted detachment state; operation 660: based on the predicted detachment state, the flight of the arrow body is predicted to obtain the time series of arrow position, arrow velocity, and arrow body attitude, and the geometric model of the arrow body and the geometric model of the container opening are used to determine whether the container entry constraint is met. The container entry constraint includes the arrow crossing the container opening plane from top to bottom, and the distance between the arrow body and the container opening wall being greater than a preset gap within the interval from the crossing to the arrow reaching a predetermined insertion depth; operation 670: based on the judgment result, the target robotic arm trajectory and the target gripping finger opening sequence are selected from the candidate robotic arm motion trajectories and the candidate gripping finger opening sequence; operation 680: based on the target robotic arm trajectory, the trajectory control command is output to the robotic arm; operation 690: based on the target gripping finger opening sequence, the opening command is output to each gripping finger.
[0109] In some implementations, selecting the robotic arm trajectory and the finger opening sequence may include: constructing a finite number of response scenarios based on the calibration lower bound, nominal value, and calibration upper bound of the delay of each finger and the calibration residual of the release state correction; determining the corresponding predicted disengagement state for each response scenario and performing the rocket flight prediction; and selecting the robotic arm trajectory and finger opening sequence that satisfy the container entry constraint in all of the finite number of response scenarios from the candidate robotic arm motion trajectories and candidate finger opening sequences.
[0110] In some embodiments, the container insertion constraint may further include an angle between the axial direction of the arrow body from the tail to the arrowhead and the inward normal direction of the container opening not exceeding a preset angle; the arrow body geometry may include the shape of the arrowhead, shaft, and tail fins; the predetermined insertion depth may be less than the available depth below the container opening along the container insertion direction.
[0111] In some implementations, determining whether the container entry constraint is met may include: when, based on discrete detection times, determining whether the distance between the arrow body and the container opening wall at each time point is greater than a preset gap, increasing the preset gap. ,in, This represents the maximum interval between adjacent detection times. This is the upper limit of the velocity of any geometric point on the rocket body within the interval. The upper limit of the velocity is determined based on the upper limit of the linear velocity of the center of mass, the upper limit of the angular velocity, and the maximum distance from the geometric point on the rocket body to the center of mass.
[0112] In some implementations, the exemplary method 600 may further include: updating the predicted disengagement state based on the robotic arm feedback state and reassessing the container entry constraint before issuing the first finger-spreading command; if the container entry constraint is not met, then not issuing the finger-spreading command and executing a limited acceleration stop trajectory under the holding condition.
[0113] In some additional embodiments, the gripper reference point can be a reference point defined according to the transformation relationship between the gripper and the arrow body when no relative slippage occurs during gripping; the nominal center of mass state can include the nominal center of mass position and the nominal center of mass linear velocity; the nominal center of mass position can be expressed as... Calculate; where, The nominal center of mass; This refers to the position of the gripper reference point in the base coordinate system. The reference attitude matrix of the rocket body is determined according to the aforementioned transformation relationship; The nominal centroid linear velocity is the offset vector from the clamping point to the center of mass in the arrow body coordinate system; the nominal centroid linear velocity can be expressed by the formula... Calculate; where, The nominal linear velocity of the center of mass; The linear velocity of the gripper reference point in the base coordinate system; ω is the angular velocity of the gripper in the base coordinate system.
[0114] Figure 7 A flowchart illustrating an exemplary method 700 according to an exemplary embodiment of the present disclosure is shown. The exemplary method 700 can be performed by at least a portion of a robot, for example by... Figure 1 Controller 5 executes. See also Figure 7The exemplary method 700 may include: operation 710, acquiring candidate motion trajectories of a robotic arm and candidate opening sequences of the fingers gripping the projectile; operation 720, determining the opening time of each finger based on the candidate opening sequences; operation 730, determining the release time of the projectile based on the opening time of each finger; operation 740, acquiring a reference state of the robotic arm at the release time based on the candidate motion trajectories; operation 750, calculating the actual motion state of the projectile at the release time based on the reference state; operation 760, performing a six-degree-of-freedom numerical integration on the projectile based on the motion state at the release time to predict the flight trajectory of the projectile; and operation 770, determining, at least in part, actual trajectory control commands output to the robotic arm and actual opening commands output to each gripping finger based on the predicted flight trajectory of the projectile.
[0115] In some implementations, the candidate motion trajectories of the robotic arm can be obtained by filtering motion trajectories generated by a fifth-order polynomial; the fifth-order polynomial can satisfy the initial joint state and the candidate release joint state; the filtering can include filtering out trajectories that do not meet the joint position, velocity, acceleration, torque or self-collision constraints.
[0116] In some implementations, performing a six-degree-of-freedom numerical integration on the projectile may include: using the actual motion state at the moment of release as the initial value for integration, and substituting it into the equation. , , as well as Six-degree-of-freedom numerical integration is performed; among which... The location of the center of gravity of the thrown object; For time; The linear velocity of the center of mass when it is thrown; The mass of the projectile; It is the acceleration due to gravity; It is the vertically upward unit vector of the base coordinate system; Aerodynamic force; It is a rotation matrix; The angular velocity of the projectile; Represents the cross product matrix; Let be the moment of inertia matrix of the projectile; It is the aerodynamic torque.
[0117] In some embodiments, exemplary method 700 may further include: calculating the position and linear velocity of the tip of the projectile arrow; the position of the arrow tip is determined by formula... Calculate; where, The position of the arrowhead tip; The location of the center of gravity of the thrown object; It is a rotation matrix; Let be the offset vector from the center of mass to the tip in the arrow body coordinate system; the linear velocity of the arrow tip is expressed by the formula... Calculate; where, The linear velocity of the arrowhead tip; The linear velocity of the center of mass when it is thrown; Let be the angular velocity of the projectile.
[0118] In some implementations, it can be done through formula Calculate aerodynamic forces; among which, Aerodynamic force; The first identification coefficient; The velocity of the projectile relative to the air; The linear velocity of the center of mass when it is thrown; The speed of air; For vectors The length; can be expressed by formula Calculate the aerodynamic torque; where, For aerodynamic torque; This is the second identification coefficient; is the unit vector of the x-axis in the arrow's coordinate system; It is the unit vector of the arrow body relative to the direction of motion of the air in the arrow body coordinate system; It is a rotation matrix; for transpose; The angular velocity of the projectile; It is a non-negative diagonal damping matrix.
[0119] In some additional embodiments, calculating the motion state of the projectile at the moment of release may include: using the formula Calculate the position of the center of mass of the thrown object; where, The actual center of mass of the projectile; The nominal center of mass of the projectile; For position correction; via formula Calculate the actual linear velocity of the center of mass of the thrown object; where, Let be the linear velocity of the center of mass of the projectile; Let be the nominal linear velocity of the center of mass of the projectile. This is the linear velocity correction amount; via formula Calculate the actual rotation matrix of the thrown object; where, The actual rotation matrix of the projectile; Reference rotation matrix; This is the attitude correction amount; Represents the cross product matrix; Represents the exponential mapping of the rotation matrix; through the formula Calculate the actual angular velocity of the projectile; where, The actual angular velocity of the projectile; for transpose; Angular velocity in the base coordinate system; This is the angular velocity correction amount.
[0120] Figure 8 A block diagram of an example device 10 according to an exemplary embodiment is shown. Device 10 may be implemented as a functional module or device in a robotic system for performing the exemplary embodiments discussed above. Device 10 includes, for example, at least one processor 11 and at least one memory 12 storing an operating system 13, instructions 14, and data 15. When the instructions 14 are executed by the at least one processor 11, the device 10 causes at least any of the methods described above to perform. In one example, the at least one memory 12 and the instructions 14 (e.g., computer program code, software) are configured such that, through the at least one processor 11, the device 10 performs any of the methods described above.
[0121] Operating system 13 is system software stored in memory 12. As an intermediate layer between hardware and instructions, it provides a unified abstract interface to provide a runtime environment for the execution of instructions 14 and manages the computing resources of processor 11, the space allocation of memory 12, and the scheduling of user interface 16 and communication interface 17. Operating system 13 can be a series of operating systems such as Windows, Mac OS, Unix, and Linux.
[0122] The data 15 is stored in the memory 12. It is a collection of various information that the processor 11 reads, writes, transmits and processes according to the instructions 14 under the scheduling and control of the operating system 13, providing data support for the operation and function realization of the various components of the device 10.
[0123] Processor 11 may include, or be configured as, one or more circuits configured to perform stages of the method according to the disclosed exemplary embodiments. In this disclosure, the term "circuit" may refer to one or more of the following: (a) a hardware-only circuit implementation, such as an implementation solely in analog and / or digital circuitry; (b) a combination of hardware circuitry and software, if applicable, such as: (i) a combination of analog and / or digital hardware circuitry with software / firmware, and (ii) any portion of a hardware processor with software (including digital signal processors, software, and memory, which work together to enable a device such as a user equipment to perform various functions); (c) hardware circuitry and / or a processor, such as a microprocessor or a portion thereof, which requires software (e.g., firmware) for operation, but which may be absent when not required for operation. This definition of circuitry applies to all uses of the term in this disclosure (including any claims). As a further example, when used in this disclosure, the term circuitry also encompasses: an implementation solely of hardware circuitry or a processor (or multiple processors), a portion of hardware circuitry or a processor, and an implementation of its accompanying software and / or firmware. If applicable to the specific features of the claims, the term "circuit" also covers, for example, baseband integrated circuits or processor integrated circuits for mobile devices, or similar integrated circuits in servers, cellular network devices, or other computing or network devices.
[0124] The memory 12 can be implemented using any suitable data storage technology. The memory 12 may include a database for storing data. The memory 12 may be at least partially external to the device 10, but may be accessible to the device 10.
[0125] The operating system 13, instructions 14, and data 15 may be contained in a computer-readable medium or a non-transitory computer-readable medium. The term non-transitory, as used herein, is in contrast to the limitation of data storage persistence (e.g., RAM versus ROM) and is a limitation concerning the medium itself (i.e., tangible rather than signaling).
[0126] Device 10 may include one or more entities of any protocol layer. In some embodiments, one or more of these entities may be configured to perform method 400, method 500, or any one or more embodiments described with respect to these methods.
[0127] The device 10 may also include a communication interface 17, such as a wireless communication interface and / or a wired communication interface, which can provide communication capabilities for the device 10.
[0128] Communication interface 17 may include receiving circuitry, receivers, I / O interfaces, and other devices with network data receiving and transmitting functions. For example, the receiver may be configured to receive information according to at least one wired or wireless standard. Communication interface 17 may include a transmitter configured to transmit information according to at least one wired or wireless standard. Receivers may include more than one receiver. Transmitters may include more than one transmitter. Communication interface 17 may include a transceiver configured to receive and transmit information according to at least one wired or wireless standard. Transceivers may include more than one receiver.
[0129] Device 10 may include a user interface 16, which includes at least one of, for example, a keyboard, microphone, touchscreen, display, speaker, etc. User interface 16 can be used by a user to control device 10. User interface 16 may be external to device 10. For example, device 10 may be connected to another device, such as a computer, via a wireless or wired connection, and device 10 may be controlled by a user via the computer.
[0130] In some embodiments, at least some of the methods described herein can be performed by a device including means for performing various operations or steps in the described methods. Means for performing the method steps described herein may include software and / or hardware components of device 10. For example, at least one processor 11, memory 12, and computer program code may form means for performing the methods described herein and any embodiments thereof. The term “means” as used herein may be interpreted in the singular form, meaning a single element, or in the plural form, meaning a combination of single elements. Therefore, the term “means for performing A, B, C” should be interpreted to cover devices in which only one means performs A, B, C; or in which separate means perform A, B, C; or in which partially or entirely overlapping means perform A, B, C. Furthermore, the terms “means for performing A, means for performing B, means for performing C” should be interpreted to cover devices in which only one means performs A, B, C; or in which separate means perform A, B, C; or in which partially or entirely overlapping means perform A, B, C.
[0131] Figure 9 An example block diagram of an example device 900 according to an exemplary embodiment of the present disclosure is shown. This example device 900 may, for example, be at least part of a robot, such as... Figure 1 The controller 5, or at least a portion thereof.
[0132] like Figure 9As shown, the example device 900 may include: a device 910 for controlling the fingers of a multi-finger gripper mounted at the end of a robotic arm to grip a projectile; a device 920 for acquiring an offset vector from the gripping point to the center of mass of the projectile, a geometric model of the projectile body, a geometric model of the projectile target container, and release response parameters, the release response parameters including a delay from the issuance of an opening command to the release of contact between the gripping fingers and the projectile body, and a release state correction amount for the projectile body; a device 930 for determining, based on the delay, a predicted time when the contact between the projectile body and the gripping fingers will be released for each candidate robotic arm motion trajectory and candidate gripping finger opening sequence; a device 940 for calculating the state of the gripping hand reference point at the predicted time, and converting the state of the gripping hand reference point into the nominal center of mass state of the projectile based on the offset vector; and a device 950 for correcting using the release state correction amount. The nominal centroid state is used to obtain the predicted detachment state; device 960 is used to predict the flight of the arrow body based on the predicted detachment state, obtain the time series of arrow position, arrow velocity and arrow body attitude, and determine whether the container entry constraint is met by the arrow body geometric model and the container opening geometric model. The container entry constraint includes the arrow crossing the container opening plane from top to bottom, and the distance between the arrow body and the container opening wall being greater than a preset gap within the interval from the crossing to the arrow reaching a predetermined insertion depth; device 970 is used to select the target robotic arm trajectory and the target gripping finger opening sequence from the candidate robotic arm motion trajectory and the candidate gripping finger opening sequence based on the judgment result; device 980 is used to output trajectory control commands to the robotic arm based on the target robotic arm trajectory; device 990 is used to output opening commands to each gripping finger based on the target gripping finger opening sequence.
[0133] In some implementations, selecting the robotic arm trajectory and the finger opening sequence may include: constructing a finite number of response scenarios based on the calibration lower bound, nominal value, and calibration upper bound of the delay of each finger and the calibration residual of the release state correction; determining the corresponding predicted disengagement state for each response scenario and performing the rocket flight prediction; and selecting the robotic arm trajectory and finger opening sequence that satisfy the container entry constraint in all of the finite number of response scenarios from the candidate robotic arm motion trajectories and candidate finger opening sequences.
[0134] In some embodiments, the container insertion constraint may further include an angle between the axial direction of the arrow body from the tail to the arrowhead and the inward normal direction of the container opening not exceeding a preset angle; the arrow body geometry may include the shape of the arrowhead, shaft, and tail fins; the predetermined insertion depth may be less than the available depth below the container opening along the container insertion direction.
[0135] In some implementations, determining whether the container entry constraint is met may include: when, based on discrete detection times, determining whether the distance between the arrow body and the container opening wall at each time point is greater than a preset gap, increasing the preset gap. ,in, This represents the maximum interval between adjacent detection times. This is the upper limit of the velocity of any geometric point on the rocket body within the interval. The upper limit of the velocity is determined based on the upper limit of the linear velocity of the center of mass, the upper limit of the angular velocity, and the maximum distance from the geometric point on the rocket body to the center of mass.
[0136] In some embodiments, the example device 900 may further include: means for updating the predicted disengagement state and reassessing the container entry constraint based on the robotic arm feedback state before the first finger-spreading command is issued; and means for not issuing the finger-spreading command and executing a limited acceleration stop trajectory under the holding condition if the container entry constraint is not met.
[0137] In some additional embodiments, the gripper reference point can be a reference point defined according to the transformation relationship between the gripper and the arrow body when no relative slippage occurs during gripping; the nominal center of mass state can include the nominal center of mass position and the nominal center of mass linear velocity; the nominal center of mass position can be expressed as... Calculate; where, The nominal center of mass; This refers to the position of the gripper reference point in the base coordinate system. The reference attitude matrix of the rocket body is determined according to the aforementioned transformation relationship; The nominal centroid linear velocity is the offset vector from the clamping point to the center of mass in the arrow body coordinate system; the nominal centroid linear velocity can be expressed by the formula... Calculate; where, The nominal linear velocity of the center of mass; The linear velocity of the gripper reference point in the base coordinate system; ω is the angular velocity of the gripper in the base coordinate system.
[0138] Figure 10 An example block diagram of an example device 1000 according to an exemplary embodiment of the present disclosure is shown. The example device 1000 may, for example, be at least part of a robot, such as... Figure 1 The controller 5, or at least a portion thereof.
[0139] like Figure 10As shown, the example device 1000 may include: a device 1010 for acquiring candidate motion trajectories of a robotic arm and candidate opening sequences of the fingers gripping a projectile; a device 1020 for determining the opening time of each finger based on the candidate opening sequences; a device 1030 for determining the release time of the projectile based on the opening time of each finger; a device 1040 for acquiring a reference state of the robotic arm at the release time based on the candidate motion trajectories; a device 1050 for calculating the actual motion state of the projectile at the release time based on the reference state; a device 1060 for performing a six-degree-of-freedom numerical integration on the projectile based on the motion state at the release time to predict the flight trajectory of the projectile; and a device 1070 for determining, at least in part, actual trajectory control commands to be output to the robotic arm and actual opening commands to be output to each gripping finger based on the predicted flight trajectory of the projectile.
[0140] In some implementations, the candidate motion trajectories of the robotic arm can be obtained by filtering motion trajectories generated by a fifth-order polynomial; the fifth-order polynomial can satisfy the initial joint state and the candidate release joint state; the filtering can include filtering out trajectories that do not meet the joint position, velocity, acceleration, torque or self-collision constraints.
[0141] In some implementations, performing a six-degree-of-freedom numerical integration on the projectile may include: using the actual motion state at the moment of release as the initial value for integration, and substituting it into the equation. , , as well as Six-degree-of-freedom numerical integration is performed; among which... The location of the center of gravity of the thrown object; For time; The linear velocity of the center of mass when it is thrown; The mass of the projectile; It is the acceleration due to gravity; It is the vertically upward unit vector of the base coordinate system; Aerodynamic force; It is a rotation matrix; The angular velocity of the projectile; Represents the cross product matrix; Let be the moment of inertia matrix of the projectile; It is the aerodynamic torque.
[0142] In some embodiments, the example device 1000 may further include: means for calculating the position and linear velocity of the tip of the projectile arrow; the position of the arrow tip is determined by a formula... Calculate; where, The position of the arrowhead tip; The location of the center of gravity of the thrown object; It is a rotation matrix; Let be the offset vector from the center of mass to the tip in the arrow body coordinate system; the linear velocity of the arrow tip is expressed by the formula... Calculate; where, The linear velocity of the arrowhead tip; The linear velocity of the center of mass when it is thrown; Let be the angular velocity of the projectile.
[0143] In some implementations, it can be done through formula Calculate aerodynamic forces; among which, Aerodynamic force; The first identification coefficient; The velocity of the projectile relative to the air; The linear velocity of the center of mass when it is thrown; The speed of air; For vectors The length; can be expressed by formula Calculate the aerodynamic torque; where, For aerodynamic torque; This is the second identification coefficient; is the unit vector of the x-axis in the arrow's coordinate system; It is the unit vector of the arrow body relative to the direction of motion of the air in the arrow body coordinate system; It is a rotation matrix; for transpose; The angular velocity of the projectile; It is a non-negative diagonal damping matrix.
[0144] In some additional embodiments, calculating the motion state of the projectile at the moment of release may include: using the formula Calculate the position of the center of mass of the thrown object; where, The actual center of mass of the projectile; The nominal center of mass of the projectile; For position correction; via formula Calculate the actual linear velocity of the center of mass of the thrown object; where, Let be the linear velocity of the center of mass of the projectile; Let be the nominal linear velocity of the center of mass of the projectile. This is the linear velocity correction amount; via formula Calculate the actual rotation matrix of the thrown object; where, The actual rotation matrix of the projectile; Reference rotation matrix; This is the attitude correction amount; Represents the cross product matrix; Represents the exponential mapping of the rotation matrix; through the formula Calculate the actual angular velocity of the projectile; where, The actual angular velocity of the projectile; for transpose; Angular velocity in the base coordinate system; This is the angular velocity correction amount.
[0145] It should be understood that the devices according to embodiments of this disclosure are not limited to the examples described above. The various devices in the illustrated example devices may be connected or coupled together in any suitable manner, and the arrows between the devices are only used to indicate the direction of data or signal flow of interest, but do not imply that the flow of data or signals between the devices can only follow the direction of the arrows.
[0146] Some exemplary embodiments also provide computer program code or instructions that, when executed by one or more processors, cause a device or apparatus to perform the methods described above. The computer program code for performing the methods of the example embodiments can be written in any known or future-developed programming language, such as Java, C++, C, and Assembler. The computer program code can be provided to one or more processors or controllers of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that, when executed by the processor or controller, it causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code can be executed entirely on the machine, partially on the machine as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote computer or server.
[0147] Some example embodiments also provide a computer program product or computer-readable medium in which computer program code or instructions are stored, which, when executed by a processor, cause the associated means to perform the methods, steps, or functions described above. A computer-readable medium can be any tangible medium that may contain or store a program for use by or in connection with an instruction execution system, means, or apparatus. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, means, or apparatuses, or any suitable combination thereof. More specific examples of machine-readable storage media will include electrical connections having one or more wires, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0148] Furthermore, although the operations are described in a specific order, this should not be construed as requiring such operations to be performed in the specific order or sequence shown, or requiring all of the operations shown to achieve the desired result. In some cases, multitasking and parallel processing can be advantageous. Similarly, although several specific implementation details are included in the foregoing discussion, these details should not be construed as limiting the scope of this disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of a single embodiment may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0149] The basic principles of this disclosure have been described above in conjunction with embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.
[0150] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.
[0151] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.
[0152] The above description has been given for illustrative and descriptive purposes and is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.
[0153] Although the subject matter has been described in language specific to structural features and / or methodological actions, it should be understood that the subject matter defined in the appended claims is not limited to the specific features or actions described above. Rather, the specific features and actions described above are disclosed as examples of implementing the claims.
[0154] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0155] Those skilled in the art will understand that the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways, even if such combinations or combinations are not explicitly described in this disclosure. In particular, the features described in the various embodiments and / or claims of this disclosure can be combined or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.
[0156] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. The scope of this disclosure is defined by the appended claims and their equivalents. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.
Claims
1. A throwing control method based on trajectory prediction, comprising: Acquire candidate motion trajectories of the robotic arm and candidate opening sequences of the fingers holding the thrown object; Based on the candidate opening sequence, the opening time of each finger is determined; The release time of the projectile is determined based on the opening time of each finger; Based on the candidate motion trajectory, obtain the reference state of the robotic arm at the moment of disengagement; Based on the reference state, calculate the actual motion state of the projectile at the moment of release; Based on the motion state at the moment of separation, the projectile is subjected to a six-degree-of-freedom numerical integration to predict its flight trajectory. The actual trajectory control commands output to the robotic arm and the actual opening commands output to each gripping finger are determined at least in part based on the predicted flight trajectory of the projectile.
2. The method as described in claim 1, wherein, The candidate motion trajectories of the robotic arm are obtained by filtering motion trajectories generated through a fifth-order polynomial; The fifth-order polynomial satisfies the initial joint state and the candidate release joint state. The screening includes filtering out trajectories that do not meet the joint position, velocity, acceleration, torque, or self-collision limits.
3. The method as described in claim 1, wherein, Perform a six-degree-of-freedom numerical integration on the projectile, including: Using the actual motion state at the moment of separation as the initial value for integration, substituting it into the equation... , , as well as Six-degree-of-freedom numerical integration is performed; among which... The location of the center of gravity of the thrown object; For time; The linear velocity of the center of mass when it is thrown; The mass of the projectile; It is the acceleration due to gravity; It is the vertically upward unit vector of the base coordinate system; Aerodynamic force; It is a rotation matrix; The angular velocity of the projectile; Represents the cross product matrix; Let be the moment of inertia matrix of the projectile; It is the aerodynamic torque.
4. The method of claim 3, further comprising: Calculate the position and linear velocity of the projectile's head; The position of the head of the projectile is determined by... Calculate; where, The position of the head of the projectile; The location of the center of gravity of the thrown object; It is a rotation matrix; This is the offset vector from the center of mass to the tip in the coordinate system of the projectile; The linear velocity of the projectile's head is expressed by the formula... Calculate; where, The linear velocity of the projectile's head; The linear velocity of the center of mass when it is thrown; Let be the angular velocity of the projectile.
5. The method of claim 3, wherein, Through Calculate aerodynamic forces; among which, Aerodynamic force; The first identification coefficient; The velocity of the projectile relative to the air; The linear velocity of the center of mass when it is thrown; The speed of air; For vectors Length; Through Calculate the aerodynamic torque; where, For aerodynamic torque; This is the second identification coefficient; is the unit vector of the x-axis in the arrow's coordinate system; This is the unit vector of the projectile's direction of motion relative to the air in the projectile's coordinate system; It is a rotation matrix; for transpose; The angular velocity of the projectile; It is a non-negative diagonal damping matrix.
6. An electronic device, comprising: At least one processor; as well as At least one memory storing instructions, which, when executed by the at least one processor, cause the electronic device to perform at least the method as described in any one of claims 1 to 5.
7. An electronic device comprising one or more means for performing the method as claimed in any one of claims 1 to 5.
8. A computer-readable medium comprising program instructions that, when executed, implement the method as claimed in any one of claims 1 to 5.
9. A computer program product comprising instructions that, when executed by a processor, perform the method as described in any one of claims 1 to 5.
10. A throwing control system based on trajectory prediction, comprising: A robotic arm, a multi-finger gripper mounted at the end of the robotic arm, and a controller; The controller is used to perform the method as described in any one of claims 1 to 5.
