Differential kinematics control using conformal geometric entities modeling

By using conformal geometric solid modeling and differential kinematics control, the problem of high efficiency and low efficiency in pose control calculations of traditional mechanical actuator end effectors is solved, and efficient and accurate positioning of the end effector and the target object is achieved.

CN122274933APending Publication Date: 2026-06-26INTEL CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
INTEL CORP
Filing Date
2025-11-20
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Traditional mechanical actuator control systems have high computational requirements and low efficiency in end-efficiency actuator pose control, making it difficult to efficiently and accurately adjust the position and orientation of the end-efficiency actuator relative to the target object.

Method used

By employing conformal geometry solid modeling and utilizing conformal geometric algebra (CGA) for differential kinematic control, and by generating and revising control datasets, the joint angles of the robotic arm can be efficiently adjusted to achieve precise positioning of the end effector and the target object.

Benefits of technology

It improves the accuracy and efficiency of end effector pose control, reduces computational load, lowers power consumption, and enables faster task execution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122274933A_ABST
    Figure CN122274933A_ABST
Patent Text Reader

Abstract

A technique is disclosed to implement a mathematical framework for modeling mechanical actuators (e.g., robotic arms) and to compute the differential kinematics of an end effector represented by a circle in three-dimensional space, which is described as a double vector of conformal geometric algebra. Furthermore, by using a circle to describe the grasping posture on an object, a differential kinematics-based control scheme is implemented to guide the actuator and minimize the error between the end effector circle and the target circle. The circle has three degrees of freedom about the center, two degrees of freedom about the orientation, and one additional degree of freedom about the radius, which can be used to describe the posture of the end effector and simultaneously adjust the position and orientation using a differential kinematics-based control scheme law.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The aspects described herein generally relate to techniques for control systems, and more particularly to techniques for implementing control systems using components of mechanical actuators modeled with conformal geometric entities. Background Technology

[0002] Mechanical actuators (such as robotic arms) are commonly implemented in industrial and other settings to perform a variety of tasks involving manufacturing and / or semi-autonomous operations, such as clamping, cutting, drilling, grinding, deburring, welding, and polishing. To do this, a mechanical actuator typically includes an arm with one or more movable joints, and a device called an "end-effector," attached to the end of the arm to enable it to interact with its environment and perform such tasks. These end-effectors are also known as "end-of-arm tooling" (EOAT) or "manipulators." To perform such tasks, a control system is used to move the arm to a specific position and orientation (also known as posture) corresponding to the specific task to be performed. This often requires adjusting the movable joints so that the end-effector is in a specific position and orientation relative to the target object to be performed. However, traditional control schemes for controlling the movement of mechanical actuators in this way require significant computational power. Therefore, current techniques for end-effector posture control of such mechanical actuators remain inadequate. Attached Figure Description

[0003] The accompanying drawings, which are incorporated herein and form part of this specification, together with the specification, illustrate various aspects of this disclosure and further serve to explain the principles of these aspects and enable those skilled in the art to make and use these aspects.

[0004] Figure 1 A block diagram of an environment in which a task is performed using a mechanical brake according to the present disclosure is shown;

[0005] Figure 2A and 2B The representations of the end effector and the target object, which are modeled as conformal geometric entities including circles, are shown respectively.

[0006] Figure 3 A representation of a robotic arm including multiple movable joints and their corresponding axes of rotation is shown;

[0007] Figure 4 The process flow according to this disclosure is shown.

[0008] Exemplary aspects of this disclosure will be described with reference to the accompanying drawings. The first appearance of an element in the drawings is typically indicated by the leftmost one or more digits of the corresponding reference numeral. Detailed Implementation

[0009] Numerous specific details are set forth in the following description to provide a thorough understanding of various aspects of this disclosure. However, it will be apparent to those skilled in the art that these aspects, including structures, systems, and methods, can be implemented without these specific details. The descriptions and representations herein are a common means by which experienced or skilled individuals communicate the substance of their work to others of similar skill. In other instances, well-known methods, processes, components, and circuits have not been described in detail to avoid unnecessarily obscuring various aspects of this disclosure.

[0010] Furthermore, traditional solutions consistently fall short in controlling the mechanical actuation of robotic arms and their overall pose (including the pose of their end effectors for performing specific tasks). For example, some technologies have proposed integrating dual-quaternion-based vision controllers with grasping as a control scheme. Other approaches include implementing systems based on dual-network controllers, typically comprising a robotic system, a rough-reaching motion controller, and a corrective motion controller. Such rough-reaching motion controllers are generally implemented using pre-trained radial basis function (RBF) neural networks (NNs) consisting of multiple (e.g., 55) hidden nodes. Corrective motion controllers are typically constructed using Brain Emotional Nesting Networks (BENNs) and robust controllers. Additionally, a vision perception module has been proposed that effectively integrates a high-speed model-based 6D pose tracking system with an accurate learning-based 6D object pose localization method.

[0011] However, each of these traditional systems suffers from various shortcomings, which are addressed by control systems, as further described in this paper. For example, the aspects described here point to the use of conformal geometry-based control systems, which model the end effector and the target object according to conformal geometric entities (such as circles). In doing so, conformal geometry-based control systems, as described in further detail in this paper, offer a solution to the underconstrained inverse kinematics problem with both higher accuracy and efficiency than existing methods. This is achieved by leveraging the properties of geometric algebra, which identifies that a circle can be described as a double vector in conformal geometric algebra (CGA). Conformal geometry-based control systems involve the development of techniques for computing the differential kinematics of a circle, and the control scheme based on the circle's differential kinematics. This is done considering that the end effector can be modeled as a circle, and the target object can be grasped (or otherwise acted upon) from any position surrounding the target object by generating a circle of possible solutions. This control technique is particularly useful for grasping shapes with axisymmetric properties, which can be grasped from any position within the modeled end effector circle.

[0012] In contrast, traditional control systems, based on linear algebra and the Jacobian pseudoinverse, require 64 multiply-accumulate (MAC) operations to connect the two transformations. The conformal geometry-based control system, as described in this paper, is computationally more efficient, requiring only 16 MAC operations. Therefore, linear algebra-based control systems, considering the computational demands, may require hardware accelerators, increasing their cost and complexity. The conformal geometry-based control system, as further discussed in this paper, offers a more computationally efficient approach that can still optionally be combined with hardware acceleration to perform conformal operations, resulting in faster and lower-power solutions.

[0013] Therefore, the conformal geometry-based control system described in this paper recognizes that the desired end effector pose can be represented by conformal geometric entities (such as circles) rather than single points. In doing so, the proposed end effector and target object representations, as such conformal geometric entities, facilitate simultaneous solving for position and orientation, making it more efficient. Existing schemes attempt to approximate this behavior by generating hundreds of samples on the target circle and solving for each sample, selecting only the best from the sample set, which requires considerable time, computation, and power consumption. For example, when grasping a cylindrical object, the conformal geometry-based control system described in this paper eliminates one degree of freedom (DoF). This means the algorithm obtains the optimal solution from all valid possibilities, whereas traditional control systems need to solve for specific positions and orientations, potentially requiring many iterations to find the optimal position and orientation. The conformal geometry-based control system described in this paper also mathematically converges to the optimal position and orientation on the target circle with minimal error.

[0014] I. Environmental and Accompanying Control Systems

[0015] The control system described herein relates to a robotic arm that may have any suitable number of movable joints. However, these aspects are not limited to the use of a robotic arm, and the aspects described herein can be implemented to control any suitable type of mechanical actuator. When the robotic arm is controlled by this control system, each joint of the robotic arm can be individually controlled using generated control data, as further discussed herein, which then causes rotation of each joint to form a specific angle relative to rotation about the rotation axis of each joint. Therefore, the control system discussed herein facilitates a control scheme that adjusts the joint angles of an N-DOF robotic arm to achieve a target pose, determined by the position and orientation of the target object. Note that the pose of the robotic arm also determines the pose of its end effector, since the pose of the end effector is a function of the adjustment of the joint angles; and therefore, the pose of the end effector, as discussed herein, can be considered a function of the overall pose of the robotic arm. Furthermore, the term "pose," as used herein, can include both the position and orientation of a particular object (such as an end effector and a target object) in three-dimensional space.

[0016] Figure 1 A block diagram of an environment utilizing a conformal geometry-based control system as described herein is shown, which may optionally be simply referred to as a "control system" herein. Figure 1As shown, environment 100 supports any suitable number N of mechanical actuators 102, four of which are shown for ease of explanation. Environment 100 can be any suitable type of environment using mechanical actuators 102.1-102.N, such as a factory, warehouse, etc. As further discussed herein, mechanical actuators 102.1-102.N can have any suitable type of design configured to perform any suitable number of various tasks. Each of mechanical actuators 102.1-102.N can be configured to communicate with other components as part of this control system, as further discussed below. Figure 1 In the non-limiting and illustrative scenario shown, the mechanical actuators 102.1-102.N can be configured or otherwise implement their respective robotic arms.

[0017] Mechanical actuators 102.1-102.N can be manually operated by receiving control data, as discussed herein, or alternatively, operate autonomously or semi-autonomously in response to received control data. Mechanical actuators 102.1-102.N can be stationary or navigated within environment 100 to perform specific tasks using their respective end effectors 120.1-120.N. Such tasks can be assigned to mechanical actuators 102.1-102.N and / or autonomously identified by mechanical actuators 102.1-102.N while operating within environment 100. Mechanical actuators 102.1-102.N can be independently controlled by control systems as discussed herein, and any aspect of controlling the robotic arm described herein can be associated with the control of the robotic arm in any of the mechanical actuators 102.1-102.N.

[0018] The mechanical actuators 102.1-102.N may include any suitable number and / or type of sensors to enable perception of their surrounding environment and generation of any suitable type of feedback. This feedback may include the angles of the joints of their robotic arms, which may be generated via any suitable sensor (such as an encoder) integrated into the joints of the mechanical actuators 102.1-102.N. These sensors may also additionally or alternatively include any suitable type of camera (not shown) integrated as part of the mechanical actuators 102.1-102.N, and thus the feedback may include images acquired via such cameras. Additionally or alternatively, the environment 100 may include one or more cameras 103.1, 103.2, and in such a scenario, the feedback may include images acquired via these cameras.

[0019] The computing device 101, discussed in further detail below, can be implemented as any suitable type of computing device as discussed herein, configured to act as a controller and control the movement of the robotic arms of the mechanical actuators 102.1-102.N. The computing device 101 can process feedback data received from the mechanical actuators 102.1-102.N and / or cameras 103.1, 103.2 to identify the initial pose of the robotic arm of one of the controlled mechanical actuators 102.1-102.N, including the position and orientation (e.g., pose) of their respective end effectors 120.1-120.N. The computing device 101 can also determine the position and orientation (e.g., pose) of a target object 130, as indicated herein, to which the respective end effectors 120.1-120.N are to perform specific tasks.

[0020] To do this, computing device 101, mechanical actuators 102.1-102.N, and cameras 103.1, 103.2 can be configured to communicate with each other. To do this, computing device 101, mechanical actuators 102.1-102.N, and cameras 103.1, 103.2 can implement any suitable number and / or type of communication circuitry, such as wired communication circuitry and / or wireless radio frequency components, to facilitate the transmission and / or reception of any suitable type of data. This circuitry can be connected to… Figure 1 The transceiver 106 shown and discussed in further detail below is similar to, or in relation to, the computing device 101, the circuit can be identified with, transceiver 106.

[0021] Communication between computing device 101, mechanical actuators 102.1-102.N, and cameras 103.1, 103.2 can be facilitated by sending and / or receiving data via any suitable number and / or type of wired and / or wireless links, and can be done using any suitable type of communication protocol. For example, mechanical actuators 102.1-102.N and computing device 101 can be configured to communicate with each other via link 150.1-150.N, enabling computing device 101 to send control data to and receive feedback data from mechanical actuators 102.1-102.N, as discussed herein. Alternatively or concurrently, cameras 103.1, 103.2 and computing device 101 may be configured to communicate with each other via links 155.1, 155.2, enabling computing device 101 to receive images from cameras 103.1, 103.2, which may additionally or concurrently be used to calculate and send control data to mechanical actuators 102.1-102.N, as discussed herein.

[0022] Furthermore, computing device 101 can be equivalent to any suitable type of device that implements a conformal geometry-based control system as further discussed herein, and thus may alternatively be referred to herein as a controller. This conformal geometry-based control system can be executed via computing device 101, which can be integrated with one or more mechanical actuators 102.1-102.N to form part of a robotic system. Therefore, computing device 101 can be equivalent to any suitable type of device, such as a desktop computer, laptop computer, server computer, wireless device, user equipment (UE), mobile phone, tablet computer, wearable device, etc. Computing device 101 can be located in the same environment 100 as the mechanical actuators 102.1-102.N, or alternatively, computing device 101 can be located remotely from both the environment 100 and the mechanical actuators 102.1-102.N. In the latter case, computing device 101 can be implemented as a remote computing device, such as a server, a cloud-based computing device, etc.

[0023] The computing device 101 may include processing circuitry 104, which may be configured as any suitable number and / or type of computer processor and has the function of controlling the computing device 101 and / or other components of the computing device 101. Processing circuitry 104 may be equivalent to one or more processors (or suitable portions thereof) implemented by the computing device 101. Processing circuitry 104 may be equivalent to one or more processors, such as a host processor, microcontroller, digital signal processor, one or more microprocessors, central processing unit (CPU), graphics processor (such as a graphics processing unit GPU), baseband processor, microcontroller, application-specific integrated circuit (ASIC), part (or all) of a field-programmable gate array (FPGA), part (or all) of a system-on-a-chip (SoC), etc.

[0024] Processing circuitry 104 may be configured to execute instructions to perform arithmetic, logical, and / or input / output (I / O) operations, and / or control the operation of one or more components of computing device 101 to perform the various functions described herein. Processing circuitry 104 may include one or more microprocessor cores, memory registers, buffers, clocks, etc.; and may generate electronic control signals associated with components of computing device 101 to control and / or modify the operation of those components. Processing circuitry 104 may communicate with memory 108 and any other components of computing device 101 and / or control the functions associated with memory 108 and any other components of computing device 101. Therefore, processing circuitry 104 may control or cause other components to control mechanical actuators 102.1-102.N, as discussed herein, according to differential kinematics control schemes.

[0025] Transceiver 106 can be implemented as any suitable number and / or type of components configured to transmit and / or receive data and / or wireless signals according to any suitable number and / or type of communication protocols. Transceiver 106 may include any suitable type of components to facilitate this functionality, including components associated with the operation, configuration, and implementation of known transceivers, transmitters, and / or receivers. Although Figure 1 Transceiver 106 is described as a transceiver, but it may include any suitable number of transmitters, receivers, or combinations thereof that can be integrated into a single transceiver or serve as multiple transceivers or transceiver modules. Transceiver 106 may include components generally equivalent to an RF front end and may include antennas, ports, power amplifiers (PAs), RF filters, mixers, local oscillators (LOs), low-noise amplifiers (LNAs), up-converters, down-converters, channel tuners, etc. Therefore, transceiver 106 may be configured with any suitable number and / or type of components configured to facilitate receiving and / or transmitting data and / or signals according to one or more communication protocols. Transceiver 106 may be implemented with any suitable number and / or type of components to support wireless communication, such as analog-to-digital converters (ADCs), digital-to-analog converters (DACs), intermediate frequency (IF) amplifiers and / or filters, modulators, demodulators, baseband processors, etc.

[0026] Memory 108 is configured to store data and / or instructions such that, when executed by processing circuitry 104, it causes electronic device 101 to perform various functions, such as monitoring and / or controlling arbitrary mechanical actuators 102.1-102.N, as discussed in further detail herein, according to a conformal geometry-based control system providing differential kinematic control schemes. Memory 108 can be implemented as any suitable type of volatile and / or non-volatile memory, including read-only memory (ROM), random access memory (RAM), flash memory, magnetic storage media, optical disk, erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), etc.

[0027] Memory 108 may be non-removable, removable, or both. Memory 108 may be implemented as a non-transitory computer-readable medium storing one or more executable instructions (such as logic, algorithms, code, etc.). The instructions, logic, code, etc., stored in memory 108 are represented by the various modules shown. Processing circuitry 104 may execute the instructions stored in memory 108, represented by the various modules and discussed further below, to enable the functional implementation of any techniques described herein.

[0028] The initial control data module 109 can store computer-readable instructions that, when executed by the processing circuitry 104, enable the processing circuitry 104 to generate an initial control dataset, which can then be sent to any mechanical actuator 102.1-102.N to control its robotic arm. As further discussed herein, this initial control dataset can cause each joint of the robotic arm to be adjusted to a specific calculated angle, resulting in the end effector having the desired pose.

[0029] The improved control data module 111 stores computer-readable instructions that, when executed by the processing circuit 104, enable the processing circuit 104 to modify the initial control dataset and generate a revised control dataset. The revised control dataset can further adjust the angles of the robotic arm's joints based on the initial adjustments made according to the initial control dataset. Therefore, and as further discussed herein, the initial control dataset can cause one of the mechanical actuators 102.1-102.N to move the robotic arm to a new pose by adjusting the angle of one of its joints. Then, the revised control dataset can be generated based on feedback received regarding the angles at each joint of the robotic arm when it moves to that new pose. As a result, the revised control dataset, based on feedback received from the mechanical actuators 102.1-102.N, the cameras on the robotic arm, and cameras 103.1 and 103.2, can correct the adjustments made to the angles formed by each joint of the robotic arm.

[0030] II. Define conformal geometric entities for differential kinematics

[0031] Figure 2A and Figure 2B This paper illustrates a control system according to the present disclosure, in which the end effector and target object are modeled as conformal geometric entities. As discussed herein, the control system generates control data that adjusts the joint angles of the robotic arm and, in doing so, guides the end effector to the target object according to a specific pose, enabling the performance of a particular task. It is noted that conventional algorithms perform vision-guided grasping by controlling the position and orientation of the end effector independently. However, by using a single conformal geometric primitive (i.e., a conformal geometric entity such as a circle) to model both the end effector and the target object, the position and orientation of both can be considered simultaneously. Such a geometric primitive can be efficiently represented by a double vector of conformal geometric algebra (CGA). Additional details are now provided for an illustrative scenario in which the CGA is implemented as part of the control system to model the kinematics and differential kinematics of a 7-DOF robotic arm and to express the differential kinematics of the circle of the end effector. In this way, a control scheme based on the differential kinematics of a circle is realized to guide the robotic arm to a desired target pose.

[0032] Therefore, and as further detailed below, the end effector of the robotic arm (which can be equivalent to one of end effectors 120.1-120.N) in Figure 2A The middle is shown as including the first circle z p The conformal geometric entity, while the target object is in Figure 2B The middle is shown as including the second circle z t Conformal geometric entities. It should be noted that, for Figure 2A and Figure 2B Both, end effector circle z p z-axis of the target object t All are shown to have a three-dimensional annular shape. However, it should be noted that this depiction is provided for ease of interpretation, and the end effector circle z p z-axis of the target object t Both can be understood as representing conformal geometric entities as defined by the known CGA definition, and are essentially contained in a circular "wireframe" that occupies a single plane in their respective cases.

[0033] Therefore, and as discussed in further detail herein, the control system implemented by computing device 101 can generate control data to adjust the respective angles of one or more movable joints of a particular controlled robotic arm. This control data (which may include initial and revised control data as discussed herein) is intended to adjust the pose of the robotic arm to guide the actuator circle z. p The center and the target object circle z t The center is aligned. In this way, the control data serves to guide the end effector to the target position and orientation aligned with the target object, based on the specific task to be performed. However, the use of conformal geometric solid modeling, as described in this paper, allows for a more efficient, more accurate (due to revisions to the control data), and less computationally intensive calculation of the solution.

[0034] Therefore, it is prudent to provide more details regarding the various definitions given in the CGA field. To this end, it should first be noted that geometric algebra G... 4,1 It can be used to express conformal geometry in an efficient way. For example, the same equation was used to demonstrate Euclidean vector space. How The space is represented by {e1,e2,e3,e4,e5}. It has an orthonormal vector basis given by {e1,e2,e3,e4,e5}, and its Clifford product property is shown in Table 1.

[0035] Table 1

[0036] Regarding Table 1, e ij =e i ∧ej It is a double vector basis, and therefore e 23 e 31 and e 12 It is the Hamiltonian basis. The unit is the Euclidean pseudoscalar I. e Pseudo-scalar I c And the double vector E is defined as:

[0037] I e :=e1∧e2∧e3, Equation 1

[0038] E:=e4∧e5=e4e5, Equation 2

[0039] I c :=I e ∧E=I e E-type 3

[0040] Table 2 below also shows the representation of conformal geometric entities according to CGA.

[0041] Table 2

[0042]

[0043] III. Differential Kinematics of Circles in Conformal Geometric Algebra (CGA)

[0044] In conformal geometric algebra, the forward kinematics of the end effector circle is given by (the following equation):

[0045]

[0046] Regarding equation 4, term z p This refers to an end effector that is modeled as a conformal geometric entity including a circle, as mentioned above. Figure 2A The notation indicated is used, and the notation shown in Table 2 is adopted. Term M represents the motor operator according to motor algebra, which is related to the end effector circle z. p Perform a three-dimensional (3D) rigid body transformation. Therefore, the term z′ p This indicates that the end effector is modeled as a circle z. p The forward kinematics of a conformal geometric entity. The subscript i is used to define the number of movable joints of the controlled robotic arm, which corresponds to its degrees of freedom. Figure 3 This is further explained in detail, showing two views of the robotic arm controlled via a control system as described herein. Therefore, and as... Figure 3 As shown in the figure, the end effector circle z is illustrated. p This corresponds to the conformal geometric representation of the end effector before the motion transformation of the end effector. Figure 3(left side); while z′ p The pose of the end effector after transformation by the motion operator represents the conformal geometric representation of the end effector. Figure 3 (on the right side). In order to implement the use of conformal geometry as part of the control system, the axis corresponding to each joint of the robotic arm (about which each joint rotates to form a respective angle as discussed in this paper) is represented in the forward kinematic solution by its respective line L. i In addition, each line is defined as a double vector of conformal geometry (see Table 1).

[0047] From Equation 4, the expression for the differential kinematics can be obtained through the total differential of Equation 4, as follows:

[0048]

[0049] Regarding Equation 5, we now introduce a term q, which represents the angle at each joint of the robotic arm as indicated above. Furthermore, each term in the summation is about q. j The product of two functions, and therefore differentiated, yields:

[0050]

[0051] And because

[0052]

[0053] Differentiation of the motor operator

[0054]

[0055] Therefore, the partial differential of the product of motor operators can be expressed as follows:

[0056]

[0057] Similarly, Item The derivative can be obtained

[0058]

[0059] And the differential of the product is therefore expressed as:

[0060]

[0061] By substituting equations 7 and 8 into equation 6, we obtain:

[0062]

[0063] By definition, the product of two double vectors It is given by the following formula:

[0064]

[0065] Therefore, due to L and z p Since it is a double vector, using Equation 10, Equation 9 can be simplified, and Equation 9 can be rewritten as follows:

[0066]

[0067] The product of i = [1, j-1] and i = [j, n] is equal to the product of u = [1, n]. Furthermore, for Equation 11 can be written as:

[0068]

[0069] Using the equations from direct kinematics in Equation 4, Equation 12 can be simplified as follows:

[0070]

[0071] The equations for the forward kinematics of a circle in CGA also apply to line i, and therefore line L', transformed from line L, can be defined using Equation 4, as follows:

[0072]

[0073] Thus, the simplified expression for the differential kinematics can be obtained as follows:

[0074]

[0075] Therefore, and regarding equation 15, dz′ p This represents the contribution of the motion of all joints of the robotic arm to the movement of the end effector circle to the target pose for alignment with the target object circle, as each (circle) discussed herein is modeled as a conformal geometric entity. Furthermore, this alignment may include the center of the end effector circle coinciding with the center of the target object circle. In other words, computing device 101 can compute an initial control dataset by evaluating the value of Equation 15, where the value of Equation 15 is based on the initial orientation and position of each end effector and target object modeled as a conformal geometric entity comprising a circle in three-dimensional space.

[0076] Therefore, dz′ p The differential kinematic solution that can represent the conformal geometric representation of the end effector circle, which is represented by z′ in Equation 15. p This solution involves summing the motions of all joints in the robotic arm to move the end effector circle to a pose where the center of the end effector circle coincides with the center of the target object circle. That is, j represents the index of the number of one or more movable joints n in the robotic arm, L′j The line representing the transformation based on the rotation axes of one or more movable joints n of the robotic arm, and dq j Let q represent the differential, which indicates the angle q of each of the movable joints n of the robotic arm. j How to change so that the center of the end effector circle coincides with the center of the target circle. Therefore, the summation includes calculations for each joint angle q. j The change in the joint angle dq j Multiply by the product of each of their two double vectors, one of which is equivalent to the end effector circle z′. p The other double vector is equivalent to the transformed line L′ of each joint. j .

[0077] In this way, Equation 15 represents a differential kinematic solution, where the right-hand side describes the changes in the joint angles of the robotic arm, and the left-hand side describes how the pose of the end effector circle changes in three-dimensional space due to the changes in joint angles. Equation 15 allows the computing device 101 to determine the set of joint angles formed at each point of the robotic arm's joints, which, when these joints are driven, cause the center of the end effector circle to coincide with the center of the target object circle. Therefore, the processing circuit 104 can execute instructions stored in the initial control data module to generate an initial control dataset by calculating the value of Equation 15 according to the initial poses of the end effector circle and the target circle in three-dimensional space.

[0078] Once Equation 15 is evaluated in this way to determine the set of joint angles of the robotic arm, computing device 101 can then generate an initial control dataset by translating this set of joint angles into appropriate instructions to be sent to the currently controlled mechanical actuators 102.1-102.N. This causes the robotic arm to move to a new position designed to align and coincide with the center of the end effector circle and the target circle. In other words, the initial control dataset aims to move the end effector circle to have the same center as the target object circle. And because the end effector and the target object are modeled as conformal geometric entities such as circles, evaluating Equation 15 in this way allows the end effector circle and the target circle to be simultaneously aligned in position and orientation.

[0079] Therefore, computing device 101 can use any suitable technique to determine the initial pose of the end effector of the controlled robotic arm and the target object. In some non-limiting and exemplary scenarios, computing device 101 may receive encoder data from the robotic arm, indicating the current angle of each joint of the robotic arm. Computing device 101 may also receive or otherwise have access to positional information regarding the position and orientation of the robotic arm within environment 100. Such information may be received via mechanical actuators 102.1-102.N, or alternatively, may represent predetermined information for a stationary mechanical actuator. Computing device 101 can then combine the positional information with the encoder data to derive the pose of the end effector in three-dimensional space, which can be used to model the end effector as a conformal geometric entity including a circle, as discussed herein.

[0080] As another non-limiting and exemplary scenario, computing device 101 may receive images of a controlled robotic arm via one or more cameras (such as cameras 103.1, 103.2) within environment 100. Alternatively or additionally, the robotic arm may have cameras mounted thereon, for example, near end effector 120 (not shown). Thus, computing device 101 can utilize any combination of images acquired from the robotic arm cameras and / or cameras 103.1, 103.2 to determine the pose of a target object in three-dimensional space, which can be used to model the target object as a conformal geometric entity including circles, as discussed herein.

[0081] IV. Kinematic Control and Error Reduction

[0082] As noted above, the value of Equation 15 can be calculated to compute the initial control dataset, which fully utilizes the differential kinematic solution to attempt to move the end effector circle so that its center coincides with the center of the target object circle. This section describes the application of an additional robot kinematic control, which can be combined with the initial control dataset described above to provide an overall control scheme. The techniques described in this section aim to minimize or at least reduce errors in the initial control dataset. Therefore, the techniques described in this section can be implemented by executing instructions stored in the improved control data module 111 via processing circuitry 104 to modify the initial control dataset and thereby generate a revised control dataset to control the robot arm and guide the end effector circle to the target circle, as discussed herein. When the revised control dataset is translated and sent to the robot arm, the joint angles of the movable joints that were previously moved to their current angle via the initial control dataset are further adjusted according to a loss function. Additionally, the control scheme discussed herein can generate the revised control dataset by minimizing a defined loss function, which can be minimized using any suitable technique (which may include the use of gradient descent). Therefore, the revised control dataset can represent updated joint angles, which include an "incremental (delta)" angle value between the current angle and the target angle for each joint, which serves to minimize or at least reduce the error between the center point of the overlapping end effector circle and the center point of the target object circle, as discussed further in this paper.

[0083] The control scheme discussed in this section is defined first based on the orientation of the end effector and then on its position to produce a single control scheme that simultaneously considers the position and orientation (i.e., its pose) of the end effector. Furthermore, this kinematic control can be expressed as a loss function that advantageously allows for the adjustment of the initial joint angle q using optimization techniques such as gradient descent. In this way, the revised control dataset serves to adjust the q value established via the initial control dataset to minimize (or at least reduce) the error. This error can be defined as the difference between the end effector pose and the target pose, which causes the center of the end effector circle to not coincide with the center of the target circle. As noted herein, the term "pose" includes both position and orientation, and therefore the error is expressed as the difference between the pose of the end effector circle and the target circle; similarly, the joint angle is adjusted to simultaneously reduce errors in position and orientation. This error can therefore be based on any suitable type of feedback, which allows for the determination of the position and orientation of the identified end effector circle and target circle after the robot arm has been moved according to the initial control dataset. Furthermore, the feedback may represent encoder data from the joints of the robotic arm, camera images from cameras mounted on the robotic arm and / or environmental cameras (such as cameras 103.1, 103.2), etc.

[0084] The error, which can be defined according to the loss function, can therefore be expressed as follows:

[0085]

[0086] Regarding equation 16, E o Z represents the error. t To reiterate, the target object circle is a conformal geometric entity, and Z... p Let E represent the end effector circle, which describes the robot arm pose defined by the joint angle q. This relates to the forward kinematics equations given in Equation 4 above. Therefore, Equation 16 can represent the error regarding the difference in pose between the end effector circle and the target object circle after the robot arm has been moved according to the initial control dataset. Furthermore, the position and orientation of the end effector circle and the target object circle can be determined using any suitable feedback, such as encoder data from the robot arm joints, images acquired from cameras on the robot arm and / or cameras in the environment 100 (such as cameras 103.1, 103.2). Therefore, to adjust the joint angle q to minimize the error E... o The partial derivatives are calculated as follows:

[0087]

[0088] Furthermore, in the preceding section, Equation 15 describes the rotation axis L. i Differential kinematics Therefore, equation 17 can be rewritten as follows:

[0089]

[0090] In other words, taking the partial derivative of the error with respect to the angles between the joints aims to minimize the error as a function of the change in joint angles. Furthermore, this minimization can be performed via gradient descent, including techniques known to be used for this purpose. As a non-limiting and exemplary scenario, a refined control dataset, as discussed herein, can be generated by minimum search control, where the adjusted joint angles are determined to be proportional to the gradient of the error.

[0091] To create a control scheme for the position of the end effector, the error given by the difference between the positions of the end effector circle and the target circle can be calculated according to Equation 19 below, as follows:

[0092]

[0093] Regarding equation 19, P t This represents the target position of the target object (i.e., the target circle), and X... p This indicates the position of the end effector (end effector circle). Therefore, X pIt also represents the center of the end effector circle, and therefore can be replaced by including the ball S. p The conformal geometric entity, the sphere S p It has a center located at the center of the end effector circle, which is represented as:

[0094] S p =Z p / π p Formula 20

[0095] Regarding equation 20, π p Indicates by The plane of the end effector circle is given. Then, the error can be rewritten as:

[0096]

[0097] As a result of adjusting the joint angle q, the error E p The minimization can now be rewritten as:

[0098]

[0099] Differential kinematics of point and ball To calculate, and therefore equation 22 can be simplified to:

[0100]

[0101] Furthermore, equations 17 and 23 can be combined because these are double vectors and vectors, respectively; and this combination is achieved by adding a control gain η. o and η p This represents the weighted sum, which gives the gain of the control scheme, as follows:

[0102]

[0103] Furthermore, by reorganizing these items:

[0104]

[0105] Then, the control scheme for updating the joint angle is given by (the following formula):

[0106]

[0107] It should be noted that the control gain η o and η p This can be considered similar to the learning rate used in neural networks. Therefore, the control gain can be set using any suitable technique, including known techniques and / or techniques typically defined according to machine learning. Regarding Equation 24, and P t Indicates ball S tThe center of the circle allows Equation 24 to be represented based on the circle. Therefore, Equation 24 represents a control law or control scheme evaluated by a computing device (such as executing instructions stored in the improved control data module 111 via processing circuitry 104) to reduce an error defined as the difference in pose between the end effector circle and the target object circle. Regarding Equation 24, the left-hand side term Δq... i This represents how the joint angle changes between consecutive states, i.e., the "increment" between the future joint angle and the current joint angle. It should be noted that this is a function of the error between the end effector circle and the target object circle, as discussed above. Therefore, after identifying the poses of the end effector circle and the target object circle, the computing device 101 can calculate the value of Equation 24 to determine the error as the difference between their poses, and in response, calculate the future joint angle as a function minimizing this error.

[0108] Therefore, minimizing this error in this way ensures that the centers of the end effector circle and the target object circle coincide with each other, in relation to satisfying any suitable and acceptable distance threshold condition. Thus, the computing device 101 can iteratively calculate the value of Equation 25 as part of the generation of the revised control dataset until the error is determined to be minimized, or alternatively, until the threshold condition is satisfied. In other words, although the computing device 101 may aim to minimize the error between the centers of the coincident end effector circle and the target object circle, this minimization is not strictly necessary for some applications; and therefore, the computing device 101 may stop the iterative process of generating the revised control dataset when the distance threshold condition between the centers of the end effector circle and the target object circle is reached, even if this does not necessarily minimize the error. These aspects may be particularly useful when the amount of error is known to be acceptable, which can be based on specific tasks and applications.

[0109] Therefore, as discussed with respect to Equation 15, the initial control dataset can represent the set of all joint angles of the robotic arm to be controlled, with the aim of moving the end effector circle so that its center coincides with the center of the target object circle. Subsequently, the revised control dataset can be generated iteratively according to Equation 24, with the aim of minimizing the error by using the loss function shown in Equation 16. In this way, the computing device 101 can iteratively generate the revised control dataset by taking the value of Equation 24 on a joint-by-joint basis until the error is minimized or at least reduced. As a result, when the computing device 101 translates the revised control dataset into a set of joint angles, it can ensure that the robotic arm is guided to the target object in an efficient and accurate manner.

[0110] V. Processing Flow

[0111] Figure 4 The processing flow according to this disclosure is shown. Regarding Figure 4 Process 400 can be manual, fully automatic, or partially automatic. When fully automatic or partially automatic, any part or all of process 400 can be implemented as computer-implemented processing executed by one or more processors and / or otherwise associated with one or more processors. These processors can be associated with one or more computing units, which are equivalent to any suitable computing device, such as a computing device or manufacturing component configured to perform such functions. In some non-limiting and exemplary scenarios, the computing device can be equivalent to computing device 101 as discussed herein. Thus, according to these scenarios, processing circuitry 104 can execute instructions stored in memory 108 to perform any part of processing flow 400. Processing flow 400 may include, for brevity purposes, instructions not included in the memory. Figure 4 The optional or additional steps shown are available and can be pressed with... Figure 4 The steps shown are performed in a different order.

[0112] Process 400 may begin by calculating (block 402) the current pose of the robotic arm, as discussed herein, which may be based on any suitable type of feedback data regarding the position of the robotic arm, the angles of the joints, the shape and position of the end effector, etc. Furthermore, such feedback data may include encoder data and / or images of the robotic arm and the end effector, as discussed herein. The calculation of the current pose of the robotic arm may also include calculating (block 402) the initial position and orientation of the end effector. The calculation of the current pose of the robotic arm (block 402) may also include modeling the end effector as a conformal geometric entity comprising a circle, which may have a center aligned with the geometry of the end effector when the position and orientation of the end effector are calculated.

[0113] Process 400 may include calculating (block 404) the target pose of the robotic arm, as discussed herein, which may be calculated based on any suitable type of feedback data regarding the position of the target object. Furthermore, such feedback data may include an image of the target object, as discussed herein. The calculation of the target pose of the robotic arm may also include calculating (block 404) the position and orientation of the target object and the corresponding target pose, such that the center of the end effector circle coincides with the center of the target object circle, as discussed herein. Therefore, the calculation of the target pose of the robotic arm (block 404) may also include modeling the target object as a conformal geometric entity comprising a circle, which may have a center aligned with the geometry of the target object when the position and orientation of the target object are calculated.

[0114] Process 400 may further include generating (block 406) an initial control dataset to control the robotic arm to adjust joint angles and thus move the robotic arm from the current pose to a target pose. This may include computing device 101 generating the initial control dataset via the evaluation of Equation 15, as discussed above.

[0115] Process 400 may further include modifying (block 408) the initial control dataset to generate a revised control dataset by adjusting the joint angles of the robotic arm. This may include, for example, the computing device 101 further adjusting the joint angles from those calculated in the initial control dataset according to minimizing a loss function, as discussed herein with respect to equations 16 and 24.

[0116] Process 400 may further include controlling (block 410) the robotic arm using a revised control dataset to further adjust the joint angles of the robotic arm. This may include, for example, the computing device 101 translating the revised control dataset into appropriate joint control commands and then sending these commands to the robotic arm. In response, the joint angles of the robotic arm are further adjusted to guide the end effector circle toward the target object circle until the center of the end effector circle coincides with the target object circle, as discussed herein.

[0117] It is understood that, in this context, the end effector circle and the target object circle can be aligned with each other by controlling the joint angles using both the initial and revised control datasets. That is, in each case, the centers of each circle can be determined to be aligned with each other, provided that any suitable and acceptable distance threshold condition is met. However, it will be understood that the revised control dataset can be improved based on the accuracy of the alignment between the end effector circle and the target object circle, and thus, as noted in this paper, the centers of the two circles can be brought closer together by minimizing the loss function.

[0118] VI. General Operation of Computing Devices

[0119] A computing device is provided. The computing device includes: a memory configured to store computer-readable instructions; and processing circuitry configured to execute the computer-readable instructions to cause the computing device to: calculate a current pose of a robotic arm including one or more movable joints and an end effector modeled as including a first conformal geometry comprising a first circle; calculate a target pose in which the robotic arm is to be positioned relative to a target object to perform a task, the target object being modeled as including a second conformal geometry comprising a second circle; and control the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle. Additionally, or alternatively, and in any combination with the optional features explained above, the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm to move from the current pose to the target pose using differential kinematics. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm by simultaneously calculating the position and orientation of the first circle and the second circle. The value of z′ generates the initial control dataset to control the robotic arm. p Let dz′ be the conformal geometric representation of the first circle. p Let L' be the differential kinematic solution of the conformal geometric representation of the first circle, including the summation of the motions of the first circle that cause the center of the first circle to coincide with the center of the second circle, j represents the index of the number of one or more movable joints n of the robotic arm, and L' is the number of joints. j Let dq represent the transformation lines based on the rotation axes of one or more movable joints n of the robotic arm. j The derivative represents the angle q of one or more movable joints n of the robotic arm. jThe changes are varied to cause the center of the first circle to coincide with the center of the second circle. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the processing circuitry is configured to execute the computer-readable instructions to modify the initial control dataset to generate a revised control dataset for controlling the robotic arm. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the processing circuitry is configured to execute the computer-readable instructions to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints according to minimizing a loss function.

[0120] VII. General Operation of Non-Transient Computer-Readable Media

[0121] A non-transitory computer-readable medium is provided. This non-transitory computer-readable medium is configured to store instructions thereon that, when executed by processing circuitry of a robot controller, cause the robot controller to: calculate a current pose of a robotic arm, the robotic arm including one or more movable joints and an end effector modeled as including a first conformal geometric entity comprising a first circle; calculate a target pose in which the robotic arm is to be positioned relative to a target object to perform a task, the target object being modeled as including a second conformal geometric entity comprising a second circle; and control the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle. Furthermore, or alternatively, and in any combination with the optional features explained above, the instructions, when executed by processing circuitry of the robot controller, cause the robot controller to control the robotic arm to move from the current pose to the target pose using differential kinematics. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, when executed by the processing circuitry of the robot controller, the instruction causes the robot controller to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, when executed by the processing circuitry of the robot controller, the instruction causes the robot controller to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the instruction causes the robot controller to control the robotic arm by simultaneously calculating the position and orientation of the first circle and the second circle. The value of z′ generates the initial control dataset to control the robotic arm. p Let dz′ be the conformal geometric representation of the first circle. pLet L' be the differential kinematic solution of the conformal geometric representation of the first circle, including the summation of the motions of the first circle that cause the center of the first circle to coincide with the center of the second circle, j represents the index of the number of one or more movable joints n of the robotic arm, and L' is the number of joints. j Let dq represent the transformation lines based on the rotation axes of one or more movable joints n of the robotic arm. j The derivative represents the angle q of one or more movable joints n of the robotic arm. j The instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to modify the initial control dataset to generate a revised control dataset for controlling the robotic arm, either by changing the center of the first circle to coincide with the center of the second circle or by arbitrarily combining the optional features explained above in this paragraph. Alternatively, and in any combination with the optional features explained above in this paragraph, the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to generate the revised control dataset by adjusting each of the respective joint angles of the one or more movable joints according to minimizing a loss function.

[0122] VIII. General Operation of Robot Systems

[0123] A robotic system is provided. The robotic system includes: a robotic arm comprising one or more movable joints and an end effector; and a controller configured to control the robotic arm by: calculating a current pose of the robotic arm; modeling the end effector as a first conformal geometric entity including a first circle; calculating a target pose in which the robotic arm is to be placed at a target location to perform a task; modeling the target location as a second conformal geometric entity including a second circle; and calculating control data to move the robotic arm from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints, such that the center of the first circle coincides with the center of the second circle. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the controller is configured to control the movement of the robotic arm from the current pose to the target pose using differential kinematics. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the controller is configured to control the movement of the robotic arm from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the controller is configured to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints. Additionally, or alternatively, and in any combination with the optional features explained above in this paragraph, the controller is configured to control the robotic arm by calculating... The value of z′ generates the initial control dataset to control the robotic arm. p Let dz′ be the conformal geometric representation of the first circle. p Let L' be the differential kinematic solution of the conformal geometric representation of the first circle, including the summation of the motions of the first circle that cause the center of the first circle to coincide with the center of the second circle, j represents the index of the number of one or more movable joints n of the robotic arm, and L' is the number of joints. j Let dq represent the transformation lines based on the rotation axes of one or more movable joints n of the robotic arm. j The derivative represents the angle q of one or more movable joints n of the robotic arm. j The controller is configured to modify the initial control dataset to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function, thereby controlling the robotic arm. This is achieved through variations that cause the center of the first circle to coincide with the center of the second circle. Additionally, or alternatively, and in any combination with the optional features explained earlier in this paragraph, the controller is configured to modify the initial control dataset to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

[0124] Example

[0125] The following examples illustrate various techniques disclosed herein.

[0126] Example (e.g., Example 1) points to a computing device including: a memory configured to store computer-readable instructions; and processing circuitry configured to execute the computer-readable instructions to cause the computing device to: calculate a current pose of a robotic arm including one or more movable joints and an end effector modeled as including a first conformal geometry of a first circle; calculate a target pose in which the robotic arm is to be placed relative to a target object to perform a task, the target object being modeled as including a second conformal geometry of a second circle; and control the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle.

[0127] Another example (e.g., Example 2) relates to the previously described example (e.g., Example 1), wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm to move from the current pose to the target pose using differential kinematics.

[0128] Another example (e.g., Example 3) relates to the examples described above (e.g., one or more of Examples 1-2), wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

[0129] Another example (e.g., Example 4) relates to the examples described above (e.g., one or more of Examples 1-3), wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints.

[0130] Another example (e.g., Example 5) relates to the previously described examples (e.g., one or more of Examples 1-4), wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm by generating an initial control dataset through evaluating the following expression:

[0131] in:

[0132] z′ p This represents the conformal geometric representation of the first circle.

[0133] dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given.

[0134] j represents the index of the number of the one or more movable joints n of the robotic arm.

[0135] L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and

[0136] dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

[0137] Another example (e.g., Example 6) relates to the examples described above (e.g., one or more of Examples 1-5), wherein the processing circuitry is configured to execute the computer-readable instructions to modify the initial control dataset to generate a revised control dataset for controlling the robotic arm.

[0138] Another example (e.g., Example 7) relates to the previously described examples (e.g., one or more of Examples 1-6), wherein the processing circuitry is configured to execute the computer-readable instructions to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

[0139] Example (e.g., Example 8) points to a non-transitory computer-readable medium configured to store instructions thereon that, when executed by the processing circuitry of a robot controller, cause the robot controller to: calculate a current pose of a robotic arm, the robotic arm including one or more movable joints and an end effector modeled as including a first conformal geometry comprising a first circle; calculate a target pose in which the robotic arm is to be positioned relative to a target object to perform a task, the target object being modeled as including a second conformal geometry comprising a second circle; and control the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle.

[0140] Another example (e.g., Example 9) relates to the previously described example (e.g., Example 8), wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to use differential kinematics to control the robotic arm to move from the current pose to the target pose.

[0141] Another example (e.g., Example 10) relates to the examples described above (e.g., one or more of Examples 8-9), wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

[0142] Another example (e.g., Example 11) relates to the previously described examples (e.g., one or more of Examples 8-10), wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints.

[0143] Another example (e.g., Example 12) relates to the previously described examples (e.g., one or more of Examples 8-11), wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to control the robotic arm by generating an initial control dataset by evaluating the following formula:

[0144] in:

[0145] z′ p This represents the conformal geometric representation of the first circle.

[0146] dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given.

[0147] j represents the index of the number of the one or more movable joints n of the robotic arm.

[0148] L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and

[0149] dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

[0150] Another example (e.g., Example 13) relates to the examples described above (e.g., one or more of Examples 8-12), wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to modify the initial control dataset to generate a revised control dataset for controlling the robotic arm.

[0151] Another example (e.g., Example 14) relates to the examples described above (e.g., one or more of Examples 8-13), wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

[0152] Example (e.g., Example 15) points to a robotic system comprising: a robotic arm including one or more movable joints and an end effector; and a controller configured to control the robotic arm by: calculating a current pose of the robotic arm; modeling the end effector as a first conformal geometry including a first circle; calculating a target pose in which the robotic arm is to be placed at a target location to perform a task; modeling the target location as a second conformal geometry including a second circle; and calculating control data to move the robotic arm from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle.

[0153] Another example (e.g., Example 16) relates to the previously described example (e.g., Example 15), wherein the controller is configured to use differential kinematics to control the robotic arm to move from the current pose to the target pose.

[0154] Another example (e.g., Example 17) relates to the examples described above (e.g., one or more of Examples 15-16), wherein the controller is configured to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

[0155] Another example (e.g., Example 18) relates to the examples described above (e.g., one or more of Examples 15-17), wherein the controller is configured to control the robotic arm using an initial control dataset that indicates each of the respective joint angles of the one or more movable joints.

[0156] Another example (e.g., Example 19) relates to the previously described examples (e.g., one or more of Examples 15-18), where the controller is configured to control the robotic arm by generating an initial control dataset by evaluating the following expression:

[0157] in:

[0158] z′ p This represents the conformal geometric representation of the first circle.

[0159] dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given.

[0160] j represents the index of the number of the one or more movable joints n of the robotic arm.

[0161] L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and

[0162] dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

[0163] Another example (e.g., Example 20) relates to the previously described examples (e.g., one or more of Examples 15-19), wherein the controller is configured to modify an initial control dataset to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function, thereby controlling the robotic arm.

[0164] Example (e.g., Example 21) points to a computing device including: a memory configured to store computer-readable instructions; and a processing manner for executing the computer-readable instructions such that the computing device: calculates a current pose of a robotic arm including one or more movable joints and an end effector modeled as including a first conformal geometry of a first circle; calculates a target pose in which the robotic arm is to be placed relative to a target object to perform a task, the target object being modeled as including a second conformal geometry of a second circle; and controls the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle.

[0165] Another example (e.g., Example 22) relates to the previously described example (e.g., Example 21), wherein the processing executes the computer-readable instructions to control the robotic arm to move from the current pose to the target pose using differential kinematics.

[0166] Another example (e.g., Example 23) relates to the previously described examples (e.g., one or more of Examples 21-22), wherein the processing executes the computer-readable instructions to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

[0167] Another example (e.g., Example 24) relates to the previously described examples (e.g., one or more of Examples 21-23), wherein the processing executes the computer-readable instructions to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints.

[0168] Another example (e.g., Example 25) relates to the previously described examples (e.g., one or more of Examples 21-24), wherein the processing executes the computer-readable instructions to control the robotic arm by generating an initial control dataset through evaluating the following expression:

[0169] in:

[0170] z′ p This represents the conformal geometric representation of the first circle.

[0171] dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given.

[0172] j represents the index of the number of the one or more movable joints n of the robotic arm.

[0173] L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and

[0174] dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

[0175] Another example (e.g., Example 26) relates to the examples described above (e.g., one or more of Examples 21-25), wherein the processing executes the computer-readable instructions to modify the initial control dataset to generate a revised control dataset to control the robotic arm.

[0176] Another example (e.g., Example 27) relates to the previously described examples (e.g., one or more of Examples 21-26), wherein the processing executes the computer-readable instructions to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

[0177] Example (e.g., Example 28) points to a non-transitory computer-readable medium configured to store instructions thereon that, when executed by a robot controller-mode processing method, cause the robot controller to: calculate a current pose of a robotic arm including one or more movable joints and an end effector modeled as including a first conformal geometry of a first circle; calculate a target pose in which the robotic arm is to be placed relative to a target object to perform a task, the target object being modeled as including a second conformal geometry of a second circle; and control the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle.

[0178] Another example (e.g., Example 29) relates to the previously described example (e.g., Example 28), wherein the instructions, when executed by the processing mode of the robot controller mode, cause the robot controller mode to use differential kinematics to control the robotic arm to move from the current pose to the target pose.

[0179] Another example (e.g., Example 30) relates to the previously described examples (e.g., one or more of Examples 28-29), wherein the instructions, when executed by the processing mode of the robot controller mode, cause the robot controller mode to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

[0180] Another example (e.g., example 31) relates to the previously described examples (e.g., one or more of examples 28-30), wherein the instructions, when executed by the processing mode of the robot controller mode, cause the robot controller mode to control the robotic arm using an initial control dataset, the initial control dataset indicating each of the respective joint angles of the one or more movable joints.

[0181] Another example (e.g., Example 32) relates to the previously described examples (e.g., one or more of Examples 28-31), wherein the instructions, when executed by the processing mode of the robot controller, cause the robot controller mode to control the robotic arm by generating an initial control dataset by evaluating the following expression:

[0182] in:

[0183] z′ p This represents the conformal geometric representation of the first circle.

[0184] dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given.

[0185] j represents the index of the number of the one or more movable joints n of the robotic arm.

[0186] L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and

[0187] dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

[0188] Another example (e.g., example 33) relates to the examples described above (e.g., one or more of examples 28-32), wherein the instructions, when executed by the processing mode of the robot controller mode, cause the robot controller mode to modify the initial control dataset to generate a revised control dataset to control the robotic arm.

[0189] Another example (e.g., example 34) relates to the previously described examples (e.g., one or more of examples 28-33), wherein the instructions, when executed by the processing mode of the robot controller, cause the robot controller mode to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

[0190] Example (e.g., Example 35) points to a robotic system comprising: a robotic arm including one or more movable joints and an end effector; and a controller manner for controlling the robotic arm by: calculating a current pose of the robotic arm; modeling the end effector as a first conformal geometry including a first circle; calculating a target pose in which the robotic arm is to be placed at a target location to perform a task; modeling the target location as a second conformal geometry including a second circle; and calculating control data to move the robotic arm from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints to guide the center of the first circle to coincide with the center of the second circle.

[0191] Another example (e.g., Example 36) relates to the previously described example (e.g., Example 35), wherein the controller mode uses differential kinematics to control the robotic arm to move from the current pose to the target pose.

[0192] Another example (e.g., example 37) relates to the examples described above (e.g., one or more of examples 35-36), wherein the controller mode controls the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

[0193] Another example (e.g., example 38) relates to one or more of the previously described examples (e.g., examples 35-37), wherein the controller mode controls the robotic arm using an initial control dataset that indicates each of the respective joint angles of the one or more movable joints.

[0194] Another example (e.g., example 39) relates to the previously described examples (e.g., one or more of examples 35-38), where the controller method controls the robotic arm by generating an initial control dataset by evaluating the following expression:

[0195] in:

[0196] z′ p This represents the conformal geometric representation of the first circle.

[0197] dz′ pThe differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given.

[0198] j represents the index of the number of the one or more movable joints n of the robotic arm.

[0199] L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and

[0200] dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

[0201] Another example (e.g., Example 40) relates to the examples described above (e.g., one or more of Examples 35-39), wherein the controller modifies the initial control dataset to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing the loss function, thereby controlling the robotic arm.

[0202] An apparatus as shown and described.

[0203] One method is shown and described.

[0204] End

[0205] The embodiments described herein are examples and not limitations, and other embodiments may be implemented. For example, various devices (e.g., AMR and / or central controller) may perform specific functions and / or execute specific algorithms and / or instructions. These executable instructions and / or the tasks they generate may include additional embodiments, independent of the specific components that perform these processes / tasks, regarding the manner or method of performing them.

[0206] The foregoing description of the specific aspects so fully reveals the general nature of this disclosure that others can readily modify and / or adapt the specific aspects to various applications by applying knowledge of the art, without excessive experimentation and without departing from the general concepts of this disclosure. Therefore, based on the teachings and instructions presented herein, such adaptations and modifications are intended to be within the meaning and scope of equivalents of the disclosed aspects. It is to be understood that the wording or terminology used herein is for descriptive purposes and not for limitation, such that the terminology or terminology in this specification should be interpreted by a person skilled in the art based on the teachings and instructions.

[0207] The use of terms such as "an aspect," "one aspect," and "an exemplary aspect" in the specification indicates that the described aspect may include a particular feature, structure, or characteristic, but not every aspect must include that particular feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same aspect. Moreover, when a particular feature, structure, or characteristic is described in relation to an aspect, it is assumed that the influence of other aspects on that feature, structure, or characteristic is within the knowledge of a person skilled in the art, whether explicitly stated or not.

[0208] The exemplary aspects described herein are provided for illustrative purposes and are not intended to be limiting. Other exemplary aspects are possible, and modifications may be made to the exemplary aspects. Therefore, this specification is not intended to limit this disclosure. Rather, the scope of this disclosure is defined only by the following claims and their equivalents.

[0209] An aspect can be implemented in hardware (e.g., circuitry), firmware, software, or any combination thereof. An aspect can also be implemented as instructions stored on a machine-readable medium that can be read and executed by one or more processors. A machine-readable medium can include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium can include read-only memory (ROM); random access memory (RAM); disk storage media; optical storage media; flash memory devices; electrical, optical, acoustic, or other forms of propagation signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others. Furthermore, firmware, software, routines, and instructions can be described herein as performing certain operations. However, it should be understood that these descriptions are for convenience only, and these actions are actually produced by the computing device, processor, controller, or other device executing the firmware, software, routines, instructions, etc. Moreover, any variation in implementation can be performed by a general-purpose computer.

[0210] For the purposes of discussion, the term "processor circuit" or "processor circuit" should be understood as a circuit, processor, logic, or a combination thereof. For example, a circuit may include analog circuits, digital circuits, state machine logic, other structured electronic hardware, or a combination thereof. A processor may include a microprocessor, a digital signal processor (DSP), or other hardware processor. A processor may be "hard-coded" with instructions to perform functions corresponding to the aspects described herein. Alternatively, a processor may access internal and / or external memory to retrieve instructions stored in memory that, when executed by the processor, perform corresponding functions associated with the processor, and / or one or more functions and / or operations related to the operation of components containing the processor.

[0211] In one or more exemplary aspects described herein, the processing circuitry may include memory storing data and / or instructions. The memory may be any well-known volatile or non-volatile memory, including, for example, read-only memory (ROM), random access memory (RAM), flash memory, magnetic disk storage media, optical disk, erasable programmable read-only memory (EPROM), and programmable read-only memory (PROM). The memory may be non-removable, removable, or a combination of both.

Claims

1. A computing device, comprising: Memory, configured to store computer-readable instructions; as well as Processing circuitry is configured to execute the computer-readable instructions to cause the computing device to: Calculate the current pose of the robotic arm, which includes one or more movable joints and an end effector modeled as a first conformal geometric entity including a first circle; Calculate the target pose of the robotic arm to be placed relative to a target object to perform the task, wherein the target object is modeled as a second conformal geometric entity including a second circle; as well as By adjusting the joint angles of the one or more movable joints, the robotic arm is controlled to move from the current pose to the target pose, so as to guide the center of the first circle to coincide with the center of the second circle.

2. The computing device of claim 1, wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm to move from the current pose to the target pose using differential kinematics.

3. The computing device of claim 1, wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the positions and orientations of the first circle and the second circle.

4. The computing device of any one of claims 1-3, wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm using an initial control dataset, the initial control dataset indicating each of the respective joint angles of the one or more movable joints.

5. The computing device of claim 1, wherein the processing circuitry is configured to execute the computer-readable instructions to control the robotic arm by generating an initial control dataset through evaluating the following expression: in: z′ p This represents the conformal geometric representation of the first circle. dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given. j represents the index of the number of the one or more movable joints n of the robotic arm. L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and dq j The derivative represents how the angles qj of each of the one or more movable joints n of the robotic arm change such that the center of the first circle coincides with the center of the second circle.

6. The computing device of claim 4, wherein the processing circuitry is configured to execute the computer-readable instructions to modify the initial control dataset to generate a revised control dataset for controlling the robotic arm.

7. The computing device of claim 6, wherein the processing circuitry is configured to execute the computer-readable instructions to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

8. A non-transitory computer-readable medium configured to store instructions thereon that, when executed by the processing circuitry of a robot controller, cause the robot controller to: Calculate the current pose of the robotic arm, which includes one or more movable joints and an end effector modeled as a first conformal geometric entity including a first circle; Calculate the target pose of the robotic arm to be positioned relative to a target object to perform the task, the target object being modeled as a second conformal geometric entity including a second circle; and By adjusting the joint angles of the one or more movable joints, the robotic arm is controlled to move from the current pose to the target pose, so as to guide the center of the first circle to coincide with the center of the second circle.

9. The non-transitory computer-readable medium of claim 8, wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to use differential kinematics to control the robotic arm to move from the current pose to the target pose.

10. The non-transitory computer-readable medium of claim 8, wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the positions and orientations of the first circle and the second circle.

11. The non-transitory computer-readable medium according to any one of claims 8-10, wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to control the robotic arm using an initial control dataset, the initial control dataset indicating each of the respective joint angles of the one or more movable joints.

12. The non-transitory computer-readable medium of claim 8, wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to control the robotic arm by generating an initial control dataset by calculating the value of the following expression: in: z′ p This represents the conformal geometric representation of the first circle. dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given. j represents the index of the number of the one or more movable joints n of the robotic arm. L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and dq i The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

13. The non-transitory computer-readable medium of claim 11, wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to modify the initial control dataset to generate a revised control dataset for controlling the robotic arm.

14. The non-transitory computer-readable medium of claim 13, wherein the instructions, when executed by the processing circuitry of the robot controller, cause the robot controller to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function.

15. A robot system, comprising: A robotic arm, comprising one or more movable joints and an end effector; as well as The controller is configured to control the robotic arm as follows: Calculate the current pose of the robotic arm; The end effector is modeled as a first conformal geometric entity including a first circle; Calculate the target pose in which the robotic arm should be placed to perform the task; The target location is modeled as a second conformal geometric entity including a second circle; as well as Calculate control data to enable the robotic arm to move from the current pose to the target pose by adjusting the respective joint angles of the one or more movable joints, so as to guide the center of the first circle to coincide with the center of the second circle.

16. The robot system of claim 15, wherein the controller is configured to use differential kinematics to control the robotic arm to move from the current pose to the target pose.

17. The robot system of claim 15, wherein the controller is configured to control the robotic arm to move from the current pose to the target pose by simultaneously calculating the position and orientation of the first circle and the second circle.

18. The robot system of any one of claims 15-17, wherein the controller is configured to control the robotic arm using an initial control dataset indicating each of the respective joint angles of the one or more movable joints.

19. The robot system of claim 15, wherein the controller is configured to control the robotic arm by generating an initial control dataset by evaluating the following expression: in: z′ p This represents the conformal geometric representation of the first circle. dz′ p The differential kinematic solution representing the conformal geometric representation of the first circle, including the summation of the motion of the first circle that causes the center of the first circle to coincide with the center of the second circle, is given. j represents the index of the number of the one or more movable joints n of the robotic arm. L′ j The transformation lines represent the rotation axes of each of the one or more movable joints n of the robotic arm, and dq j The derivative represents the angle q of each of the one or more movable joints n of the robotic arm. j How to change so that the center of the first circle coincides with the center of the second circle.

20. The robot system of claim 18, wherein the controller is configured to modify the initial control dataset to generate a revised control dataset by adjusting each of the respective joint angles of the one or more movable joints in accordance with minimizing a loss function, thereby controlling the robotic arm.