Trajectory information processing method and electronic device
Patent Information
- Application Number
- CN202611407789.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-11
- Publication Date
- 2026-10-16
AI Technical Summary
[0005]本申请的目的在于,针对上述现有技术中的不足,提供一种轨迹信息处理方法以及电子设备,以解决现有技术中容易产生误识别,导致动作连续性被破坏,划分效果较差的问题
[0010] The beneficial effects of this application are as follows: By acquiring the trajectory and determining the geometric structure information of the object to be operated on, and based on the geometric structure information of the object to be operated on, determining the joint center and joint direction of the object to be operated on, the rigid body motion degrees of freedom of the hinged/sliding object can be explicitly encoded into computable geometric parameters. Thus, based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated on, the trajectory can be divided into multiple stages of sub-trajectories. This ensures that the determination of trajectory division strictly follows the object's own motion constraint boundaries, rather than external signal mutations, and can eliminate dependence on dynamic signals such as force/torque and velocity that are easily affected by noise, giving the trajectory division process inherent robustness. Therefore, the entire teaching trajectory is divided into sub-trajectory segments with clear physical meaning and kinematic self-consistency. This not only completely avoids misidentification problems caused by static friction hysteresis and mechanical limit zeroing, ensuring the continuity and integrity of action semantics, but also allows each sub-trajectory segment to be used as an independent unit for subsequent generalization learning, robust control, and anomaly diagnosis. This significantly improves the reliability of robot skill reuse, the flexibility of cross-workpiece adaptation, and the engineering maintainability of system deployment.
Smart Images

Figure CN122914174A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and more specifically, to a trajectory information processing method and an electronic device. Background Technology
[0002] In robotic arm operations, the original trajectory learned by humans is a continuous time series, but it contains distinctly different physical constraints. Specifically, free space motion follows the principle of geometric path optimization, while the contact phase must follow force / position hybrid constraints. If the entire trajectory is treated as homogeneous data and directly modeled, it will lead to two fatal problems: uncontrolled contact forces during generalization (positional deviations causing hard collisions) and redundant movements contaminating skill representation (jitter during idle travel is mistakenly identified as task features).
[0003] Existing technologies typically segment trajectories based on force and velocity thresholds. Specifically, by monitoring the six-dimensional force / torque abrupt changes and velocity abrupt changes at the end of the teaching process, the trajectory is divided into different semantic segments.
[0004] However, this approach is prone to misidentification when applied to articulated objects, which can disrupt the continuity of motion and result in poor segmentation. Summary of the Invention
[0005] The purpose of this application is to address the shortcomings of the prior art by providing a trajectory information processing method and an electronic device to solve the problems of easy misidentification, resulting in disruption of action continuity and poor segmentation effect in the prior art.
[0006] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows: In a first aspect, one embodiment of this application provides a trajectory information processing method, the method comprising: The trajectory is acquired, which is a sequence of trajectories by which the robotic arm operates on the object to be operated. Determine the geometric structure information of the object to be operated on, wherein the geometric structure information includes at least the set of movable Gaussian points and the set of main body Gaussian points of the object to be operated on. Based on the geometric structure information of the object to be operated on, determine the joint center and joint direction of the object to be operated on; Based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated, the trajectory is divided into multiple sub-trajectories, including at least: a contact phase between the robotic arm and the object to be operated and a non-contact phase between the robotic arm and the object to be operated.
[0007] Secondly, another embodiment of this application provides a trajectory information processing device, the device comprising: The acquisition module is used to acquire the trajectory, which is a sequence of trajectories of the robotic arm operating on the object to be operated; The first determining module is used to determine the geometric structure information of the object to be operated on, wherein the geometric structure information includes at least the set of movable Gaussian points and the set of main body Gaussian points of the object to be operated on. The second determining module is used to determine the joint center and joint direction of the object to be operated based on the geometric structure information of the object to be operated. The segmentation module is used to divide the trajectory according to the joint center, joint direction and set of movable Gaussian points of the object to be operated, to obtain multiple stages of sub-trajectories, the multiple stages including at least: the contact stage between the robotic arm and the object to be operated and the non-contact stage between the robotic arm and the object to be operated.
[0008] Thirdly, another embodiment of this application provides an electronic device, including: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of any of the methods described in the first aspect above.
[0009] Fourthly, another embodiment of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of any of the methods described in the first aspect above.
[0010] The beneficial effects of this application are as follows: By acquiring the trajectory and determining the geometric structure information of the object to be operated on, and based on the geometric structure information of the object to be operated on, determining the joint center and joint direction of the object to be operated on, the rigid body motion degrees of freedom of the hinged / sliding object can be explicitly encoded into computable geometric parameters. Thus, based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated on, the trajectory can be divided into multiple stages of sub-trajectories. This ensures that the determination of trajectory division strictly follows the object's own motion constraint boundaries, rather than external signal mutations, and can eliminate dependence on dynamic signals such as force / torque and velocity that are easily affected by noise, giving the trajectory division process inherent robustness. Therefore, the entire teaching trajectory is divided into sub-trajectory segments with clear physical meaning and kinematic self-consistency. This not only completely avoids misidentification problems caused by static friction hysteresis and mechanical limit zeroing, ensuring the continuity and integrity of action semantics, but also allows each sub-trajectory segment to be used as an independent unit for subsequent generalization learning, robust control, and anomaly diagnosis. This significantly improves the reliability of robot skill reuse, the flexibility of cross-workpiece adaptation, and the engineering maintainability of system deployment. Attached Figure Description
[0011] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 A schematic flowchart of a trajectory information processing method provided in an embodiment of this application; Figure 2 This is a flowchart illustrating the process of determining the joint center and joint direction of the object to be operated in the trajectory information processing method provided in this application embodiment. Figure 3 This is a schematic flowchart illustrating the process of determining joint-paired edges from each candidate edge pair in the trajectory information processing method provided in this application embodiment. Figure 4 This is a schematic flowchart illustrating the process of determining joint-paired edges from each candidate edge pair in the trajectory information processing method provided in this application embodiment. Figure 5 This is a schematic flowchart illustrating the process of obtaining sub-trajectories at multiple stages in the trajectory information processing method provided in the embodiments of this application. Figure 6 This is a schematic flowchart illustrating the process of obtaining sub-trajectories at multiple stages in the trajectory information processing method provided in the embodiments of this application. Figure 7 A schematic diagram of a trajectory information processing device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the electronic device structure provided in an embodiment of this application. Detailed Implementation
[0013] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0014] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0015] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.
[0016] Existing technologies typically segment trajectories based on force and velocity thresholds. Specifically, by monitoring the six-dimensional force / torque abrupt changes and velocity abrupt changes at the end of the teaching process, the trajectory is divided into different semantic segments.
[0017] However, due to the static friction stagnation phenomenon in hinge motion, short-term force spikes are generated, which are easily misjudged as the start of contact. At the same time, the natural return of speed to zero when the movement reaches the mechanical limit is also misidentified as a stage transition. As a result, this processing method is prone to misidentification for hinged objects, which leads to the disruption of the continuity of the action and poor segmentation effect.
[0018] Based on the above-mentioned problems, this application proposes a trajectory information processing method. By acquiring the trajectory and determining the geometric structure information of the object to be operated on, the joint center and joint direction of the object to be operated on are determined through the geometric structure information. The trajectory is then divided into multiple sub-trajectories based on the joint center and joint direction of the object to be operated on. This method can identify different stages of the object to be operated on based on the motion nature of the object, thereby effectively filtering out the lag spikes when the hinge is started, avoiding the disruption of motion continuity. It can also naturally adapt to articulated objects of different sizes and models without the need for repeated manual parameter adjustments, thus significantly improving the robustness and generalization ability of trajectory segmentation.
[0019] It is understood that the trajectory information processing method provided in this application embodiment can be applied to any scenario where the trajectory needs to be divided. By executing the trajectory information processing method provided in this application embodiment, different stages of the trajectory are obtained, thereby performing data processing operations such as trajectory generalization, trajectory optimization, and trajectory control.
[0020] The trajectory information processing method provided in this application will be described in detail below with reference to several embodiments.
[0021] Figure 1This is a schematic flowchart of a trajectory information processing method provided in an embodiment of this application, referring to... Figure 1 As shown, the method includes: S101, Obtain the trajectory.
[0022] The trajectory is a sequence of trajectories by which the robotic arm manipulates the object to be operated through the end effector.
[0023] The object to be operated on is an object that includes a hinge joint (i.e., a rotary joint) or a sliding joint.
[0024] The trajectory includes multiple trajectory points of the robotic arm arranged in time. Each trajectory point includes the position and orientation of the robotic arm body and the position and orientation of the end effector on the robotic arm.
[0025] Optionally, each trajectory point also includes: a timestamp and a six-dimensional force / torque signal at the end point. Specifically, the position is in three-dimensional coordinates, and the attitude is in Euler angles or quaternions.
[0026] Specifically, the trajectory can be a trajectory in a base coordinate system. The base coordinate system is the coordinate system in which the robotic arm is located.
[0027] For example, the trajectory can specifically be a teaching trajectory, which refers to a set of spatial poses of the end effector or specific joint of the robotic arm in a time sequence, which is manually guided by the operator or set and recorded by programming during the teaching process of the robotic arm.
[0028] S102. Determine the geometric structure information of the object to be operated on.
[0029] The geometric structure information includes at least: the set of movable Gaussian points of the object to be manipulated and the set of main Gaussian points.
[0030] Among them, the geometric structure information of the object to be operated on is the geometric structure information of the object to be operated on in a certain specific state in the base coordinate system.
[0031] In one example, the geometric information of the object to be manipulated consists of the set of movable Gaussian points and the set of main Gaussian points in the base coordinate system when the object is in a closed state, an unmanipulated state, or an initial state. For example, taking a box as an example, the unmanipulated state can be the state where the box is not opened.
[0032] In another example, the geometric information of the object to be manipulated consists of the set of movable Gaussian points and the set of main Gaussian points in the base coordinate system when the object is in an open state, a completed state, or a terminated state. For example, the completed state of a box can be the state where the box is fully open.
[0033] Specifically, the set of movable Gaussian points includes all Gaussian points of the movable part of the object to be operated on, and the set of main body Gaussian points includes all Gaussian points of the main body of the object to be operated on.
[0034] For example, the movable part can be a door panel, hinge area, handle, or other components.
[0035] Specifically, the set of movable Gaussian points includes the positions and orientations of multiple movable Gaussian points, and the set of main Gaussian points includes the positions and orientations of multiple main Gaussian points.
[0036] Optionally, the geometric structure information may further include: change information of each movable Gaussian point in the set of movable Gaussian points. The change information of the movable Gaussian points includes position change information and attitude change information of the movable Gaussian points, which is used to indicate the relationship between the position and attitude of the movable Gaussian point and time when the object to be operated is manipulated.
[0037] For example, continuing with the box example, assume the movable part of the box is the lid, and the main body is the box body. The set of movable Gaussian points of the object to be operated includes the positions of each movable Gaussian point when the box is closed, and the change information of each movable Gaussian point includes the position change information of the lid when the box is opened. That is, by using the change information of the movable Gaussian points, it is possible to determine the position change of each movable Gaussian point when it is operated.
[0038] For example, taking the set of movable Gaussian points of the object to be operated, including the initial position and initial attitude of each movable Gaussian point in the initial state, the position change information can be a discrete position sequence of the movable Gaussian points at a preset time interval. Each position in the discrete position sequence represents the offset of the movable Gaussian point relative to the initial position at the corresponding time interval. The attitude change information can be a discrete attitude sequence of the movable Gaussian points at a preset time interval. Each attitude in the discrete attitude sequence represents the offset of the movable Gaussian point relative to the initial attitude at the corresponding time interval.
[0039] Optionally, the object to be operated on can be pre-processed using Segment Anything Model 3 (SAM3) and Segment Anything in 3D Gaussians (SAGA) to extract the set of movable Gaussian points and the set of main Gaussian points of the object to be operated on. Based on this, the motion of the object to be operated on is modeled to obtain the change information of each movable Gaussian point in the set of movable Gaussian points.
[0040] For example, the process of extracting the geometric structure information of the object to be operated on using SAM3 and SAGA includes: acquiring multi-view images of the object to be operated on to obtain a sequence of red-green-blue (RGB) images at different opening and closing angles. SAM3 generates a two-dimensional component mask based on the RGB image sequence. An image from any viewpoint is input into SAM3, and through point selection or box selection prompts, two-dimensional component semantic segmentation masks for components such as door panels, hinge areas, and handles are generated. Based on this, the RGB image sequence and the corresponding two-dimensional component semantic segmentation masks are input into SAGA. SAGA, based on cross-view consistency constraints, propagates 2D labels to all views and assigns an independent Gaussian ellipsoid set to each component. Through differentiable rendering loss, each Gaussian set is forced to render only the pixels of its corresponding mask area, thus obtaining the three-dimensional Gaussian geometric structure information of the object to be operated on with component labels. This information is then transformed to a base coordinate system to obtain the geometric structure information of the object to be operated on.
[0041] S103. Based on the geometric structure information of the object to be operated on, determine the joint center and joint direction of the object to be operated on.
[0042] Optionally, after obtaining the set of movable Gaussian points and the set of main Gaussian points of the object to be operated, multiple edge pairs can be constructed based on the set of movable Gaussian points and the set of main Gaussian points of the object to be operated. Each edge pair is then filtered by geometric position and orientation to determine the edge pairs related to the joint center and joint direction of the object to be operated, thereby determining the joint center and joint direction of the object to be operated.
[0043] The joint center of the object to be operated on refers to the geometric reference point for instantaneous rotation or translation when the main body and movable part of the object move relative to each other. The joint direction of the object to be operated on refers to the main motion direction vector of the relative motion between the main body and movable part of the object.
[0044] For example, for an object with a hinge joint, the axis along the joint direction is the axis of rotation. For an object with a sliding joint, the joint direction is the direction of sliding or extension, such as the direction a drawer is pulled out.
[0045] S104. Based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated on, the trajectory is divided to obtain sub-trajectories in multiple stages.
[0046] It is understandable that after obtaining the joint center and joint direction of the object to be operated, the joint center and joint direction of the object to be operated can be used to characterize the kinematic constraints of the object to be operated. Then, based on the joint center, joint direction and set of movable Gaussian points of the object to be operated, the speed and mechanics of the robot arm during the movement process can be constrained, thereby dividing the trajectory and obtaining sub-trajectories of multiple stages.
[0047] Optionally, based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated, the kinematic constraint information of the robotic arm in multiple stages is determined, and based on the kinematic constraint information of the robotic arm in multiple stages, at least one constraint mutation point is determined, and the trajectory is divided by each constraint mutation point to obtain sub-trajectories in multiple stages.
[0048] The multiple stages include at least the contact stage between the robotic arm and the object to be operated and the non-contact stage between the robotic arm and the object to be operated.
[0049] For example, the multiple stages include a pre-contact stage between the robotic arm and the object to be operated, a contact stage between the robotic arm and the object to be operated, and a post-contact stage between the robotic arm and the object to be operated.
[0050] In this scenario, the end point of the pre-contact phase and the start point of the contact phase are the same trajectory point, and the end point of the contact phase and the start point of the post-contact phase are the same trajectory point. Alternatively, the end point of the pre-contact phase and the start point of the contact phase are adjacent trajectory points, and the end point of the contact phase and the start point of the post-contact phase are adjacent trajectory points.
[0051] In this embodiment, by acquiring the trajectory and determining the geometric structure information of the object to be operated on, and based on the geometric structure information of the object, determining the joint center and joint direction of the object, the rigid body motion degrees of freedom of the hinged / sliding object can be explicitly encoded into computable geometric parameters. Thus, based on the joint center, joint direction, and set of movable Gaussian points of the object, the trajectory is divided into multiple sub-trajectories. This ensures that the determination of trajectory division strictly follows the object's own motion constraint boundaries, rather than external signal mutations, and eliminates dependence on dynamic signals such as force / torque and velocity, which are susceptible to noise interference, giving the trajectory division process inherent robustness. Therefore, the entire teaching trajectory is divided into sub-trajectory segments with clear physical meaning and kinematic self-consistency. This not only completely avoids misidentification problems caused by static friction lag and mechanical limit zeroing, ensuring the continuity and integrity of action semantics, but also allows each sub-trajectory segment to be used as an independent unit for subsequent generalization learning, robust control, and anomaly diagnosis. This significantly improves the reliability of robot skill reuse, the flexibility of cross-workpiece adaptation, and the engineering maintainability of system deployment.
[0052] In one possible implementation, Figure 2This is a flowchart illustrating the process of determining the joint center and joint direction of the object to be operated in the trajectory information processing method provided in this application embodiment, with reference to... Figure 2 As shown, in step S103 above, determining the joint center and joint direction of the object to be operated on based on its geometric structure information includes: S201. Based on the set of movable Gaussian points and the set of main Gaussian points, construct the set of movable edges and the set of main edges of the object to be operated on.
[0053] Optionally, for all movable Gaussian points, calculate the minimum directed bounding box (OBB) to obtain the movable bounding box. After obtaining the movable bounding box, connect the eight vertices of the movable bounding box in a preset order to obtain the movable edge set.
[0054] Optionally, for all main Gaussian points, calculate the minimum directed bounding box (OBB) to obtain the main bounding box. After obtaining the main bounding box, connect the eight vertices of the main bounding box according to a preset connection order to obtain the main edge set.
[0055] Among them, the set of movable edges Includes multiple movable edges connected in sequence. Main edge set Includes multiple sequentially connected main body edges .
[0056] For example, , .
[0057] S202. Based on the set of movable edges and the set of main edges, construct multiple pairs of candidate edges.
[0058] Optionally, each movable edge in the set of movable edges and each main edge in the set of main edges can be combined in pairs to construct multiple candidate edge pairs. Each candidate edge pair includes one movable edge and one main edge.
[0059] S203. Determine the joint pairing from each candidate pairing, and determine the joint center and joint direction of the object to be operated based on the joint pairing.
[0060] It is understandable that the joint center and joint direction are closely related to the geometric position and orientation of their connecting edges. Therefore, after obtaining each candidate edge pair, we can find the edge pairs that are spatially adjacent, geometrically compatible, and physically reasonable from each candidate edge pair as joint pairing edges. Based on the joint pairing edges, we can calculate the joint center and joint direction of the object to be operated on.
[0061] Optionally, each candidate edge pair is scored based on the distance between them and the included angle between their vectors, and the joint is paired with the edge pair based on the scoring results.
[0062] For example, the vertical distance balance and directional alignment of each candidate edge pair can be calculated, and the results can be obtained by weighting and summing them according to a preset weight coefficient.
[0063] In one possible implementation, Figure 3 This is a schematic flowchart illustrating the process of determining joint pairing edges from each candidate edge pair in the trajectory information processing method provided in this application embodiment, with reference to... Figure 3 As shown, in S203 above, joint pairings are determined from each candidate pair, including: S301. Calculate the distance and direction parameters of each candidate edge pair, and calculate the joint adjacency score of each candidate edge pair based on the distance and direction parameters of each candidate edge pair.
[0064] Optionally, taking a candidate edge pair as an example, the distance parameter is calculated based on the distance between the movable edge and the main body edge in the candidate edge pair, and the direction parameter is calculated based on the movable direction vector corresponding to the movable edge and the main body direction vector corresponding to the main body edge in the candidate edge pair. The distance parameter and the direction parameter are then weighted and summed according to preset distance weights and direction weights to obtain the joint adjacency score of the candidate edge pair.
[0065] For example, continue with a candidate edge pair For example, the candidate edge pair Adjacent joint scores You can refer to the following formulas (1)-(2): (1) (2) in, For direction parameters, The distance parameter can be obtained by calculating the shortest distance between the movable edge and the main body edge. The preset distance weight can be 0.2, and the preset direction weight can be 0.8. For the first A movable edge, For the first The main body edge, .
[0066] Among them, the orientation weight can be greater than the distance weight. The scoring is dominated by the orientation parameter, which can ensure that the selected edge pair can truly represent the main motion degree of freedom of the joint. It can effectively suppress distance misjudgment caused by bounding box deformation, point cloud noise or component fitting. The distance parameter is used as an auxiliary constraint to eliminate pseudo edge pairs that are spatially separated but do not have the possibility of physical connection, even if the orientation matches.
[0067] S302. Determine the joint pairings based on the joint adjacency scores of each candidate pair.
[0068] Optionally, after calculating the joint adjacency scores of each candidate edge pair, the candidate edge pair with the highest joint adjacency score can be used as the joint pair.
[0069] Optionally, if there are multiple candidate edge pairs with the highest adjacent joint scores, then considering that the movable part and the main body may be closely attached, causing confusion of the bounding box edges, a secondary screening can be performed on the candidate edge pairs with the highest adjacent joint scores to obtain joint pairings.
[0070] By measuring spatial proximity through distance parameters and motion coordination through orientation parameters, and using adjustable weights for weighted fusion, a robust joint adjacency score with clear physical meaning is constructed. This score can incorporate the rigid body constraints of articulated and sliding objects into the joint adjacency score. By using the joint adjacency scores of each candidate edge pair, joint pairings can be determined. This allows for high-confidence identification of real joint pairings based solely on static geometry without the need for force / velocity sensor feedback. It significantly improves the accuracy, generalization, and anti-interference ability of joint center and orientation estimation, laying a reliable geometric prior foundation for subsequent trajectory stage segmentation based on the nature of motion.
[0071] In one possible implementation, Figure 4 This is a schematic flowchart illustrating the process of determining joint pairing edges from each candidate edge pair in the trajectory information processing method provided in this application embodiment, with reference to... Figure 4 As shown, in S302 above, joint pairings are determined based on the joint adjacency scores of each candidate pair, including: S401. Determine the number of candidate edge pairs with the highest joint adjacent scores.
[0072] Optionally, based on the joint adjacency scores of each candidate edge pair, determine the number of candidate edge pairs with the same joint adjacency score, and all of them having the largest joint adjacency score.
[0073] S402. If the quantity is the first preset threshold, the candidate edge pair with the largest adjacent score of the joint is taken as the target edge pair.
[0074] The first preset threshold is 1. That is, if there is only one candidate edge pair with the largest adjacent score, then the candidate edge pair with the largest adjacent score is taken as the target edge pair.
[0075] S403. If the number is greater than the first preset threshold, take the candidate edge pair with the largest adjacent score of each joint as an intermediate edge pair, obtain multiple intermediate edge pairs, calculate the pairing score of each intermediate edge pair, and obtain the joint pairing edge pair based on the pairing score of each intermediate edge pair.
[0076] Optionally, if there are more than one candidate edge pair with the highest adjacent score, then each candidate edge pair with the highest adjacent score is taken as an intermediate edge pair, resulting in multiple intermediate edge pairs.
[0077] Optionally, considering that the two parts may be closely attached, causing confusion of the bounding box edges, the pairing score of each intermediate edge pair can be calculated based on the physical law that the interaction position of the end effector and the movable part has spatial antisymmetry. Then, the intermediate edge pair with the highest pairing score is selected from the intermediate edge pairs as the joint pairing edge pair. This makes the score no longer limited to static geometric matching, but evaluates whether the edge pair has force transmission path and motion coupling capability in real operation, which significantly enhances the algorithm's adaptability to diverse and non-ideal articulated objects in real industrial scenarios.
[0078] In one example, the direction vector of the end effector can be obtained, and the pairing parameters can be calculated based on the direction vector of the end effector and the movable edges in the middle edge pair. The pairing parameters are then weighted by a preset pairing weight and superimposed on the joint adjacent score to obtain the pairing score of the middle edge pair.
[0079] In one possible implementation, calculating the pairing score for each intermediate edge pair in S403 above includes: Obtain the direction vector of the end effector corresponding to the middle edge pair and the target Gaussian point set of the object to be operated on; calculate the pairing score of the middle edge pair based on the target Gaussian point set, the joint adjacency score of the middle edge pair and the direction vector of the end effector corresponding to the middle edge pair.
[0080] Optionally, taking an intermediate edge pair as an example, obtain the direction vector of the end effector corresponding to the intermediate edge pair and the set of target Gaussian points of the object to be operated on.
[0081] Among them, the direction vector of the end effector corresponding to the middle edge pair can be the direction vector of the end effector of the robotic arm at a certain moment.
[0082] For example, when calculating the pairing score of the middle edge pair, the direction vector of the end effector of the robotic arm at the initial moment can be obtained as the direction vector of the end effector corresponding to the middle edge pair. The initial moment can be the moment when the end effector of the robotic arm has not yet started to operate on the object to be operated, or the moment when it is about to operate on the object to be operated.
[0083] The set of target Gaussian points of the object to be operated includes at least one target Gaussian point of the object to be operated, which can be a point on the object to be operated that can directly contact the end effector of the robotic arm.
[0084] In one example, the target Gaussian point can be obtained through pre-configuration.
[0085] In another example, movable Gaussian points can be selected by combining the distance between the trajectory and the set of movable Gaussian points with a preset threshold. For example, multiple candidate points are sampled from the trajectory, and for each candidate point, the distance between the candidate point and each movable Gaussian point in the set of movable Gaussian points is calculated. If there is a first candidate point whose distance to a first movable Gaussian point is less than a preset threshold, then the first movable Gaussian point is selected as a target Gaussian point.
[0086] Optionally, after obtaining the direction vector of the end effector corresponding to the middle edge pair and the target Gaussian point of the object to be operated, the pairing parameters can be calculated based on the direction vector of the end effector and the movable edge in the middle edge pair, the pairing distance parameter can be calculated based on the distance between the target Gaussian point and the movable edge, and the pairing score of the middle edge pair can be calculated based on the pairing parameters, the pairing distance parameter and the joint adjacency score.
[0087] For example, the middle edge pair Pairing score We can obtain the following formula (3): (3) in, For the first A movable edge, For the first The main body edge, , Given the target set of Gaussian points, is the direction vector of the end effector corresponding to the middle edge pair. As the preset first weight, As the preset second weight, This is the preset third weight. When the object to be operated on is an object that includes hinge joints or rotary joints, Pick When the object to be operated on is an object that includes translational joints or sliding joints, Pick .
[0088] By calculating the pairing score of the intermediate edge pair using the target Gaussian point, the joint adjacency score of the intermediate edge pair, and the direction vector of the corresponding end effector, the scoring is no longer limited to static geometric matching. Instead, it assesses whether the edge pair possesses force transmission path and motion coupling capability during actual operation. For example, even if the directional distances of both edges are optimal, if only one edge is adjacent to the actual contact area of the robotic arm end effector and its normal angle with the arm's motion direction is more conducive to torque transmission, its pairing score will be higher. This avoids spurious solutions caused by bounding box degradation and is naturally compatible with complex structures such as multi-degree-of-freedom hinges and composite joints, significantly enhancing the algorithm's adaptability to diverse and non-idealized articulated objects in real industrial scenarios.
[0089] In one possible implementation, determining the joint center and joint direction of the object to be operated on based on the joint pairing edge pairs in step S203 includes: Calculate the midpoint of the joint pair to obtain the joint center; calculate the unit direction vector of the movable edge in the joint pair to obtain the joint direction.
[0090] Optionally, the joint center can be obtained by calculating the arithmetic mean of the endpoints of the two edges of the joint pair.
[0091] Optionally, the unit direction vector of the movable edge in the joint pair is calculated, and the spatial direction of the unit direction vector is used as the joint direction.
[0092] The above provides an illustrative explanation of the process of determining the joint center and joint direction of the object to be operated on. It can be understood that after obtaining the joint center and joint direction of the object to be operated on, the trajectory can be divided according to the joint center, joint direction, and set of movable Gaussian points of the object to be operated on, to obtain sub-trajectories of multiple stages, as explained below.
[0093] In one possible implementation, Figure 5 This is a flowchart illustrating the process of obtaining sub-trajectories at multiple stages in the trajectory information processing method provided in this application embodiment, with reference to... Figure 5 As shown, in S104 above, the trajectory is divided according to the joint center, joint direction, and set of movable Gaussian points of the object to be operated, resulting in multiple stages of sub-trajectories, including: S501. Sample the trajectory to obtain a set of sampling points.
[0094] Optionally, the trajectory is sampled according to a preset sampling method, and the obtained sampling points are added to the sampling point set in the sampling order.
[0095] The set of sampling points includes multiple sampling points. The preset sampling method can be sampling at equal time intervals, sampling at equal arc lengths, or adaptive sampling based on curvature or acceleration.
[0096] S502. Sequentially traverse the set of sampling points. For the current first sampling point, based on the position and orientation of the end effector of the robotic arm at the current first sampling point, the joint center and joint direction of the object to be operated, and the set of movable Gaussian points, determine whether to use the current first sampling point as the first contact point between the robotic arm and the object to be operated. If so, use the current first sampling point as the first contact point between the robotic arm and the object to be operated, end the traversal, and remove the traversed sampling points from the set of sampling points.
[0097] Optionally, the set of sampling points is traversed sequentially. For the current first sampling point, based on the position and orientation of the end effector of the robotic arm at the current first sampling point, the joint center and joint direction of the object to be operated, and the set of movable Gaussian points, it is determined whether to use the current first sampling point as the first contact point between the robotic arm and the object to be operated.
[0098] For example, based on the position and orientation of the end effector of the robotic arm at the current first sampling point, the joint center, joint direction, and set of movable Gaussian points of the object to be operated, it is determined whether the preset kinematic contact conditions are met. If so, the current first sampling point is determined as the first contact point between the robotic arm and the object to be operated. The kinematic contact conditions may include the positional contact conditions and the orientational contact conditions between the object to be operated and the end effector of the robotic arm.
[0099] Optionally, if it is determined that the current first sampling point is the first contact point between the robotic arm and the object to be operated, then the current first sampling point is taken as the first contact point between the robotic arm and the object to be operated, the traversal ends, and the traversed sampling points are removed from the sampling point set.
[0100] The first contact point is the point where the end effector of the robotic arm first contacts the object to be operated.
[0101] Accordingly, when the first contact point appears, it means that there is at least one contact Gaussian point in the set of movable Gaussian points of the object to be operated. That is, when the end effector of the robotic arm makes contact with the object to be operated for the first time, the movable Gaussian point in the object to be operated that is in contact with the end effector of the robotic arm is the contact Gaussian point on the object to be operated. The position of the movable Gaussian point is the initial position of the contact Gaussian point, and the posture of the movable Gaussian point is the initial posture of the contact Gaussian point.
[0102] It is worth noting that the end effector of the robotic arm can make contact with the movable part of the object to be operated through a single point or through a group of points. That is, the number of contact Gaussian points on the object to be operated can be one or more.
[0103] S503. Determine the set of contact point poses corresponding to each sampling point in the sampling point set.
[0104] It can be understood that when the end effector of the robotic arm makes its first contact with the object to be operated, that is, when the end effector of the robotic arm begins to operate the movable part of the object to be operated, the position and orientation of the contact point change relatively during the operation of the end effector of the robotic arm on the object to be operated. Therefore, the set of contact point poses corresponding to each sampling point in the sampling point set can be determined.
[0105] Optionally, based on the change information of each movable Gaussian point in the set of movable Gaussian points and the position and attitude of the first contact point, the set of contact point poses corresponding to each sampling point in the set of sampling points is determined.
[0106] For example, the change information of each contact Gaussian point is obtained from the change information of each movable Gaussian point, and the position change information and attitude change information corresponding to each sampling point are determined from the change information of each contact Gaussian point according to the interval of each sampling point. For each sampling point, the corresponding position change information and attitude change information are superimposed on the initial position and initial attitude of each contact Gaussian point to obtain the contact point pose corresponding to each sampling point. The poses are arranged in the order of each sampling point and combined into a set of contact point poses corresponding to each sampling point.
[0107] The contact point pose set includes the position and orientation of at least one contact Gaussian point on the object to be operated.
[0108] S504. Based on the set of sampling points, the set of contact point poses corresponding to each sampling point in the set of sampling points, the joint center of the object to be operated, and the joint direction, determine the first separation point between the robotic arm and the object to be operated.
[0109] Optionally, after obtaining the set of contact point poses corresponding to each sampling point, it is possible to determine whether the preset kinematic separation conditions are met based on the set of sampling points, the set of contact point poses corresponding to each sampling point in the set of sampling points, the joint center of the object to be operated, and the joint direction, thereby obtaining the first separation point between the robotic arm and the object to be operated.
[0110] The kinematic separation conditions may include the position separation conditions and attitude separation conditions between the object to be operated and the end effector of the robotic arm.
[0111] S505. Based on the first contact point and the first separation point, the trajectory is divided into multiple sub-trajectories.
[0112] Optionally, after obtaining the first contact point and the first separation point, the trajectory can be divided according to the first contact point and the first separation point to obtain sub-trajectories of multiple stages.
[0113] In one example, the trajectory before the first contact point is designated as the pre-contact sub-trajectory, the trajectory from the first contact point to the first separation point is designated as the contact sub-trajectory, and the trajectory after the first separation point is designated as the post-contact sub-trajectory.
[0114] In another example, the trajectory before the first contact point is designated as the pre-contact sub-trajectory, the trajectory from the first contact point to the first separation point is designated as the contact sub-trajectory, and the trajectory from the first separation point to the point after the first separation point is designated as the post-contact sub-trajectory.
[0115] The first contact point and the first separation point are determined by the joint center, joint direction, and set of movable Gaussian points of the object to be operated on. Based on the first contact point and the first separation point, the trajectory is divided into multiple sub-trajectories. The trajectory segmentation can be anchored to the object's own degree of freedom constraint boundary, accurately distinguishing each stage in the contact process and preserving the integrity of the action intention.
[0116] In one possible implementation, Figure 6 This is a flowchart illustrating the process of obtaining sub-trajectories at multiple stages in the trajectory information processing method provided in this application embodiment, with reference to... Figure 6 As shown, in S502 above, based on the position and orientation of the end effector of the robotic arm at the current first sampling point, the joint center and joint direction of the object to be operated, and the set of movable Gaussian points, it is determined whether to use the current first sampling point as the first contact point between the robotic arm and the object to be operated, including: S601. Determine the first distance error information based on the position of the end effector of the robotic arm at the current first sampling point and the set of movable Gaussian points.
[0117] Optionally, the distance between the position of the end effector of the robotic arm at the current first sampling point and the position of each movable Gaussian point in the set of movable Gaussian points can be calculated separately, and the minimum distance can be used as the first distance error information.
[0118] The first distance error information represents the spatial proximity between the end effector and the set of movable Gaussian points, and is used to determine whether the geometric reachability constraint of contact is satisfied.
[0119] S602. Determine the first posture error information based on the posture of the end effector of the robotic arm at the current first sampling point, the joint center of the object to be operated, and the joint direction.
[0120] Optionally, the first posture error information between the end effector and the object to be operated can be calculated based on the posture of the end effector of the robotic arm at the current first sampling point, the joint center of the object to be operated, and the joint direction. For details, please refer to the following formula (4): (4) in, For the direction of the end effector, Indicates the direction of the joint.
[0121] The first attitude error information characterizes the alignment of the end effector attitude with the kinematic axis system formed by the joint center-direction, and is used to determine whether the contact dynamics driveability constraint is satisfied.
[0122] S603. If the first distance error information meets the first preset condition and the first posture error information meets the second preset condition, determine that the current first sampling point is the first contact point between the robotic arm and the object to be operated; otherwise, determine that the current first sampling point is not the first contact point between the robotic arm and the object to be operated.
[0123] Optionally, if the first distance error information meets the first preset condition and the first posture error information meets the second preset condition, the current first sampling point is determined as the first contact point between the robotic arm and the object to be operated; otherwise, the current first sampling point is determined not to be the first contact point between the robotic arm and the object to be operated.
[0124] The first preset condition can be a distance error threshold less than a preset threshold, and the second preset condition can be an attitude error threshold less than a preset threshold.
[0125] By using the first distance error information and the first posture error information, it is determined whether the current first sampling point should be used as the first contact point between the robotic arm and the object to be operated. The first contact point can be determined simultaneously through spatial accessibility and kinematic coupling feasibility, thus achieving accurate modeling of the first contact point.
[0126] In one possible implementation, S504 above determines the first separation point between the robotic arm and the object to be operated based on the set of sampling points, the set of contact point poses corresponding to each sampling point in the set of sampling points, the joint center of the object to be operated, and the joint direction, including: The sampling point set is sequentially traversed. For the current second sampling point, based on the position and orientation of the end effector of the robotic arm at the current second sampling point, the joint center and joint direction of the object to be operated, and the contact point pose set corresponding to each sampling point in the sampling point set, it is determined whether to take the current second sampling point as the first separation point between the robotic arm and the object to be operated. If so, the current second sampling point is taken as the first separation point between the robotic arm and the object to be operated, and the traversal ends.
[0127] Optionally, the sampling point set is traversed sequentially. For the current second sampling point, the position and orientation of the end effector of the robotic arm at the current second sampling point, the joint center and joint direction of the object to be operated, and the contact point pose set corresponding to each sampling point in the sampling point set are used to determine whether the preset kinematic separation condition is met. If so, the current second sampling point is determined as the first separation point between the robotic arm and the object to be operated.
[0128] The kinematic separation conditions may include the position separation conditions and attitude separation conditions between the object to be operated and the end effector of the robotic arm.
[0129] For example, the distance between the position of the end effector of the robotic arm at the current second sampling point and the position of each contact Gaussian point corresponding to the current second sampling point in the contact point pose set is calculated, and the minimum distance is used as the second distance error information.
[0130] The second distance error information represents the spatial proximity between the end effector and the corresponding contact Gaussian point, and is used to determine whether the geometric reachability constraint of separation is satisfied.
[0131] Optionally, the second posture error information between the end effector and the object to be operated can be calculated based on the posture of the end effector of the robotic arm at the current second sampling point, the joint center of the object to be operated, and the joint direction. For details, please refer to the previous formula (4).
[0132] The second attitude error information characterizes the alignment of the end effector attitude with the kinematic axis system formed by the joint center-direction, and is used to determine whether the separation of the dynamic driveability constraints is satisfied.
[0133] Optionally, if the second distance error information meets the third preset condition and the second posture error information meets the fourth preset condition, the current second sampling point is determined as the first separation point between the robotic arm and the object to be operated; otherwise, the current second sampling point is determined not to be the first separation point between the robotic arm and the object to be operated.
[0134] The third preset condition can be greater than or equal to a preset distance error threshold, and the fourth preset condition can be greater than or equal to a preset attitude error threshold.
[0135] It is worth noting that after separating the sub-trajectories of multiple stages, the position of the object to be operated on can be migrated to obtain pose transformation information. Then, the sub-trajectories of multiple stages can be transformed separately using the pose transformation information to obtain the target sub-trajectories of multiple stages. The target sub-trajectories of multiple stages can be spliced together to obtain the target trajectory, which can generate a diverse and smooth target trajectory. At the same time, the obtained target trajectory can also break through the behavior boundary mode of trajectory coverage. The following is an example of this process.
[0136] The pose transformation information indicates the transformation relationship between the target pose and the initial pose of the object to be manipulated. The target pose refers to the posture at the target position, and the initial pose refers to the posture at the initial position. Specifically, the pose transformation information is the pose transformation relationship in the base coordinate system.
[0137] Optionally, after obtaining the sub-trajectories of multiple stages, the process also includes: Based on the pose transformation information and the pre-contact sub-trajectory, at least one pre-contact target sub-trajectory is determined, and based on the pose transformation information and the contact sub-trajectory, at least one contact target sub-trajectory is determined, and based on the pose transformation information and the post-contact sub-trajectory, at least one post-contact target sub-trajectory is determined; the pre-contact target sub-trajectory, the contact target sub-trajectory, and the post-contact target sub-trajectory are spliced together to generate at least one target trajectory.
[0138] It is understandable that after obtaining the sub-trajectories for each stage, the pose transformation information can be used to process each sub-trajectory separately to obtain the target sub-trajectory for each stage. Specifically, depending on the stage in which the sub-trajectory belongs, different processing methods can be applied to it using pose transformation information. Furthermore, the same sub-trajectory can be processed using different strategies to obtain multiple corresponding target sub-trajectories.
[0139] Optionally, for the contact sub-trajectory, the pose transformation information is used to transform the pose of each trajectory point in the contact sub-trajectory to obtain the contact target sub-trajectory.
[0140] Optionally, for the contact sub-trajectory, pose transformation and interpolation processing are performed on each trajectory point in the contact sub-trajectory using pose transformation information to obtain the contact target sub-trajectory.
[0141] Optionally, for the pre-contact sub-trajectory and the post-contact sub-trajectory, pose transformation information is used to transform the pose of each trajectory point in the pre-contact sub-trajectory and the post-contact target sub-trajectory to obtain the pre-contact sub-trajectory and the post-contact target sub-trajectory.
[0142] Optionally, for the pre-contact sub-trajectory and the post-contact sub-trajectory, pose transformation and random disturbance addition and / or interpolation processing are performed on each trajectory point in the pre-contact sub-trajectory and the post-contact target sub-trajectory through pose transformation information to obtain the pre-contact sub-trajectory and the post-contact target sub-trajectory, thereby generating diverse trajectories without destroying the contact relationship between the object to be operated and the robotic arm, the operation sequence and state changes.
[0143] It is worth noting that when processing the sub-trajectories at each stage, the processing strategy used in practical applications can be adjusted according to the desired number of target trajectories, and the specific parameters in the processing strategy can be adjusted to obtain multiple target trajectories. For example, different perturbation strategies can be used to process the same sub-trajectory in the perturbation processing to obtain multiple target sub-trajectories, or different interpolation strategies can be used to process the same sub-trajectory in the interpolation processing to obtain multiple target sub-trajectories.
[0144] Meanwhile, in practical applications, the same or similar processing strategies can be adopted for the pre-contact sub-trajectory and the post-contact sub-trajectory. This application embodiment only takes the pre-contact sub-trajectory as an example to illustrate the processing process of obtaining a target sub-trajectory.
[0145] For example, the perturbation strategy may include one or more of the following: pose space perturbation, temporal space perturbation, and physical constraint perturbation. Pose space perturbation includes one or more of the following: global pose offset, point-by-point Gaussian noise, and end-effector pose perturbation. Temporal space perturbation includes one or more of the following: time axis scaling, local time warping, and trajectory point packet loss. Physical constraint perturbation includes one or more of the following: hinge axis offset perturbation and contact point tangential offset perturbation. Hinge axis offset perturbation refers to applying a small translational perturbation in the hinge axis direction, or an angular offset perturbation around the hinge axis. The perturbation ensures that the trajectory still satisfies circular kinematics.
[0146] For example, interpolation strategies may include one or more of the following: spatial domain interpolation, temporal domain interpolation, and articulated spatial interpolation. Spatial domain interpolation includes linear interpolation, spherical linear interpolation, cubic spline interpolation, and Gaussian process regression interpolation. Temporal domain interpolation includes equal-interval resampling and keypoint time scaling. Articulated spatial interpolation refers to mapping the trajectory points of the contact segment to a hinge angle sequence by inversely calculating the position of the end effector in the local coordinate system of the movable part, performing spline interpolation in the angle domain, and then mapping it back to Cartesian space through forward kinematics.
[0147] In the first example, taking the pre-contact sub-trajectory as an example, a random perturbation can be added to the pre-contact sub-trajectory to obtain the first perturbation sub-trajectory. The first perturbation sub-trajectory is then interpolated to generate multiple first interpolation points. Each first interpolation point is added to the first perturbation sub-trajectory to obtain the first sub-trajectory. The pose transformation information is then used to transform the pose of the first sub-trajectory to obtain the pre-contact target sub-trajectory.
[0148] Optionally, after obtaining each target sub-trajectory, the inverse kinematics can be used to solve for each target sub-trajectory, yielding the corresponding robotic arm joint trajectories. Then, the executability of each target sub-trajectory is verified using preset joint angle limits, velocity limits, acceleration limits, and collision constraints of the robotic arm. If the executability result of a certain target sub-trajectory is unexecutable, that target sub-trajectory can be removed, or the specific parameters in the processing strategy for that target sub-trajectory can be adjusted to regenerate a new target sub-trajectory. The specific parameters in the processing strategy can be parameters from a perturbation strategy or parameters from an interpolation strategy.
[0149] Optionally, after obtaining at least one pre-contact target sub-trajectory, at least one contact target sub-trajectory, and at least one post-contact target sub-trajectory, these target sub-trajectories can be combined and spliced to generate at least one target trajectory.
[0150] For example, multiple first splicing points are determined from the target sub-trajectory before contact, multiple second splicing points and multiple third splicing points are determined from the target sub-trajectory after contact, and multiple fourth splicing points are determined from the target sub-trajectory after contact. Based on each first splicing point and each second splicing point, the target sub-trajectory before contact and the target sub-trajectory after contact are spliced together to obtain a first intermediate trajectory. Based on each third splicing point and each fourth splicing point, the first intermediate trajectory is spliced together with the target sub-trajectory after contact to generate at least one target trajectory.
[0151] The target trajectory is the sequence of trajectories by which the robotic arm operates on the object located at the target position.
[0152] Specifically, multiple first splicing points can be determined from the target sub-trajectory before contact, multiple second splicing points and multiple third splicing points can be determined from the target sub-trajectory after contact, and multiple fourth splicing points can be determined from the target sub-trajectory after contact, according to preset smoothing parameters.
[0153] For example, according to the preset smoothing parameter D, the D trajectory points at the end of the target sub-trajectory before contact can be taken as a first splicing point, the first D trajectory points of the target sub-trajectory before contact can be taken as a second splicing point, the D trajectory points at the end of the target sub-trajectory before contact can be taken as a third splicing point, and the first D trajectory points of the target sub-trajectory in the fourth stage can be taken as a fourth splicing point.
[0154] Optionally, each first splicing point other than the first first splicing point and each second splicing point other than the last second splicing point are treated as a splicing point to be processed. Each splicing point to be processed is traversed. For the current splicing point to be processed, the velocity cost function and acceleration cost function of the current splicing point to be processed are determined based on the current splicing point to be processed, the previous splicing point to be processed, and the next splicing point to be processed.
[0155] Optionally, for the first One currently pending splicing point Based on the current splicing points to be processed The previous stitching point to be processed for the current stitching point And the next unprocessed splicing point after the current unprocessed splicing point. The current splicing point to be processed is calculated. First speed And the second speed For details, please refer to the following formulas (5)-(6): (5) (6) in, The current splicing point to be processed Location, The current splicing point to be processed timestamp, For the previous splicing point to be processed Location, For the previous splicing point to be processed timestamp, For the next splicing point to be processed Location, For the next splicing point to be processed Timestamp.
[0156] Optionally, based on the current stitching point to be processed First speed And the second speed Determine the velocity cost function of the current splicing point to be processed. Specifically, please refer to the following formula (7): (7) Optionally, based on the current stitching point to be processed First speed And the second speed Determine the first acceleration of the current splice point to be processed. and the second acceleration For details, please refer to the following formulas (8)-(9): (8) (9) in, For the previous splicing point to be processed First speed And the second speed The mean, For the next splicing point to be processed First speed And the second speed The mean.
[0157] Optionally, based on the current stitching point to be processed First acceleration and the second acceleration Determine the acceleration cost function of the current splice point to be processed. Specifically, please refer to the following formula (10): (10) Optionally, after the traversal is completed, the velocity cost function and acceleration cost function of each critical point to be processed are obtained, and the velocity cost function and acceleration cost function of each critical point to be processed are optimized and solved according to the preset solution algorithm, and the target position of each splicing point to be processed is obtained after the solution.
[0158] Among them, the preset optimization solution algorithm can be a constrained quadratic programming algorithm (CQP), a nonlinear optimization algorithm (such as IPOPT or SNOPT), and a spline-based optimization method (such as B-spline or Quintic Polynomial minimization jerk). Optionally, the target sub-trajectory before contact and the corresponding trajectory points in the target sub-trajectory after contact are replaced according to the target position of each splicing point to be processed, and then spliced to obtain the first intermediate trajectory.
[0159] By determining the velocity cost function and acceleration cost function of the current stitching point to be processed, and solving the target position of each stitching point according to the preset solution algorithm, the stitching of the target sub-trajectory before contact and the target sub-trajectory upon contact is realized, resulting in the first intermediate trajectory. This can elevate the stitching problem from geometric stitching to kinematic co-optimization, completely eliminating motion abrupt changes, joint impacts, and force-controlled oscillations in traditional stitching, ensuring temporal continuity and physical feasibility. At the same time, it can also ensure that the generated first intermediate trajectory naturally possesses physical executability and real-time controller tracking stability. In addition, it can also take into account task functionality and system safety, significantly improving the robustness and generalization ability of flexible operation in real-world scenarios.
[0160] Optionally, each third splicing point and each fourth splicing point can be fused and adjusted to splice the first intermediate trajectory with the target sub-trajectory after contact, generating at least one target trajectory.
[0161] In this embodiment, by acquiring the trajectory and the pose transformation information of the object to be operated, and dividing the trajectory, a pre-contact sub-trajectory, a contact sub-trajectory, and a post-contact sub-trajectory are obtained. The sub-trajectories at each stage are processed separately using the pose transformation information to obtain at least one target sub-trajectory for each stage. Then, the pre-contact target sub-trajectory, the contact target sub-trajectory, and the post-contact target sub-trajectory are spliced together to generate at least one target trajectory. This can break through the original behavioral boundary mode of the trajectory and generate multiple robotic arm trajectories with different approach methods and different withdrawal methods, thereby effectively improving the diversity of trajectory samples.
[0162] Furthermore, by dividing the trajectory based on its physical interaction nature, each stage can be independently adapted, while ensuring the semantic fidelity of the trajectory generation process. Simultaneously, for non-rigid objects including hinge joints and sliding joints, it is naturally compatible with joint kinematic constraints, avoiding motion distortion or penetration caused by global rigidity transformations, thus ensuring the structural robustness of the obtained target trajectory. In addition, the processing strategies for each stage are orthogonally decoupled, facilitating modular deployment, individual verification, and incremental upgrades. This also significantly improves the maintainability, cross-platform portability, and scalability of the trajectory generation process in real robot systems.
[0163] In one possible implementation, the above steps, based on pose transformation information and contact sub-trajectory, determine at least one contact target sub-trajectory, including: The position and orientation of each trajectory point in the contact sub-trajectory are transformed using pose transformation information to obtain at least one contact target sub-trajectory.
[0164] Optionally, all trajectory points in the contact sub-trajectory are traversed. For the current trajectory point, the position of the current trajectory point is transformed using the position transformation data in the pose transformation information to obtain the position of the target trajectory point corresponding to the current trajectory point. The pose of the current trajectory point is transformed using the attitude transformation data in the pose transformation information to obtain the attitude of the target trajectory point corresponding to the current trajectory point. After the traversal is completed, all target trajectory points are taken as contact target sub-trajectories.
[0165] Specifically, transforming the position of the current trajectory point using the position transformation data in the pose transformation information means superimposing the position transformation data onto the current trajectory point's position. Transforming the attitude of the current trajectory point using the attitude transformation data in the pose transformation information means superimposing the attitude transformation data onto the current trajectory point's attitude.
[0166] By transforming the position and orientation of each trajectory point in the contact sub-trajectory using pose transformation information, the contact target sub-trajectory can be obtained. This ensures that the core interactive behavior remains unchanged, thereby guaranteeing the consistency of physical interaction semantics, kinematic feasibility, and task functional equivalence between the robotic arm and the object to be operated in the contact phase under the target scenario.
[0167] In one possible implementation, the above steps, based on pose transformation information and the pre-contact sub-trajectory, determine at least one pre-contact target sub-trajectory, including: The pre-contact sub-trajectory is transformed based on the pose transformation information to obtain the first initial sub-trajectory; random perturbation is added and / or interpolation is performed on the first initial sub-trajectory to generate at least one pre-contact target sub-trajectory.
[0168] Optionally, the pre-contact sub-trajectory can be transformed using pose transformation information to obtain the first initial sub-trajectory.
[0169] For example, a first initial starting point, at least one first initial intermediate point, and a first initial ending point are determined in the pre-contact sub-trajectory; the first initial ending point is transformed according to pose transformation information to obtain a first target ending point; each first initial intermediate point is transformed according to pose transformation information to obtain multiple first candidate intermediate points; the first initial starting point, each first candidate intermediate point, and the first target ending point are used as the first initial sub-trajectory.
[0170] Optionally, the pre-contact sub-trajectory is traversed in chronological order, with the first trajectory point as the first initial starting point, the last trajectory point as the first initial ending point, and all trajectory points in the pre-contact sub-trajectory except the first and last ones as the first initial intermediate points.
[0171] Optionally, at the first initial endpoint, position transformation information is superimposed to perform transformation to obtain the first target endpoint.
[0172] Optionally, pose transformation information is superimposed on each of the first initial intermediate points to perform transformation, thereby obtaining multiple first candidate intermediate points.
[0173] Optionally, the first initial starting point, each first candidate intermediate point, and the first target endpoint are sorted by time and used as the first initial sub-trajectory.
[0174] By using the first initial starting point, each first candidate intermediate point, and the first target endpoint as the first initial sub-trajectory, the starting point of the sub-trajectory before contact remains unchanged, while the endpoint changes according to the target position of the object to be operated on, thereby ensuring the semantic accuracy of the obtained target sub-trajectory before contact.
[0175] In one example, continuing with the pre-contact sub-trajectory, a random perturbation can be added to the first initial sub-trajectory to obtain the pre-contact target sub-trajectory.
[0176] In another example, continuing with the pre-contact sub-trajectory, a random perturbation can be added to the first initial sub-trajectory before interpolation to obtain the pre-contact target sub-trajectory.
[0177] In another example, continuing with the pre-contact sub-trajectory, the first initial sub-trajectory can be interpolated first, and then random perturbations can be added to obtain the pre-contact target sub-trajectory.
[0178] For example, multiple first intermediate points are sampled from the first initial sub-trajectory; a random offset is applied to each first intermediate point to obtain multiple first path points; all first path points except the last first path point are traversed; for the current first path point traversed, the number of first interpolation points between the current first path point and the next first path point of the current first path point is determined according to a preset interpolation step size; the normalized interpolation parameters of each first interpolation point are determined according to the number of first interpolation points; and interpolation is performed between the current first path point and the next first path point of the current first path point according to the normalized interpolation parameters of each first interpolation point to generate each first interpolation point; the first initial starting point, each first path point, each first interpolation point, and the first target endpoint are taken as the target sub-trajectory before contact.
[0179] Optionally, a preset sampling interval is obtained, and multiple first intermediate points are sampled from the first initial sub-trajectory according to the sampling interval.
[0180] Optionally, according to a preset perturbation strategy, random offset perturbations are applied to each of the first intermediate points to obtain multiple first path points.
[0181] Among them, the corresponding perturbation strategy can be obtained from the preset perturbation strategy geometry based on the number of target sub-trajectories that have been generated.
[0182] In one example, random numbers are generated using a preset random function, and based on these random numbers, a random translation vector corresponding to the random number is applied to the position of each first intermediate point, and a rotation corresponding to the random number is applied to the orientation of each first intermediate point.
[0183] In another example, random Gaussian noise is generated and added to each of the first intermediate points.
[0184] In another example, preset attitude perturbation information is obtained, and attitude perturbation information is applied to the attitude of each first intermediate point.
[0185] Optionally, all first path points except the last first path point are traversed in chronological order. For the current first path point, a preset interpolation step size is obtained, and the number of first interpolation points between the current first path point and the next first path point of the current first path point is calculated based on the preset interpolation step size.
[0186] For example, taking a preset interpolation step size as the time step size and an equal time step size as the interpolation method, the duration between the current first path point and the next first path point can be calculated, and the ratio of the duration to the time step size can be calculated. The comparison result is rounded to an integer to obtain the number of first interpolation points between the current first path point and the next first path point.
[0187] For example, taking a preset interpolation step size as the spatial step size and an interpolation method of equal arc length interval as an example, the distance between the current first path point and the next first path point can be calculated, and the ratio of the distance to the spatial step size can be calculated. The comparison result is rounded to an integer to obtain the number of first interpolation points between the current first path point and the next first path point.
[0188] Optionally, after obtaining the number of first interpolation points, the normalized interpolation parameters of each first interpolation point can be calculated by normalizing the calculation based on the number of first interpolation points.
[0189] For example, the normalized interpolation parameter tk of the kth first interpolation point can be calculated by referring to tk=k / (N+1). Where N is the number of first interpolation points, and k is a positive integer not exceeding N.
[0190] Optionally, after obtaining the normalized interpolation parameters of each first interpolation point, interpolation is performed between the current first path point and the next first path point of the current first path point using the normalized parameters of each first interpolation point to generate each first interpolation point.
[0191] Specifically, based on the normalized interpolation parameters of the first interpolation point, position-based linear interpolation is performed between the current first path point and the next first path point of the current first path point to obtain the position of the first interpolation point; based on the normalized interpolation parameters of the first interpolation point, attitude-based spherical linear interpolation is performed between the current first path point and the next first path point of the current first path point to obtain the attitude of the first interpolation point.
[0192] Optionally, taking a first interpolation point as an example, the position of the first interpolation point is generated by linear position interpolation (Lerp) based on the normalized interpolation parameters of the first interpolation point. This ensures that the end effector moves along an approximately straight line or a smooth curve, which is convenient for velocity and acceleration planning, and is computationally efficient and numerically stable.
[0193] For example, the position of the kth first interpolation point It can be calculated using the following formula (11): (11) in, For normalized interpolation parameters, This is the current position of the first path point. This indicates the location of the next first path point.
[0194] Optionally, taking a first interpolation point as an example, the attitude of the first interpolation point is generated by attitude spherical linear interpolation (Slerp) based on the normalized interpolation parameters of the first interpolation point. This can avoid gimbal lock, singular point jump and non-uniform rotation problems of Euler angle interpolation, and ensure that the angular velocity is continuous, the shortest path is achieved and there are no artifacts during the rotation process.
[0195] Specifically, the current singularity information of the robotic arm is determined based on the pose of the current first path point, the pose of the next first path point, and the normalized interpolation parameters of the first interpolation point; the time constraint parameters are calculated based on the current singularity information and the normalized interpolation parameters of the first interpolation point; and the pose of the first interpolation point is determined based on the pose of the current first path point, the time constraint parameters, and the pose of the next first path point.
[0196] For example, the initial interpolation pose is calculated based on the pose of the current first path point, the pose of the next first path point, and the normalized interpolation parameters of the first interpolation point. For details, please refer to the following formula (12): (12) in, For normalized interpolation parameters, , The pose of the current first path point. The pose of the next first path point. .
[0197] For example, the initial interpolation pose is obtained. Then, based on the initial interpolation pose And the Denavitt-Hatenberg parameters (DH parameters) or Unified Robot Description Format (URDF model) of the robotic arm are used to calculate the current Jacobian matrix of the robotic arm. And through the current Jacobian matrix of the robotic arm The current singularity information of the robotic arm is calculated. For details, please refer to the following formula (13): (13) Among them, when At that time, the robotic arm approached a strange pose.
[0198] For example, after obtaining the current singularity information of the robotic arm Then, through the preset singularity constraint function The time constraint parameters are calculated. For details, please refer to the following formulas (14)-(15): (14) (15) in, For the preset singularity threshold, This is the preset adjustment coefficient.
[0199] For example, the pose of the current first path point Time constraint parameters and the attitude of the next first path point The attitude of the first interpolation point is calculated using attitude spherical linear interpolation (Slerp). For details, please refer to the following formula (16): (16) By determining the current singularity information of the robotic arm, along with the normalized interpolation parameters of the first interpolation point, the time constraint parameters are calculated, thereby determining the posture of the first interpolation point. When the interpolation path approaches a singular configuration of the robotic arm (such as joint collinearity or degree-of-freedom degradation), the time constraint parameters are dynamically adjusted based on the singularity information. This automatically lengthens the interpolation time or reduces the angular velocity gradient in that segment, preventing inverse kinematics failure, joint overshoot, or severe shaking due to excessively rapid interpolation, thus ensuring motion stability. Furthermore, by introducing singularity-weighted time constraints, interpolation is no longer a purely geometric operation but generates a posture sequence that conforms to joint velocity / acceleration limits and can be stably tracked by the real-time motion controller, ensuring the physical executability of the interpolation results. In addition, singularity-sensitive interpolation can adaptively suppress redundant rotations around the unstable axis, ensuring the generated trajectory maintains motion stability under different pose changes, significantly enhancing the robustness of operations on objects with unknown configurations.
[0200] Optionally, the first initial starting point, each first path point, each first interpolation point, and the first target endpoint are sorted by time and used as the target sub-trajectory before contact.
[0201] In the process of generating target sub-trajectories, multiple intermediate points are first sampled from the initial sub-trajectory, and then perturbations are added to obtain multiple path points. The number of interpolation points and their normalization parameters are then calculated between each path point to generate the interpolation points. This process strictly constrains randomness to the geometric skeleton calibrated by pose transformation, avoiding semantic drift caused by directly applying perturbations to the original trajectory. It ensures that perturbations always occur within a reasonable spatial region for the task, maintaining the semantic integrity of the operation. Simultaneously, this approach allows for independent parameter tuning of each step, strong interpretability, and supports multi-target trajectory generation. For example, the same initial sub-trajectory can generate multiple target sub-trajectories with different styles but all satisfying physical feasibility through different perturbation seeds, providing high-quality, high-coverage target sub-trajectories for subsequent processing.
[0202] First, the pre-contact sub-trajectory is transformed using pose transformation information. Then, random perturbation is added and / or interpolation is performed to generate at least one pre-contact target sub-trajectory. This allows the sub-trajectory to be adapted to the new geometric configuration, ensuring the consistency of pose generalization. At the same time, it maintains the spatial semantic rationality of the perturbation, ensures the effectiveness and convergence of the interpolation premise, and guarantees the controllability and diversity of the obtained target sub-trajectory.
[0203] Based on the same inventive concept, this application also provides a trajectory information processing device corresponding to the trajectory information processing method. Since the principle of the device in this application is similar to the trajectory information processing method described above in this application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0204] Reference Figure 7 As shown, Figure 7 This is a schematic diagram of a trajectory information processing device provided in an embodiment of this application. The device includes: an acquisition module 701, a first determination module 702, a second determination module 703, and a division module 704; wherein, The acquisition module 701 is used to acquire the trajectory, which is a sequence of trajectories of the robotic arm operating on the object to be operated; The first determining module 702 is used to determine the geometric structure information of the object to be operated on. The geometric structure information includes at least the set of movable Gaussian points of the object to be operated on and the set of main body Gaussian points. The second determining module 703 is used to determine the joint center and joint direction of the object to be operated based on the geometric structure information of the object to be operated. The segmentation module 704 is used to segment the trajectory based on the joint center, joint direction and set of movable Gaussian points of the object to be operated, to obtain multiple stages of sub-trajectories. The multiple stages include at least: the contact stage between the robotic arm and the object to be operated and the non-contact stage between the robotic arm and the object to be operated.
[0205] Optionally, the second determining module 703 is specifically used for: Based on the set of movable Gaussian points and the set of main Gaussian points, the set of movable edges and the set of main edges of the object to be operated are constructed. The set of movable edges includes multiple movable edges connected in sequence, and the set of main edges includes multiple main edges connected in sequence. Based on the set of movable edges and the set of main edges, multiple candidate edge pairs are constructed, each candidate edge pair including one movable edge and one main edge. Joint pairings are determined from the candidate pairings, and the joint center and joint direction of the object to be operated are determined based on the joint pairings.
[0206] Optionally, the second determining module 703 is specifically used for: Calculate the distance and orientation parameters of each candidate edge pair, and calculate the joint adjacency score of each candidate edge pair based on the distance and orientation parameters. Joint pairings are determined based on the joint adjacency scores of each candidate pair.
[0207] Optionally, the second determining module 703 is specifically used for: Determine the number of candidate edge pairs with the highest joint adjacent scores; If the number is the first preset threshold, the candidate edge pair with the largest adjacent score of the joint is taken as the target edge pair; If the number exceeds the first preset threshold, the candidate edge pairs with the highest adjacent scores of each joint are taken as intermediate edge pairs, resulting in multiple intermediate edge pairs. The pairing score of each intermediate edge pair is calculated, and the joint pairing edge is obtained based on the pairing score of each intermediate edge pair.
[0208] Optionally, the second determining module 703 is specifically used for: Obtain the direction vector of the end effector corresponding to the middle edge pair and the set of target Gaussian points of the object to be operated on; The pairing score of the middle edge pair is calculated based on the target Gaussian point set, the joint adjacency score of the middle edge pair, and the direction vector of the end effector corresponding to the middle edge pair.
[0209] Optionally, the second determining module 703 is specifically used for: Calculate the midpoint of the joint pair to obtain the joint center, and calculate the unit direction vector of the movable edge in the joint pair to obtain the joint direction.
[0210] Optionally, module 704 is divided, specifically for: The trajectory is sampled to obtain a set of sampling points, which includes multiple sampling points; The sampling point set is sequentially traversed. For the current first sampling point, based on the position and orientation of the end effector of the robotic arm at the current first sampling point, the joint center and joint direction of the object to be operated, and the set of movable Gaussian points, it is determined whether the current first sampling point should be used as the first contact point between the robotic arm and the object to be operated. If so, the current first sampling point is used as the first contact point between the robotic arm and the object to be operated, the traversal ends, and the traversed sampling points are removed from the sampling point set. Determine the contact point pose set corresponding to each sampling point in the sampling point set. The contact point pose set includes the position and orientation of at least one contact Gaussian point on the object to be operated. Based on the set of sampling points, the set of contact point poses corresponding to each sampling point in the set of sampling points, the joint center of the object to be operated, and the joint direction, determine the first separation point between the robotic arm and the object to be operated. Based on the first contact point and the first separation point, the trajectory is divided into sub-trajectories of multiple stages.
[0211] Optionally, module 704 is divided, specifically for: The first distance error information is determined based on the position of the end effector of the robotic arm at the current first sampling point and the set of movable Gaussian points; The first posture error information is determined based on the posture of the end effector of the robotic arm at the current first sampling point, the joint center of the object to be operated, and the joint direction. If the first distance error information meets the first preset condition and the first posture error information meets the second preset condition, the current first sampling point is determined as the first contact point between the robotic arm and the object to be operated; otherwise, the current first sampling point is determined not to be the first contact point between the robotic arm and the object to be operated.
[0212] Optionally, module 704 is divided, specifically for: The sampling point set is sequentially traversed. For the current second sampling point, based on the position and orientation of the end effector of the robotic arm at the current second sampling point, the joint center and joint direction of the object to be operated, and the contact point pose set corresponding to each sampling point in the sampling point set, it is determined whether to take the current second sampling point as the first separation point between the robotic arm and the object to be operated. If so, the current second sampling point is taken as the first separation point between the robotic arm and the object to be operated, and the traversal ends.
[0213] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.
[0214] This application also provides an electronic device, such as... Figure 8 As shown, Figure 8 The schematic diagram of the electronic device structure provided in this application embodiment includes: a processor 801 and a memory 802, and optionally, a bus 803. The memory 802 stores machine-readable instructions executable by the processor 801. When the electronic device is running, the processor 801 and the memory 802 communicate through the bus 803, and the processor 801 executes the machine-readable instructions to perform the steps of the trajectory information processing method described above.
[0215] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the trajectory information processing method described above.
[0216] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some communication interfaces; the indirect coupling or communication connection of devices or modules can be electrical, mechanical, or other forms.
[0217] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes: USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.
[0218] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A trajectory information processing method, characterized in that, include: The trajectory is acquired, which is a sequence of trajectories by which the robotic arm operates on the object to be operated. Determine the geometric structure information of the object to be operated on, wherein the geometric structure information includes at least the set of movable Gaussian points and the set of main body Gaussian points of the object to be operated on. Based on the geometric structure information of the object to be operated on, determine the joint center and joint direction of the object to be operated on; Based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated, the trajectory is divided into multiple sub-trajectories, including at least: a contact phase between the robotic arm and the object to be operated and a non-contact phase between the robotic arm and the object to be operated.
2. The trajectory information processing method according to claim 1, characterized in that, The step of determining the joint center and joint direction of the object to be operated based on its geometric structure information includes: Based on the set of movable Gaussian points and the set of main Gaussian points, the set of movable edges and the set of main edges of the object to be operated are constructed. The set of movable edges includes multiple movable edges connected in sequence, and the set of main edges includes multiple main edges connected in sequence. Based on the set of movable edges and the set of main edges, multiple candidate edge pairs are constructed, each candidate edge pair including one movable edge and one main edge. Joint pairings are determined from the candidate pairings, and the joint center and joint direction of the object to be operated are determined based on the joint pairings.
3. The trajectory information processing method according to claim 2, characterized in that, The step of determining joint pairings from the candidate pairings includes: Calculate the distance and orientation parameters of each candidate edge pair, and calculate the joint adjacency score of each candidate edge pair based on the distance and orientation parameters. Joint pairings are determined based on the joint adjacency scores of each candidate pair.
4. The trajectory information processing method according to claim 3, characterized in that, The step of determining joint pairings based on the joint adjacency scores of each candidate edge pair includes: Determine the number of candidate edge pairs with the highest joint adjacent scores; If the number is a first preset threshold, the candidate edge pair with the largest joint adjacent score is taken as the target edge pair; If the number is greater than the first preset threshold, the candidate edge pairs with the largest adjacent scores of each joint are taken as an intermediate edge pair, resulting in multiple intermediate edge pairs. The pairing score of each intermediate edge pair is calculated, and the joint pairing edge is obtained based on the pairing score of each intermediate edge pair.
5. The trajectory information processing method according to claim 4, characterized in that, The calculation of the pairing score for each intermediate edge pair includes: Obtain the direction vector of the end effector corresponding to the middle edge pair and the set of target Gaussian points of the object to be operated on; The pairing score of the intermediate edge pair is calculated based on the target Gaussian point set, the joint adjacency score of the intermediate edge pair, and the direction vector of the end effector corresponding to the intermediate edge pair.
6. The trajectory information processing method according to claim 2, characterized in that, The step of determining the joint center and joint direction of the object to be operated based on the joint pairing includes: Calculate the midpoint of the joint pair to obtain the joint center, and calculate the unit direction vector of the movable edge in the joint pair to obtain the joint direction.
7. The trajectory information processing method according to claim 1, characterized in that, The trajectory is divided into multiple sub-trajectories based on the joint center, joint direction, and set of movable Gaussian points of the object to be operated on, including: The trajectory is sampled to obtain a set of sampling points, which includes multiple sampling points; The sampling point set is sequentially traversed. For the current first sampling point, based on the position and posture of the end effector of the robotic arm at the current first sampling point, the joint center and joint direction of the object to be operated, and the set of movable Gaussian points, it is determined whether the current first sampling point should be used as the first contact point between the robotic arm and the object to be operated. If so, the current first sampling point is used as the first contact point between the robotic arm and the object to be operated, the traversal ends, and the traversed sampling points are removed from the sampling point set. Determine the contact point pose set corresponding to each sampling point in the sampling point set, wherein the contact point pose set includes the position and orientation of at least one contact Gaussian point on the object to be operated; Based on the set of sampling points, the set of contact point poses corresponding to each sampling point in the set of sampling points, the joint center of the object to be operated, and the joint direction, the first separation point between the robotic arm and the object to be operated is determined. The trajectory is divided based on the first contact point and the first separation point to obtain multiple stages of sub-trajectories.
8. The trajectory information processing method according to claim 7, characterized in that, The step of determining whether to use the current first sampling point as the first contact point between the robotic arm and the object to be operated, based on the position and orientation of the end effector of the robotic arm at the current first sampling point, the joint center, joint direction, and set of movable Gaussian points of the object to be operated, includes: The first distance error information is determined based on the position of the end effector of the robotic arm at the current first sampling point and the set of movable Gaussian points; The first posture error information is determined based on the posture of the end effector of the robotic arm at the current first sampling point, the joint center of the object to be operated, and the joint direction. If the first distance error information meets the first preset condition and the first posture error information meets the second preset condition, the current first sampling point is determined as the first contact point between the robotic arm and the object to be operated; otherwise, the current first sampling point is determined not to be the first contact point between the robotic arm and the object to be operated.
9. The trajectory information processing method according to claim 7, characterized in that, The step of determining the first separation point between the robotic arm and the object to be operated based on the set of sampling points, the set of contact point poses corresponding to each sampling point in the set of sampling points, the joint center of the object to be operated, and the joint direction includes: The sampling point set is sequentially traversed. For the current second sampling point, based on the position and orientation of the end effector of the robotic arm at the current second sampling point, the joint center and joint direction of the object to be operated, and the contact point pose set corresponding to each sampling point in the sampling point set, it is determined whether to take the current second sampling point as the first separation point between the robotic arm and the object to be operated. If so, the current second sampling point is taken as the first separation point between the robotic arm and the object to be operated, and the traversal ends.
10. An electronic device, characterized in that, include: A processor and a memory, the memory storing machine-readable instructions executable by the processor, wherein when the electronic device is running, the processor executes the machine-readable instructions to perform the steps of the trajectory information processing method as described in any one of claims 1 to 9.