Robotic insertion for modular cable connector

Through robot insertion system and image processing technology, the automatic alignment and insertion of cable insertion modules are solved, and the problem of insufficient assembly efficiency and accuracy of modular cable connectors in the prior art is achieved, and efficient and accurate automatic assembly is achieved.

JP2025037846APending Publication Date: 2025-03-18THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024152071
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-05
Filing Date
2024-09-04
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

The prior art is difficult to achieve efficient automated assembly of modular cable connectors, especially in precise docking between the cable insertion module and the module fixing device.

Method used

By using a robot insertion system, the image of the module fixture is captured using the camera system, image processing is performed to identify segmented image areas and virtual planes, alignment posture of the cable insertion module is determined, and automatically inserted into the slot of the module fixture.

Benefits of technology

It realizes fast and precise automatic assembly of modular cable connectors, reduces manual labor, improves production efficiency and product quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025037846000002
    Figure 2025037846000002
  • Figure 2025037846000003
    Figure 2025037846000003
  • Figure 2025037846000004
    Figure 2025037846000004
Patent Text Reader

Abstract

To provide a method for assembly of a modular cable connector.SOLUTION: The method includes, at an end effector of a robotic insertion system, holding a cable insert module for insertion into a module slot of a module retainer. Two or more images are captured from the module retainer. Image processing is performed to identify a segmented image region corresponding to the module retainer and a virtual plane parallel to a face of the module retainer. The end effector is moved to an alignment pose determined based, at least in part, on the segmented image region and the virtual plane. The end effector is moved from the alignment pose toward an insertion pose. Upon insertion of the cable insert module into the module slot of the module retainer, the cable insert module is released from the end effector.SELECTED DRAWING: None
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates generally to robotic insertion techniques, and more particularly to assembly techniques for modular cable connectors via robotic insertion of individual modules. [Background technology]

[0002]

[0002] Connectors of various types are often used to conductively couple one cable to another and / or a cable to an electronic device for the transmission of data and / or power. The particular size, shape, and design of the connector used is often influenced by the type, purpose, and location of the cable to which the connector is attached, which also influence the manner in which the connector is manufactured and assembled. Summary of the Invention

[0003]

[0003] This summary is not an extensive overview of the specification. It is not intended to identify key or critical elements of the specification or to delineate any scope of particular embodiments or any claims of the specification. Its sole purpose is to present some concepts of the specification in a simplified form as a prelude to the more detailed description presented in the present disclosure.

[0004] In one embodiment, a method for assembly of a modular cable connector includes holding a cable insertion module at an end effector of a robotic insertion system for insertion into a module slot of a module retainer. Two or more images of the module retainer are captured. Image processing is performed to identify a segmented image area corresponding to the module retainer and a virtual plane parallel to a face of the module retainer. The cable insertion module is moved to an alignment pose determined based at least in part on the segmented image area and the virtual plane. The cable insertion module is moved from the alignment pose towards an insertion pose. Once the cable insertion module is inserted into the module slot of the module retainer, the cable insertion module is released from the end effector.

[0005]

[0005] The features, functions, and advantages discussed may be realized individually in various embodiments or may be combined in yet other embodiments, further details of which can be understood with reference to the following description and drawings. [Brief description of the drawings]

[0006] [Figure 1]

[0006] An exemplary cable insertion module and a module retainer configured to removably retain the cable insertion module are shown. [Figure 2A]

[0007] 1 illustrates aspects of an exemplary modular cable connector assembly. [Figure 2B] 1 illustrates aspects of an exemplary modular cable connector assembly. [Diagram 3]

[0008] 1 illustrates an exemplary method for assembly of a modular cable connector. [Figure 4A]

[0009] 13A-13C illustrate diagrammatically the use of a robotic insertion system to hold a cable insertion module for insertion into a module retainer. [Figure 4B]13A-13C illustrate diagrammatically the use of a robotic insertion system to hold a cable insertion module for insertion into a module retainer. [Figure 5A]

[0010] 1 illustrates an example image captured by a camera system of a robotic insertion system. [Figure 5B] 1 illustrates an example image captured by a camera system of a robotic insertion system. [Figure 5C] 1 illustrates an example image captured by a camera system of a robotic insertion system. [Figure 6]

[0011] 1 illustrates a schematic diagram of an exemplary computing system for performing image processing on captured images. [Figure 7]

[0012] 3A and 3B illustrate diagrammatically the identification of segmented image regions and virtual planes based on a captured image; [Figure 8]

[0013] 13A-B are schematic diagrams illustrating the identification of alignment poses for insertion of a cable insertion module based on a segmented image region and a virtual plane; [Figure 9A]

[0014] 13A-13C are schematic diagrams illustrating the use of a robotic insertion system to insert a cable insertion module into a module slot of a module retainer. [Figure 9B] 13A-13C are schematic diagrams illustrating the use of a robotic insertion system to insert a cable insertion module into a module slot of a module retainer. [Figure 9C] 13A-13C are schematic diagrams illustrating the use of a robotic insertion system to insert a cable insertion module into a module slot of a module retainer. [Figure 9D] 13A-13C are schematic diagrams illustrating the use of a robotic insertion system to insert a cable insertion module into a module slot of a module retainer. [Figure 10]

[0015] 1 illustrates a schematic diagram of an exemplary computing system for controlling insertion of a cable insertion module based on a detected insertion force vector. [Figure 11]

[0016] 1 illustrates a schematic diagram of an exemplary computing system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007]

[0017] The present disclosure is directed to an automated technique for the assembly of modular cable connectors. The modular cable connectors can be used to connect electronic cables to each other and / or to appropriate electronic devices for data and / or power transmission. The modular cable connectors include a number of cable insertion modules removably held within a module fixation device. Cable wires of one or more cables can be inserted into cable insertion recesses of the cable insertion modules. The modules themselves can then be attached to appropriate other components (e.g., connectors attached to other cables or electronic devices, etc.) to establish connectivity between such components and the cable wires and enable data and / or power transmission. For example, a cable insertion module coupled to a first cable can be attached to a second cable insertion module coupled to a second cable to establish connectivity between the two cables.

[0008]

[0018] In particular, the present disclosure focuses primarily on the insertion of a cable insertion module into a module fixture as facilitated by a robotic insertion system. Specifically, an end effector attached to an articulated robot arm of the robotic insertion system holds a cable insertion module for insertion into a module slot of the module fixture. A camera system is used to capture two or more images of the module fixture. The cable insertion module is inserted into the module fixture. At least one of the two or more images is captured while the module fixture is illuminated by a laser alignment system. The captured images are processed to identify an area of ​​the captured image that corresponds to the module fixture. Based on the captured images, the robotic insertion system controls movement of the end effector from an alignment position and orientation (referred to herein as an "alignment pose") toward an insertion position and orientation (or "insertion pose") in an attempt to insert the cable insertion module into the module fixture. The techniques described herein advantageously facilitate automated assembly of modular cable connectors. This increases the speed and accuracy of cable connector manufacturing and reduces the manual labor required by human workers.

[0009]

[0019] FIG. 1 illustrates an exploded view of several aspects of an exemplary cable connector assembly 100. As will be described in more detail below, the present disclosure is primarily directed to techniques for automated insertion of cable insertion modules into a module retainer. FIG. 1 serves as an overview of one non-limiting example of a modular cable connector assembly 100. The robotic insertion techniques described herein may be applied to the modular cable connector assembly 100.

[0010]

[0020] It will be understood that the particular components shown in FIG. 1, as well as other FIGs. 2A-11 described herein, are greatly simplified for purposes of illustration. The size, shape, and particular appearance of the components shown in FIGs. 1-11 are non-limiting and are not shown to scale. It will further be understood that the components shown in FIGs. 1-11 may be constructed from any suitable materials. For example, the cable insertion module, module retainer, and other components of the modular cable connector assemblies described herein may be constructed from any suitable combination of plastics and / or metals, as non-limiting examples.

[0011]

[0021] In the example of FIG. 1, a cable connector assembly is used to establish connectivity between a first pair of cable wires 102A and 102C and a second pair of cable wires 102B and 102D. It will be understood that this is non-limiting and that the connector assemblies described herein may be used to connect any suitable number of wires to each other and / or to an electronic device such as a PCB. This disclosure focuses primarily on conductive cables used to transmit power and / or data. However, in some examples, the connector assemblies described herein may be used with cables that are not conductive but include other suitable transmission media, such as fiber optic cables.

[0012]

[0022] As used herein, "cable wire" includes a length of material (e.g., copper wire, fiber optics) used for the transmission of data and / or power that is often covered with a protective material (e.g., plastic or rubber insulation, grounded shielding). In other words, the term "cable wire" often refers herein simply to the conductive (e.g., copper) or non-conductive (e.g., fiber optic) core of a cable, but may also further refer to any coating, insulation, and / or shielding added to the core.

[0013]

[0023] A "cable" includes one or more different cable wires. When a cable includes only one cable wire, "cable wire" and "cable" may be used interchangeably. However, in some examples, a cable includes two or more cable wires bundled together. For example, in some embodiments, a cable is a multi-conductor cable including two or more cable wires (e.g., different conductive copper wires, each coated with their own insulating cable jacket) and bundled together with additional insulation and / or shielding to form a multi-conductor cable. In some embodiments, a "cable" is a shielded twisted pair cable, where the different cable wires include pairs of twisted conductors and are protected with an insulating jacket. The twisted pairs are themselves bundled together and surrounded with additional shielding and / or insulation to form a shielded twisted pair cable.

[0014]

[0024] 1, the cable connector assembly further includes cable insertion modules 104A-D. As shown, each cable wire 102 is attached to a corresponding cable insertion module 104. In this embodiment, each cable insertion module is attached to only one cable wire. However, in some cases, multiple cable wires may be attached to the same cable insertion module.

[0015]

[0025] Each cable insertion module defines a cable insertion recess sized and shaped for insertion of a cable wire. As shown, cable wire 102A is inserted into insertion recess 105A of cable insertion module 104A. The cable insertion recess has any suitable size based on the size of the cable intended for insertion into the cable insertion module. In some embodiments, different cable insertion modules have different sized cable insertion recesses to accommodate different wire gauges.

[0016]

[0026] In some cases, the cable insertion recess is sized to receive an insulating jacket surrounding a core of cable wire (e.g., copper wire or fiber optic material) so that a length of insulated cable is inserted into the cable insertion module. In other embodiments, the insulating jacket may be trimmed so that only the core of the cable is inserted into the cable insertion module.

[0017]

[0027] In each cable insertion module, any suitable length of cable wire may be inserted into the cable insertion recess. Generally, the cable wire is inserted deep enough into the cable insertion module to allow transmission of data and / or power between the cable wire and any component coupled to a connection interface on the opposite side of the cable insertion module via the transmission path of the cable insertion module. In this manner, an appropriate component aligned with and coupled to the connection interface is effectively coupled to the cable wire to allow transmission of data and / or power between the cable wire and that component.

[0018]

[0028] The connection interface may take any suitable form depending on the implementation. Generally, a "connection interface" refers to any surface or feature of the cable insertion module on the opposite side from the cable insertion recess that is aligned with the connection interface and facilitates the transfer of data and / or power with another component that contacts the connection interface. This may include conductive pins or sockets integrated into the cable insertion module, or may include a recess in the cable insertion module through which a conductive component attached to a cable wire extends.

[0019]

[0029] As one non-limiting example, the connection interfaces of the cable insertion modules may include conductive pins that are conductively coupled to the cable wires and sized and shaped to be inserted into pin insertion recesses on another component (the connector of a second cable, or a complementary interface of an electronic device). This is the case for the connection interfaces 106A and 106B of the cable insertion modules 104A and 104B, which include conductive pins that are conductively coupled to the corresponding cable wires 102A and 102B.

[0020]

[0030] In some embodiments, a conductive pin is attached to an end of a cable wire. The conductive pin may take the form of, for example, a plug, jacket, or other cable terminator that is crimped, soldered, or otherwise attached to the cable wire. When such a terminator is used, the cable wire is, in some embodiments, inserted sufficiently deep into the cable insertion module such that the conductive pin extends through a connection interface on an opposite side of the cable insertion module. For example, the connection interface is a recess through which the conductive pin extends.

[0021]

[0031] In other embodiments, the conductive pin is an integral part of the cable insertion module. For example, the cable terminator may remain within the cable insertion module and contact a conductive feature within the module. For example, the cable terminator may be held within a complementary conductive socket defined within the cable insertion module. A conductive path exists between the socket and the conductive pin that extends away from the cable insertion module. In either case, any suitable mechanism (e.g., clips, crimps) may be used to hold the cable in place within the module to reduce the risk of accidental dislodgment.

[0022]

[0032] As another example, in some embodiments, the connection interface of the cable insertion module takes the form of a pin insertion recess that is sized and shaped for insertion of a conductive pin of a connector attached to the cable. This is the case for the connection interfaces 106C and 106D of the cable insertion modules 104C and 104D shown in FIG. 1. Specifically, the connection interfaces 106C and 106D take the form of a recess or socket that is conductively coupled with a cable wire inserted into the cable insertion module and / or a plug, jack, or other terminator attached to the end of the cable wire. In this manner, insertion of the conductive pin into the pin insertion recess conductively couples the pin to the cable wire.

[0023]

[0033] Each cable insertion module is sized and shaped for removable retention within a module retainer. In this manner, stacked sets of cable insertion modules may each be retained within the same single retainer. In some cases, each module is attached to a different cable. This advantageously allows the pre-loaded retainer to act as a male plug and / or female receptacle for coupling the different cables to appropriate other components (e.g., a similar pre-loaded retainer attached to a second set of cables) and / or electronic devices such as PCBs.

[0024]

[0034] In FIG. 1 , the cable connector assembly includes a module retainer 108A that includes multiple module slots. Two of them are labeled as module slots 110A and 110B. Each module slot may be described as a shelf or notch that removably holds an inserted module in place within the retainer. Any suitable mechanism may be used to retain the cable-insertion modules within the module slots of the module retainer. For example, in one embodiment, each cable-insertion module includes one or more clips. When the module is inserted into the retainer, the one or more clips occupy corresponding retention openings in the module retainer. Additionally or alternatively, different modules may clip or otherwise attach to one another. For example, different modules may include complementary clips or other attachment features on their top and bottom surfaces, whereby multiple modules may be attached together as a single stack.

[0025]

[0035] It will be appreciated that the module retainer may include any suitable number of two or more module slots, depending on the implementation. In this example, the illustrated cable insertion modules 104A / B are sized as follows: when retained within the module retainer 108A, each module occupies a single corresponding module slot within the retainer. However, in some embodiments, some cable insertion modules are sized to occupy two or more corresponding slots within the module retainer. Generally, each cable insertion module is sized to occupy an integer number of module slots of the module retainer, e.g., one slot, two slots, or three slots.

[0026]

[0036] 1 also shows a second module retainer 108B. Cable insert modules 104C and 104D comprise a second set of cable insert modules sized and shaped for removable retention within module slots of the second module retainer. Thus, in this embodiment, two different module retainers are used to connect two different sets of cables. For example, cable wire 102A is coupled to cable wire 102C and cable wire 102B is coupled to cable wire 102D.

[0027]

[0037] To this end, in FIG. 1, the cable connector assembly 100 further includes a fixture alignment adapter 112 sized and shaped to hold the module fixture 108A in alignment with the module fixture 108B. This provides alignment and coupling between complementary cable insertion modules held in matching module slots in the two module fixtures 108A and 108B. For example, when the cable insertion module 104A is held in the module fixture 108A, the module fixture 108A is held in place by the fixture alignment adapter 112, and then the conductive pin 106A of the cable insertion module is aligned with and inserted into the pin insertion recess 106C of the cable insertion module 104C. The cable insertion module 104C is held in the module fixture 108B, also held in place by the fixture alignment adapter 112. This allows data and / or power transmission between the cable wires 102A and 102C. In this manner, connectivity between any suitable number of cable wires and / or cables can be established depending on the number of cable insertion modules held within each module retainer and depending on how many cable wires are insertable into each cable insertion module.

[0028]

[0038] 2A and 2B illustrate non-limiting examples of modular cable connector assemblies 200A and 200B that are at least partially assembled. In particular, FIGURES 2A and 2B illustrate a modular fixture that is fully populated with cable insertion modules. In other words, the robotic insertion techniques described herein are used to insert multiple cable insertion modules into corresponding modular fixtures, thereby assembling multiple aspects of a modular cable connector.

[0029]

[0039] Specifically, FIG. 2A illustrates an exemplary module retainer 202A. The exemplary module retainer 202A is fully populated with cable insertion modules. Two cable insertion modules are labeled as 204A and 204B. For example, different modules inserted into the module retainer occupy different numbers of module slots. For example, module 204A occupies two module slots, while module 204B occupies one module slot. In one embodiment of FIG. 2A, all inserted modules use conductive pins. However, it will be understood that this is non-limiting. Rather, any or all of the modules inserted into the module retainer may include pin insertion recesses in addition to or instead of conductive pins. As described above, one or more cable wires may be inserted into the cable insertion recesses of each cable insertion module. The cable wires may be bundled together into any suitable number of cables. Some of the suitable number of cables are illustrated in FIG. 2A as cable 206A.

[0030]

[0040] FIG. 2B illustrates another non-limiting example of a cable connector assembly 200B. Specifically, FIG. 2B illustrates another exemplary fixture 202B populated with a number of cable insertion modules, two of which are labeled as modules 204C and 204D. Compared to FIG. 2A, the modules in the module fixture 202B include pin insertion recesses instead of conductive pins. Notably, the arrangement illustrated in FIG. 2B matches the arrangement in FIG. 2A. For example, in other words, the modules of fixture 202A can mate with the modules of fixture 202B to facilitate data and / or power transmission between cable 206A of FIG. 2A and cable 206B of FIG. 2B.

[0031]

[0041] FIG. 3 illustrates an exemplary method 300 for assembling a modular cable connector via a robotic insertion system. For example, the method 300 may be used to insert a cable insertion module into a module fixture such as that of FIG. 1 and FIG. 2A / 2B. The steps of the method 300 may begin, end, and / or be repeated at any suitable time and in response to any suitable condition. The method 300 is described as being primarily performed by a robotic insertion system including a controller executing software instructions to control the movement of an articulated robotic arm. In general, the steps of the method 300 may be performed by any suitable computing system of one or more computing devices. Any computing device that performs the steps of the method 300 may have any suitable capabilities, hardware configuration, and form factor. In some embodiments, the method 300 is implemented by a computing system 1100 described below with respect to FIG. 11.

[0032]

[0042] At 302, the method 300 includes holding a cable insertion module at an end effector attached to an articulated robot arm of a robotic insertion system for insertion into a module slot of a module securement device. This is shown generally with respect to Figures 4A and 4B. In particular, Figure 4A generally illustrates an exemplary robotic insertion system 400. It will be understood that the robotic insertion system 400 is one non-limiting example and is highly simplified and schematic in nature.

[0033]

[0043] As shown, the robotic insertion system 400 includes an articulated robotic arm 402. As described herein, an "articulated robotic arm" takes the form of any computer-controlled robotic mechanism suitable for manipulating a physical object (e.g., a physical object such as a cable insertion module) using an end effector. "Manipulation" may include translating and / or rotating the physical object. The articulated robotic arm has any suitable physical capability, such as, for example, a range of motion, a speed of motion, an insertion force, and / or a weight capacity. In some implementations, the articulated robotic arm has six or more degrees of freedom.

[0034]

[0044] The articulated robotic arm 402 is equipped with an end effector 404. In this embodiment, the end effector takes the form of a gripping tool that uses two prongs to hold the cable insertion module 406 while it is manipulated and ultimately inserted into a module retainer 408. The module is attached to a backplate 407. In this embodiment, the end effector 404 relies on friction between the prongs and the surface of the cable insertion module to hold the module in place. The pose of the end effector 404, and therefore the pose of the cable insertion module 406, is changed by the movement of the articulated robotic arm 402.

[0035]

[0045] It will be appreciated that this is only one simplified, non-limiting example of an end effector. In general, an "end effector" takes the form of any suitable mechanism or structure that can be used to physically hold and manipulate (e.g., translate and / or rotate) an object, such as a cable insertion module. As non-limiting examples, an end effector may use friction, interlocking features, suction, adhesion, and / or mechanisms to physically hold the cable insertion module during manipulation. In some examples, an articulated robotic arm is configured to utilize two or more different end effectors. For example, the end effectors may be dynamically interchangeable and / or two or more end effectors may be attached to the articulated robotic arm at one time. The end effectors may contact or otherwise interact with any suitable surface or aspect of the cable insertion module. For example, in one non-limiting example of FIG. 4A, end effector 404 grips a side of cable insertion module 406 near the cable insertion recess.

[0036]

[0046] In some embodiments, the end effector includes one or more mechanisms controlled by a computing system (e.g., a robotic insertion system) to hold and / or release the cable insertion module. For example, in one embodiment of FIG. 4A , the distance between the prongs of the end effector 404 is adjustable by a controller, allowing computer control over the gripping and release of the cable insertion module 406. However, in other embodiments, the end effector may be purely mechanical. For example, in some embodiments, the end effector relies on springs, interlocking features, suction cups, magnets, and / or other suitable tools to temporarily hold the cable insertion module until the holding force of the end effector is overcome by an external force (such as friction between the cable insertion module and the interior of the module retainer) and / or to facilitate installation.

[0037]

[0047] In some examples, the shape of the cable insertion module is designed to facilitate manipulation with an end effector. For example, in some embodiments, the faces of the cable insertion module are shaped with concave, pyramidal, and / or chamfered shapes to affect (e.g., increase) the amount of surface area available for grasping by the end effector.

[0038]

[0048] The end effector may pick up (or otherwise initiate) the cable insertion module in any suitable manner. In some examples, the cable insertion module is placed in or on the end effector by operator personnel. Additionally or alternatively, the loading of the cable insertion module into the robotic insertion system may be at least partially automated. For example, in one exemplary scenario, as will be described in more detail below, the robotic insertion system uses computer vision to recognize the cable insertion module, controls the movement of the robotic arm to place the end effector in a pose suitable for receiving the cable insertion module, controls the end effector (e.g., by controlling a gripping tool) to hold the cable insertion module, and then performs the automated insertion of the cable insertion module into the module fixture. In another exemplary scenario, the robotic insertion system controls the robotic arm to move the end effector to a predefined initial pose to which the cable insertion module is delivered (e.g., by another robotic arm, by operator personnel, by a mechanism such as a conveyor belt), and then initiates the automated insertion process when some condition is met. Suitable conditions may include, as examples, the passage of a predefined amount of time, detection of a force consistent with the arrival of a cable insertion module, detecting the presence of a cable insertion module via a computer vision system, and / or detecting the presence of a cable insertion module in any other suitable manner.

[0039]

[0049] In one embodiment of FIG. 4A , the end effector 404 already holds the cable insertion module 406, and the end effector 404 is already positioned near and oriented toward the module fixture 408. In some embodiments, personnel control the movement of the end effector (e.g., by controlling a robotic arm or by holding and moving the end effector) to roughly align the end effector with the module fixture. For example, personnel may roughly align the end effector with the module fixture before, during, or after placing the cable insertion module in or on the end effector. Additionally or alternatively, the robotic insertion system, in some embodiments, is configured to automatically align itself with the module fixture before, during, or after receiving the cable insertion module, e.g., based on a known pose of the module fixture relative to the robotic insertion system coordinate system and / or based on detection of the module fixture (e.g., via computer vision).

[0040]

[0050] 4B shows another schematic and simplified view of an exemplary robotic insertion system 400, focusing in particular on the components near the end effector 404. As shown, the end effector 404, camera system 409, laser alignment system 412, and other components are arranged on a rectangular structure at the end of the articulated robotic arm 402. It will be understood that this particular arrangement is non-limiting and highly simplified. The end effector, camera system, laser alignment system, and other components of the robotic insertion system described herein may have any suitable relationship to each other and to the environment.

[0041]

[0051] As will be described in more detail below, the camera system of the robotic insertion system is used to capture two or more images of the module retainer prior to insertion of the cable insertion module. In one embodiment of FIG. 4B, the camera system 409 includes two different cameras, an RGB camera 410A and a depth camera 410B. Generally, a robotic insertion system as described herein includes a camera system of one or more suitable cameras, where each suitable camera may be sensitive to any suitable wavelength of electromagnetic radiation and have any suitable image capture capabilities, including resolution, frame rate, and / or field of view.

[0042]

[0052] In one embodiment, the camera system includes one or more RGB cameras, which are sensitive to visible light and output an RGB image. In some embodiments, the camera system includes one or more depth cameras in addition to or in place of the RGB cameras and / or other suitable cameras. The depth cameras are generally sensitive to infrared light and configured to output a depth image, where pixels of the depth image encode detected distances between image sensors of the depth cameras and physical objects in the surrounding environment. Any suitable depth sensing technology (e.g., stereoscopic, structured light, or time-of-flight) may be used.

[0043]

[0053] In embodiments where both RGB and depth cameras are used, they may in some cases be used together as an integrated camera module. As one non-limiting example, an Intel® RealSense™ camera system may be used, which includes both an RGB camera and a depth camera together in a known alignment and outputs both RGB image data and depth image data. As another example, a stereo pair of RGB cameras may be used in addition to or instead of a depth camera.

[0044]

[0054] The robotic insertion system 400 further includes a laser alignment system 412. As will be described in more detail below, the laser alignment system 412 is used to illuminate at least a portion of the module fixture 408 while one or more images of the module fixture 408 are captured using the camera system 409. The laser alignment system may emit laser light of any suitable wavelength and intensity. Moreover, such laser light may be emitted in any suitable spatial pattern. As one non-limiting example, the laser light may be emitted as a cross pattern (e.g., perpendicularly intersecting lines) toward the expected location of the module fixture.

[0045]

[0055] In some embodiments, one or both of the camera system and the laser alignment system are independently movable and / or steerable relative to the articulated robot arm. For example, one or both of the camera system and the laser alignment system may be attached to the articulated robot arm via a motorized gimbal, such that the movement of the camera system / laser system may be controlled independently of the articulated robot arm. Additionally or alternatively, the camera system and / or the laser system may be statically attached to the articulated robot arm. For example, the pose of the camera system and / or the laser system is changed only via the movement of the articulated robot arm and / or the end effector to which they are attached.

[0046]

[0056] In FIG. 4B, the robotic insertion system includes a controller 414. A "controller" may take the form of any suitable computer logic hardware configured to execute instructions encoded in software, firmware, and / or hardware to thereby control the operation of the robotic insertion system. For example, the controller 414 may control the movement of the articulated robot arm 402, the gripping / release by the end effector 404, the operation of the camera system 409, the operation of the laser alignment system 412, etc. In this example, the controller is illustrated as being "on-board" the robotic insertion system (e.g., integrated into the articulated robot arm). In some examples, the controller may be at least partially implemented in a housing or structure that is physically separate from the articulated robot arm and communicatively coupled to the articulated robot arm via any suitable wired or wireless connection. In some examples, the controller 414 performs one or more steps of the method 300. In some examples, the controller 414 is implemented as a computing system 1100, described below with respect to FIG. 11.

[0047]

[0057] In this embodiment, the robotic insertion system 400 further includes a force sensor 416 configured to detect an insertion force vector of the end effector 404 during an attempt to insert the cable insertion module 406 into the module retainer 408. As will be described in more detail below, detection of the insertion force vector via the force sensor can be used to detect any misalignment between the cable insertion module and the module retainer that prevents successful insertion of the cable insertion module.

[0048]

[0058] As mentioned above, the module retainer 408 includes multiple module slots. The cable-insertion module may be inserted into the multiple module slots. In FIG. 4B, two module slots 418A and 418B are labeled. The insertion of the cable-insertion module 406 into the module slot 418B will be shown and described with respect to FIGS. 9A-9D.

[0049]

[0059] Further, in this embodiment, cable wires 420 are already inserted into cable insertion module 406 prior to insertion of the cable insertion module into module retainer 408. In general, any suitable number of one or more cable wires may be inserted into the cable insertion module before the cable insertion module is inserted into the module retainer. Additionally or alternatively, one or more cable wires may be inserted into the cable insertion module after the cable insertion module is inserted into the module retainer. The cable wires are inserted into the cable insertion module in any suitable manner (e.g., manually by operator personnel and / or via an automated wire insertion process).

[0050]

[0060] Referring briefly back to FIG. 3 , at 304, the method 300 includes capturing two or more images of the module fixation device via a camera system of the robotic insertion system. At least one of the two or more images is captured while the module fixation device is illuminated by a laser alignment system of the robotic insertion system. As discussed above, the camera system of the robotic insertion system includes any suitable combination of one or more cameras. Each camera has any suitable capabilities. As one example, the camera system includes an RGB camera and a depth camera, such that the two or more captured images include at least one RGB image captured by the RGB camera and at least one depth image captured by the depth camera.

[0051]

[0061] This is described with respect to Figures 5A-5C, which show example images captured of the module fixture 408 by the camera system 409 of the robotic insertion system 400. Figure 5A shows an example RGB image 500A captured by the RGB camera 410A, in which the module fixture 408, the backplate 407, and the cable insertion module 406 are visible. In this example, the RGB image 500A is the first RGB image captured while the module fixture 408 is illuminated by the laser alignment system 412. Thus, in Figure 5A, a crosshair pattern is projected onto the module fixture by the laser alignment system. Several laser glints (including laser glints 502A, 502B, and 502C) are labeled at the points where the laser light is projected onto the edges of the module fixture. As will be explained in more detail below, the location of these laser glints is used in some cases to identify a segmented image region that corresponds to the module fixture.

[0052]

[0062] In this example, the RGB camera is also used to capture a second RGB image 500B after the laser alignment system has been deactivated. Accordingly, FIG. 5B shows a second exemplary RGB image 500B. This image again shows the module fixture 408 and the cable insertion module 406. However, in this example, because the laser alignment system has been deactivated, the crosshair pattern is no longer projected onto the module fixture.

[0053]

[0063] As mentioned above, in some embodiments, the camera system includes a depth camera configured to capture a depth image. Thus, FIG. 5C illustrates a representation of an exemplary depth image 500C captured by the depth camera 410B of the robotic insertion system 400. Similar to the RGB images of FIGS. 5A and 5B, the depth image 500C illustrates the module fixture 408 and the cable insertion module 406. However, in this case, the pixels of the depth image encode a depth value that represents a detected distance between the depth camera 410B and the depicted object (e.g., the module fixture 408 and the cable insertion module 406). In this embodiment, different shading patterns are used to represent the distance between the depth camera and the depicted object. In that case, a darker shading pattern represents a greater distance from the depth camera.

[0054]

[0064] It will be appreciated that the images 500A, 500B, and 500C described herein need not be visually rendered or displayed to be viewed by a human user. While the images are visually represented in Figures 5A-5C, this is done for illustrative purposes only. Rather, in some embodiments, the images are captured and stored by a robotic insertion system for processing as digital data structures that are never visually represented on a computer display or otherwise presented for viewing.

[0055]

[0065] Further, it will be understood that the particular combination of images shown in Figures 5A-5C (e.g., two RGB images and one depth image) is non-limiting. In general, any suitable number of RGB, depth, and / or other images may be captured by the camera system. Moreover, any suitable number of images may be captured while the laser alignment system is actively projecting laser light toward the module fixture, and any suitable number of images may be captured while the laser alignment system is inactive.

[0056]

[0066] Referring briefly back to FIG. 3, at 306, the method 300 includes performing image processing on the two or more captured images to identify a segmented image area corresponding to the module fixture and to identify a virtual plane parallel to the face of the module fixture. Non-limiting examples of suitable image processing will be described in more detail below. Notably, in some embodiments, the segmented image area and / or the virtual plane are identified relative to a coordinate system of a robotic insertion system such that the location of the segmented image area and / or the virtual plane can be used to guide the movement of an articulated robot arm to thereby insert the cable insertion module.

[0057]

[0067] Image processing is illustrated generally at a high level with respect to FIG. 6. In particular, FIG. 6 generally illustrates a computing system 600 including a controller 602. The computing system is communicatively coupled to a camera system 604. The camera system 604 captures a plurality of images 606 indicative of a module securement device. The computing system is, includes, or is communicatively coupled to a robotic insertion system as described herein. For example, in some embodiments, the robotic insertion system 400 may be implemented as the computing system 600. In other embodiments, the computing system may be substantially separate from the robotic insertion system, but may be communicatively coupled thereto. For example, the computing system 600 may be implemented as a dedicated image processing system. The dedicated image processing system receives and processes images from the robotic insertion system without otherwise controlling the behavior of the robotic insertion system. In some embodiments, the computing system 600 is implemented as the computing system 1100 described below with respect to FIG. 11.

[0058]

[0068] In FIG. 6, a controller 602 receives a captured image 606 and performs one or more image processing steps 608 on the captured image to identify a segmented image region 610 and a virtual plane 612. A segmented image region refers to a set of pixel values ​​determined to correspond to a module fixture, where the set of pixel values ​​are identified or derived from one or more of the images captured by the camera system. The virtual plane is regressed from depth values ​​of the depth image that correspond to coplanar points on a surface of the module fixture or to coplanar points on a flat surface to which the module fixture is attached (e.g., a fixture alignment adaptor), in some embodiments. For illustrative purposes, a segmented image region 504 is shown in FIG. 5B representing pixels of a second RGB image that correspond to the module fixture. Similarly, FIG. 5C shows a representation of a virtual plane 506 regressed from depth values ​​of a depth image 500C.

[0059]

[0069] A more specific non-limiting exemplary approach for identifying the partitioned image regions and virtual planes is shown and described with respect to FIG. 7. Specifically, in FIG. 7, a camera system 700 of a robotic insertion system is used to capture several images showing a module fixture, including a first RGB image 702A and a second RGB image 702B. In this example, one RGB image (e.g., the first RGB image 702A) is captured while the module fixture is at least partially illuminated by a laser alignment system. The other RGB image (e.g., the second RGB image 702B) is captured after the laser alignment system is turned on and off. In general, the two RGB images are captured together relatively close in time without changing the pose of the camera system or the module fixture. The two images thereby provide a similar view of the module fixture (the exception being that one image is captured while the laser alignment system is active).

[0060]

[0070] From there, the computing system performs an image subtraction operation 703 based on the first RGB image and the second RGB image to generate a third RGB image 704. This involves subtracting pixel values ​​of the first RGB image from pixel values ​​of the second RGB image, or vice versa, to generate the third RGB image. In this manner, the pixel values ​​of the third RGB image depend on the relative differences between the first RGB image and the second RGB image, which differences are primarily caused by the fact that one image was captured while illuminated by the laser alignment system. Thus, in this exemplary scenario, many of the pixel values ​​of the third RGB image are likely to be zero or near zero. The exceptions in pixel values ​​correspond to portions of the module fixture that were illuminated by the laser alignment system during the capture of one of the first RGB image or the second RGB image (e.g., the location of the laser glints 502A-C shown in FIG. 5A). In this manner, the location of the laser glint is detectable in the third RGB image; for example, as the pixel value that has the highest absolute value relative to the other pixel values ​​of the third RGB image. This advantageously makes the segmentation process more robust to ambient lighting conditions in the environment.

[0061]

[0071] In Figure 7, a segmented image region 706 is identified based on pixel values ​​of the third RGB image 704. Any suitable image segmentation technique may be used. For example, in one embodiment, the boundary of the module fixture in the third RGB image is indicated by the detected location of the laser glint, as described above. Thus, segmenting the third RGB image, in some embodiments, includes identifying a region of pixel values ​​in the third RGB image that is bounded by the detected location of the laser glint to provide a segmented image region corresponding to the module fixture.

[0062]

[0072] In the embodiment of FIG. 7, the camera system is further used to capture a depth image 708. The segmented image region 706 identified based on the pixel values ​​of the third RGB image 704 is applied to the depth image 708 based on the known alignment between the RGB camera and the depth camera, thereby identifying a set of depth values ​​in the depth image that correspond to the modular fixture. In other words, since the alignment between the RGB camera and the depth camera is known, a correspondence can be identified between the RGB pixels of the captured RGB image and the depth pixels of the captured depth image, such that the two "corresponding" pixels represent approximately the same points surrounding the real world environment. In this manner, once the segmented image region is identified in the RGB image, the known alignment between the RGB camera and the depth camera can be used to identify the corresponding segmented region in the depth image. For example, in the example of Figures 5B and 5C, a segmented image region 504 is shown in both the second RGB image 500B as well as the depth image 500C, in each case corresponding to a modular fixture.

[0063]

[0073] The alignment between the cameras may be determined in any suitable manner. In some embodiments, an integrated camera module includes both an RGB camera and a depth camera, as described above. As one non-limiting example, an Intel® RealSense™ camera system may be used, which includes both an RGB camera and a depth camera with a known alignment and outputs both RGB image data and depth image data. In other embodiments, any suitable camera alignment technique may be used to establish a known alignment between the depth camera and one or more RGB cameras, such that corresponding pixels may be identified between the RGB image and the depth image.

[0064]

[0074] In any event, referring briefly back to FIG. 7, a virtual plane 710 is identified based at least in part on the depth values ​​of the depth image 708. Any suitable technique may be used to identify the virtual plane. In some examples, a 3D point (X=<x,y,z> For multiple points (n=1,...,N) on the surface of the module fixture, a virtual plane can be regressed as follows: TIFF2025037846000001.tif9170

[0065]

[0075] Any new point in the image (u,v) can then be extrapolated as follows: f(u,v)=X' u,v’ X' u,v =<x’,y’,z’>

[0066]

[0076] In some embodiments, the virtual plane is identified, at least in part, by averaging a subset of depth values ​​in a depth image. For example, in one approach, the depth image may be segmented to provide the location of the module fixture or to provide the location of the backplate that holds the module fixture in place. The segmented portion of the depth image may then be divided into two or more regions, in some cases. For example, the segmented region corresponding to the backplate 407 may be divided into three regions. The depth values ​​within each segmented region are then averaged to calculate at least three collinear points that are used to identify the virtual plane, as described above.

[0067]

[0077] In any case, the robotic insertion system identifies a segmented image area and a virtual plane based at least in part on the images captured by the camera system. The robotic insertion system then identifies an alignment pose for the cable insertion module based on the segmented image area and the virtual plane. The alignment pose then serves as a starting point for an insertion motion used to insert the cable insertion module into the module fixture. To this end, and referring briefly back to FIG. 3, at 308, the method 300 includes controlling the articulated robot arm to move the cable insertion module to the alignment pose determined at least in part based on the segmented image area and the virtual plane.

[0068]

[0078] Identifying an alignment pose is illustrated generally with respect to FIG. 8. Specifically, in FIG. 8, coordinates of an alignment pose 800 are identified based at least in part on a segmented image region 802 and a virtual plane 804 identified as described above. In some embodiments, a coordinate of the alignment pose relative to a horizontal axis (e.g., the X-axis) is identified based at least in part on a centroid of a set of depth values ​​in the depth image corresponding to the module fixture. See, for example, the exemplary centroid 508 shown for depth image 500C in FIG. 5C. In other words, the alignment pose is determined as follows: the center of the end effector (and / or the center of the cable insertion module held by the end effector) is at or near the X-axis coordinate of the centroid of the cloud of points in the depth image identified as corresponding to the module fixture.

[0069]

[0079] With continued reference to FIG. 8 , the coordinates of the alignment pose 800 are further determined based at least in part on a virtual plane. For example, the virtual plane 804 may be used to determine the orientation of the alignment pose relative to one or more rotational axes (e.g., pitch, roll, and / or yaw). Specifically, in some embodiments, the coordinates of the alignment pose are set such that while the cable insertion module is occupying the alignment pose, the front surface of the cable insertion module is parallel to the virtual plane and there is no significant angular misalignment with respect to the module fixture that would interfere with the insertion of the cable insertion module. In other words, in some embodiments, the path of movement of the cable insertion module from the alignment pose to the insertion pose (where the cable insertion module is expected to be fully inserted into the module fixture) is perpendicular to the virtual plane.

[0070]

[0080] In some embodiments, the coordinate of the alignment pose relative to the vertical axis (e.g., the Y axis) is determined based on the module slot identifier 806 of the module retainer module slot into which the cable insertion module is to be inserted. For example, in the embodiment of FIG. 4A and FIG. 4B, the cable insertion module is intended to be inserted into the bottom module slot of the module retainer (e.g., module slot 418B). In that case, each module slot is associated with a different unique identifier (e.g., a unique slot number). Assuming that the module retainer itself has a known and fixed position relative to the coordinate system of the robotic insertion system, the vertical coordinate of each module slot (and thus the vertical coordinate of the alignment pose) can be determined based on that slot's unique identifier. For example, in one embodiment, the coordinate of the alignment pose relative to the vertical axis is obtained from a lookup table, indexed into the lookup table by the module slot identifier of the module slot into which the cable insertion module is to be inserted. This is illustrated diagrammatically with respect to FIG. 8, in which the coordinates of an alignment pose 800 are determined based at least in part on a module slot identifier 806 of the target module slot and a lookup table 808 providing the vertical coordinate corresponding to each module slot.

[0071]

[0081] In some examples, the coordinates of the alignment pose are set such that when the cable insertion module occupies the alignment pose, it is at a known distance from the module fixture relative to the insertion axis (e.g., Z-axis). For example, based at least in part on the relative size (e.g., in terms of pixel coordinates) of the module fixture in the captured image, the robotic insertion system may estimate the current distance between the camera system and the module fixture. Based on this estimate, the coordinates of the alignment pose may in some cases be set to increase or decrease the distance between the camera system and the module fixture. The cable insertion module thereby has a predetermined distance from the module fixture into which it is to be inserted. As one non-limiting example, the predetermined distance may be approximately 100 mm.

[0072]

[0082] The movement of the articulated robotic arm is illustrated generally with respect to Figures 9A-9D. Specifically, Figure 9A again illustrates the scenario illustrated in Figures 4A and 4B, where a cable insertion module 406 is held by an end effector 404 of a robotic insertion system 400. In this example, an alignment pose for the cable insertion module has been identified based on the captured images as described above, and is represented in Figure 9A by an alignment pose indicator 900. Referring now to Figure 9B, the robotic insertion system controls the movement of the articulated robotic arm to move the cable insertion module from the position illustrated in Figure 9A to the alignment pose.

[0073]

[0083] Referring briefly back to FIG. 3 , at 310, the method 300 includes controlling an articulated robot arm to move a cable insertion module from an alignment pose towards an insertion pose. This is shown generally with respect to FIGS. 9C and 9D . Specifically, FIG. 9C again illustrates the scenario shown in FIG. 9B , where the cable insertion module has been moved to occupy an alignment pose. In this example, the insertion pose is represented by an insertion pose indicator 902. The path of movement of the cable insertion module from the alignment pose to the insertion pose is illustrated as a movement path indicator 904. As discussed above, in some examples, the path of movement of the cable insertion module from the alignment pose towards the insertion pose is perpendicular to an imaginary plane.

[0074]

[0084] The specific coordinates of the insertion pose may be determined in any suitable manner. In some embodiments, the coordinates of the insertion pose are determined based on the coordinates of the alignment pose. For example, after identifying the alignment pose as described above, the insertion pose may be determined by translating the alignment pose forward a predetermined distance along the insertion axis (e.g., the Z axis). For example, as described above, the alignment pose is set in some cases as follows: when the cable insertion module occupies the alignment pose, the cable insertion module is a predetermined distance from the module retainer. Thus, the insertion pose may be derived by translating the alignment pose a predetermined distance along the insertion axis.

[0075]

[0085] Nonetheless, once the cable insertion module occupies the alignment pose, the robotic insertion system controls the articulated robot arm to move the cable insertion module toward the insertion pose. In some cases, this results in successful insertion of the cable insertion module into the module fixture. Thus, briefly referring back to FIG. 3, the method 300 includes, at 312, releasing the cable insertion module within the module fixture.

[0076]

[0086] For example, the robotic insertion system may determine that insertion is successful once the articulated robotic arm has been moved to a pose that corresponds to the cable insertion module occupying an insertion pose. The robotic insertion system then causes the cable insertion module to be released from the end effector, thereby at least partially assembling the modular cable connector. This may be done in any suitable manner. In some embodiments in which the end effector is computer controlled (e.g., the end effector includes a gripping prong that moves in response to computer instructions), a controller of the robotic insertion system controls the end effector to release the cable insertion module. For example, the gripping tool may be controlled to cease gripping the cable insertion module. Additionally or alternatively, releasing the cable insertion module may include moving the articulated robotic arm away from the insertion pose while allowing the cable insertion module to remain within the module retainer. For example, an external force (e.g., friction) exerted by the module retainer on the cable insertion module may be sufficient to overcome the holding force exerted by the end effector, causing the end effector to release the cable insertion module.

[0077]

[0087] In some embodiments, prior to releasing the cable insertion module from the end effector, the robotic insertion system detects successful insertion of the cable insertion module into the module slot. This is done in any suitable manner. In the embodiment of FIG. 3, the method 300 optionally includes detecting successful insertion by applying a removal force to the cable insertion module. This may include attempting to pull the cable insertion module toward the alignment pose while still holding the cable insertion module, while monitoring the magnitude of the removal force vector at the force sensor and / or monitoring the distance traveled by the cable insertion module. Upon detecting that the magnitude of the removal force vector reaches a retention success threshold, the robotic insertion system determines that the cable insertion module has been successfully inserted into the module slot, because the retention force applied by the module retainer is sufficient to hold the cable insertion module in place regardless of the removal force applied by the end effector. Any suitable value may be used for the retention success threshold. As one non-limiting example, the retention success threshold may be set to 7 lbs.

[0078]

[0088] However, upon detecting that the cable insertion module has moved more than a threshold distance before the magnitude of the removal force vector reaches the retention success threshold, the robotic insertion system may detect that the cable insertion module has failed to insert. For example, if the cable insertion module has moved more than 2 mm before the retention success threshold is reached, this may indicate that the cable insertion module was not successfully retained in the module slot. In such a case, the robotic insertion system may attempt one or more subsequent insertions. In some embodiments, the subsequent insertion attempts may target an updated insertion pose. The updated insertion pose is some distance away from the original insertion pose along the insertion axis (e.g., the Z-axis as labeled in FIGS. 9A-9D). For example, the updated insertion pose may exceed the original insertion pose by 0.5 mm along the insertion axis. The insertion attempts may continue in some cases until the insertion is successful or a failure condition is reached (e.g., too many insertion attempts have failed).

[0079]

[0089] Once the cable insertion module is released, in some embodiments, the robotic insertion system inserts a second cable insertion module into the module fixture. To this end, after the cable insertion module is released, in some embodiments, the robotic insertion system holds the second cable insertion module at the end effector for insertion into the second module slot of the module fixture. Furthermore, the end effector is moved so that the second cable insertion module occupies a second alignment pose. In some embodiments, this may include repeating any or all steps of method 300, for example, capturing additional images of the module fixture that are used to identify the second alignment pose. Additionally or alternatively, the second alignment pose may be derived at least in part from the first alignment pose. For example, the coordinates of the second alignment pose may be substantially the same as the first alignment pose. Nevertheless, the coordinates of the second alignment pose have been translated relative to a vertical axis (e.g., the Y axis) based on the slot identifier of the second module slot into which the second cable insertion module is to be inserted. It will be appreciated that this process may be repeated any suitable number of times, for example, until all module slots in the module retainer are occupied and / or a predefined number of modules have been inserted.

[0080]

[0090] Successful insertion of a cable insertion module into the module fixture is shown diagrammatically with respect to FIG. 9D, which again shows the robotic insertion system 400. In this example, a cable insertion module 406 has been inserted into the module fixture 408 and released. The articulated robot arm end effector 404 now holds a second cable insertion module 906 for insertion into the module fixture. By repeatedly inserting additional cable insertion modules into the module fixture, a modular cable connector can be gradually assembled. For example, ultimately resulting in a modular connector assembly such as that shown in FIG. 2A or 2B.

[0081]

[0091] Notably, however, in some embodiments, movement of the cable insertion module from the alignment pose toward the insertion pose may not result in successful insertion of the cable insertion module into the module fixture. Rather, translational and / or rotational misalignment between the cable insertion module and the module fixture may prevent successful insertion. This scenario is detected in some embodiments by detecting the end effector insertion force vector via a force sensor of the robotic insertion system. For example, as described above with respect to FIGS. 4A and 4B, the robotic insertion system 400 includes a force sensor 416 configured to measure the end effector insertion force vector while the articulated robot arm is controlled to move the cable insertion module from the alignment pose to the insertion pose.

[0082]

[0092] This is illustrated generally at a high level with respect to FIG. 10. In particular, FIG. 10 generally illustrates a computing system 1000 including a controller 1002. The computing system is communicatively coupled to a force sensor 1004 that reports an insertion force vector 1006 during movement of an articulated robotic arm. The computing system is, includes, or is communicatively coupled to a robotic insertion system as described herein. For example, in some embodiments, the robotic insertion system 400 may be implemented as the computing system 1000. In other embodiments, the computing system may be substantially separate from the robotic insertion system, but communicatively coupled thereto. In some embodiments, the computing system 1000 is implemented as a computing system 1100, described below with respect to FIG. 11.

[0083]

[0093] The insertion force vector may take any suitable form. In some examples, the insertion force vector includes a current detected force magnitude and a direction in which the force is being applied. Furthermore, the insertion force vector may be reported at any suitable frequency. As one example, the insertion force vector may be reported continuously, e.g., regardless of when the robotic insertion system is powered on and / or when the articulated robot arm is moved. In some examples, the insertion force vector is reported only when the magnitude of the insertion force vector exceeds a threshold. Exceeding the threshold indicates a problem with the insertion process.

[0084]

[0094] In the example of FIG. 10, once the controller receives the insertion force vector, the controller executes a force monitoring process 1007 to evaluate the success of the current insertion operation. At 1008, the force monitoring process includes determining whether the magnitude of the insertion force vector exceeds an insertion failure threshold. Any particular value of the insertion failure threshold may be used depending on the particular implementation, for example, depending on the capabilities of the articulated robot arm, the sensitivity of the force sensor, and / or the material properties of the cable insertion module and the module retainer. If it is determined that the magnitude of the insertion force vector does not exceed the threshold (No at 1008), the process proceeds to 1010 and the robotic insertion system continues to move the cable insertion module towards the insertion pose.

[0085]

[0095] Alternatively, upon determining that the magnitude of the insertion force vector exceeds the insertion failure threshold (Yes at 1008), the process proceeds to 1012, where the robotic insertion system controls the articulated robot arm to move the cable insertion module towards a modified insertion pose. The modified insertion pose is determined in any suitable manner. In some embodiments, the modified insertion pose is determined based on the direction of the insertion force vector. For example, if there is a misalignment such that the cable insertion module gets stuck on the left side of the module retainer, the direction of the insertion force vector will likely point to the right. Thus, determining the modified insertion pose may include translating the previous insertion pose in the direction of the insertion force vector by a fixed amount (e.g., 1 mm). This may be repeated any suitable number of times until successful insertion is achieved or another failure condition is reached (e.g., too many modifications to the insertion pose may eventually be classified as a failed insertion and the insertion process may be terminated).

[0086]

[0096] The methods and processes described herein may be coupled to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as an executable computer application program, a network-accessible computing service, an application programming interface (API), a library, or a combination of the above and / or other computing resources.

[0087]

[0097] 11 illustrates a simplified representation of an exemplary computing system 1100 configured to provide any of the computing functions described herein. The computing system 1100 may take the form of one or more network-accessible devices, personal computers, server computers, portable computing devices, and / or other computing devices.

[0088]

[0098] Computing system 1100 includes a logic subsystem 1102 and a storage subsystem 1104. Computing system 1100 may optionally include a display subsystem 1106, an input subsystem 1108, a communication subsystem 1110, and / or other subsystems not shown in FIG.

[0089]

[0099] The logic subsystem 1102 includes one or more physical devices configured to execute instructions. For example, the logic subsystem may be configured to execute instructions. The instructions are part of one or more applications, services, programs, or other logic structures. The logic subsystem may include one or more hardware processors configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware devices configured to execute hardware or firmware instructions. The processors of the logic subsystem may be single-core or multi-core, and the instructions executed by the processors may be configured for sequential, parallel, and / or distributed processing. Individual components of the logic subsystem may optionally be distributed across two or more separate devices. These devices may be remotely located and / or configured for coordinated processing. Aspects of the logic subsystem may be virtualized and executed by remotely accessible networked computing devices configured as a cloud computing configuration.

[0090]

[0100] The storage subsystem 1104 includes one or more physical devices configured to temporarily and / or permanently hold computer information such as data and instructions executable by the logic subsystem. When the storage subsystem includes two or more devices, these devices may be co-located and / or remotely located. The storage subsystem 1104 may include volatile devices, non-volatile devices, dynamic devices, static devices, read / write devices, read-only devices, random access devices, sequential access devices, location addressable devices, file addressable devices, and / or content addressable devices. The storage subsystem 1104 may include removable and / or internal devices. When the logic subsystem executes instructions, the state of the storage subsystem 1104 may be transformed, for example, to hold different data.

[0091]

[0101] The logic subsystem 1102 and the storage subsystem 1104 may be integrated into one or more hardware logic components, which may include program specific and application specific integrated circuits (PASICs / ASICs), program specific and application specific standard products (PSSPs / ASSPs), systems on a chip (SOCs), and complex programmable logic devices (CPLDs).

[0092]

[0102] The logic subsystem and the storage subsystem may cooperate to instantiate one or more logic machines. As used herein, the term "machine" collectively refers to a combination of hardware, firmware, software, instructions, and / or any other components that cooperate to provide a computer function. In other words, a "machine" is never an abstract idea, but always has a concrete form. A machine may be instantiated by a single computing device, or a machine may include two or more subcomponents instantiated by two or more different computing devices. In some implementations, a machine includes a local component (e.g., a software application executed by a computer processor) that cooperates with a remote component (e.g., a cloud computing service provided by a network of server computers). The software and / or other instructions that give a particular machine its functionality may optionally be stored as one or more unexecuted modules on one or more suitable storage devices.

[0093]

[0103] When included, the display subsystem 1106 can be used to present a visual representation of the data maintained by the storage subsystem 1104. This visual representation may take the form of a graphical user interface (GUI). The display subsystem 1106 may include one or more display devices utilizing virtually any type of technology. In some implementations, the display subsystem may include one or more virtual, augmented, or mixed reality displays.

[0094]

[0104] When included, the input subsystem 1108 may include or interact with one or more input devices. The input devices may include sensor devices or user input devices. Examples of user input devices include a keyboard, a mouse, a touch screen, or a game controller. In some embodiments, the input subsystem may include or interact with selected natural user input (NUI) components. Such components may be integrated or peripheral, and the delivery and / or processing of input actions may be handled on-board or off-board. Exemplary NUI components may include microphones for speech and / or voice recognition, infrared cameras, color cameras, stereo cameras, and / or depth cameras for machine vision and / or gesture recognition, head trackers, eye trackers, accelerometers, and / or gyroscopes for motion detection and / or intent recognition.

[0095]

[0105] When included, the communications subsystem 1110 may be configured to communicatively couple the computing system 1100 with one or more other computing devices. The communications subsystem 1110 may include wired and / or wireless communication devices compatible with one or more different communications protocols. The communications subsystem may be configured for communication over personal, local, and / or wide area networks.

[0096]

[0106] The present disclosure is presented by way of example and with reference to the associated drawings. Components, process steps, and other elements that may be substantially the same in one or more of the drawings are collectively identified and described with minimal repetition. However, it is noted that collectively identified elements may also differ to some extent. It is further noted that some of the drawings are schematic and not to scale. Various drawing scales, aspect ratios, and numbers of components shown in the drawings may be intentionally distorted to more easily view certain features or relationships.

[0097]

[0107] In one embodiment, a method for assembling a modular cable connector includes holding a cable insertion module at an end effector attached to an articulated robot arm of a robotic insertion system for insertion into a module slot of a module retainer; capturing two or more images of the module retainer via a camera system of the robotic insertion system, where at least one of the two or more images is captured while the module retainer is illuminated by a laser alignment system of the robotic insertion system; performing image processing on the two or more images by a controller of the robotic insertion system to identify a segmented image area corresponding to the module retainer and to identify a virtual plane parallel to a face of the module retainer; controlling the articulated robot arm to move the cable insertion module to an alignment pose determined based at least in part on the segmented image area and the virtual plane; controlling the articulated robot arm to move the cable insertion module from the alignment pose towards an insertion pose; and releasing the cable insertion module from the end effector once the cable insertion module is inserted into the module slot of the module retainer, thereby at least partially assembling the modular cable connector. In this or any other embodiment, the method further includes detecting an insertion force vector of the end effector via a force sensor of the robotic insertion system while controlling the articulated robotic arm to move the cable insertion module from the alignment pose toward an insertion pose. In this or any other embodiment, the method further includes controlling the articulated robotic arm to move the cable insertion module toward a modified insertion pose determined based on a direction of the insertion force vector based on detecting that a magnitude of the insertion force vector exceeds an insertion failure threshold.In this or any other embodiment, the method further includes detecting successful insertion of the cable insertion module into the module slot by applying a removal force to the cable insertion module prior to releasing the cable insertion module from the end effector and detecting that a magnitude of the removal force vector detected via the force sensor exceeds a successful retention threshold. In this or any other embodiment, the method further includes holding the second cable insertion module at the end effector for insertion from a second alignment pose into the second module slot of the module retainer after releasing the cable insertion module from the end effector. In this or any other embodiment, the path of movement of the cable insertion module from the alignment pose to the insertion pose is perpendicular to the imaginary plane. In this or any other embodiment, the coordinate of the alignment pose relative to the perpendicular axis is obtained from a lookup table and indexed into the lookup table by a module slot identifier of the module slot of the module retainer into which the cable insertion module is to be inserted. In this or any other embodiment, the camera system includes an RGB camera and a depth camera, and the two or more images include an RGB image captured by the RGB camera and a depth image captured by the depth camera. In this or any other embodiment, the segmented image region is identified based at least in part on detecting laser glint caused by illuminating the module fixture by a laser alignment system. In this or any other embodiment, detecting the laser glint includes capturing an RGB image while the module fixture is illuminated by the laser alignment system, capturing a second RGB image after deactivating the laser alignment system, and performing an image subtraction operation based on the RGB image and the second RGB image to generate a third RGB image. In this or any other embodiment, the segmented image region is detected based on pixel values ​​of the third RGB image.In this or any other embodiment, a partitioned image region is identified based at least in part on pixel values ​​of the RGB image and applied to the depth image based on a known alignment between the RGB camera and the depth camera, thereby identifying a set of depth values ​​in the depth image corresponding to the module fixture. In this or any other embodiment, an alignment pose is determined based at least in part on a centroid of the set of depth values ​​in the depth image corresponding to the module fixture. In this or any other embodiment, a virtual plane is identified at least in part by averaging a subset of the depth values ​​in the depth image. In this or any other embodiment, one or more cable wires are inserted into the cable insertion module prior to insertion of the cable insertion module into the module fixture.

[0098]

[0108] In one embodiment, a robotic insertion system includes an articulated robot arm equipped with an end effector, a laser alignment system, a camera system, and a controller configured to receive via the camera system two or more images captured of a module fixture into which a cable insertion module will be inserted by the end effector into a module slot, where at least one of the two or more images is captured while the module fixture is illuminated by the laser alignment system; perform image processing on the two or more images to identify a segmented image area corresponding to the module fixture and to identify a virtual plane parallel to a face of the module fixture; control movement of the articulated robot arm to move the cable insertion module to an alignment pose determined based at least in part on the segmented image area and the virtual plane; control movement of the articulated robot arm to move the cable insertion module from the alignment pose towards an insertion pose; and control the end effector to release the cable insertion module once the cable insertion module is inserted into the module slot of the module fixture, thereby at least partially assembling a modular cable connector assembly. In this or any other embodiment, the controller is further configured to detect an insertion force vector of the end effector via a force sensor of the robotic insertion system while the cable insertion module is moved from the alignment pose toward the insertion pose, and based on detecting that the magnitude of the insertion force vector exceeds an insertion failure threshold, move the cable insertion module toward a modified insertion pose determined based on a direction of the insertion force vector. In this or any other embodiment, the camera system includes an RGB camera and a depth camera, and the two or more images include an RGB image captured by the RGB camera and a depth image captured by the depth camera.In this or any other embodiment, a partitioned image region is identified based at least in part on pixel values ​​of the RGB image and applied to the depth image based on a known alignment between the RGB camera and the depth camera, thereby identifying a set of depth values ​​in the depth image that corresponds to the module fixture. In this or any other embodiment, an alignment pose is determined based at least in part on a centroid of the set of depth values ​​in the depth image that corresponds to the module fixture.

[0099]

[0109] In one embodiment, a computing system includes a logic subsystem, as well as a storage subsystem holding instructions executable by the logic subsystem, the instructions being executable by the logic subsystem to: receive, via the camera system, two or more images captured of a module fixture into which a cable insertion module will be inserted into a module slot by an end effector of an articulated robotic arm, where at least one of the two or more images is captured while the module fixture is illuminated by a laser alignment system; perform image processing on the two or more images to identify a segmented image area corresponding to the module fixture and to identify a virtual plane parallel to a face of the module fixture; control movement of the articulated robotic arm to move the cable insertion module to an alignment pose determined based at least in part on the segmented image area and the virtual plane; control movement of the articulated robotic arm to move the cable insertion module from the alignment pose towards an insertion pose; and control the end effector to release the cable insertion module once the cable insertion module is inserted into the module slot of the module fixture, thereby at least partially assembling a modular cable connector assembly. [Explanation of symbols]

[0100] 100 Modular Cable Connector Assembly 102A~D Cable wire 104A~D Cable Insertion Module 105A, B Cable insertion recess 106A~D Connection interface 108A, B Module Fixture 110A, B module slots 112 Fixture Alignment Adapter 200A, 200B Modular Cable Connector Assembly 202A, B Module Fixture 202A~D Cable Insertion Module 206A, B Cable 300 ways 302, 304, 306, 308, 310, 312 method steps 400 Robot Insertion System 402 Articulated Robot Arm 404 End Effector 406 Cable Insertion Module 407 Backplate 408 Module Fixture 409 Camera System 410A RGB Camera 410B Depth Camera 412 Laser Alignment System 414 Controller 416 Force Sensor 418A, B module slot 420 Cable Wire 500A, 500B RGB images 500C depth image 502A~C Laser Glint 504 Segmented Image Regions 506 Virtual Plane 508 Center of gravity 600 Computing Systems 602 Controller 604 Camera System 606 images 608 Image Processing Steps 610 Segmented Image Regions 612 Virtual Plane 700 Camera System 702A, B First and second RGB images 703 Image Subtraction Calculation 704 3rd RGB image 706 Segmented Image Regions 708 Depth image 710 Virtual Plane 800 Alignment pose coordinates 802 Segmented Image Regions 804 Virtual Plane 806 Module Slot Identifier 808 Lookup Table 900 Alignment Pose Indicator 902 Insert Pose Indicator 904 Movement Path Indicator 906 Cable Insertion Module 1000 Computing Systems 1002 Controller 1004 Force Sensor 1006 Insertion Force Vector 1007 Force Monitoring Process 1008, 1010, 1012 Force monitoring process steps 1100 Computing System 1102 Logic Subsystem 1104 Storage Subsystem 1106 Display Subsystem 1108 Input Subsystem 1110 Communication Subsystem

Claims

1. A method (300) for assembly of a modular cable connector (200A), comprising: holding a cable insertion module (406) for insertion into a module slot (418B) of a module retainer (408) at an end effector (404) attached to an articulated robot arm (402) of a robotic insertion system (400); capturing two or more images (500A-C) of the module fixation device (408) via a camera system (409) of the robotic insertion system (400), where at least one of the two or more images (500A-C) is captured while the module fixation device (408) is illuminated by a laser alignment system (412) of the robotic insertion system (400); performing image processing on the two or more images (500A-C) by a controller (414) of the robotic insertion system (400) to identify a segmented image region (504) corresponding to the module fixture (408) and to identify an imaginary plane (506) parallel to a face of the module fixture (408); controlling the articulated robotic arm (402) to move the cable insertion module (406) to an alignment pose (900) determined based at least in part on the segmented image region (504) and the virtual plane (506); controlling the articulated robotic arm (402) to move the cable insertion module (406) from the alignment pose (900) towards an insertion pose (902); and and releasing the cable insertion module (406) from the end effector (404) upon insertion of the cable insertion module (406) into the module slot (418B) of the module retainer (408), thereby at least partially assembling the modular cable connector (200A).

2. 2. The method (300) of claim 1, further comprising detecting an insertion force vector (1006) of the end effector (404) via a force sensor (416) of the robotic insertion system (400) while controlling the articulated robotic arm (402) to move the cable insertion module (406) from the alignment pose (900) towards the insertion pose (902).

3. 3. The method (300) of claim 2, further comprising, based on detecting that the magnitude of the insertion force vector (1006) exceeds an insertion failure threshold (1008), controlling the articulated robotic arm (402) to move the cable insertion module (406) toward a modified insertion pose (1012) determined based on a direction of the insertion force vector (1006).

4. 3. The method (300) of claim 2, further comprising: applying a removal force to the cable insertion module (406) prior to releasing the cable insertion module (406) from the end effector (404), and detecting successful insertion of the cable insertion module (406) into the module slot (418B) by detecting that a magnitude of a removal force vector detected via the force sensor (416) exceeds a successful retention threshold.

5. 10. The method of claim 1, further comprising: after releasing the cable insertion module from the end effector, holding a second cable insertion module at the end effector for insertion from a second alignment pose into a second module slot of the module retainer.

6. The method of claim 1, wherein a path of movement of the cable insertion module from the alignment pose to the insertion pose is perpendicular to the imaginary plane.

7. 2. The method of claim 1, wherein the coordinates of the alignment pose relative to a vertical axis are obtained from a lookup table, indexed into the lookup table by a slot identifier of the module slot of the module retainer into which the cable insertion module is to be inserted.

8. 2. The method (300) of claim 1, wherein the camera system (409) includes an RGB camera (410A) and a depth camera (410B), and the two or more images (500A-C) include an RGB image (500A) captured by the RGB camera (410A) and a depth image (500C) captured by the depth camera (410B).

9. 9. The method (300) of claim 8, wherein the separated image area (504) is identified based at least in part on detected laser glints (502A-C) produced by illuminating the module fixture (408) by the laser alignment system (412).

10. 10. The method (300) of claim 9, wherein detecting the laser glint (502A-C) comprises capturing the RGB image (500A) while the module fixture (408) is illuminated by the laser alignment system (412), capturing a second RGB image (500B) after deactivating the laser alignment system (412), and performing an image subtraction operation (703) based on the RGB image (500A) and the second RGB image (500B) to generate a third RGB image (704).

11. 11. The method (300) of claim 10, wherein the segmented image regions (504) are detected based on pixel values ​​of the third RGB image (704).

12. 9. The method (300) of claim 8, wherein the partitioned image region (504) is identified based at least in part on pixel values ​​of the RGB image (500A) and applied to the depth image (500C) based on a known alignment between the RGB camera (410A) and the depth camera (410B), thereby identifying a set of depth values ​​in the depth image (500C) that corresponds to the module fixture (408).

13. 13. The method (300) of claim 12, wherein the alignment pose (900) is determined based at least in part on a centroid (508) of the set of depth values ​​in the depth image (500C) that corresponds to the module fixture (408).

14. 13. The method (300) of claim 12, wherein the virtual plane (506) is determined at least in part by averaging a subset of the depth values ​​in the depth image (500C).

15. 2. The method of claim 1, wherein one or more cable wires are inserted into the cable insertion module prior to insertion of the cable insertion module into the module retainer.

16. An articulated robot arm (402) equipped with an end effector (404); A laser alignment system (412), A camera system (409), and 1. A robotic insertion system (400) comprising a controller (414), the controller (414) comprising: receiving, via said camera system (409), two or more images (500A-C) captured from a module fixture (408) into which a cable insertion module (406) is to be inserted by said end effector (404), at least one of said two or more images (500A-C) being captured while said module fixture (408) is illuminated by said laser alignment system (412); performing image processing (703) on the two or more images (500A-C) to identify a segmented image region (504) corresponding to the module fixture (408) and to identify an imaginary plane (506) parallel to the face of the module fixture (408); controlling movement of the articulated robotic arm (402) to move the cable insertion module (406) to an alignment pose (900) determined based at least in part on the segmented image region (504) and the virtual plane (506); controlling the movement of the articulated robotic arm (402) to move the cable insertion module (406) from the alignment pose (900) towards an insertion pose (902); and A robotic insertion system (400) configured to control and execute the end effector (404) to release the cable insertion module (404) upon insertion of the cable insertion module (406) into the module slot (418B) of the module retainer (408), thereby at least partially assembling a modular cable connector assembly (200A).

17. 17. The robotic insertion system of claim 16, wherein the controller is further configured to: detect an insertion force vector of the end effector via a force sensor of the robotic insertion system while the cable insertion module is moved from the alignment pose toward the insertion pose; and, based on detecting that a magnitude of the insertion force vector exceeds an insertion failure threshold, move the cable insertion module toward a modified insertion pose determined based on a direction of the insertion force vector.

18. 17. The robotic insertion system (400) of claim 16, wherein the camera system (409) includes an RGB camera (410A) and a depth camera (410B), and the two or more images (500A-C) include an RGB image (500A) captured by the RGB camera (410A) and a depth image (500C) captured by the depth camera (410B).

19. 20. The robotic insertion system of claim 18, wherein the segmented image region (404) is identified based at least in part on pixel values ​​of the RGB image (500A) and applied to the depth image (500C) based on a known alignment between the RGB camera (410A) and the depth camera (410B), thereby identifying a set of depth values ​​in the depth image (500C) that correspond to the module fixation device (408).

20. 20. The robotic insertion system of claim 19, wherein the alignment pose is determined based at least in part on a centroid of the set of depth values ​​in the depth image that corresponds to the module fixation device.

21. A logic subsystem (1102), and A computing system (1100) comprising a storage subsystem (1104) that holds instructions executable by the logic subsystem (1102), the instructions being executed by the logic subsystem (1102) to: receiving, via a camera system (409), two or more images (500A-C) captured from a module fixture (408) into which a cable insertion module (406) is to be inserted by an end effector (404) of an articulated robotic arm (402), at least one of the two or more images (500A-C) being captured while the module fixture (408) is illuminated by a laser alignment system (412); performing image processing on the two or more images (500A-C) to identify a segmented image region (504) corresponding to the module fixture (408) and to identify an imaginary plane (506) parallel to a face of the module fixture (408); controlling movement of the articulated robotic arm (402) to move the cable insertion module (406) to an alignment pose (900) determined based at least in part on the segmented image region (504) and the virtual plane (506); controlling the movement of the articulated robotic arm (402) to move the cable insertion module (406) from the alignment pose (900) towards an insertion pose (902); and A computing system (1100) that is executable to control the end effector (404) to release the cable insertion module (406) when the cable insertion module (406) is inserted into a module slot (418B) of the module retainer (408), thereby at least partially assembling a modular cable connector assembly (200A).