SYSTEM AND METHOD FOR IMPLEMENTING CONTROL TECHNOLOGIES WITH POSITION-SYNCHRONOUS OUTPUT (PSO)

DE112022006648T5Pending Publication Date: 2025-01-30MICRO CONTRÔLE SPECTRA PHYSICS
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112022006648
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-02-16
Filing Date
2022-12-22
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Conventional motion control systems using servo motors face limitations in generating and transmitting position data signals at high frame rates, restricting the speed and resolution of actuators in position-synchronized output (PSO) applications, leading to potential position errors and signal degradation.

Method used

A control system comprising a primary node controller and secondary node controllers that perform data compression on encoder feedback from actuators, generating and transmitting hybrid position data packets to overcome the limitations of conventional servo drives, allowing for higher actuator speed and encoder resolution by synchronizing position-dependent characteristics across multiple actuators.

Benefits of technology

The system enables higher actuator speeds and finer motion resolution in PSO applications by effectively processing and transmitting position feedback signals, reducing position errors and enhancing the overall performance of motion control systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

The invention relates to a control system (200) for controlling a device (202) which is intended to perform an operation on a workpiece based on a spatial relationship between the device and the workpiece, wherein the spatial relationship is adjustable using at least one drive (204), wherein the system has a primary node controller (206') which is communicatively coupled to the device, and at least one secondary node controller (206") which is communicatively coupled to the primary node controller (206').Each secondary node controller (206") is configured to: receive encoder feedback from the drive (204), wherein the encoder feedback represents the position of a mechanical load assigned to a drive of the at least one drive (204); execute a data compression algorithm on the encoder feedback to encode the encoder feedback; generate data packets representing the encoder feedback; and transmit the data packets. The primary node controller (206') can receive and decode the data packets and control the operation of the device based on the decoded data packets.
Need to check novelty before this filing date? Find Prior Art

Description

DESCRIPTION TITLE OF THE INVENTION: SYSTEM AND METHOD FOR IMPLEMENTING POSITION-SYNCHRONIZED OUTPUT (PSO) CONTROL TECHNIQUES Technical field of the invention The embodiments of the present invention relate to systems and methods for implementing control techniques involving a position-synchronized output (PSO). Technical context Position-shifting (PSO) techniques are used in motion control systems to generate a PSO trigger signal that is synchronized to the feedback position of one or more actuators (e.g., driven by a servomotor). The PSO trigger signal typically serves as a trigger to cause a laser to emit a laser pulse (or to activate another device). Servomotors generally include a position feedback mechanism such as a quadrature rotary encoder (i.e., a type of incremental encoder) that generates quadrature feedback signals emulating the motor switching signals associated with the servomotor, with the addition of an indexing pulse. See, for example, Figure 1, where the OUTA and OUTB waveforms represent the emulated motor switching signals and the OUTZ waveform represents the indexing pulse.Quadrature feedback signals are output to a servo controller, which processes the OUTA, OUTB, and OUTZ waveforms to determine the encoder shaft position. The servo controller generates a single multi-bit data word (typically at least 28 bits, also called a "position data unit") representing the encoder shaft position relative to a reference position (typically a "home" position determined at startup). The servo controller transmits the position data unit as a position data packet embedded in a position feedback signal to a motion control device designed to implement the PSO technique. Servo control circuits have a maximum frequency response, which limits the speed at which position data signals can be generated and transmitted. Combined with the application speed, this frequency response imposes a practical upper limit on the resolution that a given motion system and encoder can provide. In this case, the maximum frequency response of the servo control is The resolution is proportional to the servomotor speed (e.g., measured in m / s) divided by the encoder resolution (e.g., measured in nm). Therefore, for a given application using a PSO technique (hereafter a "PSO application"), a compromise must be found between the servomotor speed and the encoder resolution to avoid exceeding the maximum frequency response of the servo drive. Otherwise, position errors and degradation of the position feedback signal may occur. However, some PSO applications (those implementing laser processing, for example) would benefit from high servomotor speeds and high encoder resolution, requiring servo drives capable of generating position data signals at higher rates than conventional techniques. Summary of the invention In one embodiment, the invention describes a control system for controlling a device intended to perform an operation on a workpiece on the basis of a spatial relationship between the device and the workpiece, wherein the spatial relationship can be adjusted using at least one actuator, the control system comprising a primary node controller communicatively coupled to the device, wherein the primary node controller is adapted to control the operation of the device, and at least one secondary node controller communicatively coupled to the primary node controller.According to one embodiment of the present invention, at least one secondary node controller (or each secondary node controller) is adapted to: receive encoder feedback from the actuator, the encoder feedback representing the position of a mechanical load associated with one of the at least one actuators; perform a data compression algorithm on the encoder feedback to encode the encoder feedback; generate data packets representing the encoder feedback; and transmit the data packets. According to one embodiment of the present invention, the primary node controller is further adapted to receive the data packets, decode the data packets, and control the operation of the device, taking into account, at least in part, the decoded data packets. According to one embodiment of the present invention, the control system further comprises the device. According to one embodiment of the present invention, the device includes at least one element selected from the group consisting of a laser and a sensor. According to one embodiment of the present invention, the control system further comprises at least one actuator. According to one embodiment of the present invention, at least one actuator includes a linear actuator. According to one embodiment of the present invention, at least one actuator is mechanically coupled to the workpiece. According to one embodiment of the present invention, the control system further comprises a plurality of secondary node controllers. According to one embodiment of the present invention, the control system further comprises a plurality of actuators. Brief description of the figures Figure 1 is a diagram illustrating the waveforms of emulated motor switching signals for a quadrature encoder; Figure 2 schematically illustrates a control system for processing workpieces according to certain embodiments of the present invention; Figure 3 is an interfunctional flowchart illustrating an example of a process in which a PSO application can be executed, according to certain embodiments of the present invention; Figure 4 is a timing diagram explaining, among other things, the informational content of a hybrid position data packet carried by a position feedback signal according to one embodiment; Figure 5 is a timing diagram explaining how signals transmitted on different lines of a communication link can be synchronized according to one embodiment; Figure 6 is a flowchart illustrating an example of a process in which the position of an actuator corresponding to a secondary node controller can be determined, according to one embodiment. Detailed description of the invention Examples of embodiments are described below with reference to the attached figures. Unless expressly stated otherwise, in the drawings the dimensions, positions, etc., of the components, features, elements, etc., as well as any distances between them, are not necessarily to scale, but are exaggerated for clarity. The terminology used in this booklet is intended only to describe examples of particular embodiments and is not meant to be exhaustive. The singular articles "a," "an," "the," and "a" also include their plural forms, unless otherwise clearly indicated by the context. It is understood that, in this booklet, the terms "includes / comprise" and / or "comprising" indicate the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. Unless otherwise stated, a quoted range of values ​​includes both the upper and lower limits of that range, as well as any subinterval between them. Unless otherwise stated, terms such as "first," "second," etc.Their sole purpose is to distinguish one element from another. For example, a node might be called the "first node," and similarly, another node might be called the "second node," and vice versa. The headings below are used for organizational purposes only and should not be interpreted as limiting the scope of the subject matter. Unless otherwise stated, the terms "about", "approximately" and similar mean that quantities, sizes, formulations, parameters, and other values ​​and characteristics need not be exact, but may be approximate and / or higher or lower, depending on the situation, taking into account tolerances, conversion factors, rounding, measurement errors and other factors known to the person skilled in the art. Terms denoting relationships in space, such as "below," "under," "lower," "above," and the like, may be used in this booklet to facilitate the description of the relationship of one element or feature to another element or feature illustrated in the figures. It will be accepted that the terms Describing relationships in space does not exclude orientations other than the one shown in the figures. For example, if an object shown in the figures is illustrated upside down, elements described as being "below" or "under" other elements or features would then be oriented "above" those other elements or features. Thus, the term "below" can encompass both the notions of "below" and "above." An object may have a different orientation (for example, rotated 90 degrees or in other orientations), and the descriptive terms for relationships in space can be interpreted accordingly. Identical numbers refer to identical elements. Thus, identical or similar numbers may be mentioned with reference to certain drawings even if they do not appear in the drawing itself. Furthermore, it is also possible for elements without reference numbers to be described with reference to other drawings. It goes without saying that many different forms and embodiments are possible without departing from the spirit and teachings of the present invention, and that the invention cannot be limited to the examples of embodiments described in this booklet. Rather, the purpose of these examples and embodiments is to provide a rigorous and complete disclosure of the invention in order to communicate to those skilled in the art a description of its full scope. I. Embodiments relating to a system for processing machined parts, generalities Figure 2 schematically illustrates a control system for processing workpieces according to certain embodiments of the present invention. With reference to Figure 2, a workpiece processing system, such as system 200, is configured to perform an application implementing a position-synchronized output (PSO), whereby the operation of a tool (or device) 202 is controlled taking into account the feedback position of one or more actuators 204a, 204b, 204c, 204n (referred to generically and collectively as "an actuator" or "actuators" 204). Tool 202 can be implemented in the form of a laser, an optical shutter, a camera, a sensor, an ultrasonic transducer, or something similar. Therefore, an operation that can be performed by tool 202 may include: the emission of a laser pulse (e.g., when the tool is a laser), the transmission of light (e.g., when the tool is an optical shutter), image capture (e.g. when the tool is a camera), data acquisition (e.g. when the tool is a sensor), triggering a non-destructive test (e.g. when the tool is an ultrasonic transducer) and the like. An actuator 204, generally speaking, can move the tool 202 relative to the workpiece or move the workpiece relative to the tool 202. Thus, an actuator 204 can be provided in the form of a motorized stage, a moving-coil stage, piezoelectric stages, or similar components, suitable for moving the workpiece or the tool. Specific examples of such stages include linear stages, rotary stages, hexapod platforms, and the like. If the tool 202 is a laser, the actuator 204 can modify the path along which the laser pulse propagates (hereinafter referred to as the "propagation path"). In this case, the actuator 204 can be implemented in the form of a galvanometer mirror, a polygonal mirror, or the like.To facilitate the explanation of the embodiments described below, an actuator 204 is understood to be any suitable or known combination of components including a certain type of motor capable of imparting motion (e.g., an electric motor, a moving coil, a piezoelectric flexible device, etc.) and a sensing device (e.g., an encoder) that provides feedback (e.g., in the form of a feedback signal) for determining position, totality, velocity, direction, or the like. According to the embodiments described in this booklet, the encoder may be any suitable encoder, such as an AquadB incremental encoder, an analog sin / cos incremental encoder, or the like. Various actuators 204 can generally be arranged and configured to impart motion along different axes, or along a common or parallel axis. In this case, the actuators 204 typically undergo synchronized actuation (using any suitable or known motion control technique) to ensure the desired movement of the workpiece, tool, and / or propagation path in one or more spatial dimensions. In general, the system 200 includes a system control device 201 and a plurality of node controllers 206a, 206b,..., 206n (collectively referred to as "a node controller" or "node controllers" 206), in which each node controller 206 is communicatively coupled to a corresponding actuator 204. Although Figure 2 illustrates an embodiment of a system 200 with "n" sets of actuators 204 and node controllers 206 (n being (an integer greater than three), it will be understood that the system 200 may only include two or three sets of actuators 204 and node controllers 206. The system control device 201 is configured to define how the tool 202 and the actuators 204 are actuated to perform or execute a PSO application with respect to a workpiece. Therefore, the system control device 201 executes any suitable or known motion control technique to define how any actuator 204 is actuated to move the workpiece, the tool 202, and / or the propagation path (e.g., if the tool 202 is a laser). The system control device 201 can also define how the tool 202 is actuated (e.g., based on a spatial relationship between the tool 202 and the workpiece) to perform the PSO application.The system control device 201 can be any known or suitable control device capable of generating and transmitting device commands according to one or more protocols such as EtherCAT, Profinet, EtherNET / IP, Powerlink, SERGOS III, Modbus TCP, CC-Link IE, or similar. The system control device 201 can be communicatively coupled to a motion machine interface (MMI) 203 (e.g., via a network 205) that allows a user to interact with the system 200 in a manner known in art. Alternatively, the MMI can be integrated into the system control device 201. The device commands delivered by the system control device 201 are transmitted to the node controllers 206 via one or more communication links 207, which may be wired or wireless, serial or parallel. Although the communication links 207 of the system 200 are illustrated as a network with a linear topology, it will be understood that the communication links 207 can be rearranged according to any other suitable or desired network topology (e.g., tree, ring, star, etc.). Each node controller 206 is communicatively coupled (e.g., via one or more wired or wireless, serial or parallel communication links, in a manner known in the art) to a corresponding actuator 204. Furthermore, each node controller 206 is configured to control the operation of its corresponding actuator 204 (e.g., in response to receiving a device command, as described above). For example, node controller 206a is configured to control the operation of actuator 204a (as indicated by arrow 208 between the two), and node controller 206b is also configured to control the operation of actuator 204b, and so on. Each node controller 206 can be provided in the form of any known or suitable device (e.g., a servomotor, etc.) capable of driving an actuator 204 in response to device commands delivered as output by the system control device 201. In addition, each node controller 206 can include one or more processors and tangible media (e.g., computer memory) accessible to the processor(s), to implement the function of a primary node controller 206' or a secondary node controller 206” (both described in more detail below), depending on whether the tool 202 to be actuated according to a PSO application is communicatively coupled to it or not. A processor can be implemented in the form of a programmable processor (in the sense of, for example, one or more computer processors, microprocessors, digital signal processors, or other common computing devices, or any combination thereof) capable of executing instructions to implement the functions of the primary node controller 206' and the secondary node controller 206” described below. Instructions executable by the processor(s) can be implemented in software, firmware, etc., or in any suitable form of circuitry, including programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), field-programmable object arrays (FPOAs), application-specific integrated circuits (ASICs) – including digital, analog, and mixed analog / digital circuits – or similar, or any combination thereof. Instruction execution may occur on a single processor, be distributed across multiple processors, in parallel across processors in a device or network of devices, or similarly, or in any combination thereof. "Computer memory" means magnetic media (e.g., magnetic tape, hard disk drive, etc.).), optical discs, volatile or non-volatile semiconductor memories (e.g., RAM, ROM, NAND flash memory, NOU flash memory, SONOS memory, etc.), and others, which can be accessed locally or remotely (e.g., via a network), or a combination thereof. Generally, instructions can be stored in the form of computer software (e.g., executable code, executable files, executable instructions, etc., library files, etc.) that can be easily created by a person skilled in the art from the descriptions provided in this booklet, for example, written in C, C++, Visual Basic, Java, Python, Tel, Perl, Scheme, Ruby, etc. in assembly language, in hardware description language (e.g. VHDL, VERILOG, etc.), etc. Computer software is commonly stored in one or more data structures carried by computer memory. Any actuator 204 can transmit data or information, such as a feedback signal (e.g., conveying information deduced from a feedback position of the actuator, as will be described in more detail below), to its corresponding node controller 206, as indicated by the arrows 210 between them. If a node controller 206 is communicatively coupled to a tool intended to be actuated in response to a PSO trigger signal, such as tool 202, then this node controller 206 will be designated the "primary node controller" (and will, for example, bear the reference 206'). Otherwise, a node controller 206 will be designated the "secondary node controller" (and will, for example, bear the reference 206'). Thus, in the example embodiment illustrated in Figure 2, node controller 206a can be considered a primary node controller (bearing the reference 206') and node controllers 206b, 206c, ..., 206n can each be considered a secondary node controller 206'. During the execution of a PSO application according to embodiments of the present invention, the generation of a PSO trigger signal at the primary node controller 206' is synchronized with (i.e., conditioned by) position feedback signals output by one or more of the secondary node controllers 206”. The operation of the primary node controller 206' synchronized with the secondary node controller(s) 206” is facilitated by the transmission of data over communication links 212 (e.g., each provided in the form of one or more wired or wireless, serial or parallel communication links, in a manner known from the art). In one embodiment, the communication link 212 is provided in the form of an Ethernet patch cable (e.g., terminated with RJ45 connectors). II. Embodiments relating to PSO application execution processes As mentioned above, the rate at which servo drives generate and transmit position data signals is limited, which imposes constraints on the actuator drive speed and / or the encoder resolution. Therefore, and as will be described in more detail below, embodiments of the present invention make it possible to overcome the constraints typically imposed on the actuator speed and / or encoder resolution in PSO applications by implementing a control technique in which data packets representing different position-function characteristics associated with one or more actuators are generated, transmitted and processed. Figure 3 is an interfunctional flowchart illustrating an example of a process in which a PSO application can be executed, according to certain embodiments of the present invention. Referring to Figure 3, a PSO application execution process, such as process 300, can be distributed among the system control device 201, a primary node controller 206' (and its corresponding tool 202), and at least one secondary node controller 206" (and at least one corresponding actuator 204). To facilitate the description of process 300, we will use the example configuration of devices 202 and node controllers 206 given above, i.e., node controller 206a is a primary node controller 206', and node controllers 206b, 206c, ..., 206n are secondary node controllers 206". At step S302, process 300 begins with a preprocessing step in which a home take command is transmitted by the system control device 201 to each node controller 206 of system 200 to initiate a home take process. At step S304, in response to the home position command, each node controller 206 operates its corresponding actuator 204 (e.g., by supplying a drive current to the actuator 204), and feedback signals generated by the actuator 204 sensing device are returned to the node controller 206 (as indicated, for example, by arrow 210 shown in Figure 2). The node controller 206 then processes the feedback signals to derive a home position data unit that fully represents the position of its corresponding actuator 204 before a desired motion profile or path is executed (i.e., a "home" position of the actuator 204). In embodiments where the sensing device includes an encoder, the actuator's home position can be represented as a position of the encoder's encoder axis.The original position is then transmitted by each node controller 206 to the system control device 201 (e.g. via one or more communication links). 207 illustrated in figure 2). Step S304 therefore allows obtaining the original position of some or all of the actuators. In step S306, after receiving the origin position data units associated with each actuator 204, the system control device 201 determines at least one PSO trigger position for one or more actuators 204. In this document, the term "PSO trigger position" means a position reached by an actuator 204 (e.g., determined, at least in part, based on feedback provided by the actuator sensing device, in a manner known in the art) when a PSO trigger signal is desired or when it is determined that it should be output to the tool 202. When a PSO trigger signal is to be output (and thus when the tool 202 is to be actuated), the relative position of the workpiece and the tool 202 (or of the workpiece and the propagation path) is such that a desired portion of the workpiece will be subjected to a tool operation. 202.Thus, at a PSO trigger position, a desired portion of the workpiece will be: irradiated with a laser pulse (e.g., if the tool is a laser), exposed to light (e.g., if the tool is an optical shutter), photographed (e.g., if the tool is a camera), detected (e.g., if the tool is a sensor), tested non-destructively (e.g., if the tool is an ultrasonic transducer), or similarly. As will be understood, a group of associated PSO trigger positions, related to at least some of the actuators 204, can be reached at least substantially simultaneously during the execution of a PSO application. In one embodiment, a PSO trigger position of an actuator 204 can be determined by adding the actuator's original position to a corresponding preliminary PSO trigger position for the actuator 204. In this case, the preliminary PSO trigger position can be obtained or derived from a data file, data structure, or object accessible to the system control device 201, which describes the desired operation of a tool (described above) in coordination with a desired motion profile or trajectory, intended to be performed by driving one or more actuators 204. The system control device 201 transmits the PSO trigger position(s) to the primary node controller 206' (e.g., via a communication link 207), where they are stored (see S308). Then, in step S308, the trigger position(s) are obtained. In step S310, the motion profile or path is executed. In step S310, one or more actuation device commands are transmitted by the system control device 201 to each secondary node controller 206” of the system 200 to move the workpiece, tool, and / or propagation path (e.g., according to a motion profile). It should be noted that a series of actuation device commands can be transmitted over time (e.g., periodically or not) to any secondary node controller 206” to perform the desired movement of the workpiece, tool, and / or propagation path. The actuation device commands are transmitted (e.g., at a frequency of approximately 2.5 kHz) to the secondary node controller(s) 206” generally after the PSO trigger positions have been transmitted to the primary node controller 206’ in step S308. At step S312, and in response to receiving an actuation device command, each node controller 206 drives its corresponding actuator 204 (e.g., to move the workpiece, tool, and / or propagation path, as described above). Typically, a node controller 206 can drive its corresponding actuator 204 by transmitting a drive current to the actuator 204, in which the amplitude of the transmitted drive current can vary at a frequency of (approximately) up to 10 kHz. In step S314, the feedback signals generated by the detection device of the actuators 204 driven in step S312 are output to their respective node controllers 206 (e.g., in the manner described above). Each node controller 206 interprets or otherwise processes the feedback signals to infer position data representative of the position of its corresponding actuator (e.g., in the manner described above). At step S316, the secondary node controller 206” generates a position feedback signal, which is transmitted to the primary node controller 206' (e.g., via a communication link 212). Like conventional servo drives, the secondary node controller 206” has an inherent maximum frequency response. However, to overcome the aforementioned constraints that the maximum frequency response could impose on the actuator speed and / or encoder resolution, the position feedback signal generated by the secondary node controller 206” carries a hybrid position data packet representing different position characteristics specific to the actuator. The topic of the hybrid position data packet and the position feedback signal is discussed in more detail below in relation to the figure. 4. In light of the foregoing, it will be understood that steps S314 and S316 are performed repeatedly as long as the actuators 204 are driven by their respective secondary node controllers 206. For example, step S314 can be performed periodically (e.g., at a refresh rate, as will be shown in the detailed description below) and step S316 can be performed periodically (e.g., at a frequency of approximately 2.5 MHz). In step S318, the primary node controller 206' derives the position of one or more actuators 204 (or even all of them) in the system 200. Thus, the primary node controller 206' can deduce the position of its corresponding actuator 204 and / or the current position of an actuator 204 corresponding to one or more of the secondary node controllers 206" (or even all of them). Generally, the position of any actuator 204 can be derived at a frequency of (approximately) up to 100 MHz. This step S318 will be described in more detail below with reference to Figure 6. In step S320, the primary node controller 206' determines whether the position of any actuator 204 (derived in step S318) satisfies a predetermined PSO trigger condition. In one embodiment, a PSO trigger condition is satisfied if the position of any actuator 204, derived in step S318, is equal to (or nearly equal to) a PSO trigger position associated with the actuator 204 obtained in step S308. In another embodiment, a PSO trigger condition is satisfied if the position of any actuator 204, derived in step S318, is not equal to (or nearly equal to) a PSO trigger position associated with the actuator 204, but is within a predetermined range of the PSO trigger position. This predetermined range may be fixed or variable.The criteria for the PSO triggering condition can be stored at the level of the primary node controller 206', for example on the basis of data transmitted by the system control device 201 (via one or more communication links 207) in any appropriate or known manner in art. If the PSO trigger condition is met, then (at step S322) the primary node controller 206' generates a PSO trigger signal that can be transmitted (or output) to tool 202 (as indicated, for example, by arrow 214 in Figure 2). The PSO trigger signal then acts as a trigger to actuate tool 202 (in the manner described above, for example), and the process returns to step S318. If the PSO trigger condition is not met, then the primary node controller 206' does not generate an output signal, and the process returns to step S318. S320 stage determinations can generally be performed at a frequency of up to (approximately) 100 MHz. III. Embodiments concerning the hybrid position data packet and the position feedback signal Figure 4 is a timing diagram (more recent times are shown on the right side of the time arrow at the bottom of Figure 4, and older times on the left side) explaining, among other things, the informational content of a hybrid position data packet carried by a position feedback signal in one embodiment. Figure 4 shows lines labeled "DataOdd" and "DataEven." These lines are included as part of each of the 212 communication links shown in Figure 2. Figure 4 also shows numerous hexagons representing bits of multibit data words transmitted over the 212 communication link. The DataOdd line transmits the odd bits of a data word, and DataEven transmits the even bits of the data word.Thus, the signals transmitted on the DataOdd and DataEven lines can be considered as collectively constituting a common signal (i.e., the position feedback signal delivered at the output of the secondary node controller 206”), by virtue of their very design. Therefore, and as will be described in more detail below, the corresponding sets of bits carried in the signals transmitted by the DataOdd and DataEven lines can be considered as collectively constituting, by virtue of their very design, a common hybrid position data packet delivered at the output of the secondary node controller 206”. It will be understood that the primary node controller 206’ can be configured and operated in any manner known in the art to process the bits carried by the DataOdd and DataEven lines to perform the processes described here (e.g., with processing steps S318, S320, and S322). As indicated above, the position feedback signal generated by each secondary node controller 206” carries a hybrid position data packet that represents different position characteristics specific to its respective actuator 204, and is periodically transmitted from a secondary node controller 206” to the primary node controller 206'. The different position characteristics represented by any hybrid position data packet will include: a partial position data packet representing a portion of a synchronization position data unit that fully describes the position of the corresponding actuator 204 at a given instant (also referred to hereafter as the “synchronization instant”), and a data packet of displacement representing a displacement concerning the position of the actuator 204 at a given instant (also referred to hereafter as "update instant", which instant occurs at the beginning of an update period, or corresponds to it) relative to the position of the actuator 204 at a synchronization instant. As shown in Figure 4, and within any hybrid position data packet, a first set of bits (i.e., bits whose labels begin with a "P") consists of bits from the partial position data packet, and a second set of bits (i.e., bits whose labels begin with a "D") consists of bits from the displacement data packet. Over a sufficiently long timeline, a position feedback signal carries a sufficient number of consecutively created hybrid position data packets, and thus a sufficient number of partial position data packets, to represent an entire synchronization position data unit. The time period required to accumulate a complete set of partial position data packets representing the entire synchronization position data unit is hereafter referred to as the "synchronization period." A synchronization instant can mark the beginning of a synchronization period or occur during it. For ease of explanation, the last, or most recent, synchronization period is called the "current" synchronization period, and the synchronization period immediately preceding it is called the "previous" synchronization period. The partial position data packets from different hybrid position data packets carried during a common synchronization period represent different portions of a common synchronization position data unit. The displacement data packets carried in hybrid position data packets during a current synchronization period represent different displacements of the position of actuator 204 at different update times relative to the position of actuator 204 at a synchronization time of a previous synchronization period (hereafter referred to as the "previous synchronization time"). The number following a "P" or "D" of any bit is an ordinal number identifying the bit's position in either a synchronization position data unit or a displacement data unit, corresponding respectively to the partial position data packet or displacement data packet in which it resides. For example, for any bit labeled "PO" or "D0", the digit "0" indicates that the bit is the least significant bit (LSB) (also called the "least significant bit" or "rightmost bit") in the data unit. For any bit labeled "P49" or "D19", the numbers "49" and "19" indicate that the bits are the most significant bit (MSB) (also called the "most significant bit" or "leftmost bit") in their respective data units. The above elements will be easier to understand in light of the additional description below relating to Figure 4, which illustrates a plurality of hybrid position data packets: for example, a first hybrid position data packet 402_1 and a twenty-fifth hybrid position data packet 402_25, each carried during a common synchronization period 402. Although not shown, additional hybrid position data packets (i.e., a second, third, fourth, ..., twenty-fourth packet) are also carried consecutively after the first hybrid position data packet 402_1 and before the twenty-fifth hybrid position data packet 402_25. A twenty-fifth hybrid position data packet 404_25 carried during a synchronization period 404, which precedes the synchronization period 402, is also shown.Thus, in the illustrated example, each synchronization period is composed of a number "M" of refresh periods (and therefore of "M" hybrid position data packets), where "M" is equal to twenty-five. It should be noted, however, that "M" can represent any other integer equal to 2, 3, 4, 5, 10, 15, 20, 30, 40, 50, etc., or any other value intermediate between these. As shown in Figure 4, the partial position data packet of the first 402_1 hybrid position data packet includes a first pair of bits (i.e., bits P48 and P49) from a synchronization position data unit that fully describes the position of an actuator 204 at a given synchronization instant marking the beginning of the 402 synchronization period. Similarly, the partial position data packet of the twenty-fifth 402_25 hybrid position data packet includes a twenty-fifth pair of bits (i.e., bits PO and P1) from the aforementioned synchronization position data unit. Although not illustrated, the partial position data packets of the second, third, fourth, etc., hybrid position data packets also include second, third, fourth, etc., bit pairs (i.e., bits P46 and P47, P44 and P45, P42 and P43, etc.) in the aforementioned synchronization position data unit. The partial position data packet of the twenty-fifth hybrid position data packet 404_25 includes a twenty-fifth. bit pair (i.e. bits PO and P1) of a synchronization position data unit that completely describes the position of an actuator 204 at a synchronization instant marking the start of the synchronization period 404. As also shown in Figure 4, the second set of bits in the displacement data packet of each hybrid position data packet includes bits DO, D1, and D19, which correspond to bits describing the displacement of the actuator 204's position at a given refresh instant during a current synchronization period relative to the actuator 204's position at a synchronization instant in a previous synchronization period. Thus, the displacement data packets in hybrid position data packets 402_1 through 402_25 include bits describing the displacement of the actuator 204's position at the first through twenty-fifth refresh instants during synchronization period 402 relative to the actuator 204's position at a synchronization instant in synchronization period 404 that immediately precedes synchronization period 402.Similarly, the displacement data unit in the hybrid position data packet 404_25 includes bits describing the position displacement of actuator 204 at a twenty-fifth refresh instant during the synchronization period 404 relative to the position of actuator 204 at an earlier synchronization instant of the synchronization period that preceded the synchronization period 404. It should be noted that the number and / or duration of each update period (Tupdate) and, therefore, the duration of each synchronization period (Tsync) may depend on one or more factors such as the binary lengths of each of the synchronization position data units, the number of bits in the partial position data packet and the displacement data packet, the operating frequency of the sensing device of each actuator, the operating frequency of the node controller 206, the input frequency of the sensing device, the maximum bit clock frequency permitted by the physical links (cables, transceivers, etc.), the signal jitter affecting the minimum dead time between hybrid position data packets (see e.g. the start period 406a and the end period 406b), and the like.In general, the update period, Tupdate, can have a duration in the range of (or approximately) 50 ns to (or approximately) 500 ns, such as 100 ns, 150 ns, 200 ns, 250 ns, 300 ns, 400 ns, etc., or any value in between, but can also be less than 50 ns or greater than 500 ns. Similarly, the synchronization period, Tsync, can have a duration in the range of (or approximately) 1 ps to (or approximately) 12 ps, such as 3 ps, 5 ps, 7 ps, etc. or any value intermediate between these, but can of course be less than 1 ps or greater than 12 ps. For any given duration of the refresh period, the bits relating to a new hybrid position data packet can be considered to be determined at a refresh rate inverse of the refresh period (e.g., in a range of 2 MHz (or thereabouts) to 20 MHz (or thereabouts)). Similarly, for any given duration of the synchronization period, a complete set of partial position data packets fully representing a unit of synchronization position data can be accumulated at a synchronization rate inverse of the synchronization period (e.g., in a range of 83 kHz (or thereabouts) to 1 MHz (or thereabouts)). In the example embodiment described above in relation to Figure 4, the bit length of the synchronization position data unit is 50 bits (possibly including a payload and some bits, e.g., 4 bits for parity / CRC error detection). However, it should be understood that the bit length of the synchronization position data unit can be greater than 50 bits, or less (e.g., 16 bits, 32 bits, 64 bits, etc., or any value in between). Similarly, although the bit length of the partial position data packet is 2 bits, it should be understood that the bit length of the partial position data packet can be one bit, or more than 2 bits.Finally, although the bit length of the displacement data unit is 20 bits (including possibly at least one bit for parity error detection / CRC), it will be understood that the bit length of the displacement data unit can be greater than 20 bits, or less (e.g. 4 bits, 8 bits, 16 bits, 24 bits, 30 bits, etc., or any value in between), as long as the bit length of the displacement data unit is less than the bit length of the synchronization position data unit. A. Additional explanation concerning lines and signals In addition to the DataOdd and DataEven lines, Figure 4 shows lines referenced as "BitClock" and "Sync". These lines are included as part of each of the 212 communication links shown in Figure 2. In embodiments in which the 212 communication links are each implemented as an Ethernet patch cable as described above, the individual lines of each of the 212 communication links (i.e., the DataOdd, DataEven, BitClock, and Synchronization lines) can each be provided as a twisted pair of wires, in the manner known in art. i. The bit clock line and its signal A bit clock signal is generated and transmitted by each secondary node controller 206” to the primary node controller 206' via the BitClock line. The primary node controller 206' can also generate a bit clock signal, although it is not transmitted over a communication link 212. Typically, the bit clock signal is generated by an internal bit clock of each node controller 206 (i.e., the primary node controller 206' and each secondary node controller 206”), and corresponds to the operating frequency of the node controller 206. In some embodiments, the operating frequency of the bit clock (hereafter “bit clock frequency”), and thus of the bit clock signal, can be in a range from 25 MHz to 200 MHz (e.g., 50 MHz, 100 MHz, 200 MHz, etc., or any value intermediate therein).It will be accepted that the bit clock frequency can be less than 25 MHz or greater than 200 MHz depending on the configuration of the components, such as node controllers 206, communication links 212 and similar. The transmission of bits on the DataOdd and DataEven lines from a 206” secondary node controller can be synchronized to the bit clock signal. Furthermore, the operations of the 206’ primary node controller and each 206” secondary node controller within a synchronization period can be synchronized with each other using the bit clock signal. For example, the 206’ secondary node controller can point to the rising edge of the bit clock signal for data output, and the 206’ primary node controller can point to the falling edge of the bit clock signal for data input. Optionally, the 206’ primary node controller can mitigate any potential metastability created by a bit clock signal (received from a 206” secondary node controller) that is in phase with the 206’ primary node controller’s bit clock signal, using any appropriate technique known in art. As will be understood, it is generally important that the timing relationship between the signals output by a secondary node controller 206" on the DataOdd and DataEven lines be maintained within certain tolerances (e.g., plus or minus 5 ns, or approximately 5 ns) relative to the bit clock signal transmitted on the BitClock line. Out-of-tolerance timing drift can result from one or more factors, such as the physical length of the lines, unequal delays in the path of the signals output by the secondary node controller 206", unequal delays in signal paths at the signal inputs of the primary node controller 206", or a distortion in the clock cycle. operation in the transceiver and other circuits of each node controller 206 and temperature variation of the node controller 206 and the lines in the communication link 212. In order to reduce the potentially detrimental effects of an unacceptable amount of drift from the bit clock signal, the DataOdd and DataEven lines have different twist ratios, and the twist ratio of the BitClock line is between the twist ratios of the DataOdd and DataEven lines. By ensuring that the twist ratio of the BitClock line lies between the twist ratios of the DataOdd and DataEven lines, the total drift between the DataOdd and DataEven lines will be divided by the bit clock signal transmitted on the BitClock line.In other words, a data signal on one of the DataOdd and DataEven lines can drift forward in time relative to the bit clock signal, while the data signal on the other of the DataOdd and DataEven lines drifts backward in time relative to the bit clock signal. Furthermore, the bit clock signal can also be used to communicate the start of a hybrid position data packet in the position feedback signal. For example, as shown in Figure 4, the bit clock signal can be in a static logic state '0' for an extended time period 406a (hereafter, the 'start-packet period'). The primary node controller 206' can synchronize its internal bit clock to transition from logic state '0' to logic state '1' at the end of the 406a start-packet period. ii. The Synchronization Line and its Signal

[0068] A synchronization signal is transmitted by the primary node controller 206' to each secondary node controller 206" over the Synchronization line. Typically, the synchronization signal has a frequency corresponding to the synchronization period, and the operation of the secondary node controllers 206" is dependent on the operating cycle of the synchronization signal. Thus, the operating mode of any secondary node controller 206" corresponds to the operating cycle of the synchronization signal it receives from the primary node controller 206'. Typically, the synchronization signal has a frequency much lower than that of the bit clock signal. For example, the synchronization signal might have a frequency in the range of 50 kHz to 400 kHz (e.g., 100 kHz, 200 kHz, 300 kHz, etc., or any value in between).Among the operating modes are a "standby" mode, a "learning" mode, and a "normal" mode. Further explanations of these operating modes will be provided in more detail below. B. Additional explanation concerning the deduction of the actuator positions (S318) As mentioned above regarding step S318 shown in Figure 3, the primary node controller 206' interprets, or processes, hybrid position data packets carried in the received position feedback signal to deduce the position of each actuator 204 corresponding to a secondary node controller 206'. The position of an actuator 204, represented by a position data unit, is stored at the primary node controller 206'. As will be understood, the position of an actuator 204 can be deduced differently depending on whether the actuator 204 corresponds to a primary node controller 206' or a secondary node controller 206'. i. Deduction of the position of the actuator corresponding to the primary node controller To deduce the position data unit associated with an actuator 204 corresponding to the primary node controller 206', the primary node controller 206' simply processes the feedback signals communicated by its corresponding actuator 204 (e.g., at the synchronization time associated with a synchronization period) to generate a position data unit that completely represents the position of its corresponding actuator 204. As mentioned previously, the feedback signals are transmitted from an actuator 204 to its corresponding node controller 206 at a frequency of 5 MHz (or approximately 5 MHz). Thus, in one embodiment, the primary node controller 206' can deduce the position units relative to its corresponding actuator 204 at a frequency of 5 MHz (or approximately 5 MHz).In another embodiment, however, the primary node controller 206' can process the feedback signals to extrapolate the position of its corresponding actuator 204 at a frequency above 5 MHz (e.g., to an extrapolation frequency of up to 100 MHz, or approximately 100 MHz) using any suitable or known technique. Thus, the primary node controller 206' can deduce position units relative to its corresponding actuator 204 at a frequency of up to 100 MHz (or approximately 100 MHz). The position data unit derived in step S318 is stored at the primary node controller 206' (e.g., in a data structure associating the current position data unit with the primary node controller 206'). Any position data unit already stored in the data structure related to actuator 204 corresponding to the primary node controller 206' is overwritten by the new data position unit relating to the actuator 204. ii. Deduction of the position of an actuator corresponding to a secondary node controller To deduce the position data unit of an actuator 204 corresponding to a secondary node controller 206”, the primary node controller 206' sequentially processes hybrid position data packets carried by the position feedback signal received from a secondary node controller 206”. An example of an embodiment in which the hybrid position data packets carried sequentially in a position feedback signal, transmitted by each secondary node controller 206”, are processed at the primary node controller 206' is described in more detail in relation to process 600 shown in Figure 6. Referring to Figure 6, "n" represents an ordinal number of a synchronization period in a position feedback signal transmitted by a secondary node controller 206. Thus, "n" can be any integer greater than or equal to one. Similarly, "m" represents an ordinal number of a refresh period within a synchronization period. Thus, "m" also represents the ordinal number of a hybrid position data packet carried during a synchronization period. As previously explained, "M" represents the total number of refresh periods (and therefore hybrid position data packets) in each synchronization period. Thus, "m" can only be less than or equal to "M". At step S604 (accumulate partial position data packet from the mth hybrid data packet of the nth synchronization period), the primary node controller 206' processes a mth hybrid position data packet carried during an nth synchronization period (e.g., a 1st synchronization period) to extract bits from the partial position data packet carried by it. As indicated in step S602, m is set to 1 and the first hybrid position data packet carried during any particular synchronization period will be the first hybrid position data packet to be processed in step S604. The bits extracted from the partial position data packet can be stored at the primary node controller 206' in a data structure associated with: the secondary node controller 206" that transmitted it, and the location where the data packet bits partial position values ​​are assigned within the synchronization position data unit. At step S606 (assembling a displacement data unit from the mth hybrid data packet of the nth synchronization period), the primary node controller 206' processes the mth hybrid position data packet carried during the nth synchronization period to extract the bits of the displacement data packet carried by it. The extracted bits of the displacement data packet are then assembled into a displacement data unit (i.e., a multibit data word, as described above). In step S608 (add a displacement data unit to a reconstructed synchronization position data unit of the n-1st synchronization period), the displacement data unit obtained in step S606 is added to a synchronization position data unit (again, a multi-bit data word, as described above) associated with an earlier synchronization period (i.e., an n-1st synchronization period).The resulting multi-bit data word is a position data unit representing a position inferred from an actuator 204, which can be stored at the primary node controller 206' in a data structure in association with the corresponding secondary node controller 206" from which the hybrid position data packet was received and, optionally, also in association with an internal timestamp value generated by the primary node controller 206' (indicating, for example, the time at which a multi-bit data word was stored, or similar). In one embodiment, and during the storage of the newly obtained multi-bit data word in step S608, the primary node controller 206' overwrites any previously obtained multi-bit data words written to the data structure. In this case, the newly obtained deduced position in step S608 can be subjected to the aforementioned determination in step S320 of Figure 3. In another embodiment, however, the newly obtained multi-bit data word in step S608 can be appended to the end of the data structure (along with its associated timestamp), and any previously obtained multi-bit data words written to the data structure can be retained. In this case, the deduced position carrying the most recent timestamp (i.e., the newly obtained deduced position in step S608) can be subjected to the aforementioned determination in step S320 of Figure 3. In step S610, the primary node controller 206' can extrapolate, from the inferred position obtained in step S606, the position of its corresponding actuator 204, at an extrapolation frequency higher than the update frequency. For example, the extrapolation speed can reach up to 100 MHz or approximately 100 MHz. Thus, the primary node controller 206' can infer position units for an actuator 204 corresponding to a secondary node controller 206" at a frequency of up to 100 MHz (or approximately 100 MHz).The result of the extrapolation is a position data unit representing a position inferred from an actuator 204, and can be stored at the primary node controller 206' in the data structure in association with the corresponding secondary node controller 206" from which the hybrid position data packet was received and, optionally, also in association with an internal timestamp value generated by the primary node controller 206' (indicating, for example, the time at which a multi-bit data word was stored, or similar). In one embodiment, when storing the newly obtained position data unit in step S610, the primary node controller 206' overwrites any previously obtained position data units written to the data structure. In this case, the newly obtained derived position in step S610 can be subjected to the aforementioned determination in step S320 of Figure 3. In another embodiment, however, the newly obtained position data unit in step S610 can be appended to the end of the data structure (along with its associated timestamp), and any previously obtained position data units written to the data structure can be retained. In this case, the position data unit bearing the most recent timestamp (i.e., the newly obtained derived position in step S610) can be subjected to the aforementioned determination in step S320 of Figure 3. After obtaining a position deduced in step S608, steps S604, S606, and S608 can be performed again, assuming that there are other hybrid position data packets that have been, or will be, transmitted during the nth synchronization period. Thus, if the current value of "m" in step S608 is less than "M" (for example, determined as shown in step S612, where it is checked whether m = M), then the current value of "m" is incremented by 1 (for example, as shown in step S614), and steps S604, S606, and S608 can then be performed again. For example, if steps S604, S606, and S608 were performed on a first packet of hybrid position data carried during an nth synchronization period, then steps S604, S606 and S608 will be performed again on a 2nd packet of hybrid position data carried during the nth synchronization period, then again on a 3rd packet of hybrid position data carried during the nth synchronization period, and so on, until the last packet of hybrid position data (where "m" = "M") carried during the nth synchronization period has been processed. When "m" equals "M", then the bit sets accumulated in step S604 for the M partial position data packets are stored as a synchronization position data unit that fully describes the position of actuator 204 associated with secondary node controller 206 at a synchronization instant associated with the nth synchronization period. See step S616, which establishes the accumulated partial position data packets as the reconstructed synchronization position data unit for the nth synchronization period. This synchronization position data unit can be stored at the primary node controller 206' in a data structure associated with the secondary node controller 206” that transmitted it. Any pre-existing synchronization position data unit (associated with an n-1st synchronization period) stored in the data structure is overwritten by this newly accumulated synchronization position data unit (associated with the nth synchronization period). After, or when, the synchronization position data unit associated with the nth synchronization period is stored at step S616, the current value of "n" at step S616 is incremented by 1 (e.g., in the manner shown in step S618 where n is incremented by 1), the value of "m" is set to 1 (e.g., in the manner shown in step S602), and the aforementioned steps S604, S606, S608, ... S618 can then be performed again for the M hybrid position data packets carried during the synchronization periods following the nth synchronization period (e.g., until the PSO application has been fully executed). In the case where "n" equals 1, there is no synchronization position data unit associated with a previous synchronization period and, therefore, no pre-stored synchronization position data unit to which the displacement data unit for the mth hybrid position data packet of the first synchronization period can be added. Thus, when n equals 1 (for example, as when the secondary node controller 206” initially enters “normal” mode), step S604 is performed, but steps S606, S608 and S610 can be omitted. As mentioned above, the 206” secondary node controller – like conventional servo drives – has an inherent maximum frequency response which, in practice, places an upper limit on the position feedback resolution that can be obtained from 206” secondary node controllers. For example, at a refresh rate of 5 MHz (or thereabouts), approximately 20 bits can be reliably transmitted by the 206” secondary node controller. However, a position data unit will typically be much longer than 20 bits to represent the position of its corresponding actuator 204 with an acceptable level of resolution.Therefore, as will be understood from the foregoing, the embodiments of the present invention make it possible to avoid the constraints associated with the maximum frequency response by transmitting a series of relatively small hybrid position data packets, each containing a few bits of a synchronization position data unit (i.e., the partial position data packet) that completely describes the position of an actuator 204 at a synchronization instant, and a relatively small number of bits for a displacement data unit that describes (at an acceptable resolution level) a position displacement of the actuator 204 at a refresh instant occurring after the synchronization instant. The relatively small number of bits in each hybrid position data packet can be reliably transmitted by the secondary node controller 206 at the refresh frequency.Therefore, and as explained above with regard to steps S606 and S608, the primary node controller 206' can infer the position of an actuator 204 at an acceptable resolution, from a displacement data unit of a refresh instant and from a synchronization position data unit of a previous synchronization instant, at the refresh rate. Since the position of actuator 204 can be determined at a refresh rate (e.g. by performing the actions in steps S606 and S608) that is much higher than the synchronization rate at which a complete set of partial position data packets fully representing a synchronization position data unit can be accumulated (e.g. by performing the actions in step S604), extrapolated positions of actuator 204 (e.g. obtained in step S610) can be more accurate than positions simply extrapolated from a synchronization position data unit. Tl IV. Embodiments relating to modes of operation As indicated above, the operating cycle of the synchronization signal, received at a secondary node controller 206” from the primary node controller 206', instructs the secondary node controller 206” how it should operate: in “standby” mode, “learning” mode, or “normal” mode. i. Standby Mode If the synchronization signal delivered at the output of the primary node controller 206' is in a fixed logic state for at least four consecutive synchronization periods, then the secondary node controller 206" is placed in standby mode and it is assumed that no PSO application should be executed. ii. Learning Mode The aforementioned “learning” mode, which a secondary node controller 206” can enter, allows the primary node controller 206’ to compensate for propagation delays between the different signals transmitted on the DataOdd, DataEven, and BitClock lines by the secondary node controller 206’. The learning mode can also allow the primary node controller 206’ to compensate for fixed delays in the communication link 212 between the primary node controller 206’ and the secondary node controller 206’. To put a 206” secondary node controller into learning mode, the 206’ primary node controller transmits a learning mode signal to the 206” secondary node controller via the Synchronization line. Figure 5 shows, from bottom to top, the Synchronization line, the DataEven, DataOdd and BitClock signals. Typically, the learning mode signal can be a signal (e.g., a 200 kHz signal) with a logic state of '0' for a training period (Ttraining), see Fig. 5. The duration of Ttraining can be equal to, or approximately equal to, the duration of the update period (Tupdate). Upon receiving four consecutive learning signals from the primary node controller 206', the secondary node controller 206" enters learning mode and synchronizes the incoming learning signal to its internal bit clock and sends a bit clock learning signal back to the primary node controller 206' on the BitClock line. The secondary node controller 206" also provides logic state signals of '1' (except for a short period, e.g., 10 ns) synchronized with the Falling edge of the clock bit learning signal. See, for example, Figure 5. Upon receiving signals from each secondary node controller 206”, the primary node controller 206’ measures the drift between the three signals transmitted by the secondary node controller 206” and compensates for any measured drift. iii. Normal Mode The aforementioned “normal” mode, which a secondary node controller 206” can switch to, is used to allow the secondary node controller 206” to send position feedback signals to the primary node controller 206’ (e.g. as discussed above). To bring a secondary node controller 206” into normal mode, the primary node controller 206’ transmits the aforementioned synchronization signal to the secondary node controller 206” via the Synchronization line. The synchronization signal is in a logic “1” state except for a relatively short period (e.g., equal to, or approximately equal to, half the refresh period, Tupdate / 2) during which the synchronization signal is in a logic “0” state. Upon receiving four consecutive synchronization signals from the primary node controller 206’, the secondary node controller 206” enters normal mode, and the secondary node controller 206” synchronizes its internal bit clock to the incoming synchronization signal and transmits the aforementioned position feedback signal in the manner described above in relation to step S316 of Figure 3.In this case, the transition from logic state "1" to logic state "0" of the synchronization signal defines the aforementioned synchronization instant of a synchronization period. By transmitting the position feedback signal in the manner described above in connection with step S316 of Figure 3, the secondary node controller 206” can point to the data output on the rising edge of the bit clock signal while the primary node controller 206' can point to the data input on the falling edge of the bit clock signal. The above elements serve to illustrate embodiments and examples of the invention and are not intended to restrict its scope in any way. Although some specific embodiments and examples have been described with reference to the drawings, those skilled in the art will readily understand that many modifications can be made to the embodiments and examples described, and that other embodiments of implementations are possible, without materially deviating from the new lessons and advantages offered by the invention. For example, in light of the above, it can be noted that the processes described in connection with Figure 6 can be considered, to a large extent, as a type of data compression algorithm in which each secondary node controller 206” encodes information relating to the position of its corresponding actuator 204 using fewer bits than the actual representation of the position (e.g., at the encoder output of actuator 204). The primary node controller 206' then decodes the compressed information transmitted by each secondary node controller 206”, possibly extrapolates the position information based on this data, and executes a PSO application accordingly. It goes without saying, however, that other compression algorithms, with or without loss, can be used instead of, or in addition to, the algorithm described in Figure 6.Thus, it will be admitted that any secondary node controller 206” can encode information relating to the position of its corresponding actuator 204 according to any appropriate or known lossy or lossless compression technique, and that the primary node controller 206' can decode the compressed information transmitted by any secondary node controller 206” according to any appropriate or known decompression technique. Therefore, all these modifications are intended to be included within the scope of the invention, which is defined in the claims. For example, a person skilled in the art will appreciate that the object of any sentence, paragraph, example, or embodiment can be combined with the object of all or part of other sentences, paragraphs, examples, or embodiments, except where such combinations are mutually exclusive. The scope of the present invention is thus to be determined by the following claims, the equivalents of which are also included therein. List of reference signs 200 system 201 system control device 202 tool / device 203 Kinematic Machine Interface 204, 204a, 204b, 204c actuator 205 network 206, 206a, 206b, 206c node controllers 206' primary node controller 206” secondary node controller 207 communication links 208 arrow 210 arrow 212 communication links 214 arrow 300 processes 402 common synchronization period 402_1 First Hybrid Position Data Packet 402_25 Twenty-fifth hybrid position data packet 404 synchronization period 404_25 Twenty-fifth hybrid position data packet 406a start period 406b end period 600 processes S302 step S304 step S306 stage S308 step S310 step S312 step S314 step S316 step S318 step S320 step S322 step S602 step S604 stage S606 stage S608 stage S610 step S612 stage S614 stage S616 stage S618 stage

Claims

DEMANDS 1. Control system (200) for controlling a device (202) intended to perform an operation on a workpiece on the basis of a spatial relationship between the device and the workpiece, wherein the spatial relationship can be adjusted using at least one actuator (204), the control system (200) comprising: a primary node controller (206') communicatively coupled to the device, wherein the primary node controller (206') is adapted to control the operation of the device;and at least one secondary node controller (206”) communicatively coupled to the primary node controller (206'), wherein the at least one secondary node controller (206”) is adapted to: receiving encoder feedback from the actuator (204), the encoder feedback representing a position of a mechanical load associated with an actuator from among the at least one actuator (204), executing a data compression algorithm on the encoder feedback to encode the encoder feedback, generating data packets representing the encoder feedback, and transmitting the data packets; wherein the primary node controller (206') is further adapted to: receiving the data packets, decoding the data packets, and controlling the operation of the device on the basis, at least in part, of the decoded data packets.

2. Control system according to claim 1, further comprising device (202).

3. Control system according to claim 2, wherein the device (202) includes at least one element selected from the group consisting of a laser and a sensor.

4. Control system according to claim 1, further comprising at least one actuator (204).

5. Control system according to claim 4, wherein at least one actuator (204) includes a linear actuator.

6. Control system according to claim 4, wherein at least one actuator (204) is mechanically coupled to the workpiece.

7. Control system according to claim 1, further comprising a plurality of secondary node controllers (206”).

8. Control system according to claim 7, further comprising a plurality of actuators (204).

Citation Information

Patent Citations

  • architectures and methods for managing in-vehicle networked controls and devices

    DE102018107744A1