Robotic insertion of modular cable connectors

Through robot insertion system and image processing technology, the modular cable connectors are automatically assembled, solving the problems of low assembly speed and accuracy in the prior art, and achieving efficient and accurate automatic assembly.

CN119581969APending Publication Date: 2025-03-07THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411122805.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-05
Filing Date
2024-08-15
Publication Date
2025-03-07

AI Technical Summary

Technical Problem

The prior art lacks efficient automation methods when assembling modular cable connectors, resulting in low manufacturing speed and accuracy, and operators need to operate manually, increasing labor intensity.

Method used

Through the robot insertion system, the image of the module holder is captured using the camera system, image processing is performed to identify segmented image areas and virtual planes, the articulated robot arm is controlled to move the cable insertion module from the alignment posture to the insertion posture, and release the cable insertion module in the module slot where the module is inserted.

Benefits of technology

The automatic assembly of modular cable connectors is realized, which improves assembly speed and accuracy, reduces manual labor for operators, and improves production efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119581969A_ABST
    Figure CN119581969A_ABST
Patent Text Reader

Abstract

The present disclosure provides robotic insertion of modular cable connectors. In an embodiment, a method for assembling a modular cable connector includes, at an end effector of a robotic insertion system, holding a cable insertion module for insertion into a module slot of a module holder. Two or more images of the module holder are captured. Image processing is performed to identify segmented image regions corresponding to the module holder and a virtual plane parallel to a face of the module holder. The end effector is moved to an alignment gesture determined based at least in part on the segmented image region and the virtual plane. The end effector moves from an alignment position toward an insertion position. Upon insertion of the cable into the module slot of the module holder, the cable insertion module is released from the end effector.
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 techniques for assembling modular cable connectors via robotic insertion of individual modules. Background Art

[0002] Different types of connectors are often used to conductively couple one cable to another cable, and / or to couple a cable to an electronic device for transmitting data and / or power. The specific 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, and this affects the way the connector is manufactured and assembled. Summary of the invention

[0003] This summary is not an extensive overview of the specification. It is neither intended to identify key or important elements of the specification nor to delineate any scope that is unique to any scope of the embodiments or 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 this disclosure.

[0004] In an embodiment, a method for assembling a modular cable connector includes: at an end effector of a robotic insertion system, holding a cable insertion module for insertion into a module slot of a module holder. Capturing two or more images of the module holder. Performing image processing to identify a segmented image area corresponding to the module holder and a virtual plane parallel to a face of the module holder. The cable insertion module is moved to an alignment posture determined at least in part based on the segmented image area and the virtual plane. The cable insertion module moves from the alignment posture toward an insertion posture. When the cable insertion module is inserted into the module slot of the holder, the cable insertion module is released from the end effector.

[0005] The features, functions, and advantages that have been discussed can be achieved independently in various embodiments or may be combined in yet other embodiments further details of which can be seen with reference to the following description and drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 An example cable insertion module and a module holder configured to removably retain the cable insertion module are schematically illustrated.

[0007] Figure 2A and Figure 2B Aspects of an example modular cable connector assembly are schematically illustrated.

[0008] Figure 3 An exemplary method for assembling a modular cable connector is schematically illustrated.

[0009] Figure 4Aand Figure 4B The schematic diagram shows the use of a robotic insertion system holding a cable insertion module for insertion into a module holder.

[0010] FIG. 5A to FIG. 5C Example images captured by a camera system of a robotic insertion system are schematically shown.

[0011] Figure 6 An exemplary computing system that performs image processing on a captured image is schematically illustrated.

[0012] Figure 7 The identification of segmented image regions and virtual planes based on a captured image is schematically shown.

[0013] Figure 8 The identification of an alignment pose for insertion of a cable insertion module based on the segmented image area and the virtual plane is schematically shown.

[0014] Figure 9A-9D The schematic diagram shows the insertion of a cable plug-in module into a module slot of a module holder using a robotic insertion system.

[0015] Fig.10 An exemplary computing system for controlling insertion of a cable insertion module based on a detected insertion force vector is schematically illustrated.

[0016] Fig.11 An exemplary computing system is schematically illustrated. DETAILED DESCRIPTION

[0017] The present disclosure relates to automated techniques for assembling modular cable connectors. Modular cable connectors can be used to connect electronic cables to each other, and / or to connect cables to suitable electronic devices for transmitting data and / or power. A modular cable connector includes a plurality of cable insertion modules removably retained within a module holder. Cable wires of one or more cables can be inserted into cable insertion grooves of the cable insertion modules. The modules themselves can then be attached to other suitable components (e.g., connectors or electronic devices attached to other cables), thereby establishing connectivity between these components and the cable wires, and enabling the transmission of data and / or power. 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, thereby establishing connectivity between the two cables.

[0018] Specifically, the present disclosure focuses on the insertion of a cable insertion module into a module holder, such as a robotic insertion system facilitating the insertion. Specifically, an end effector of an articulated robotic arm fixed to the robotic insertion system holds a cable insertion module for insertion into a module slot of the module holder. A camera system is used to capture two or more images of the module holder into which the cable insertion module is to be inserted. At least one of the two or more images is captured when the module holder is illuminated by a laser alignment system. The captured images are processed to identify an area of ​​the captured image corresponding to the module holder. Based on the captured images, the robotic insertion system controls the movement of the end effector from an alignment position and orientation (referred to herein as an "alignment posture") toward an insertion position and orientation (or "insertion posture") as an attempt to insert the cable insertion module into the module holder. The technology described herein beneficially facilitates the automated assembly of modular cable connectors, which can improve the speed and accuracy of cable connector manufacturing and reduce the manual labor required by operators.

[0019] Figure 1 An exploded view of aspects of an exemplary cable connector assembly 100 is shown. As will be described in greater detail below, the present disclosure generally relates to techniques for automatically inserting a cable plug-in module into a module holder. Figure 1 Serves as an overview of one non-limiting example of a modular cable connector assembly 100 to which the robotic insertion techniques described herein may be applied.

[0020] It will be understood that for purposes of explanation, Figure 1 The specific components shown and others described herein Figure 2A-Figure 11 The other components are highly simplified. Figure 1-Figure 11 The sizes, shapes, and specific appearances of the components shown in the drawings are non-limiting and are not drawn to scale. In addition, it should be understood that Figure 1-Figure 11 The components depicted in the drawings may be constructed of any suitable material. For example, as a non-limiting example, the cable insert modules, module holders, and other components of the modular cable connector assembly described herein may be constructed of any suitable combination of plastic and / or metal.

[0021] exist Figure 1 In the example of the present invention, the cable connector assembly is used to establish connectivity between a first pair of cable lines 102A and 102C, and between a second pair of cable lines 102B and 102D. It should be understood that this is non-limiting, and the connector assembly described herein can be used to connect any appropriate number of wiring to each other, and / or to an electronic device such as a PCB. The present disclosure focuses primarily on conductive cables for transmitting power and / or data. However, in some examples, the connector assembly described herein can be used with cables that are not conductive but include other suitable transmission media (such as fiber optic cables).

[0022] As used herein, a "cable wire" includes a length of material (e.g., copper wire, optical fiber) used to transmit data and / or power, typically coated with a protective material (e.g., plastic or rubber insulation, grounded shield). In other words, the term "cable wire" is often used herein to refer to not only the conductive (e.g., copper) or non-conductive (e.g., optical fiber) core of the cable, but may additionally refer to any coating, insulation, and / or shielding applied to the core.

[0023] A "cable" includes one or more different cable wires. In the case where the cable includes only one cable wire, the terms "cable wire" and "cable" can be used interchangeably. However, in some embodiments, a cable includes two or more cable wires bundled together. For example, in some embodiments, the cable is a multi-conductor cable including two or more cable wires - for example, different conductive copper wires are each encased in their own respective insulating cable jackets, and are also bundled together in additional insulation and / or shielding to form a multi-conductor cable. In some embodiments, the cable is a shielded twisted pair cable, in which the different cable wires include multiple conductor pairs twisted together and protected by an insulating jacket. The twisted pairs themselves are bundled together and surrounded by additional shielding and / or insulation to form a shielded twisted pair cable.

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

[0025] Each cable insertion module defines a cable insertion groove, the size and shape of which are formed for inserting a cable line. As shown, the cable line 102A is inserted into the cable insertion groove 105A of the cable insertion module 104A. The cable insertion groove has any suitable size based on the size of the cable to be inserted into the cable insertion module. In some embodiments, different cable insertion modules have cable insertion grooves of different sizes to accommodate different cable specifications.

[0026] In some cases, the size of the cable insertion groove is suitable for accommodating the insulating sheath around the core of the cable wire (e.g., copper wire or optical fiber material) so that a certain length of insulated cable is inserted into the cable insertion module. In other embodiments, the insulating sheath can be trimmed so that only the cable core is inserted into the cable insertion module.

[0027] For each cable insertion module, any suitable length of cable wire can be inserted into the cable insertion groove. Typically, the cable wire is inserted far enough into the cable insertion module to enable data and / or power to be transmitted between the cable wire and any component connected to the connection interface on the opposite face of the cable insertion module via the transmission path of the cable insertion module. In this way, a suitable component aligned with and connected to the connection interface is effectively connected to the cable wire, enabling data and / or power to be transmitted between the cable wire and the component.

[0028] The connection interface takes any suitable form, depending on the implementation. In general, a "connection interface" refers to any facet or feature of a cable insertion module on a face opposite the cable insertion groove that facilitates the transfer of data and / or power to another component that is aligned with and in contact with the connection interface. This may include conductive pins or sockets integrated into the cable insertion module, or grooves in the cable insertion module through which conductive components attached to the cable wires may extend.

[0029] As a non-limiting example, the connection interface of the cable insertion module may include a conductive pin that is conductively coupled to the cable wire and is sized and shaped to be inserted into a pin insertion groove on another component (e.g., a connector on a second cable) or a complementary interface of an electronic device. This is the case of 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.

[0030] In some embodiments, the conductive pin is fixed to the end of the cable line, for example, in the form of a plug, jack or other cable terminal, which is crimped, soldered or otherwise connected to the cable line and then inserted into the cable insertion module. When using such a cable terminator, in some embodiments, the cable line is inserted far enough into the cable insertion module so that the conductive pin extends through a connection interface on the opposite side of the cable insertion module, for example, the connection interface is a recess through which the conductive pin extends.

[0031] In other embodiments, the conductive pins are an integral part of the cable insertion module. For example, the cable terminator may be retained within the cable insertion module and in contact with a conductive feature within the module, for example, the cable terminator may be retained within a complementary conductive socket defined within the cable insertion module, with the conductive path between the socket and the conductive pins extending away from the cable insertion module. In either case, any suitable mechanism (e.g., clamp, crimp) may be used to hold the cable wire in place within the module to mitigate the risk of accidental removal.

[0032] As another example, in some implementations, the connection interface of the cable insertion module is in the form of a pin insertion groove, the size and shape of which are suitable for inserting a conductive pin of a connector fixed to the cable. Figure 1 The case of the connection interfaces 106C and 106D of the cable insertion modules 104C and 104D shown. Specifically, the connection interfaces 106C and 106D take the form of grooves or sockets, which are conductively connected to the cable wires inserted into the cable insertion modules, and / or conductively connected to plugs, jacks, or other terminals fixed to the ends of the cable wires. In this way, the conductive pins are inserted into the pin insertion grooves to conductively connect the pins to the cable wires.

[0033] Each cable insertion module is sized and shaped for removably retaining within a module holder. In this way, a stacked set of cable insertion modules can each be retained within the same single holder, with each module being attached to a different cable in some cases. This conveniently enables the assembled holder to be used as a male plug and / or female socket for coupling different cables with appropriate other components - for example, a similar assembled holder attached to a second set of cables, and / or an electronic device such as a PCB.

[0034] exist Figure 1 In the embodiment of the present invention, the cable connector assembly includes a module holder 108A, which includes a plurality of module slots, two of which are labeled as module slots 110A and 110B. Each module slot can be described as a shelf or a recess that removably holds the inserted module in an appropriate position within the holder. Any suitable mechanism can be used to hold the cable insertion module in the module slot of the module holder. For example, in one embodiment, each cable insertion module includes one or more clamps that occupy corresponding retaining holes of the module holder when the module is inserted into the holder. In addition or alternatively, different modules can be clamped or otherwise attached to each other - for example, different modules can include complementary clamps or other attachment features on their top and bottom so that the modules can be attached together as a single stack.

[0035] It will be appreciated that the module holder may include any suitable number of two or more than two module slots, depending on the implementation. In this embodiment, the cable insertion modules 104A / 104B are depicted as being sized such that when each module is held within the module holder 108A, each module will occupy a single corresponding module slot within the holder. However, in some embodiments, some cable insertion modules are sized to occupy two or more than two corresponding slots in the module holder. Typically, each cable insertion module is sized to occupy an integer number of module slots of the module holder, e.g., one slot, two slots, or three slots.

[0036] Figure 1 A second module holder 108B is additionally shown. Cable insertion modules 104C and 104D include a second set of cable insertion modules that are sized and shaped to be removably retained within module slots of the second module holder. Thus, in this example, two different module holders are used to connect two different sets of cables, e.g., cable wire 102A is coupled to cable wire 102C, and cable wire 102B is coupled to cable wire 102D.

[0037] To this end, Figure 1 In the embodiment, the cable connector assembly 100 further includes a retainer alignment adapter 112, which is sized and shaped to hold the module retainer 108A in alignment with the module retainer 108B. This results in alignment and connection between complementary cable insertion modules held in matching module slots within the two module retainers 108A and 108B. For example, when the cable insertion module 104A is held in the module retainer 108A and the module retainer 108A is held in place by the retainer alignment adapter 112, the conductive pins 106A of the cable insertion module will be aligned and inserted into the pin insertion grooves 106C of the cable insertion module 104C, which is held in the module retainer 108B and is also held in place by the retainer alignment adapter 112. This enables data and / or power to be transmitted between the cable line 102A and the cable line 102C. Connections may be established between any suitable number of cable wires and / or cables in this manner, depending on the number of cable insertion modules held within each module holder, and on how many cable wires are pluggable into each cable insertion module.

[0038] Figure 2A and Figure 2B A non-limiting example of modular cable connector assemblies 200A and 200B that have been at least partially assembled is shown. Specifically, Figure 2A and Figure 2BA module holder is depicted that has been fully populated with a cable insert module. In other words, the robotic insertion techniques described herein have been used to insert a plurality of cable insert modules into respective module holders, thereby assembling aspects of a modular cable connector.

[0039] Specifically, Figure 2A An exemplary module holder 202A is shown fully populated with cable insertion modules. The two cable insertion modules are labeled as modules 204A and 204B. As shown, different modules inserted into the module holder occupy different numbers of module slots - for example, module 204A occupies two module slots, while module 204B occupies one module slot. Figure 2A In the embodiment of the present invention, each inserted module uses conductive pins, but it will be understood that this is non-limiting. Instead, any or all modules inserted into the module holder may include pin insertion grooves in addition to or in lieu of conductive pins. As described above, one or more cable wires may be inserted into the cable insertion groove of each cable insertion module. The cable wires may be bundled together as any suitable number of cables, in Figure 2A Several of the cables are shown in FIG. 2 as cables 206A.

[0040] Figure 2B Another non-limiting embodiment of a cable connector assembly 200B is depicted. Specifically, Figure 2B Another exemplary module holder 202B is shown populated with a plurality of cable insertion modules, two of which are labeled modules 204C and 204D. Figure 2A In contrast, the module in module holder 202B includes pin insertion grooves instead of conductive pins. It is worth noting that Figure 2B The layout depicted in Figure 2A In other words, the modules of module holder 202A can be mated with the modules of module holder 202B to facilitate Figure 2A Cable 206A and Figure 2B Transmission of data and / or power between cables 206B.

[0041] Figure 3 An exemplary method 300 for assembling a modular cable connector via a robotic insertion system is shown—for example, the method 300 may be used to insert a cable insertion module into a module holder, such as Figure 1 and Figure 2A / Figure 2BAs shown. The steps of method 300 may be initiated, terminated, and / or repeated at any suitable time and in response to any suitable conditions. Method 300 is primarily described as being performed by a robotic insertion system that includes a controller that executes software instructions to control the movement of an articulated robotic arm. In general, it will be understood that the steps of method 300 may be performed by any suitable computing system of one or more computing devices, and any computing device that implements the steps of method 300 may have any suitable capabilities, hardware configurations, and form factors. In some embodiments, method 300 is performed by the following description of Fig.11 The computing system 1100 described is implemented.

[0042] The method 300 includes, at 302, holding, at an end effector of an articulated robotic arm secured to a robotic insertion system, a cable insertion module for insertion into a module slot of a module holder. Figure 4A and Figure 4B Specifically, Figure 4A Schematically illustrated is an exemplary robotic insertion system 400. It should be understood that the robotic insertion system 400 is a non-limiting example that is highly simplified and schematic in nature.

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

[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 jaws to hold a cable insertion module 406 while the cable insertion module is manipulated and ultimately inserted into a module holder 408. The module is mounted on a back plate 407. In this embodiment, the end effector 404 relies on friction between the jaws and the surface of the cable insertion module to hold the module in place. The posture of the end effector 404, and therefore the posture of the cable insertion module 406, is changed by the movement of the articulated robotic arm 402.

[0045] It should be understood that this is merely a simplified and 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 a non-limiting example, the end effector may use friction, interlocking geometry, suction, adhesives, and / or magnetism to physically hold the cable insertion module during manipulation. In some embodiments, the articulated robotic arm is configured to use two or more different end effectors - for example, the end effectors may be dynamically interchangeable, and / or two or more end effectors may be secured to the articulated robotic arm at a time. The end effector may contact or otherwise interact with any suitable surface or aspect of the cable insertion module. For example, in Figure 4A In a non-limiting embodiment, the end effector 404 clamps the cable insertion module 406 close to the side of the cable insertion groove.

[0046] In some embodiments, the end effector includes one or more mechanisms controlled by a computing system (e.g., a controller of a robotic insertion system) to hold and / or release the cable insertion module. Figure 4A In some embodiments, the distance between the jaws of the end effector 404 can be adjusted by a controller, which enables computerized control of the gripping and release of the cable insertion module 406. However, in other embodiments, the end effector can be purely mechanical in nature. For example, in some embodiments, the end effector relies on springs, interlocking geometries, suction cups, magnets, and / or other suitable means to temporarily hold the cable insertion module until the holding force of the end effector is overcome by external forces (such as friction between the cable insertion module and the interior of the module holder) and / or facilitated installation.

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

[0048] The end effector may pick up (or otherwise begin manipulating) the cable insertion module in any suitable manner. In some embodiments, the cable insertion module is placed in or on the end effector by an operator. Additionally or alternatively, loading the cable insertion module into the robotic insertion system may be at least partially automated. For example, in one example scenario, the robotic insertion system uses computer vision to identify the cable insertion module, controls the movement of the robot arm to place the end effector in a posture that facilitates 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 automatic insertion of the cable insertion module into the module holder, as will be described in more detail below. In another example scenario, the robotic insertion system controls the robot arm to move the end effector to a predefined initial posture, delivers the cable insertion module to the initial posture (e.g., by another robot arm, by an operator, by a mechanism (such as a conveyor belt)), and then starts the automatic insertion process when some conditions are met. For example, suitable conditions may include the passage of a predetermined length of time, detection of a force consistent with the arrival of the cable insertion module, detection of the presence of the cable insertion module via a computer vision system, and / or detection of the presence of the cable insertion module in any other suitable manner.

[0049] exist Figure 4A In an embodiment of the present invention, the end effector 404 has been holding a cable insertion module 406, and the end effector 404 has been positioned near and oriented toward the module holder 408. In some embodiments, an operator controls movement of the end effector (e.g., by controlling a robotic arm, or by holding and moving the end effector) to approximately align the end effector with the module holder. For example, the operator may approximately align the end effector with the module holder before, during, or after placing the cable insertion module in or on the end effector. Additionally or alternatively, in some instances, the robotic insertion system is configured to automatically align itself with the module holder before, during, or after receiving the cable insertion module, for example based on a known pose of the module holder relative to a coordinate system of the robotic insertion system and / or based on detection of the module holder (such as via computer vision).

[0050] Figure 4BAnother schematic and simplified view of an exemplary robotic insertion system 400 is shown, with a particular focus on components near an 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 an 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 can have any suitable relationship relative to each other and to the environment.

[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 holder prior to inserting the cable insertion module. Figure 4B In the example of , the camera system 409 includes two different cameras: an RGB camera 410A and a depth camera 410B. In general, the robotic insertion system as described herein includes a camera system having one or more suitable cameras, wherein each suitable camera can 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.

[0052] As one embodiment, the camera system includes one or more RGB cameras that are sensitive to visible wavelengths of 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 camera and / or other suitable cameras. The depth camera is typically sensitive to infrared light and is configured to output a depth image, where the pixels of the depth image encode the detected distance between the image sensor of the depth camera and physical objects in the surrounding environment. Any suitable depth sensing technology can be used - for example, stereo, structured light, or time of flight.

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

[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 holder 408 while capturing one or more images of the module holder 408 using the camera system 409. The laser alignment system can emit laser light of any suitable wavelength and intensity. In addition, such laser light can be emitted in any suitable spatial pattern. As a non-limiting example, the laser light can be emitted as a crosshair pattern (e.g., vertical crosshairs) toward the expected position of the module holder.

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

[0056] exist Figure 4B , the robotic insertion system includes a controller 414. The "controller" takes the form of any suitable computer logic hardware configured to execute software, firmware, and / or hardware-coded instructions to control the operation of the robotic insertion system. For example, the controller 414 can control the movement of the articulated robotic arm 402, the clamping / release of 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 described as being "onboard" the robotic insertion system, for example, integrated into the articulated robotic arm. It will be understood that in some examples, the controller may be at least partially implemented in a housing or structure that is physically separate from the articulated robotic arm, and may be communicatively coupled to the articulated robotic arm via any suitable wired or wireless connection. In some embodiments, the controller 414 performs one or more steps of the method 300. In some embodiments, the controller 414 is implemented as described below. Fig.11 A computing system 1100 is described.

[0057] In this example, the robotic insertion system 400 also 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 holder 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 holder, which could prevent successful insertion of the cable insertion module.

[0058] As described above, the module holder 408 includes a plurality of module slots into which cable insert modules may be inserted. Figure 4B The two module slots 418A and 418B are marked in FIG. Figure 9A-9D Insertion of the cable insert module 406 into the module slot 418B is shown and described.

[0059] Furthermore, in this example, the cable line 420 has been inserted into the cable insertion module 406 before the cable insertion module is inserted into the module holder 408. Typically, any suitable number of the one or more cable lines can be inserted into the cable insertion module before it is inserted into the module holder. Additionally or alternatively, one or more cable lines can be inserted into the cable insertion module after the cable insertion module has been inserted into the module holder. The cable lines are inserted into the cable insertion module in any suitable manner (e.g., manually by an operator and / or via an automated wiring insertion process).

[0060] Return briefly Figure 3 , method 300 includes, at 304, capturing two or more images of a module holder via a camera system of a robotic insertion system. At least one of the two or more images is captured when the module holder is illuminated by a laser alignment system of the robotic insertion system. As described above, the camera system of the robotic insertion system includes any suitable combination of one or more cameras, and each camera has any suitable capabilities. As an example, the camera system includes an RGB camera and a depth camera, and thus 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.

[0061] This is relative to Figure 5A-Figure 5C , an exemplary image of a module holder 408 captured by a camera system 409 of the robotic insertion system 400 is shown. Figure 5A An example RGB image 500A captured by RGB camera 410A is shown, in which aspects of module holder 408, backplane 407, and cable insertion module 406 are visible. In this example, RGB image 500A is a first RGB image captured when module holder 408 is illuminated by laser alignment system 412. Figure 5A , a crosshair pattern is projected onto the module holder by a laser alignment system. Several laser flashes are marked at the points where the laser is projected onto the edge of the module holder, including laser flashes 502A, 502B, and 502C. As will be described in more detail below, in some cases, the locations of these laser flashes are used to identify segmented image regions corresponding to the module holder.

[0062] In this example, the RGB camera is also used to capture a second RGB image 500B after the laser alignment system is deactivated. Figure 5B A second example RGB image 500B is shown, again showing the module holder 408 and the cable insertion module 406. However, in this example, the laser alignment system has been deactivated, and therefore the crosshair pattern is no longer projected onto the module holder.

[0063] As discussed above, in some examples, the camera system includes a depth camera configured to capture a depth image. Figure 5C A representation of an example depth image 500C captured by the depth camera 410B of the robotic insertion system 400 is shown. Figure 5A and Figure 5B Like the RGB image of FIG. 4 , the depth image 500C depicts the module holder 408 and the cable insertion module 406. However, in this case, the pixels of the depth image encode depth values ​​representing the detected distance between the depth camera 410B and the depicted object (e.g., the module holder 408 and the cable insertion module 406). In this example, different shading patterns are used to represent the distance between the depth camera and the depicted object, where darker shading patterns represent greater distances from the depth camera.

[0064] It will be understood that the images 500A, 500B, and 500C described herein need not be visually rendered or displayed for viewing by a human user. Figure 5A-Figure 5C In some instances, the images are visually represented in the robot insertion system, but this is for illustration purposes only. Instead, in some instances, the images are captured and stored by the robot insertion system for processing into a digital data structure that is never visually represented on a computer display or otherwise presented for viewing.

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

[0066] Simple return Figure 3, the method 300 includes, at 306, performing image processing on the two or more captured images to identify a segmented image region corresponding to the module holder, and to identify a virtual plane parallel to a face of the module holder. Non-limiting examples of suitable image processing techniques are described in more detail below. Notably, in some examples, the segmented image region and / or the virtual plane are identified relative to a coordinate system of the robotic insertion system such that the position of the segmented image region and / or the virtual plane can be used to guide movement of the articulated robotic arm, and thereby insert the cable insertion module.

[0067] about Figure 6 Image processing is schematically illustrated at a high level. Specifically, Figure 6 A computing system 600 is schematically shown that includes a controller 602. The computing system is communicatively coupled to a camera system 604 that captures a plurality of images 606 depicting a module holder. The computing system is or includes or is communicatively coupled to a robotic insertion system as described herein. For example, in some examples, the robotic insertion system 400 can be implemented as the computing system 600. In other examples, the computing system can be substantially separate from the robotic insertion system but communicatively coupled to the robotic insertion system. For example, the computing system 600 can be implemented as a dedicated image processing system that receives and processes images from the robotic insertion system without otherwise controlling the behavior of the robotic insertion system. In some examples, the computing system 600 is implemented as a dedicated image processing system as described below. Fig.11 A computing system 1100 is described.

[0068] exist Figure 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 holder, where the set of pixels is identified in one or more of the images captured by the camera system or derived from one or more of the images. In some examples, the virtual plane is regressed from depth values ​​of a depth image corresponding to coplanar points on a surface of the module holder or coplanar points on a flat surface to which the module holder is attached (e.g., a holder alignment adapter). For illustration purposes, Figure 5B , which represents pixels of the second RGB image corresponding to the module holder. Similarly, Figure 5C A representation of a virtual plane 506 regressed from the depth values ​​of depth image 500C is shown.

[0069] Relative to Figure 7 More specific non-limiting example methods for identifying segmented image regions and virtual planes are shown and described. Figure 7, a camera system 700 of a robotic insertion system is used to capture several images depicting a module holder, including a first RGB image 702A and a second RGB image 702B. In this example, one RGB image (e.g., first RGB image 702A) is captured while the module holder is at least partially illuminated by a laser alignment system. Another RGB image (e.g., second RGB image 702B) is captured after the laser alignment system is deactivated. Overall, without changing the pose of the camera system or the module holder, the two RGB images are captured relatively close in time such that the two images provide similar views of the module holder (except that one image is captured while the laser alignment system is activated).

[0070] Thus, the computing system performs an image subtraction operation 703 based on the first and second RGB images to generate a third RGB image 704. This includes subtracting the pixel values ​​of the first RGB image from the pixel values ​​of the second RGB image, and vice versa, to generate the third RGB image. In this way, the pixel values ​​of the third RGB image will depend on the relative differences between the first and second RGB images, and these differences will primarily arise from the fact that one image was captured while illuminated by the laser alignment system. As such, in this example scenario, many of the pixel values ​​of the third RGB image will likely be at or near zero, except for pixel values ​​corresponding to portions of the module holder that were illuminated by the laser alignment system during capture of one of the first or second RGB images - for example, Figure 5A 502C. In this way, the locations of the laser flashes are detectable in the third RGB image—for example, as the pixel value having the highest absolute value relative to other pixel values ​​of the third RGB image. This advantageously increases the robustness of the segmentation process to ambient lighting conditions in the environment.

[0071] exist Figure 7 , a segmented image region 706 is identified based on the pixel values ​​of the third RGB image 704. Any suitable image segmentation technique may be used. For example, in one example, the boundary of the module holder within the third RGB image is indicated by the position of the detected laser flash as described above. As such, in some examples, segmenting the third RGB image includes: identifying a region of pixel values ​​within the third RGB image bounded by the position of the detected laser flash to give a segmented image region corresponding to the module holder.

[0072] exist Figure 7In the example of , the camera system is additionally used to capture a depth image 708. The segmented image regions 706 identified based on the pixel values ​​of the third RGB image 704 are applied to the depth image 708 based on the known alignment between the RGB camera and the depth camera to thereby identify a set of depth values ​​within the depth image that correspond to the module holders. In other words, because the alignment between the RGB camera and the depth camera is known, a correspondence between RGB pixels of the captured RGB image and depth pixels of the captured depth image can be identified such that the two "corresponding" pixels depict nearly the same point in the surrounding real-world environment. In this way, once the segmented image regions are identified within the RGB image, the known alignment between the RGB and depth cameras can be used to identify the corresponding segmented regions within the depth image. For example, in Figure 5B and Figure 5C In the example of , the segmented image region 504 is shown in the second RGB image 500B and in the depth image 500C and corresponds in each case to a module holder.

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

[0074] In any case, briefly return Figure 7 , identifying a virtual plane 710 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, the 3D point ( ) regression algorithm. For the module holder surface ( ), the virtual plane can be regressed as follows:

[0075]

[0076] Then, the image can be extrapolated as follows Any new point in:

[0077] , .

[0078] In some examples, the virtual plane is identified at least in part by averaging a subset of depth values ​​within the depth image. For example, in one approach, the depth image may be segmented to give the location of a module holder, or to give the location of a backplate that holds the module holder in place. Then, in some cases, the segmented portion of the depth image may be divided into two or more regions, 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 used to identify the virtual plane as described above.

[0079] In any case, based at least in part on the image captured by the camera system, the robotic insertion system identifies the segmented image area and the virtual plane. The robotic insertion system then identifies an alignment pose of the cable insertion module based on the segmented image area and the virtual plane, wherein the alignment pose serves as a starting point for an insertion movement for inserting the cable insertion module into the module holder. To this end, briefly returning to Figure 3 , the method 300 includes, at 308 , controlling the articulated robotic arm to move the cable insertion module to an alignment pose determined at least in part based on the segmented image region and the virtual plane.

[0080] about Figure 8 The recognition of the alignment posture is schematically shown. Figure 8 , the coordinates of the alignment pose 800 are identified based at least in part on the segmented image region 802 and the virtual plane 804 identified as described above. In some examples, the coordinates of the alignment pose relative to a horizontal axis (e.g., an X-axis) are determined based at least on a centroid of a set of depth values ​​corresponding to the module holder within the depth image. For example, see Figure 5C 500C relative to the depth image 500C. In other words, the alignment pose can be determined so that the center of the end effector (and / or the center of the cable insertion module held by the end effector) is located at or near the X-axis coordinate of the center of mass of the point cloud identified within the depth image as corresponding to the module holder.

[0081] continue Figure 8 , additionally identifying coordinates of an alignment posture 800 based at least in part on the virtual plane. For example, the virtual plane 804 can be used to identify the orientation of the alignment posture relative to one or more rotational axes - for example, pitch, roll and / or yaw. Specifically, in some examples, the coordinates of the alignment posture are set so that when the cable insertion module occupies the alignment posture, the front face of the cable insertion module is parallel to the virtual plane, and there is no significant angular misalignment relative to the module holder that would interfere with the insertion of the cable insertion module. In other words, in some examples, the movement path of the cable insertion module from the alignment posture toward the insertion posture (wherein it is expected that the cable insertion module will be fully inserted into the module holder) is perpendicular to the virtual plane.

[0082] In some examples, the coordinates of the alignment posture relative to a vertical axis (eg, the Y axis) are determined based on a module slot identifier 806 of a module slot of a module holder into which the cable insertion module is to be inserted. Figure 4A and Figure 4B In the example of , the cable insertion module is intended to be inserted into the lowest module slot of the module holder (e.g., module slot 418B), where each module slot is associated with a different unique identifier (e.g., a unique slot number). Assuming that the module holder itself has a known fixed position relative to the coordinate system of the robotic insertion system, the vertical coordinate of each module slot (and therefore the vertical coordinate of the alignment pose) can be identified based on the unique identifier of that slot. For example, in one instance, the coordinates of the alignment pose relative to the vertical axis are retrieved from a lookup table and indexed in the lookup table by the module slot identifier of the module slot into which the cable insertion module is to be inserted. This is relative to Figure 8 Schematically illustrated, the coordinates of the alignment gesture 800 are determined based at least in part on a module slot identifier 806 of a target module slot and a lookup table 808 that provides vertical coordinates corresponding to each module slot.

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

[0084] about Figure 9A-9D The movement of the articulated robot arm is schematically shown. Specifically, Fig. 9A Again, it is shown that Figure 4A and Figure 4B , where the cable insertion module 406 is held by the end effector 404 of the robotic insertion system 400. In this example, the alignment pose of the cable insertion module has been identified based on the captured images as described above, and Fig. 9A , represented by the alignment posture indicator 900. Fig. 9B , the robotic insertion system has controlled the movement of an articulated robotic arm to insert cables into the module from Fig. 9A Move the position shown in to the set alignment posture.

[0085] Return briefly Figure 3 , method 300 includes, at 310, controlling an articulated robotic arm to move the cable insertion module from an alignment posture toward an insertion posture. Fig. 9C and Fig.9D Specifically, Fig. 9C Again, it is shown that Fig. 9B 9, where the cable insertion module has been moved to assume the alignment posture. In this example, the insertion posture is represented by the insertion posture indicator 902. The movement path of the cable insertion module from the alignment posture to the insertion posture is shown as the movement path indicator 904. As described above, in some examples, the movement path of the cable insertion module from the alignment posture toward the insertion posture is perpendicular to the virtual plane.

[0086] The specific coordinates of the insertion posture are determined in any suitable manner. In some examples, the coordinates of the insertion posture are determined based on the coordinates of the alignment posture. For example, after identifying the alignment posture as described above, the insertion posture can be determined by translating forward a predetermined distance along an insertion axis (e.g., a Z axis). For example, as described above, in some cases, the alignment posture is set so that once the cable insertion module occupies the alignment posture, it is a predetermined distance from the module holder. Therefore, by translating the alignment posture along the insertion axis by a predetermined distance, the insertion posture can be derived.

[0087] Regardless, once the cable insertion module assumes the alignment posture, the robotic insertion module controls the articulated robotic arm to move the cable insertion module toward the insertion posture. In some cases, this results in successful insertion of the cable insertion module into the cable insertion module. Thus, briefly returning to Figure 3 , method 300 includes, at 312 , releasing the cable insertion module in the module holder.

[0088] For example, once the articulated robotic arm has moved to a posture consistent with the cable insertion module occupying the insertion posture, the robotic insertion system can determine that a successful insertion has been made. 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 can be accomplished in any suitable manner. In an example where the end effector is computer controlled (e.g., the end effector includes a clamp 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 clamping tool can be controlled to stop clamping the cable insertion module. Additionally or alternatively, releasing the cable insertion module can include moving the articulated robotic arm away from the insertion posture while allowing the cable insertion module to remain at the rear within the module holder. For example, an external force (such as friction) applied by the module holder to the cable insertion module can be sufficient to overcome the holding force applied by the end effector, causing the end effector to release the cable insertion module.

[0089] In some examples, the robotic insertion system detects successful insertion of the cable insertion module into the module slot before releasing the cable insertion module from the end effector. This is done in any suitable manner. Figure 3 In the example of , method 300 optionally includes detecting successful insertion by applying a removal force to the cable insertion module. This may include: while the end effector still holds the cable insertion module, attempting to pull the cable insertion module back to an alignment posture while monitoring the magnitude of the removal force vector at the force sensor, and / or monitoring the movement distance of the cable insertion module. When it is detected that the magnitude of the removal force vector reaches a retention success threshold, the robotic insertion system determines that the cable insertion module is successfully inserted into the module slot because the retention force applied by the module holder 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 a non-limiting example, the retention success threshold may be set to 7 pounds.

[0090] However, upon detecting that the cable insertion module moves beyond a threshold distance before the magnitude of the removal force vector reaches the retention success threshold, the robotic insertion system can detect that the cable insertion module has failed to be inserted. For example, if the cable insertion module moves 2 mm or more before the retention success threshold is reached, this can indicate that the cable insertion module has not been successfully retained within the module slot. In this case, the robotic insertion system can make one or more subsequent insertion attempts. In some examples, the subsequent insertion attempts can be made along the insertion axis (e.g., Figure 9A-9D The updated insertion posture may be positioned at a distance from the original insertion posture (the Z axis marked in FIG). For example, the updated insertion posture may extend 0.5 mm beyond the original insertion posture along the insertion axis. In some cases, insertion attempts may continue until a successful insertion is detected or a failure condition is reached (e.g., too many failed insertion attempts).

[0091] Once the cable insertion module is released, in some examples, the robotic insertion system inserts the second cable insertion module into the module holder. To this end, after releasing the cable insertion module, in some examples, the robotic insertion system holds the second cable insertion module at the end effector for insertion into the second module slot of the module holder. In addition, the end effector moves so that the second cable insertion module occupies a second alignment posture. In some examples, this may include repeating any or all steps of method 300-for example, capturing an additional image of the module holder for identifying the second alignment posture. Additionally or alternatively, the second alignment posture may be at least partially derived from the first alignment posture. For example, although the slot identifier of the second module slot into which the second cable insertion module is to be inserted is translated about a vertical axis (e.g., Y axis), the coordinates of the second alignment posture may be substantially the same as the first alignment posture. It will be understood that the process may be repeated any suitable number of times-for example, until each module slot of the module holder is occupied, and / or a predefined number of modules have been inserted.

[0092] about Fig.9D The successful insertion of a cable insertion module into a module holder is schematically shown, again showing the robotic insertion system 400. In this example, the cable insertion module 406 has been inserted into the module holder 408 and released. The end effector 404 of the articulated robotic arm now holds a second cable insertion module 906 for insertion into the module holder. By repeatedly inserting additional cable insertion modules into the module holder, a modular cable connector can be gradually assembled - for example, ultimately producing a modular cable connector such as Figure 2A or Figure 2B Modular connector assembly shown.

[0093] However, it is worth noting that in some examples, movement of the cable insertion module from the alignment posture toward the insertion posture may not result in successful insertion of the cable insertion module into the module holder. Instead, translational and / or rotational misalignment between the cable insertion module and the module holder may prevent successful insertion. In some examples, this situation is detected by detecting the insertion force vector of the end effector via a force sensor of the robotic insertion system. For example, as described above, Figure 4A and Figure 4B As described, the robotic insertion system 400 includes a force sensor 416 configured to measure an insertion force vector of the end effector when the articulated robotic arm is controlled to move the cable insertion module from an alignment pose toward an insertion pose.

[0094] This is relative to Fig.10 is schematically shown at a high level. Specifically, Fig.10A computing system 1000 is schematically shown that includes 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 or includes, or is communicatively coupled to, a robotic insertion system as described herein. For example, in some examples, the robotic insertion system 400 can be implemented as the computing system 1000. In other examples, the computing system can be substantially separate from the robotic insertion system, but communicatively coupled to the robotic insertion system. In some examples, the computing system 1000 is implemented as described below. Fig.11 A computing system 1100 is described.

[0095] The insertion force vector takes any suitable form. In some examples, the insertion force vector includes the magnitude of the force currently detected, and the direction in which the force is applied. Furthermore, the insertion force vector may be reported at any suitable frequency. As an example, the insertion force vector may be reported continuously—e.g., each time the robotic insertion system is powered on, and / or each time an articulated robotic arm is moved. In some examples, the insertion force vector is reported only when the magnitude of the insertion force vector exceeds a threshold, which may indicate a problem with the insertion process.

[0096] exist Fig.10 In the example of , once the controller receives the insertion force vector, it performs 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. Depending on the specific implementation, for example, depending on the capabilities of the articulated robotic arm, the sensitivity of the force sensor, and / or the material properties of the cable insertion module and the module holder, any specific value of the insertion failure threshold may be used. When it is determined that the magnitude of the insertion force vector does not exceed the threshold (no at 1008), the process proceeds to 1010, where the robotic insertion system continues to move the cable insertion module toward the insertion posture.

[0097] Alternatively, when it is determined that the magnitude of the insertion force vector does exceed the insertion failure threshold (yes at 1008), the process proceeds to 1012, where the robotic insertion system controls the articulated robotic arm to move the cable insertion module toward the corrected insertion posture. The corrected insertion posture is determined in any suitable manner. In some examples, the corrected insertion posture is determined based on the direction of the insertion force vector. For example, if misalignment causes the cable insertion module to get stuck on the left side of the module holder, the direction of the insertion force vector will likely point to the right. Therefore, determining the corrected insertion posture may include translating the previous insertion posture by a fixed amount (e.g., 1 mm) in the direction of the insertion force vector. This can be repeated any suitable number of times until a successful insertion is achieved, or another failure condition is reached (e.g., too many corrections to the insertion posture may ultimately be classified as a failed insertion, resulting in termination of the insertion process).

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

[0099] Fig.11 Schematically illustrated is a simplified representation of a computing system 1100 that is configured to provide all or any of the computing functions described herein. Computing system 1100 may take the form of one or more network accessible devices, personal computers, server computers, mobile computing devices, and / or other computing devices.

[0100] The computing system 1100 includes a logic subsystem 1102 and a storage subsystem 1104. The computing system 1100 may optionally include a display subsystem 1106, an input subsystem 1108, a communication subsystem 1110, and / or Fig.11 Other subsystems not shown.

[0101] 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 as part of one or more applications, services, or other logical 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 processor of the logic subsystem may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and / or distributed processing. The individual components of the logic subsystem may optionally be distributed in two or more than two separate devices, which may be remotely located and / or configured for collaborative processing. Aspects of the logic subsystem may be virtualized and executed by a remotely accessible networked computing device configured in a cloud computing configuration.

[0102] The storage subsystem 1104 includes one or more physical devices configured to temporarily and / or permanently retain computer information, such as data and instructions that can be executed by the logic subsystem. When the storage subsystem includes two or more devices, the devices can be collocated and / or remotely located. The storage subsystem 1104 can include volatile, non-volatile, dynamic, static, read / write, read-only, random access, sequential access, location addressable, file addressable, and / or content addressable devices. The storage subsystem 1104 can include removable and / or built-in devices. When the logic subsystem executes instructions, the state of the storage subsystem 1104 can be transformed - for example, to retain different data.

[0103] Aspects of the logic subsystem 1102 and the storage subsystem 1104 may be integrated together into one or more hardware logic components. Such hardware logic components may include, for example, program and application specific integrated circuits (PASIC / ASIC), program and application specific standard products (PSSP / ASSP), systems on chips (SOC), and complex programmable logic devices (CPLD).

[0104] The logic subsystem and the storage subsystem can collaborate to instantiate one or more logical machines. As used herein, the term "machine" is used to collectively refer to a combination of hardware, firmware, software, instructions, and / or any other components that collaborate to provide computer functionality. In other words, a "machine" is never an abstract concept and always has a tangible 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 collaborates 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 saved as one or more unexecuted modules on one or more suitable storage devices.

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

[0106] When an input subsystem 1108 is included, the input subsystem 1108 may include or interface with one or more input devices. The input device may include a sensor device or a user input device. 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 interface with selected natural user input (NUI) components. Such components may be integrated or peripheral devices, and the conversion and / or processing of input actions may be processed on-board or off-board. Examples of NUI components may include microphones for voice and / or speech recognition; infrared, color, stereo and / or depth cameras for machine vision and / or gesture recognition; head trackers, eye trackers, accelerometers and / or gyroscopes for movement detection and / or intent recognition.

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

[0108] The present disclosure is presented by way of example and with reference to the associated drawings. Components, processing steps, and other elements that may be substantially the same in one or more of the drawings are coordinately identified and described with minimal repetition. However, it will be noted that the co-identified elements may also be different to some extent. It should be further noted that some of the figures may be schematic and not drawn to scale. The various drawing scales, aspect ratios, and numbers of parts shown in the drawings may be purposefully deformed to make it easier to see certain features or relationships.

[0109] In an example, a method for assembling a modular cable connector includes: holding, at an end effector of an articulated robotic arm attached to a robotic insertion system, a cable insertion module for insertion into a module slot of a module holder; capturing two or more images of the module holder via a camera system of the robotic insertion system, wherein at least one of the two or more images is captured when the module holder is illuminated by a laser alignment system of the robotic insertion system; performing image processing on the two or more images at a controller of the robotic insertion system to identify a segmented image area corresponding to the module holder and to identify a virtual plane parallel to a face of the module holder; controlling the articulated robotic arm to move the cable insertion module to an alignment posture determined at least in part based on the segmented image area and the virtual plane; controlling the articulated robotic arm to move the cable insertion module from the alignment posture to an insertion posture; and releasing the cable insertion module from the end effector when the cable insertion module is inserted into the module slot of the module holder, thereby at least partially assembling the modular cable connector. In this example or any other example, the method further includes: when controlling the articulated robot arm to move the cable insertion module from the alignment posture toward the insertion posture, detecting the insertion force vector of the end effector via the force sensor of the robot insertion system. In this example or any other example, the method further includes: based on detecting that the size of the insertion force vector exceeds the insertion failure threshold, controlling the articulated robot arm to move the cable insertion module toward the correction insertion posture determined based on the direction of the insertion force vector. In this example or any other example, the method further includes: before releasing the cable insertion module from the end effector, detecting that the cable insertion module is successfully inserted into the module slot by applying a removal force to the cable insertion module and detecting that the size of the removal force vector detected by the force sensor exceeds the retention success threshold. In this example or any other example, the method further includes: after releasing the cable insertion module from the end effector, holding the second cable insertion module at the end effector to be inserted into the second module slot of the module holder from the second alignment posture. In this example or any other example, the movement path of the cable insertion module from the alignment posture to the insertion posture is perpendicular to the virtual plane. In this or any other example, the coordinates of the alignment pose about the vertical axis are retrieved from a lookup table and indexed in the lookup table by a module slot identifier of a module slot of a module holder into which the cable insertion module is to be inserted. In this or any other example, the camera system includes an RGB camera and a depth camera, and wherein 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 example, the segmented image region is identified based at least in part on detecting a laser flash caused by illumination of the module holder by a laser alignment system.In this example or any other example, the detecting laser flash includes capturing an RGB image while the module holder is illuminated by the laser alignment system, capturing a second RGB image after the laser alignment system is deactivated, and performing an image subtraction operation based on the RGB image and the second RGB image to generate a third RGB image. In this example or any other example, the segmented image area is detected based on the pixel values ​​of the third RGB image. In this example or any other example, the segmented image area is identified based at least in part on the pixel values ​​of the RGB image, and the segmented image area is applied to the depth image based on the known alignment between the RGB camera and the depth camera to thereby identify a set of depth values ​​corresponding to the module holder within the depth image. In this example or any other example, the alignment posture is determined based at least in part on the centroid of a set of depth values ​​corresponding to the module holder within the depth image. In this example or any other example, the virtual plane is identified at least in part by averaging a subset of the depth values ​​within the depth image. In this example or any other example, one or more cable wires are inserted into the cable insertion module before the cable insertion module is inserted into the module holder.

[0110] In an example, a robotic insertion system includes: an articulated robotic arm equipped with an end effector; a laser alignment system; a camera system; and a controller, the controller being configured to: receive two or more images of a module holder captured via the camera system, insert a cable insertion module into a module slot in the module holder by the end effector, wherein at least one of the two or more images is captured when the module holder 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 holder, and identify a virtual plane parallel to a face of the module holder; control the movement of the articulated robotic arm to move the cable insertion module to an alignment posture determined at least in part based on the segmented image area and the virtual plane; control the movement of the articulated robotic arm to move the cable insertion module from the alignment posture toward the insertion posture; and control the end effector to release the cable insertion module when the cable insertion module is inserted into the module slot of the module holder, thereby at least partially assembling a modular cable connector assembly. In this example or any other example, the controller is further configured to: when the cable insertion module moves from the alignment posture toward the insertion posture, detect the insertion force vector of the end effector via the force sensor of the robot insertion system, and based on detecting that the magnitude of the insertion force vector exceeds the insertion failure threshold, move the cable insertion module toward a corrected insertion posture determined based on the direction of the insertion force vector. In this example or any other example, the camera system includes an RGB camera and a depth camera, and wherein 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 example or any other example, the segmented image area is identified based at least in part on the pixel values ​​of the RGB image, and the segmented image area is applied to the depth image based on the known alignment between the RGB camera and the depth camera to thereby identify a set of depth values ​​corresponding to the module holder within the depth image. In this example or any other example, the alignment posture is determined based at least in part on the centroid of a set of depth values ​​corresponding to the module holder within the depth image.

[0111] In an example, a computing system includes: a logic subsystem; and a storage subsystem, wherein the storage subsystem retains instructions executable by the logic subsystem to: receive two or more images of a module holder captured via a camera system, insert a cable insertion module into a module slot in the module holder by an end effector of an articulated robotic arm, wherein at least one of the two or more images is captured when the module holder 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 holder, and identify a virtual plane parallel to a face of the module holder; control the movement of the articulated robotic arm to move the cable insertion module to an alignment posture determined at least in part based on the segmented image area and the virtual plane; control the movement of the articulated robotic arm to move the cable insertion module from the alignment posture toward the insertion posture; and when the cable insertion module is inserted into the module slot of the module holder, control the end effector to release the cable insertion module, thereby at least partially assembling the modular cable connector assembly.

Claims

1. A method (300) for assembling a modular cable connector (200A), the method (300) comprising: At an end effector (404) of an articulated robotic arm (402) mounted to a robotic insertion system (400), a cable insertion module (406) is held for insertion into a module slot (418B) of a module holder (408); capturing two or more images of the module holder (408) via a camera system (409) of the robotic insertion system (400), wherein at least one of the two or more images is captured when the module holder (408) is illuminated by a laser alignment system (412) of the robotic insertion system (400); performing image processing at a controller (414) of the robotic insertion system (400) on the two or more images to identify a segmented image region (504) corresponding to the module holder (408), and to identify a virtual plane (506) parallel to a face of the module holder (408); controlling the articulated robotic arm (402) to move the cable insertion module (406) to an alignment pose (900) determined at least in part based 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 posture (900) to the insertion posture (902); and When the cable insertion module (406) is inserted into the module slot (418B) of the module holder (408), the cable insertion module (406) is released from the end effector (404), thereby at least partially assembling the modular cable connector (200A).

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

3. The method (300) according to claim 2, further comprising: Based on detecting that the magnitude of the insertion force vector exceeds an insertion failure threshold, the articulated robot arm (402) is controlled to move the cable insertion module (406) toward a corrected insertion posture determined based on the direction of the insertion force vector.

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

5. The method (300) of claim 1, wherein: The coordinates of the alignment posture (900) about the vertical axis are retrieved from a lookup table and indexed in the lookup table by a module slot identifier of the module slot (418B) of the module holder (408) into which the cable insertion module (406) is to be inserted.

6. The method (300) of claim 1, wherein: The camera system (409) includes an RGB camera (410A) and a depth camera (410B), and wherein the two or more images include an RGB image captured by the RGB camera (410A) and a depth image captured by the depth camera (410B), wherein the segmented image region (504) is identified based at least in part on a detected laser flash caused by illumination of the module holder (408) by the laser alignment system (412).

7. The method (300) according to claim 6, wherein: Detecting the laser flash includes capturing the RGB image while the module holder (408) is illuminated by the laser alignment system (412), capturing a second RGB image after the laser alignment system (412) is deactivated, and performing an image subtraction operation based on the RGB image and the second RGB image to generate a third RGB image.

8. The method (300) according to claim 7, wherein: The segmented image region is detected based on pixel values ​​of the third RGB image (504).

9. The method (300) according to claim 6, wherein: The segmented image region (504) is identified based at least in part on pixel values ​​of the RGB image, and the segmented image region (504) is applied to the depth image based on a known alignment between the RGB camera (410A) and the depth camera (410B) to thereby identify a set of depth values ​​corresponding to the module holder (408) within the depth image.

10. The method (300) according to claim 9, wherein: The alignment pose (900) is determined based at least in part on a centroid of the set of depth values ​​within the depth image that corresponds to the module holder (408).

11. The method (300) according to claim 9, wherein: The virtual plane is identified at least in part by averaging a subset of the depth values ​​within the depth image (506).

12. A robotic insertion system (400), comprising: an articulated robotic arm (402), the articulated robotic arm (402) being equipped with an end effector (404); Laser Alignment System (412); Camera system (409); and A controller (414), wherein the controller (414) is configured to: receiving two or more images of a module holder (408) captured via the camera system (409), the end effector (404) inserting a cable insertion module (406) into the module holder (408), wherein at least one of the two or more images is captured while the module holder (408) is illuminated by the laser alignment system (412); performing image processing on the two or more images to identify a segmented image region (504) corresponding to the module holder (408), and to identify a virtual plane (506) parallel to a face of the module holder (408); controlling movement of an articulated robotic arm (402) to move the cable insertion module (406) to an alignment pose (900) determined at least in part based 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 posture (900) toward the insertion posture (902); and When the cable insertion module (406) is inserted into the module slot (418B) of the module holder (408), the end effector (404) is controlled to release the cable insertion module (406), thereby at least partially assembling a modular cable connector assembly.

13. The robotic insertion system (400) of claim 12, wherein: The controller (414) is further configured to: when the cable insertion module (406) moves from the alignment posture (900) toward the insertion posture (902), detect the insertion force vector of the end effector (404) via the force sensor (416) of the robotic insertion system (400), and based on detecting that the size of the insertion force vector exceeds an insertion failure threshold, move the cable insertion module (406) toward a corrected insertion posture determined based on the direction of the insertion force vector.

14. The robotic insertion system (400) of claim 12, wherein the camera system (409) comprises an RGB camera (410A) and a depth camera (410B), and wherein: The two or more images include an RGB image captured by the RGB camera (410A) and a depth image captured by the depth camera (410B), wherein the segmented image region is identified based at least in part on pixel values ​​of the RGB image, and the segmented image region is applied to the depth image based on a known alignment between the RGB camera (410A) and the depth camera (410B) to thereby identify a set of depth values ​​corresponding to the module holder (408) within the depth image.

15. The robotic insertion system (400) of claim 14, wherein: The alignment pose (900) is determined based at least in part on a centroid of the set of depth values ​​within the depth image that corresponds to the module holder (408).

16. A computing system (1100), comprising: Logic subsystem (1102); and A storage subsystem (1104) that holds instructions executable by the logic subsystem (1102) to: receiving two or more images of a module holder (408) captured via a camera system (409) into which a cable insertion module (406) is inserted by an end effector (404) of an articulated robotic arm (402), wherein at least one of the two or more images is captured while the module holder (408) is illuminated by a laser alignment system (412); performing image processing on the two or more images to identify a segmented image region (504) corresponding to the module holder (408), and to identify a virtual plane (506) parallel to a face of the module holder (408); controlling movement of the articulated robotic arm (402) to move the cable insertion module (406) to an alignment pose (900) determined at least in part based 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 posture (900) toward the insertion posture (902); and When the cable insertion module (406) is inserted into the module slot (418B) of the module holder (408), the end effector (404) is controlled to release the cable insertion module (406), thereby at least partially assembling a modular cable connector assembly.