HK1260923A1 - Robotic arm system and object avoidance methods - Google Patents
Robotic arm system and object avoidance methods Download PDFInfo
- Publication number
- HK1260923A1 HK1260923A1 HK19120736.4A HK19120736A HK1260923A1 HK 1260923 A1 HK1260923 A1 HK 1260923A1 HK 19120736 A HK19120736 A HK 19120736A HK 1260923 A1 HK1260923 A1 HK 1260923A1
- Authority
- HK
- Hong Kong
- Prior art keywords
- capacitance
- electrode
- arm
- change
- sensing circuit
- Prior art date
Links
Description
Cross Reference to Related Applications
This application claims the benefit of U.S. provisional application No. 62/216,328, filed on 09/2015, which is incorporated by reference herein in its entirety.
Technical Field
The present invention relates generally to the field of robotic arms, and more particularly to a new and useful robotic arm system and method of object avoidance in the field of robotic arms.
Brief Description of Drawings
FIG. 1 is a schematic representation of a robotic arm system;
FIG. 2 is a schematic representation of a variation of a robotic arm system;
FIG. 3 is a schematic representation of a variation of a robotic arm system;
FIG. 4 is a flow chart representation of a method;
FIG. 5 is a flow chart representation of a variation of a method;
FIG. 6 is a flow chart representation of a variation of a method; and
fig. 7 is a flow chart representation of a variation of the method.
Description of the embodiments
The following description of the embodiments of the present invention is not intended to limit the present invention to these embodiments, but is intended to enable one skilled in the art to understand and use the present invention. The variations, configurations, implementations, exemplary implementations, and examples described herein are optional and are not limited to the variations, configurations, implementations exemplary implementations, and examples described therein. The invention described herein may include any and all permutations of these variations, configurations, implementations, exemplary implementations, and examples.
1. Arm system
As shown in fig. 1, the robotic arm 102 system includes: a base portion 110; a first arm segment 120 coupled to the base 110 via a first actuatable shaft 124; a second arm segment 130 coupled to the base 110 via a second actuatable shaft 134; a set of electrodes 121, 131 disposed across the first arm segment 120 and the second arm segment 130; a controller 123 that accumulates a first set of capacitance values for the electrodes in the set of electrodes during a first sampling period and accumulates a second set of capacitance values for the electrodes in the set of electrodes during a second sampling period that follows the first sampling period; a processor 150 that determines a first proximity of the object to the robotic arm 102 during the first sampling period based on a first set of capacitance values received from the controller 123, determines a second proximity of the object to the robotic arm 102 during the second sampling period based on a second set of capacitance values received from the controller 123, and sets a reduced maximum velocity of the first actuatable shaft 124 and a reduced maximum velocity of the second actuatable shaft 134 after the second sampling period based on the second proximity and a difference between the first proximity and the second proximity.
One variation of the system 100 includes: a base portion 110; a first arm segment 120; a second arm segment 130 interposed between the base 110 and the first arm segment 120, coupled to the first arm segment 120 via a first actuatable shaft 124 and coupled to the base 110 via a second actuatable shaft 134; an end effector 140 coupled to an end of the first arm segment 120 opposite the first actuatable shaft 124; a first electrode 121 disposed across an area of the first arm segment 120 and electrically coupled to a first sensing circuit 122; and a controller 123 configured to measure the capacitance of the first sensing circuit 122 during actuation of the first actuatable shaft 124 and the second actuatable shaft 134.
2. Method of producing a composite material
As shown in fig. 4, the system 100 may perform a method for controlling a robotic arm 102, comprising: in block S110, the robot arm 102 is moved through the trajectory; at a first time at which the robot arm 102 occupies a first position along the trajectory, a first capacitance of a first sensing circuit 122 is measured, the first sensing circuit 122 comprising a first electrode 121 extending over a first arm segment 120 of the robot arm 102 in block S120; in block S122, a second capacitance of the first sensing circuit 122 is measured at a second time at which the robotic arm 102 occupies a second position along the trajectory, wherein the second time is after the first time; in block S130, a first rate of change of the capacitance of the first sensing circuit 122 is calculated based on a difference between the first capacitance and the second capacitance; in block S140, in response to a first rate of change of the capacitance of the first sensing circuit 122 exceeding a threshold rate of change, issuing a proximity alarm; and in response to the approach alert, the current speed at which the robotic arm 102 moves through the trajectory is reduced in block S150.
3. Applications of
In general, the system 100 defines a robotic arm 102, the robotic arm 102 including a set of rigid arm segments and a set of actuatable axes (interposed between the rigid arm segments) that can be actuated to manipulate the robotic arm 102 within a space. The set of rigid arm segments and actuatable shafts may be mounted to the base on one end and coupled to the end effector on an opposite end, and the system 100 may drive each actuatable shaft according to a pre-recorded or pre-generated motion program (or "trajectory" or tool path) to perform a defined task. For example, the system 100 may include a motorized gripper end effector transiently coupled to an end of the robotic arm 102 opposite the base 110, and the system 100 may navigate the robotic arm 102 through a pre-planned trajectory and execute an end effector actuation routine to select and place an object from a parts bin onto an assembly. In another example, the system 100 can include a polymer extrusion end effector and execute a trajectory to print an object with material dispensed from the polymer extrusion end effector. In yet another example, the system 100 may include a laser cutter end effector and execute a trajectory to cut a two-dimensional shape from a sheet of material stock while the laser cutter end effector is active.
The system 100 further comprises: a set of electrodes disposed within or on one or more arm segments of the robotic arm 102; and one or more controllers configured to selectively read capacitance values of the electrodes (or capacitances of sensing circuits coupled to the electrodes) while the system 100 is in operation. For example, the controller 123 may sequentially drive a set of sensing circuits coupled to electrodes on the robotic arm 102 and implement a self-capacitance sensing technique to record the leakage current through each sensing circuit. Alternatively, the controller 123 may selectively ground a single ground electrode channel and drive a (vertical) sense electrode channel in an array of ground and sense electrodes patterned on the arm segment, and then implement mutual capacitance sensing techniques to measure the charge/discharge time, resonant frequency, or other capacitance value for each ground/sense electrode joint accordingly. For example, the system 100 may include electrodes patterned on the arm segments to form capacitor plates within an LC resonant tank (LC tank) sensing circuit, and the controller 123 may measure the resonant frequency of the LC resonant tank sensing circuit. The controller 123 may then pass these capacitance related data to the processor 150.
The processor may convert the data into: the presence of an object in a particular area of an arm segment near the robot arm 102 or within the robot arm 102; the position of the object relative to the system 100 (such as relative to a reference point on the base 110); and/or whether a nearby object is moving towards the robotic arm 102, or whether the robotic arm 102 is moving towards an object. As the robot arm 102 moves from the first position to the second position, the processor 150 may additionally or alternatively determine that the rate of change of capacitance of the electrodes (or sensor circuits coupled to the electrodes) on a segment of the robot arm 102 differs from the expected rate of change of capacitance expected from the first position to the second position and accordingly identify the presence of a new object within a three-dimensional volume (hereinafter "working volume") achievable by the end effector 140.
The processor 150 may then set motion limits, such as a maximum speed of each actuatable shaft or a position (e.g., angular position) limit on each actuatable shaft, to avoid collisions with such objects or to limit collisions with objects to substantially a minimum speed, such as is the case when a user's hand is moving toward the robotic arm 102. In particular, the system 100 may perform the blocks of the method in real time as the robotic arm 102 moves to sense changes in the working volume (such as the presence of new static or dynamic objects within the working volume) and set speed limits on the actuation of the robotic arm 102 or stop the motion of the robotic arm 102 altogether when a change in the working volume is detected.
The processor 150 may also modify the trajectory performed by the system 100 based on the presence of a new object near the robotic arm 102, such as determined from a deviation of the rate of change of capacitance of the sensing circuit from a baseline or an expected rate of change of capacitance. The system 100 may thus include: a robotic arm 102 comprising one or more rigid arm segments manipulated by one or more actuatable shafts; one or more electrodes disposed over the arm segments; a controller that can sample the electrodes (or sensor circuits coupled to the electrodes) according to self-capacitance and/or mutual capacitance techniques, and the system 100 can manipulate data received from these electrodes to evade collisions with nearby objects in motion.
The system 100 is described herein as reading capacitance values of one or more electrodes disposed on a segment of the robotic arm 102. In particular, the system 100 may read the total charge/discharge time, charge time, discharge time, resonant frequency, RC time constant, LC time constant, and/or the like of the sensing circuit containing the electrodes. The system 100 may then convert one capacitance value read from the sensing circuit into an estimated distance or range of distances between the arm segment and nearby objects and issue a proximity alarm if the estimated distance between the object and the robotic arm 102 falls below a threshold distance (e.g., a static threshold distance of twelve inches or a dynamic threshold distance based on the current speed of the robotic arm 102). The system 100 may additionally or alternatively: calculating a rate of change of a capacitance value of the sensing circuit (e.g., a rate of change of a resonant frequency) between two positions occupied during movement of the robotic arm 102 along its pre-planned trajectory; if the actual rate of change of the capacitance of the sensing circuit deviates from the baseline or expected rate of change between the same two positions along the pre-planned trajectory, then determining whether a new object (i.e., an unexpected object) is near the robotic arm 102; and issuing a proximity alarm if it is determined that a new object is present. The system 100 may then modify the motion of the robotic arm 102 along its current trajectory in response to the proximity alert (such as by reducing the maximum allowable speed for each actuatable axis or stopping the motion of the robotic arm 102 altogether).
4. Mechanical arm 102 and arm segment
The system 100 may define a robotic arm 102, the robotic arm 102 comprising: a base; an end effector or end effector joint 182 configured to transiently engage an end effector; a plurality of rigid portions (or "arm segments") arranged in series between the base 110 and the end effector 140 or end effector joint 182; and an actuatable shaft interposed between the base 110 and the nearest arm segment and between each arm segment. Each actuatable shaft may include an internal actuator, such as a servo motor; optionally, each actuatable shaft may be coupled to an actuator disposed in the base 110, for example, via a set of cables or connectors. When the actuator of the actuatable shaft is driven, for example, by a motor drive disposed in the base 110 and controlled by the processor 150, the relative angular position of the two ends of the actuatable shaft may be varied, thereby moving the arm segment on one side of the actuatable shaft relative to the arm segment on the other end of the actuatable shaft (or relative to the base 110). The actuatable shaft may also include one or more position sensors, such as an optical encoder and a pair of limit switches, and the processor 150 may sample these position sensors to track the relative positions of the two arm segments (or arm segment and base 110) on each side of the actuatable shaft.
The processor 150 may execute block S110 describing a method of moving the robot arm 102 through the trajectory by controlling the various motor drives to actuate each of the actuatable axes. For example, the processor 150 may: loading a three-dimensional pre-planned trajectory defining waypoints along a target path for traversal of the end effector 140 through space; calculating a target position for each actuatable axis at each waypoint; and then implement closed loop control to navigate the robotic arm 102 sequentially through each waypoint along a pre-planned trajectory based on the positions read from the position sensors in each actuatable axis.
During execution of the trajectory, the processor 150 may cooperate with the controller 123 to execute other blocks of the method in substantially real-time to detect changes in the working volume occupied by the robotic arm 102, such as new (i.e., unknown) static objects within the working volume or dynamic objects moving through the working volume (e.g., an operator's hand), and stop or modify the motion of the robotic arm 102 accordingly.
5. Sensing electrode
The system includes a first electrode disposed across an area of the first arm segment 120 and electrically coupled to a first circuit. In general, the system 100 includes electrodes arranged across an arm segment of the robotic arm 102 and connected to sensing circuitry that exhibits a measurable characteristic that varies proportionally (e.g., linearly, logarithmically, inversely, etc.) with the distance between the electrode and a nearby mass object. The controller 123 may read this measurable characteristic of the sensing circuit over time, such as total charge/discharge time, charge time, discharge time, resonant frequency, RC time constant, or LC time constant (hereinafter "capacitance value"), and the processor 150 may analyze these measurable characteristics to selectively trigger a proximity alarm, as described below.
For example, the system 100 may include: a sensing electrode and a ground electrode pair both disposed on the arm segment to form a capacitor; an inductor electrically coupled to the sense electrode and the ground electrode to form a sense circuit; and a signal generator coupled to the sensing circuit. The controller 123 may then: setting the signal generator to drive the sensing circuit at a baseline frequency (e.g., a typical resonant frequency of the sensing circuit), reading the voltage across the sensing circuit, changing the output frequency of the signal generator until a maximum voltage is reached across the circuit, and then storing this final output frequency as the resonant frequency of the sensing circuit.
53.1 electrode arrays
The system 100 may also include multiple electrodes (with a common ground electrode or paired with a unique ground electrode) and sensing circuitry on one or more arm segments within the robotic arm 102. In one implementation, the arm segment includes a set of sense electrodes arranged in a projected self-capacitance array ("sense electrode array") across the arm segment. In this implementation, the sensing electrode array may include: a first linear electrode array on the dorsal side of the arm segment, a second linear electrode array on the right-hand side of the arm segment, a third linear electrode array on the ventral side of the arm segment, and a fourth linear electrode array on the left-hand side of the arm segment, as shown in fig. 2. Each linear electrode array may comprise four (relatively) larger electrodes arranged in a line parallel to the axis of the arm segment. For example, for a 12 inch long arm segment defining a cylindrical segment of 1 inch outer diameter, each linear electrode array may be printed or otherwise applied to the outer surface of the arm segment, with each electrode being 1.5 inches in length (i.e., along the axis of the arm segment), offset from adjacent electrodes in the same linear array by a center-to-center distance of 2 inches, and spanning a radial distance of about 80 ° around the outer surface of the arm segment, and each of the four electrodes in each linear array may be electrically connected to one channel on the controller 123 via a relatively thin (e.g., 0.05 inch wide) trace. In this example, each linear electrode array may be radially offset from an adjacent linear array by 90 °. The controller 123 and processor 150 may then cooperate to scan each electrode in series in each linear array on the arm segment, detect changes in capacitance values (e.g., current draw) in selected electrodes across two or more sampling periods, and correlate the changes in these capacitance values to the proximity of objects to the selected electrodes.
In the foregoing implementation, the processor 150 may thus determine whether an object is approaching the back, ventral, left-handed, or right-handed sides of the arm segment (or whether the back, ventral, left-handed, or right-handed sides of the arm segment are approaching the object), and determine whether an object is approaching the arm segment from the back, center, or front of the arm segment based on the known locations of the electrodes that exhibit the greatest capacitance change (e.g., deviation from the expected rate of change of the resonant frequency) from one sampling location or the location of the robotic arm 102 to the nest (nest). The processor 150 may also interpolate the capacitance value changes between the radially offset electrodes on the arm segments to determine whether an object is approaching the left dorsal, right dorsal, left ventral, or right ventral side of the arm segment (or whether the left dorsal, right dorsal, left ventral, or right ventral side of the arm segment is approaching an object) or any other angular resolution. The processor 150 may similarly interpolate changes in capacitance values between linearly offset electrodes along one linear electrode array to estimate the point on the arm segment closest to the proximate object. However, in this implementation, the arm segments may include any other number or configuration of electrodes of any other geometry.
In another implementation, an arm segment includes a set of sense electrodes arranged in a projected mutual capacitance array, including: a first linear sensing electrode array on a dorsal side of the arm segment, a second linear sensing electrode array on a right-handed side of the arm segment, a third linear sensing electrode array on a ventral side of the arm segment, and a fourth linear sensing electrode array on a left-handed side of the arm segment; a first linear ground electrode array on a right dorsal side of the arm segment, a second linear ground electrode array on a right ventral side of the arm segment, a third linear ground electrode array on a left ventral side of the arm segment, and a fourth linear ground electrode array on a left dorsal side of the arm segment; and a layer of non-conductive dielectric material interposed between the linear sensing electrode array and the linear ground electrode array.
In the above implementation, the linear sensing electrode arrays may include four large diamond shaped sensing electrodes arranged in a line parallel to the axis of the arm segment, and each linear ground electrode array may include three large diamond shaped ground electrodes arranged in a line parallel to the axis of the arm segment and patterned between adjacent linear sensing electrode arrays, as shown in fig. 1. In each array of sense electrodes, four sense electrodes may be electrically connected in series, and one sense electrode in the array may be electrically connected to one channel on controller 123 via a similar geometry trace. Similarly, in each array of ground electrodes, three ground electrodes may be electrically connected in series, and one ground electrode in the array may be electrically connected to one port on the controller 123 via a similar geometry trace.
In one example, for a 12 inch long arm segment defining a cylindrical cross section with an outer diameter of 1 inch, each linear array of sensing electrodes may be printed or otherwise coated onto the outer surface of the arm segment, with each sensing electrode being 1.5 inches in maximum angular diagonal length along the axis of the arm segment, offset from adjacent sensing electrodes in the same linear array by a center-to-center distance of 2 inches, and spanning a radial distance of about 80 ° around the outer surface of the arm segment. In this example, each linear sensing electrode array may be radially offset from an adjacent linear array by 90 °. In this example, the first, second, third and fourth linear ground electrode arrays may define ground electrodes having similar geometries, may be radially offset 45 ° from adjacent sensing electrode arrays, and may be longitudinally displaced 1 inch along the arm segment relative to the linear sensing electrode arrays to center the linear ground electrode arrays between adjacent sensing electrode arrays, as shown in fig. 1. Controller 123 and processor 150 may then cooperate to: to scan adjacent pairs of ground/sense electrodes across the arm segment; to detect changes in capacitance values (e.g., changes in RC or LC time constants, changes in charge/discharge rates, etc.) of the selected electrode pair in two or more sampling periods; and correlating changes in these capacitance values to the proximity of the object to a particular pair of electrodes. The processor 150 may then implement the methods and techniques described above to determine whether the object is approaching the arm segment (or whether the arm segment is approaching the object) and the particular region of the arm segment that is closest to the object.
In the foregoing implementation, electrodes having substantially similar geometries may be printed, mounted, or otherwise secured to the arm segments in a substantially uniform linear and/or radial pattern, and connected in parallel to the controller 123 (e.g., for a projected self-capacitance configuration) or in series to the controller 123 (e.g., for a projected mutual capacitance configuration). In general, the system 100 may include a substantially uniform density of electrodes patterned on the arm segments. For example, the set of sense electrodes may include sense electrodes having a substantially similar diamond geometry longitudinally spaced along the arm segment at a uniform center-to-center linear offset and radially spaced about the arm segment at a uniform center-to-center angular offset. In this example, a set of ground electrodes may include ground electrodes having similar geometries and spaced apart according to substantially uniform longitudinal and radial offsets.
Alternatively, the electrodes may be printed, mounted, or otherwise coupled to the arm segments in a non-uniform pattern (e.g., with varying longitudinal and radial offsets). In particular, the system 100 may include a non-uniform density of electrodes and/or a set of electrodes having non-uniform dimensions and/or geometries patterned across the arm segment. In one exemplary implementation, the rear end of the first arm segment 120 is connected to the base 110 via a first drive shaft, and the rear end of the second arm segment 130 is connected to the front end of the first arm segment 120 via a second drive shaft. In this exemplary implementation, the first set of electrodes is patterned across the first arm segment 120 at a first electrode density (in a radial and/or longitudinal dimension) proximate the back end of the first arm segment 120 and transitions to a second electrode density proximate the front end of the first arm segment 120, the density of the second electrodes 131 being greater than the density of the first electrodes 121. In this exemplary implementation, the second set of electrodes is similarly patterned across the second arm segment 130 at a third electrode density proximate the back end of the second arm segment 130 and transitions to a fourth electrode density proximate the front end of the second arm segment 130, the fourth electrode density being greater than the third electrode density, which may be greater than the second electrode 131 density. In this example, as the electrode density along the arm segment increases, the size (e.g., area) of the electrodes may correspondingly decrease, as shown in fig. 2. Accordingly, the system 100 may include a set of multiple discrete electrodes arranged in an electrode pattern characterized by a greater electrode density the further away from the base 110. Thus, the system 100 can detect objects at greater distances from the system 100 near the base 110 by sampling larger, lower density electrodes near the base 110 (albeit at a relatively lower positional resolution); and the system 100 can also detect closer objects with greater positional and directional sensitivity by sampling a higher density of smaller electrode clusters near the distal end of the robotic arm 102.
In another example implementation, a set of electrodes is patterned across the arm segment near the longitudinal center of the arm segment at a first electrode density (in the radial and/or longitudinal dimension) and transitions to a second electrode density near the front and back ends of the arm segment, the density of the second electrodes 131 being greater than the density of the first electrodes 121, as shown in fig. 2. In this example implementation, the system 100 may include a set of multiple discrete electrodes arranged in an electrode pattern characterized by a greater electrode density the further away from the longitudinal center of the arm segment. Thus, the system 100 can detect that a distant object is approaching an arm segment (or a distant object that the arm segment is approaching) by sampling a smaller density of larger electrode clusters near the longitudinal center of the arm segment; and the system 100 can also detect that a closer object is approaching the arm segment (or a distant object that the arm segment is approaching) with greater position and orientation sensitivity by sampling a higher density of smaller electrode clusters near the longitudinal ends of the arm segment.
In the foregoing implementation, smaller electrodes arranged in a higher density pattern near one or both ends of the arm segments may be used as proximity sensors and/or as control sensors. Specifically, the controller 123 and processor 150 may cooperate to sample and process the output from these smaller electrodes to identify nearby objects (e.g., within up to 1 inch from the electrodes); when an object is near the arm segment (or when the arm segment is near the object) and thus contacts an arm segment that is near a smaller electrode, the controller 123 and/or processor may continue to detect the presence and location of the object on the arm segment based on the capacitance values read from these control electrodes after contact with the object. The processor 150 may then associate the position or change in position of an object (e.g., a finger) on the arm segment with a control function, such as manipulating an end effector or locking or releasing an actuatable shaft between the two arm segments, as described below.
Optionally, the system 100 may include a first set of electrodes configured to detect proximity of an object in proximity to the arm segment and a second set of electrodes configured to detect control inputs on a surface of the arm segment. In this implementation, the first set of electrodes may define a first circuit controlled by a first controller, and the second set of electrodes may define a second circuit different from the first sensing circuit 122 and controlled by a second, different controller. In one example, an arm segment of 12 inches in length and 1 inch in diameter includes a set of four 9 inch long, 80 ° wide sense electrodes including one sense electrode disposed on each of the dorsal, ventral, left-handed and right-handed sides of the arm segment, extending from the posterior end of the arm segment (i.e., closest to the base 110) and terminating 3 inches from the anterior end of the arm segment; the first controller may thus sample each of the four sense electrodes in series and pass the collected capacitance data to the processor 150, and the processor 150 may manipulate the data in substantially real time to determine whether an object is approaching the arm segment and/or whether the arm segment is approaching the object, as described below. In this example, the arm segments may also include a second set (e.g., 20) of chevron-shaped control electrodes 2 inches long, 0.5 inches wide, 0.1 inch trace width that are radially patterned around the distal end of the arm segment in a nested configuration between the first set of sense electrodes and the leading end of the arm segment, as shown in fig. 3. Thus, the controller 133 may sample the second set of control electrodes in series (e.g., according to the projected self-capacitance sensing technique) and communicate the collected capacitance data to the processor 150, and the processor 150 may manipulate the data in substantially real time to determine whether an object in contact with the distal end of the arm segment is moving clockwise or counterclockwise around the arm segment, and/or whether the object is moving toward the front end of the arm segment or toward the rear end of the arm segment, as described below.
In the foregoing implementation, the arm segment may include a similar set of control electrodes along its proximal end (i.e., adjacent its rear end closest to the base 110). However, the arm segments within the robotic arm 102 may include the same or different combinations of sensing and control electrode 170 geometries arranged in any other suitable pattern. Processor 150 may process data received from the sensing electrodes and from the control electrodes: 1) to adjust the speed and/or direction of each arm segment during execution of the trajectory based on the detected proximity of the object to the robotic arm 102, and/or 2) to manipulate various actuatable axes within the system 100 based on the detected intentional contact with arm segments within the robotic arm 102, respectively, as described below.
5.2 Single electrode
In an alternative variant, the arm segment comprises not an array of a plurality of electrodes, but a single electrode. For example, an arm segment may include a single sensing electrode disposed circumferentially around the arm segment and extending along a length of the arm segment, and a controller coupled to the single sensing electrode, which may output a signal that is substantially representative of a proximity of an object to the arm segment. In another example, the arm segment may include a single rectangular sense electrode extending along the back side of the arm segment and a controller coupled to the long rectangular sense electrode may output a signal indicative of the proximity of an object to the back side of the arm segment.
5.3. Additional electrode
In one variation, the system 100 further comprises: an end effector; one or more sensing and/or control electrodes disposed on the end effector 140; and an end effector controller configured to read capacitance values from electrodes disposed on, within, or integrated into the structure of the end effector 140. In this variation, the system 100 may further include an end effector joint 182 at the end of the robotic arm 102 (e.g., at the distal end of the second arm segment 130) configured to transiently engage the end effector; the joint of the end effector 140 may also include a sensor plug (or socket) configured to mate with a sensor socket (or sensor plug) in the end effector 140 and couple to the processor 150 via a connection wire (e.g., ribbon cable) extending from the joint socket of the end effector 140 to the base 110. The controller of the end effector 140 and the processor 150 may implement methods and techniques similar to those described below to detect and respond to the object approaching the end effector 140 (or the end effector 140 approaching the object) during operation of the robotic arm 102 (e.g., during execution of a pre-planned trajectory).
Each actuatable shaft may similarly include one or more sensing and/or control electrodes. These electrodes may be coupled to and read by controllers in adjacent arm segments, or each actuatable shaft may include a dedicated controller that reads capacitance values of electrodes in the same actuatable shaft and communicates these capacitance values to the processor 150, and the processor 150 may implement methods and techniques similar to those described below to detect and respond to the proximity of an object to the actuatable shaft (or the proximity of an actuatable shaft to an object) during operation.
6. Ground plane electrode
In one variation, system 100 also includes a ground plane electrode disposed below the above-described sensing, grounding, and/or control electrode 170 layer. In this variation, the ground plane electrode may be disposed below the sensing, grounding, and/or control electrode 170 layer and extend across the sensing, grounding, and/or control electrode 170 layer (i.e., opposite the outer surface of the arm segment). In one example implementation, the ground plane electrodes are integrated into or physically coextensive with the structure of the arm segment (or have an aesthetic covering or unstructured housing mounted on the arm segment). For example, the arm segment may include a rigid composite carbon fiber/epoxy structure in which one or more carbon fiber layers are connected to a ground path of a controller mounted on the arm segment. Alternatively, the arm segments may include discrete conductive layers printed or otherwise applied to the arm segments, as described below.
In one implementation, the arm segments include an aesthetic covering disposed on a rigid beam connected at each end to the actuatable shaft; and the aesthetic covering includes a ground plane electrode 160 disposed (e.g., printed, deposited, or applied) across an interior surface of the aesthetic covering and one or more sensing, grounding, and/or control electrodes disposed across an exterior surface of the aesthetic covering. In this implementation, the controller 123 may drive the ground electrode to a reference electrical ground potential, such as an ac reference electrical ground potential. Further, in this implementation, the housing disposed above the base 110, end effector 140, and other elements within the robotic arm 102 may include a ground plane electrode 160 located below or adjacent to the sensing, ground, or control electrode; and one or more controllers within the system 100 may drive each ground plane electrode 160 to a common reference electrical ground potential.
7. Electrode assembly
In one variant, the electrodes are integrated into the structure of the arm segments. For example, the arm segments may comprise composite woven carbon fiber and epoxy tubes (e.g., hollow cylinders), and selected fibers within the tubes may be electrically isolated from other fibers within the tubes and connected to ports on the controller to form a set of discrete electrodes. In another example, the structure of the arm segments is formed by winding unidirectional and/or multidirectional braided carbon fiber leaves around a mandrel. In this example, a woven carbon fiber patch sandwiched between two non-conductive layers (e.g., two sheets of paper) is coated on a first set of carbon fiber leaves mounted on a mandrel, a lead (e.g., copper wire) is connected to each carbon fiber patch, and the carbon fiber patches are then covered by a second set of carbon fiber leaves. Once the epoxy in the carbon fiber wrap is cured, the mandrel is removed and the leads are connected to corresponding ports on the controller.
In a similar example, the electrodes are cut from a conductive foil (e.g., by die cutting, laser cutting, etc.), for example in discrete foil patches or in an array of foil patches connected by narrow traces and cut from a single foil. The electrodes may be coated in a non-conductive material (e.g. polyethylene) and mounted on a first layer (or set of layers) of braided carbon fibres wound around a mandrel; a second layer (or set of layers) of woven carbon fibers may then be wrapped around the electrode and the first layer of woven carbon fibers. In this example, an additional electrode layer may then be mounted over the second layer of woven carbon fibers, e.g., offset from the electrodes in the underlying layer, and a third layer (or set of layers) of woven carbon fibers may then be wrapped around this second set of electrodes. Once the epoxy embedded in the woven carbon fiber layer is cured and the mandrel is removed, one lead from each discrete electrode or one lead from each electrode array may be connected to a controller, which may later implement self or mutual capacitance sensing techniques, respectively, to detect objects near and/or in contact with the arm segment. In another example, conductive wires, conductive mesh plates, or other conductive elements may be similarly embedded in the functional structure of the arm segments.
In another implementation, the electrodes are applied to the surface of the arm segments. In one example, the arm segments, composite materials, polymer and/or metal tube (e.g., thin-walled, cylindrical) structures defining the outer surface are covered or coated in a non-conductive material (e.g., epoxy, polyester, etc.). In this example, a first layer of electrodes is screen printed in conductive ink on the outer surface of the arm segment; solder pads or solderless contact pads and leads connecting the pads to corresponding electrodes in the first layer of electrodes may similarly be printed on the outer surface of the arm segments. The liner may then be masked and then a layer of non-conductive material is sprayed, rolled or printed on the first layer of electrodes. For a mutual capacitance sensing configuration, the second layer of electrodes, leads and pads may similarly be screen printed in conductive ink on the layer of non-conductive material; the pads in the first and second layers of the electrode may then be masked and a second layer of non-conductive material is applied over the arm segments to surround the second layer of the electrode. Additional layers of ground plane electrodes and/or (sensing and/or control) electrodes may be similarly coated over the outer surface of the arm segment.
In another example, a layer of conductive material (e.g., a 0.0005 inch thick layer of copper or tin) may be sputtered, sprayed, hot dipped, plated, or otherwise coated over the outer surface of the arm segment. In this example, the electrodes, traces, bond pads, and/or solderless contact pads, etc. may be masked over the layer of conductive material, e.g., by a screen printing process, and then the exposed areas of the conductive material removed from the arm segments by etching (e.g., acid washing), thereby forming a first layer of electrodes, traces, and pads on the outer surface of the arm segments. As described above, a layer of non-conductive material may then be printed, deposited, wound, or otherwise coated over the first layer of electrodes, and one or more additional layers of electrodes of the electrodes may be similarly formed on the first layer of non-conductive material.
Methods and techniques similar to those described in the foregoing implementations may also be implemented to apply one or more electrode layers to the inner surface of the arm segment in addition to, or instead of, the electrode layers applied to the outer surface of the arm segment. The controller 123 and ribbon connector (or similar connector of the connecting wire) may then be mounted on or in the arm segment as described below.
In another implementation, one or more layers of electrodes are formed on a flexible printed circuit board (or "PCB") (e.g., on a Polyetheretherketone (PEEK) or polyimide film). In this implementation, the flexible PCB may be wrapped around and secured to the exterior of the arm segment. For example, the flexible PCB may be adhered (e.g., glued) to the outer surface of the arm segment. In another example, the flexible PCB is wrapped around the arm segment, the arm segment and the flexible PCB are inserted into a tube of heat shrink tubing, and the heat shrink tubing is shrunk around the arm segment by heating to secure the flexible PCB to the arm segment. In this implementation, the arm segment may include a male registration feature (e.g., raised dimples (pins) on its outer surface) and the flexible PCB may include a female registration feature (e.g., a hole) aligned with the male registration feature to position the flexible PCB on the arm segment.
In a similar implementation, one or more electrode layers are formed in a flexible PCB, and the flexible PCB is inserted (e.g., "stuffed") into the interior volume of the arm segment. In this and the aforementioned implementations, the controller 123 may be mounted on the flexible PCB before the flexible PCB is mounted in or around the arm segment. A ribbon connector (or similar connector of wires) may also be mounted on the flexible PCB before it is mounted in or around the arm segment, and the ribbon cable may be routed from the ribbon connector to a processor 150 in the base 110 during assembly of the system 100, such as shown in fig. 3.
One variation of the system 100 includes an aesthetic cover (e.g., a two-piece flip cover) that surrounds the arm segments. In this variation, the foregoing methods and techniques may be implemented to integrate or mount electrodes, traces, pads, and/or controllers into or onto a surface of an aesthetic covering. Thus, aesthetic coverings may be mounted on the arm segments (e.g., over rigid beams extending between actuatable shafts on each side of the arm segments); and a controller disposed within the aesthetic covering can read the capacitance values of the electrodes and communicate the capacitance values to the processor 150, as described herein. The actuatable shaft, end effector, and/or base 110, etc. may also include a housing or cover with electrodes that are similarly embedded or coated, and similarly connected to the processor 150 via shared or dedicated controllers and ribbon cables. 8. Controller
The controller 123 is configured to measure a capacitance value of the sensing circuit during actuation of the robotic arm 102 and return the capacitance value to the processor 150. In general, the controller 123 is used to perform block S120 (and block S122) of the method to read the capacitance value of the sensing circuit during the sampling period and return this value to the processor 150 for analysis, as described below. For example, the controller 123 may measure the total charge/discharge time, resonant frequency, and/or RC or LC time constant for the drive electrode and the adjacent ground electrode in the mutual capacitance system during a single sampling period.
The controller 123 may measure the capacitance value of the sensing circuit at a conventional (i.e., static) sampling rate (e.g., at a rate of 20 Hz). Alternatively, the controller 123 may measure the capacitance value of the sensing circuit when the robot 102 reaches a predetermined waypoint along a pre-planned trajectory. For example, the processor 150 may track the position of the end effector 140 in space during execution of the preplanned trajectory based on position values read from position sensors within each actuatable axis, and trigger the controller 123 to measure the capacitance value of the sensing circuit after every 1 inch of change in the absolute position of the end effector 140 along the preplanned trajectory. In this example, the controller 123 may measure a first capacitance (e.g., a first resonant frequency) of a first sensing circuit coupled to a first electrode extending over a first arm segment of the robotic arm 102 at a first time that the robotic arm 102 occupies a first position along a trajectory in block S120, and then measure a second capacitance (e.g., a second resonant frequency) of the first sensing circuit 122 at a second time that the robotic arm 102 occupies a second position along the trajectory in block S122.
The controller may be integrated directly into the arm segment (or into the actuatable shaft, into the end effector, into the base 110, etc.). In one implementation, where the electrodes on or within the arm segments are electrically connected, e.g., via a set of traces or leads, to a set of solder pads or solder-free contact pads, a controller (e.g., one or more integrated circuits, multiplexers, ribbon connectors, etc.) may be mounted on (e.g., soldered to) a rigid controller PCB that includes a set of traces that terminate in a set of conductive regions in a pattern corresponding to the contact pads; a conductive foam, which may be adhered to each conductive area, and the controller 123PCB may be aligned and fastened (e.g., with threaded fasteners), adhered (e.g., with epoxy or potting material), taped, or otherwise coupled to the arm segments over the contact pads. In this implementation, because the contact pads may span a curved (i.e., non-planar) surface on the inside or outside of the arm segment, the conductive foam pads may absorb the gap between the conductive areas on the controller 123PCB and the corresponding contact pads on the arm segment and ensure reliable contact between the conductive areas on the controller 123PCB and the corresponding contact pads on the arm segment.
Alternatively, as described above, the controller may be integrated into a flexible PCB that is wrapped or stuffed into the arm segment (or into an aesthetic covering mounted on the arm segment). Further alternatively, the arm segments may define a substantially flat region on their inner surface or on their outer surface. In this implementation, each electrode or electrode array on the arm segment may be electrically connected to a contact pad within the planar area, and the controller 123 (e.g., one or more integrated circuits, multiplexers, ribbon connectors, etc.) may be mounted directly to the corresponding contact pad, for example, with a low temperature solder paste or with a conductive adhesive (e.g., copper powder/epoxy adhesive). However, the controller 123 (or controller circuitry) may be mounted or connected to discrete electrodes or electrode arrays on respective arm segments in any other suitable manner.
8.1 projected mutual capacitance
In one variation where the arm segment of the robotic arm 102 includes a set of ground electrodes (e.g., in rows) in a first layer and a set of sense electrodes (e.g., in columns) in a second layer separated from the first layer by a dielectric layer, the controller 123 may selectively ground and drive selected ground electrode channels and selected sense electrode channels, respectively, to capture capacitance values or changes in capacitance values along the arm segment; processor 150 may collect these capacitance data from controller 123 in substantially real time and may correlate the data with the proximity of the object to the arm segment.
For example, during a sampling period, the controller 123 may: maintaining a first ground electrode via of the array of ground electrode vias at ground; floating (float) the remaining ground electrode channel; testing a first sense electrode channel in an array of sense electrode channels; testing the remaining series-connected sense electrode channels; floating the first ground electrode vias and grounding second ground electrode vias in the array of ground electrode vias; continuing to float the remaining ground electrode channels; testing a first sense electrode channel in an array of sense electrode channels; and testing the remaining series connected sense electrode channels; and this process is repeated sequentially for the remaining ground electrode channels over the sampling period.
To test the sense electrodes, the controller 123 may drive a single sense electrode channel during a sensing period to load a particular sense electrode of the sense electrode channels with charge such that the particular sense electrode is capacitively coupled to a particular ground electrode (adjacent to the particular sense electrode) that is simultaneously connected to ground during the sensing period. The particular sensing electrode and the particular ground electrode may thus define an "electrode pair" in which charge collects on the particular sensing electrode and leaks into the particular ground electrode and/or onto nearby external objects during the sensing period.
In one implementation, for each electrode pair tested within a sampling period, the controller 123 reads the charge and/or discharge times for the electrode pair and stores the charge and/or discharge times in a capacitance matrix for the sampling period. In this implementation, the capacitance matrix may correspond to a current sampling period, and each location (or "electrode address") within the capacitance matrix may correspond to a charge and/or discharge time read from a particular electrode pair on the arm segment, and the controller 123 may write the charge/discharge time for each electrode pair to the corresponding address in the capacitance matrix. The controller 123 may then send the capacitance matrix (and the timestamp for the current sampling period) to the processor 150, for example, via serial communication (e.g., via I2C or via a two-wire communication protocol).
In a similar implementation, the controller 123: testing a resonant frequency of each electrode pair in series on the arm segment during a sampling period; recording the resonant frequencies in respective addresses within the capacitance matrix for the current sampling period; and then sends the capacitance matrix (in real time) to the processor 150. The processor 150 may then convert this data into the identification of nearby objects in substantially real time, as described below.
Optionally, controller 123 may selectively couple and decouple each electrode pair on an arm segment with an input channel on processor 150. For example, the controller 123: may include an analog sensor output channel connected to an analog sensor input channel on the processor 150 via a first connection line routed from the arm segment to the base 110; may include a control input channel connected to a control output channel on the processor 150 via a second connecting line similarly routed between the arm segment and the base 110; and may couple electrode pairs on an arm segment to analog input channels on processor 150 based on electrode pair test addresses received from processor 150. Processor 150 may then record the charge/discharge time or resonant frequency of the electrode pair corresponding to the electrode pair test address passed to controller 123. For example, the processor 150 may record the time of charge on the electrode pair or read the change in resonant frequency of the electrode pair on the arm segment and compare these values to a static or dynamic capacitance model to detect the proximity of an object to the arm segment, as described below.
In a similar implementation, controller 123 includes a standard sigma-delta circuit or equivalent resistance sigma-delta circuit that includes an output terminal such as a digital input channel connected to processor 150 via a first connection line. The sigma-delta circuit may also be connected via a second connection line to an output channel of a clock arranged in the base 110, for example a clock integrated into the processor 150 or arranged on a motherboard adjacent to the processor 150. In this implementation, for each electrode pair on an arm segment, the controller 123 can selectively couple and decouple the electrode pair between the regulated input voltage and ground in a standard sigma-delta circuit or between the regulated input voltage and the non-inverting input of an operational amplifier in a series equivalent resistance sigma-delta circuit. For each electrode pair connected to the sigma-delta circuit, the sigma-delta circuit may output a density modulated bitstream, and the processor 150 may calculate duty cycles of the density modulated bitstream for each electrode pair over a sampling period and then convert these duty cycle data to an identification of nearby objects over the sampling period, as described below. In this implementation, controller 123 may cycle the ground electrode channel between the ground and floating states and the sense electrode channel between the driven and floating states based on a clock signal from a clock and a static sampling program stored locally in controller 123, or based on a dynamic sampling program that is uploaded from processor 150 to controller 123 on and off throughout the operation of system 100. Alternatively, controller 123 may cycle the ground electrode channels between the ground and floating states and the sense electrode channels between the drive and floating states based on electrode pair addresses received from processor 150 during operation (e.g., in real time).
8.2 projection type self-capacitance
In another variation, where the electrodes on the arm segments are arranged in a single layer and configured to capacitively couple to an external object near the arm segment, the controller 123 may implement a self-capacitance sensing technique to record capacitance values or changes in capacitance values on the arm segments of the robotic arm 102.
For example, in one sampling period, the controller 123 may connect one side of a first electrode on the arm segment to a current source and connect a second side of the first electrode 121 to ground during a first sensing period, ground or float to the leads of all other electrodes on the arm segment during the first sensing period, and record the total current through the first electrode 121 during the first sensing period. Within one sampling period, the controller 123 may then: connecting one side of a second electrode on the arm segment to a current source and connecting a second side of the second electrode 131 to ground during a second (i.e., subsequent) sensing period; leads grounded or floating to all other electrodes on the arm segment during a second sensing period; and the total current through the first electrode is recorded over the same sensing period. The controller 123 may repeat this process for each electrode on the arm segment to test all (or a subset) of the electrodes over the sampling period. For example, as described above, the controller 123 may aggregate the data into an addressing capacitance matrix, such as current values, and communicate the data to the processor 150. The processor 150 may then compare the current draw value at each electrode over successive (or a set of successive) sampling periods to detect changes in current draw at the selected electrode, and the processor 150 may correlate these changes in current draw (e.g., increases in current draw) to the proximity of an object to the respective electrode.
Each arm segment may include a controller that implements a self or mutual capacitance sensing technique in each sampling period to test electrodes on the respective arm segment. As described below, each controller may pass the capacitance values to the processor 150 (e.g., serially or in a time-stamped capacitance matrix per sampling period) for analysis. Optionally, the system 100 may include one controller electrically coupled to a set of electrodes on (or in) each of the two or more arm segments, and the controller 123 may implement a self or mutual capacitance sensing technique to measure capacitance values or changes in capacitance values on the two or more arm segments within a single sampling period. However, the controller 123 may function in any other way to capture capacitance values on one or more arm segments and feed these data to the processor 150.
9. Processor with a memory having a plurality of memory cells
The processor 150 is configured to detect deviations in the working volume (e.g., relative to normal or known conditions) based on capacitance values received from one or more controllers in the robotic arm 102, to issue a proximity alarm when such deviations are detected, and to cease or modify actuation of the robotic arm 102 when the proximity alarm is active. In one implementation, a processor 150 is disposed in the base 110, connected (e.g., via one or more ribbon cables) to each controller housed in the arm segment of the robotic arm 102, and receives and processes capacitance value data received from the controller 123 while the system 100 is in operation. For example, the system 100 may include one controller in each arm segment, in each actuatable axis, in the base 110, and/or in the end effector, etc., and the processor 150 may receive capacitance value data from each of these controllers during each sampling period or process these data at each waypoint along a preplanned trajectory to detect that an object is approaching the robotic arm 102 (or the object that the robotic arm 102 is approaching), and stop or modify the planned trajectory of each arm segment in response to detecting that a new (i.e., unknown) object is approaching the robotic arm 102. As described above, the processor 150 may receive capacitance values from each controller (such as in the form of total charge/discharge time, resonant frequency, RC or LC time constant or leakage current for each drive electrode, etc.) and may apply a static or dynamic threshold capacitance value model or parametric capacitance model to these capacitance data to determine whether a new object has entered the working volume of the robotic arm.
10. Absolute distance
In one implementation, the processor 150 compares the capacitance data received from the controller 123 to a static capacitance value model for the robotic arm 102. The capacitance value model may define a threshold capacitance value for each sensing and/or control electrode 170 in the robotic arm 102. For example, the arm segment may include a plurality of electrodes, each defining a different capacitive area, e.g., ranging from four square inches (e.g., sensing electrodes) to 0.01 square inches (e.g., control electrodes), and tuned to detect proximity of an object at a particular distance therefrom, e.g., up to a distance of 12 inches for sensing electrodes and up to a distance of 0.25 inches for control electrodes 170, respectively. In this example, the capacitance value model may include threshold capacitance values corresponding to the presence of an object within a respective threshold distance of each electrode on the arm segment, and the processor 150 may compare the capacitance values received from the controller 123 to the threshold capacitance values in the capacitance value model to determine whether the object is within the threshold distance of a particular electrode on the arm segment.
The processor 150 may then estimate the distance between the object and the arm segment and the position of the object in space relative to the arm segment during the sampling period based on: a known location of each electrode on the arm segment; which of the corresponding sensing circuits exhibit capacitance values that exceed the corresponding threshold capacitance values; and which of the corresponding sensing circuits exhibit a capacitance value that does not exceed the corresponding threshold capacitance value during the current sampling period. In this example, the processor 150 may update the threshold capacitance value over time to compensate for humidity, temperature, and/or other environmental changes, such as based on a capacitance value read by a reference electrode integrated into the base 110.
In another implementation, processor 150 implements a set of parametric capacitance value models, each electrode comprising a different model, wherein each model is tuned to convert capacitance values read from a respective electrode (i.e., from a respective sensing circuit) into an estimated distance of the object from the electrode. For each sampling period, the processor 150 may apply the capacitance values read from each electrode during the sampling period to a corresponding capacitance value model to generate a capacitance matrix, capacitance model, or other container that defines an estimated distance between a discrete surface on the robotic arm 102 and one or more objects in space as a function of capacitance. Similarly, the processor 150 may implement a single parametric capacitance value model that converts the capacitance value, effective surface area, geometry factor, position, drive voltage, drive time, etc. of a particular electrode to an estimated distance between the object and the particular electrode on the robotic arm 102. In this example, processor 150 may retrieve static electrode-specific values (such as electrode position and effective surface area) from a lookup table or other database in local (or remote) memory and may insert these data into a parametric capacitance value model to estimate the proximity of an object to a particular electrode.
The processor 150 may also implement an auto-correction technique to adjust the parametric capacitance value model over time, for example to compensate for sensor drift and environmental changes. For example, the processor 150 may sample one or more environmental sensors integrated into the system 100 to collect current humidity, temperature, and/or other quantitative environmental data for a sampling period, and then may insert these data directly into the parametric capacitance value model when calculating the proximity of an object on the robotic arm 102 for the sampling period. The processor 150 may additionally or alternatively send commands to one or more controllers to modify the reference signals driving the reference electrodes on the respective arm segments based on observed environmental changes.
For each sampling period, the processor 150 may also modify the parametric capacitance value model based on the geometry of the robotic arm 102 (i.e., the angular position of each actuatable axis) during the sampling period. For example, the processor 150 may sample an encoder at each actuatable axis within the system 100 and may convert angular position data received from each encoder into a position capacitance matrix defining the position of each electrode in space. In this example, the processor 150 may convert the positional capacitance matrix into a capacitive coupling capacitance matrix containing capacitive coupling factors corresponding to changes in the estimate of the capacitance value for each electrode on the robotic arm 102 due to capacitive coupling with other (sensing or control) electrodes on the robotic arm 102, which may be a function of the geometry of the robotic arm 102 at the time the electrodes were tested during the sampling period. The processor 150 may then insert a capacitive coupling capacitance matrix or discrete capacitive coupling factors into the parametric capacitive model to compensate for the effect of the geometry of the robotic arm 102 on the capacitance values collected from the electrodes as the system 100 executes the trajectory. In implementations described above in which the processor 150 compares the capacitance value received from the controller to the capacitance value model for the robotic arm 102, the processor 150 may similarly modify the capacitance value threshold of the capacitance value model for the sampling period based on the geometry of the robotic arm 102 during the sampling period.
11. Relative existence
In another variation, the processor 150: in block 130, calculating a rate of change of capacitance of the sensing circuit between a first time in which the robotic arm 102 occupies a first position in space and a second time in which the robotic arm 102 occupies a second position in space; and in block 140, a proximity alarm is issued substantially in real time if the rate of change of the capacitance of the sensing circuit exceeds a threshold rate of change, as shown in fig. 4. In general, in this variation, the processor 150 calculates a rate of change of capacitance (e.g., resonant frequency) between two positions that the robotic arm 102 occupies during the pre-planned trajectory, and identifies a possible change in the working volume of the robotic arm 102 if the actual rate of change of capacitance for the same section of the pre-planned trajectory is different from the baseline rate of change of capacitance. For example, the sensing circuit may exhibit a significant amount of noise and a change in absolute capacitance values (i.e., "drift"), such that the absolute capacitance values read from the sensing circuit (independent of additional data) do not represent the absolute distance between the electrodes in the sensing circuit and an external object. However, the derivative of the absolute capacitance value read from the sensing circuit (i.e., the rate of change of the capacitance value) may exhibit much less noise and significantly less drift than a single absolute capacitance value. Thus, the processor 150 may calculate the actual rate of change of the capacitance value of the sensing circuit between two positions along the pre-planned trajectory, issue a proximity alarm if the deviation of this actual rate of change of capacitance value deviates from the baseline (or exceeds a threshold) of the rate of change of capacitance value, and repeat the process as the robotic arm 102 moves through successive positions along the pre-planned trajectory.
11.1 rate of change of capacitance value
As shown in fig. 4, the processor 150 may thus execute block S130 which recites calculating a rate of change of capacitance of the sensing circuit based on a difference between the capacitance of the sensing circuit measured at the first position of the robot arm 102 and the second capacitance of the sensing circuit measured at the second position of the robot arm 102. Generally, in block S130, the processor 150 may receive a series of capacitance values of the sensing circuit from the controller 123, as described above, for example in the form of a feed of discrete capacitance values or in the form of a time-stamped capacitance matrix. The processor 150 may then subtract the last capacitance value of the sensing circuit from the latest capacitance value of the sensor circuit and divide the sum by the time difference between the last capacitance value and the latest capacitance value measurement to calculate the rate of change of the capacitance of the sensing circuit and compare the actual rate of change to the baseline (or threshold) rate of change of the same two locations along the pre-planned trajectory in block S130. The processor 150 may also calculate a running average rate of change of the capacitance values over a series of sampling periods in block S130 and compare the actual average rate of change to an average baseline (or threshold) rate of change for a sequence of positions along the preplanned trajectory in block S140. For example, the processor 150 may calculate a rate of change in capacitance values for the sensing electrodes on adjacent pairs of sampling positions of the robotic arm 102 over a continuous sequence of five total sampling positions or over a continuous sequence of sampling positions spanning a two-inch displacement of the end effector 140 along a pre-planned trajectory. In this example, the processor may average the rates of change of the capacitance values, for example, by applying a maximum weight on the latest rates of change, before comparing the actual average rate of change to an average baseline (or threshold) rate of change for the same or similar sequence of sample locations along the pre-planned trajectory in block S140.
However, the processor 150 may implement any other method or technique to calculate the rate of change of capacitance of the sensing circuit in block S130. The processor 150 may perform this process to calculate the rate of change of capacitance of each other sensing circuit incorporated into one or more arm segments of the robotic arm 102; and the processor 150 may store these rate of change values in a rate of change array or rate of change matrix for subsequent processing in block S140.
11.2 baseline capacitance plot
As shown in FIG. 7, one variation of the method includes a block S160 that illustrates executing a capacitance mapping routine to generate a baseline capacitance map of the physical space occupied by the robotic arm 102. In this variation, the controller 123 and processor may cooperate to generate a capacitance map of the working volume of the robotic arm: loading a capacitance mapping routine defining a mapping trajectory; moving the mechanical arm 102 through the mapping trajectory; recording a set of absolute capacitance values of the sensing circuit at discrete waypoints along the capacitance mapping route; converting a set of absolute capacitance values into relative capacitance value changes between discrete waypoints along a capacitance mapping route; aggregating the relative capacitance changes into a baseline capacitance map of the physical space occupied by the robotic arm 102; and calculating a threshold rate of change between the first position and the second position based on the baseline capacitance map and the velocity of the robotic arm 102 between the first position and the second position. In particular, the processor 150 may execute the capacitance mapping route by navigating the robotic arm 102 through a set of waypoints defined within the capacitance mapping route and then generating a capacitance map of the working volume based on the capacitance data collected at the waypoints prior to autonomous operation (such as during setup and under supervision of an operator).
In one implementation, the processor 150 generates a capacitance map of the working volume over time from data collected over a set of repeated instances of a preplanned trajectory (or "fixed loop"). In this implementation, the processor 150 may implement closed loop control to navigate the robotic arm 102 through the final pre-planned trajectory; the controller 123 may measure the capacitance value of the sensing circuit at each of a set of discrete waypoints along the pre-planned trajectory; and the processor 150 then compiles these capacitance values into a capacitance map of the working volume. In one example, once loaded with a pre-planned trajectory for autonomous execution by the system 100, the processor 150 executes a first instance of the trajectory at a low speed (e.g., 5% of the maximum speed of each actuatable shaft in the robotic arm 102 or 5% of the speed specified in the trajectory) and compiles the capacitance data received from the controller 123 into a capacitance map of the working volume until the first instance of the trajectory is complete or until a collision with an external object is detected (e.g., via a signal output by an accelerometer, load cell, or force sensor disposed within the actuatable shaft). In this example, the controller 123 may sample the sensing circuit at a rate of 20Hz, 1Hz, or at any other static sampling rate. Alternatively, the controller 123 may sample the sensing circuit at a selected waypoint along the trajectory (e.g., every 1 degree (1 °) change in position of the actuatable shaft or every 1 inch (1 ") change in absolute position of the end effector 140 in space). The processor 150 may then calculate the difference in capacitance values between each pair of consecutive sampling periods or waypoints along the trajectory and pair each capacitance difference with a corresponding position of the robotic arm 102 (such as in the form of the angular position of each actuatable shaft late in the pair of sampling periods or waypoints). If a collision between the robotic arm 102 and an external object is not detected at the completion of the trajectory, the processor 150 may store these capacitance difference and robotic arm 102 position pairs in a baseline capacitance map that is specific to the pre-planned trajectory.
In the foregoing example, the processor 150 may then repeat the trajectory at a higher speed (e.g., 20% of the maximum speed of each actuatable axis or 20% of the speed specified in the trajectory). During execution of this second instance of the trace, the processor 150 may: navigating the robotic arm 102 along a trajectory to a first position (i.e., a first "waypoint"); recording a capacitance value (e.g., resonant frequency) of the sensing circuit and reading an encoder in the actuatable shaft at a first position; moving the robotic arm 102 to a second position (i.e., a second "waypoint") along the trajectory; recording a capacitance value of the sensing circuit and reading an encoder in the actuatable shaft at a second position; and calculating an actual rate of change of capacitance of the sensing circuit from the first location to the second location along the trajectory and a time duration occurring between the achievement of the first location and the second location. The processor 150 may also calculate a baseline rate of change of capacitance from the first position to the second position based on the capacitance difference value stored in the baseline capacitance map and the duration of time between realizations of the first position and the second position. Processor 150 may then compare the actual rate of change of capacitance from the first position to the second position to the baseline rate of change; and if the actual rate of change and the baseline rate of change are substantially similar, e.g., within a threshold difference of 5%, then the trajectory continues to be executed. In particular, the processor 150 may navigate the robotic arm 102 to a third position (i.e., a third "waypoint") along the trajectory, repeat the foregoing process for the third position, move the robotic arm 102 to a fourth position if the difference is substantially similar between the actual rate of change between the second and third positions and the baseline rate of change, and so on, until the trajectory is complete or until a collision is detected.
The processor 150 may create a new baseline capacitance map from the data collected during this second instance of the trace or update an existing baseline capacitance map with such data. The processor 150 may continue to repeat the process, wherein the trace is executed at increasingly higher speeds (up to 100% of the maximum speed of the arm or up to 100% of the speed specified for the trace) to refine the baseline capacitance map for the trace. Thus, the processor 150 may test the trajectory and construct a baseline capacitance map for the trajectory (without manual supervision) by executing the trajectory at higher and higher speeds and utilizing the baseline capacitance map generated in the previous slower instances of the trajectory to predict changes in the working volume of the robotic arm in the instances of faster and faster trajectories. (the processor 150 may also implement the foregoing methods and techniques to update or refine the baseline capacitance map during subsequent full speed operation of the pre-planned trajectory).
In another example, the processor 150 may generate a single baseline capacitance map during the supervised execution of the traces. For example, the system 100 may execute the trajectory at full speed when provided with a clear manual confirmation from the operator that the working volume of the robotic arm is clear, and the processor 150 may combine the capacitance values received from the controller 123 into a baseline capacitance map.
In another implementation shown in fig. 7, the processor 150 generates a trajectory-agnostic capacitance map of the working volume of the robotic arm 102 from capacitance values of the sensing circuit collected during the unique capacitance mapping path. For example, the processor 150 may navigate the robotic arm 102 (or the end effector 140, in particular) to discrete locations within the three-dimensional working volume accessible by the end effector 140 and record the capacitance value of the sensing circuit at each discrete location. In this example, the process may access a baseline waypoint list of a three-dimensional grid array representing three-dimensional offset positions within the working volume, sequentially step the robotic arm 102 through each baseline waypoint in the list, and record the absolute capacitance value of the sensing circuit at each baseline waypoint. The processor 150 may then implement the methods and techniques described above to calculate the difference between the capacitance values recorded at each pair of adjacent baseline waypoints, and then populate a virtual three-dimensional point cloud with the capacitance difference values and the position of the robotic arm 102 (or end effector 140) at the respective baseline waypoints.
However, the processor 150 may implement any other method or technique to generate a baseline capacitance map (containing absolute capacitance values, relative capacitance values, or rates of change of capacitance values) of the space occupied by the robotic arm 102. For example, the processor 150 may execute any of the methods and techniques described above to generate a baseline capacitance map when the robot arm 102 is initially placed in a new environment, when the robot arm 102 is repositioned within an environment, or when a new pre-planned trajectory is loaded into the system 100.
11.3 threshold Rate of Change and Rate of Change Window
The processor 150 may then extract a threshold rate of change and/or a rate of change window from the baseline capacitance map for comparison with the capacitance values read from the sensing circuit during execution of the subsequent preplanned trajectory in block S140.
In the above-described implementation in which the processor 150 generates a trajectory-agnostic baseline capacitance map, for example in the form of a three-dimensional point cloud, the processor 150 may asynchronously interpolate the rate of change windows between each pair of adjacent waypoints along the new trajectory as it is loaded into the system 100 and before the new trajectory is first executed by the system 100. For example, the processor 150 may access a predefined list of waypoints or calculate a set of waypoints, such as 0.1 inch or 1 inch changes for each of the end effector 140 positions in space. The processor 150 may then interpolate a target relative change in capacitance for the sensing circuits for each pair of adjacent waypoints along the track by compiling (e.g., averaging, weighting) the capacitance values stored in the baseline capacitance map (for the one or more closest baseline waypoints). In this example, the processor 150 may then: estimating a duration of time for the robotic arm 102 to achieve the two waypoint crossings based on a velocity of the robotic arm 102 between the two points specified in the trajectory; calculating a target rate of change of capacitance between the two waypoints along the trajectory by dividing the target relative change in capacitance between the two waypoints by the estimated duration of time achieved across it by the robotic arm 102; and calculates a threshold rate of change of capacitance between the two waypoints based on a target rate of change of capacitance, such as by setting the threshold rate of change to 105% of the target rate of change. During subsequent trace execution, the processor 150 may calculate the actual rate of change of capacitance between the two waypoints along the trace, as described above, and issue a proximity alarm in block S140 if the actual rate of change exceeds a threshold rate of change.
Alternatively, the processor 150 may define a window of rates of change between these two waypoints (the rate of change of capacitance across which the change in working volume of the robotic arm is not indicated). For example, processor 150 may define a rate of change window that spans +/-5% of the target rate of change for two waypoints; during subsequent realizations of two waypoints along the pre-planned trajectory, the system 100 may calculate an actual rate of change of capacitance between the two waypoints and issue a proximity alert if the actual rate of change falls outside of the rate of change window.
The process may implement similar methods and techniques for each other waypoint along the trajectory to generate a set of threshold rates of change (or a set of rate windows) for each waypoint. The processor 150 may then reference the set of threshold rates of change (or rate of change windows) throughout subsequent trajectory executions to determine whether the working volume of the robotic arm has changed, e.g., whether an unknown object has entered the three-dimensional volume achievable by the end effector 140.
Alternatively, the processor 150 may implement the foregoing methods and techniques in real-time to calculate a threshold rate of change or rate of change window as the robotic arm 102 advances through a sequence of waypoints within a pre-planned trajectory, for example, based on measured (e.g., "actual") time across the realizations of adjacent waypoint pairs along the trajectory.
Further, for a robotic arm 102 that includes multiple sensing electrodes and sensor circuits on one arm segment and/or electrodes and sensing circuits on multiple arm segments, the processor 150 may implement the methods and techniques described above to generate a baseline capacitance map that includes absolute capacitance values, relative capacitance values, capacitance value differences, and/or a rate of change of capacitance values for each sensing circuit. The processor 150 may also: converting the data to a threshold rate of change (or rate of change window) for each sensing circuit between waypoints along the pre-planned trajectory; and the actual rate of change of the capacitance of each sensing circuit between two locations along the trace is compared to a corresponding threshold rate of change (or rate of change window) in block S140. In particular, the processor 150 may identify that a particular arm segment or region of the robotic arm 102 is approaching an unknown object in the working volume based on the known positions of the electrodes (on the robotic arm 102) that exhibit the greatest deviation of the rate of change of capacitance from a target rate of change (or threshold rate of change, rate of change window) defined in the baseline capacitance map between two corresponding waypoints along the trajectory.
11.4 detecting the proximity of new static and moving objects
During execution of the pre-planned trajectory, the processor 150 may detect a change in the working volume of the robotic arm 102, for example in the form of a new static or moving object in the vicinity of the robotic arm 102, based on a deviation of the rate of change of the capacitance of the sensing circuit from a target or baseline rate of change. For example, if the rate of change of the capacitance of the sensing circuit connected to the electrodes on the arm segment exceeds a threshold rate of change, the processor 150 may determine that the arm segment is relatively approaching a new object within the working volume.
In one implementation, if the actual rate of change of the capacitance of the sensing circuit exceeds a respective threshold rate of change between the last waypoint and the current waypoint (or sampling period), the processor 150 may convert the difference between the actual rate of change and the threshold (or respective baseline) rate of change to a difference between the actual velocity of the respective electrode to the nearby surface and the target or expected velocity of the electrode. The processor 150 may then sum the difference in velocity with the original target of expected velocity to estimate the relative closing velocity of the electrode with respect to a new object in the working volume between the last waypoint and the current waypoint or between sampling periods. The processor 150 may also convert the known position of the electrodes on the arm segment (e.g., the center of mass of the electrodes) and the rate of change of the position of each actuatable axis between the last waypoint and the current waypoint or between sampling periods to the absolute velocity of the electrodes. As shown in fig. 6, the processor 150 may then compare the absolute velocity of the electrode to the relative approach velocity of the electrode to the new object to determine whether the new object is stationary or moving relative to the electrode. Specifically, if the absolute velocity of the electrode and the relative closing velocity of the electrode are substantially similar (e.g., differ by no more than 10%), the processor 150 may determine that the new object is stationary, set a closing alert for the unknown stationary object in block S140, and adjust the motion of the robotic arm 102 accordingly, such as by reducing the velocity of the robotic arm 102 by 50%, in block S150. However, if the relative approach velocity of the electrode substantially exceeds the absolute velocity of the electrode, e.g., by more than 10%, the processor 150 may determine that a new object is moving toward the electrode, set an approach alert that an unknown object is moving toward the robotic arm 102, and stop the motion of the robotic arm 102 altogether. Similarly, if the absolute velocity of the electrode substantially exceeds the relative approach velocity of the electrode, the processor 150 may determine that a new object is moving away from the electrode, set an approach alert that an unknown object is moving away from the robotic arm 102, and slow the motion of the robotic arm 102, for example by 10%.
Thus, the processor 150 may: converting the rate of change of the capacitance of the sensing circuit to the velocity of the respective electrode relative to the external object, and issuing a proximity alert regarding motion toward the static object in block S140 in response to the velocity of the first electrode 121 relative to the external object approximating the velocity of the robotic arm 102 from the first position to the second position; and then, in block S150, decreasing the current speed of the robotic arm 102 to a fraction of the maximum value of the robotic arm 102 when the approach alert regarding motion toward the static object is the current condition. For example, the processor 150 may implement the methods and techniques described above to detect the recent placement of a notebook, pencil, or other object within the working volume of the robotic arm and slow the motion of the robotic arm 102 accordingly until the intruding object is removed from the working volume. Similarly, the processor 150 may: in response to the velocity of the first electrode 121 relative to the external object exceeding the velocity of the robotic arm 102 from the first position to the second position, issuing a proximity alert regarding the motion of the dynamic object toward the robotic arm 102 in block S140; and in block S150, the motion of the robot arm 102 is stopped when the approach alert regarding the motion of the dynamic object toward the robot arm 102 is the current condition. For example, the processor 150 may implement the aforementioned methods and techniques to detect movement of the operator's hand toward the robotic arm 102 and stop movement of the robotic arm 102 completely until the operator's hand is removed from the working volume. The processor 150 may then execute the methods and techniques described below to unlock the actuatable axis in the robotic arm 102 while the operator grasps the region of the robotic arm 102, thereby enabling the operator to manually move the robotic arm 102.
The processor 150 may execute the aforementioned methods and techniques to detect and confirm the proximity of unknown static or dynamic objects within the working volume in block S140, and may maintain and/or tighten the deceleration limit on the motion of the robotic arm 102 until such unknown static or dynamic objects are no longer detected within the working volume. For example, when a static object within the working volume is first detected, the processor 150 reduces the overall velocity of the robotic arm 102 by 20%; if the stationary object is again detected after moving two inches (2 ") toward the general position of the stationary object by the electrode by which it was detected, the processor 150 may reduce the overall velocity of the robotic arm 102 by an additional 20%. However, if it is determined that the electrode has moved away from the stationary object, the processor 150 may return to full speed actuation of the robotic arm 102.
11.5 multiple sensing circuits
As described above, the robotic arm 102 may include a plurality of arm segments, and each arm segment may include one or more electrodes and sensing circuitry. In this variation, processor 150 may issue a proximity-in-location alert based on the known locations of electrodes coupled to sensing circuits exhibiting abnormal capacitance values (e.g., the actual resonant frequency exceeding the threshold resonant frequency).
In one example, the robotic arm 102 includes: a first arm segment coupled to the base 110 (or a second arm segment extending from the base 110) via a first actuatable shaft; and a first electrode disposed across the backside of the first arm segment 120 and coupled to the first sensing circuit. In block S140, the processor 150 may issue a proximity alert regarding movement in a first direction perpendicular to the back side of the first arm segment 120 in response to the rate of change of the capacitance of the first sensing circuit exceeding a threshold rate of change. In block S150, the processor 150 may selectively reduce the maximum actuation speed of the first actuatable shaft 124 in the direction to move the first arm segment 120 in the first direction when the proximity alarm is the current condition. Specifically, in block S150, the processor 150 may reduce the maximum velocity of the first actuating shaft in the direction to move the first arm segment 120 toward the unknown object, for example, by reducing the maximum velocity of the first actuating shaft in the first direction (or in both directions) by 50% or stopping the motion of the first actuating shaft altogether.
In the foregoing example, the robotic arm 102 may further include: a second electrode arranged across a lateral (e.g., left-handed) side of the first arm segment 120 and coupled to a second sensing circuit. In block S140, the processor 150 may further: selectively issue a second proximity alert with respect to motion in a second direction perpendicular to the lateral side of the first arm segment 120 in response to the rate of change of the capacitance of the second sensing circuit 132 exceeding a threshold rate of change; and when the second approach warning is the current situation, a reduced maximum actuation speed of the second actuatable shaft 134 in a direction to move the first arm segment 120 in the second lateral direction is set.
The robotic arm 102 may include additional arm segments that include additional directional electrodes coupled to respective sensing circuits, and the processor 150 may implement similar methods and techniques to issue directional proximity alarms and set reduced actuation speeds with respect to selected actuation axes based on capacitance values of these sensing circuits.
11.6 detecting distance to New object
In one variation, the robotic arm 102 includes a plurality of electrodes patterned across the arm segment and coupled to a sensing circuit exhibiting different sensible ranges (i.e., ranges of distances between the electrodes and an external object over which relative motion of the external object produces a detectable change in the rate of change of capacitance of the sensing circuit over a noise floor). In this variation, the processor 150 may implement the foregoing methods and techniques to detect deviations from an expected or target rate of change of capacitance of each electrode and fuse these deviations with the known (or approximate) sensible range of each sensing circuit to estimate the distance between the external object and the arm segment.
For example, the system 100 may include: a first electrode defining a first area (e.g., ten square inches or 10 in)2) Disposed on a first arm segment of the robotic arm 102 and coupled to a first sensing circuit exhibiting a first sensible range (e.g., up to twenty inches, or 20 "for a four ounce steel ball); and a second electrode defining a second area (e.g., two square inches, or 2 in) smaller than the first area2) Disposed on first arm segment 120 adjacent first electrode 121 and coupled to a second sensing circuit exhibiting a second sensible range (e.g., up to eight inches, or 8 "for a four ounce steel ball) that is smaller than the first sensible range. In this example, if a first rate of change of the capacitance of the first sensing circuit exceeds a respective threshold rate of change while a second rate of change of the capacitance of the second sensing circuit remains at or near (e.g., remains less than the respective threshold rate of change) the expected rate of change, the processor 150 may estimate that the unknown object is within a first proximity of the first segment of the robotic arm 102 (e.g., between eight inches and twenty inches, or between 8 "and 20"). In block S140, the processor 150 may issue a first proximity alert regarding the unknown object being within the first proximity range of proximity to the robotic arm 102, and in block S150, reduce the current velocity of the robotic arm to a first proportion (e.g., 50%) of the maximum velocity of the robotic arm 102 when the first proximity alert is the current situation.
However, if the first rate of change of the capacitance of the first sensing circuit exceeds the corresponding threshold rate of change, and if the second rate of change of the capacitance of the second sensing circuit exceeds the corresponding threshold rate of change, the processor 150 may estimate that the unknown object is within a second proximity (e.g., within 8 inches, or within 8 ") that is less than the first proximity of the first segment of the robotic arm 102. The processor 150 may: in block S140, a second proximity alert is issued that the proximity of the unknown object is within the second proximity range of the robotic arm 102, and when the second proximity alert is the current situation, the current speed of the robot is reduced to a second proportion (e.g., 20% or 0%) of the maximum speed of the robotic arm 102 that is less than the first proportion.
Thus, the processor 150 may compare the deviations in the rates of change of the capacitance of the various electrodes (for a common external object) characterized by different sensible ranges to estimate the distance between the arm segment of the robotic arm 102 and the unknown external object.
However, the processor 150 may manipulate the capacitance value data received from the one or more controllers during the sampling period or when the robotic arm 102 reaches a predetermined waypoint in any other manner to detect the presence of an unknown object within the working volume of the robotic arm, to determine the position of the unknown object relative to the robotic arm 102, and/or to determine the area of the robotic arm 102 in contact with the object. If an unknown object is detected, the processor 150 may then issue a proximity alert in block S140. The processor 150 may repeat this process over time, such as for each sampling period or waypoint during execution of the trace, in order to issue, respond to, and clear the proximity alarm in real time.
The processor 150 may also store the object presence, location, and/or distance data (generated from the capacitance data collected during the current sampling period or at the current waypoint) in a proximity matrix for the current sampling period or waypoint. The processor 150 may compare the current proximity matrix to a previous set of similar proximity matrices to track the proximity, position, and/or distance of the unknown object relative to the robotic arm 102 over time. For example, for one sampling period or waypoint, the processor 150 may generate a proximity matrix (or proximity array or other container) addressed location of electrodes coupled to sensing circuitry that exhibits an actual capacitance value that deviates from a target or desired capacitance value (i.e., a local location that is currently close to the alarm); the processor 150 may then process each directional proximity alert separately in block S150 to avoid one or more unknown objects within the working volume, as described below.
10. Object avoidance
The processor 150 may also execute block S150 which recites reducing the current speed at which the robotic arm 102 moves through the trajectory in response to the proximity alert. In general, when an unknown object is detected within the working volume of the robotic arm, the processor 150 may set a maximum engagement speed limit for one or more actuatable axes in the robotic arm 102.
In one example, if the processor 150 determines from the sequence of object position matrices generated over a series of sampling periods that the object is near the left side of the robotic arm 102 and is substantially stationary in space, the processor 150 may: in block S140, a left proximity alarm is issued; and the speed limit for the actuatable shafts at the rear ends of the first and second arm segments is set to 50% of their maximum speed, but the speed limit for the rotatable shafts in the base 110 is set to 50% of their maximum speed at a clockwise position and 10% of their maximum speed at a counterclockwise position when the object is held in substantially the same absolute position, so that the robotic arm 102 can be extended, retracted and moved away from the object relatively quickly but only at a much slower speed toward the object.
Similarly, if the processor 150 determines from a sequence of object position matrices generated over a series of sampling periods that the object is in front of the robotic arm 102 near the end effector 140 and is substantially stationary in space, the processor 150 may set the speed limit for the actuatable axis between arm segments to 50% of its maximum speed for the motion retracting the robotic arm 102 away from the object and 10% of its maximum speed for the motion extending the robotic arm 102 toward the object, so that the robotic arm 102 may retract from the object relatively quickly, but may only move toward the object at a much slower speed. In this example, the processor 150 may continue to reduce the speed limit of the selected actuatable axis in the robotic arm 102 as the robotic arm 102 moves closer to the object, as shown in fig. 5, to a full stop speed when, for example, the mounted end effector is within 1 inch of the object. The processor 150 may also increase the speed limit on the actuatable axis as the robotic arm 102 moves away from the object. Thus, the processor 150 may dynamically adjust the speed limit for the selected actuatable axis within the robotic arm 102 based on both the distance between the robotic arm 102 and the external object and the position of the object relative to the robotic arm 102.
As shown in fig. 6, the processor 150 may also set the maximum engagement speed for each actuatable axis in the robotic arm 102 based on whether the robotic arm 102 is moving toward the object or whether the object is moving toward the robotic arm 102. For example, the processor 150 may compare the proximity matrices generated during the current and last sampling periods to determine whether the distance between the detected object and a particular electrode (or set of electrodes) of known locations on the robotic arm 102 is increasing or decreasing; that is, the processor 150 may determine an approximate velocity of the object relative to one or more electrodes on the robotic arm 102 with respect to the current sampling period based on the proximity matrices generated within the current and last sampling periods and the duration (i.e., sampling rate) between the current and last sampling periods. The processor 150 may also generate an arm position capacitance matrix, such as a jameson capacitance matrix, defining the position of each electrode (or other point on the robotic arm 102) in space for each sampling period. The processor 150 may then calculate the velocity of each electrode (or various other points) on the robotic arm 102 (e.g., relative to a reference point on the base 110) for the current sampling period based on the sampling rate and the difference between the arm position matrices for the current and last sampling periods. Thus, in one sampling period, if the velocity of the object relative to the electrode on the robotic arm 102 is negative, the distance between the object and the electrode decreases; the object approaches the electrode if the distance between the object and the electrode decreases and the velocity of the object relative to the electrode is greater than the velocity of the electrode relative to the reference point; and the electrode approaches the object if the distance between the object and the electrode decreases and the velocity of the object relative to the electrode is less than the velocity of the electrode relative to the reference point. Processor 150 may generate these calculations for all or selected electrodes for each sampling period during operation of system 100.
In the foregoing implementation, if the distance between the robotic arm 102 (e.g., a particular electrode) and the object decreases and the robotic arm 102 is approaching the object, the processor 150 may set a speed limit for the actuatable axis in the robotic arm 102 in an inverse relationship to the distance between the robotic arm 102 and the object (as described above), and stop all motion toward the object upon detecting that the distance between the object and any point on the robotic arm 102 reaches a threshold minimum distance (e.g., 1 inch). The processor 150 may continue to monitor the output of the controller 123 for subsequent sampling periods and release the robotic arm 102 for further movement toward the object if the object is moving away from the robotic arm 102. Thus, the processor 150 may cause the robotic arm 102 to slow to a stop before contact and may resume the trajectory once the object is no longer in the path of the robotic arm 102.
Alternatively, if the processor 150 determines that the distance between the arm and the object is decreasing and the object is approaching the robotic arm 102, the processor 150 may decrease the speed limit for the actuatable axis in the robotic arm 102 as the distance between the robotic arm 102 and the object decreases, as described above, for example, to a speed limit of 2% of the maximum speed for any axis driving the robotic arm 102 toward the object, as shown in fig. 6. The processor 150 may continue to drive the robotic arm 102 toward the object according to the trajectory (although relatively slowly) to the point where the object contacts the surface of the robotic arm 102. When the processor 150 detects that an object (e.g., a hand) has contacted the robotic arm 102, for example, based on capacitance data received from one or more controllers in the robotic arm 102 or based on a detected collision from the output of an accelerometer or force sensor disposed in the actuatable axis, the processor 150 may transition from the trajectory execution mode to the manual manipulation mode or to the training mode. In the manual manipulation mode or training mode, the processor 150 may drive an actuatable shaft in the robotic arm 102 in accordance with the input detected on the robotic arm 102, as described below. Specifically, in a manual manipulation or training mode, the processor 150 may hold the robotic arm 102 in the current position until manipulated by an object (e.g., a user's hand or finger) in contact with a surface of the robotic arm 102, and the processor 150 may record the motion at each actuatable axis as the robotic arm 102 is manipulated by the user. Once the object is released from the robotic arm 102, the processor 150 may return to execution of the trajectory, for example, automatically or in response to confirmation from the user via a surface on the robotic arm 102 or through a user interface in communication with the system 100.
The processor 150 may implement the foregoing methods and techniques to set a speed limit for movement of the selected actuatable shaft, for the selected arm segment, and/or for the mounted end effector. For example, to avoid detecting an unknown object within the working volume while executing the pre-planned trajectory, the processor 150 may drive a second actuatable axis between the first arm segment and the second arm segment away from the detected object, thereby moving the second actuatable axis 134 away from its target path defined in the trajectory; at the same time, the processor 150 may drive other actuatable shafts within the robotic arm 102 to similar offset positions such that the end effector 140 remains on its target path defined by the trajectory.
The processor 150 may also set the sampling rate for the in-arm controller 123 based on the velocity of the robotic arm 102 (or the true velocity of each arm segment calculated from the true velocity of each actuatable axis). For example, the processor 150 may increase the sampling rate and update the capacitance value threshold for each sensing circuit as the speed of the entire arm or selected actuatable axis increases; and vice versa. However, the processor 150 may collect and manipulate capacitance value data received from one or more controllers over a series of sampling periods in any other suitable manner to issue and process proximity alarms.
11. Axle control
As described above, when an object is in contact with the surface of the robotic arm 102, the process may enter a manual operation mode or a training mode; in the manipulation mode or training mode, the processor 150 may unlock and/or actively drive various actuatable axes within the robotic arm 102 according to manual inputs on the surface of the robotic arm 102.
In one example, as described above, a first arm segment connected to base 110 at its trailing end via a first actuatable shaft may include a set of chevron control electrodes radially patterned about its proximal end adjacent to first actuatable shaft 124, and may include a set of sense electrodes patterned along its distal end. In this example, a second arm segment connected to first arm segment 120 via a second actuatable shaft may include a set of sense electrodes patterned along its proximal end adjacent to second actuatable shaft 134, and may include a set of chevron control electrodes radially patterned about the distal end of second arm segment 130, and a gripper-type end effector may be connected to a third actuatable (e.g., rotationally driven) shaft and may include a set of jaws actuated (i.e., opened and closed) by a fourth actuatable shaft. In this example, the processor 150 may manipulate the capacitance data collected from the sensing electrodes on the first and second arm segments to detect the proximity of an object to the robotic arm 102 and adjust the speed and/or direction of each arm segment during execution of the pre-recorded or pre-defined trajectory. Further, in this example, processor 150 may manipulate the capacitance data collected from a set of control electrodes on first arm segment 120: locking first actuatable shaft 124 while the object remains in stationary contact with the proximal end of first arm segment 120; rotating the first actuatable shaft 124 in a clockwise direction substantially in synchronism with an object in contact with the proximal end of the first arm segment 120 and sliding radially thereabout in a clockwise direction; rotating the first actuatable shaft 124 in a counterclockwise direction substantially in synchronism with an object in contact with the proximal end of the first arm segment 120 and sliding radially thereabout in the counterclockwise direction; opening the second actuatable shaft 134 when an object contacting the proximal end of the first arm segment 120 moves toward the front end of the first arm segment 120; and closes the second actuatable shaft 134 when an object contacting the proximal end of the first arm segment 120 moves toward the rear end of the first arm segment 120.
Similarly, processor 150 may manipulate capacitance data collected from a set of control electrodes on second arm segment 130: locking the third and fourth actuatable shafts while the object remains in stationary contact with the distal end of the second arm segment 130; rotating the third actuatable shaft 184 (and thus the gripper-type end effector) clockwise, substantially synchronously with an object in contact with and sliding radially around the distal end of the second arm segment 130 clockwise; rotating the third actuatable shaft 184 in a counterclockwise direction substantially in synchronism with an object in contact with the distal end of the second arm segment 130 and sliding radially thereabout in the counterclockwise direction; opening the fourth actuatable shaft (and thus the jaws of the gripper-type end effector) when an object contacting the distal end of the second arm segment 130 moves toward the front end of the second arm segment 130; and closing the fourth actuatable shaft when an object contacting the distal end of the second arm segment 130 moves toward the rear end of the second arm segment 130.
In another implementation, the robotic arm 102 includes: a set of arm segments arranged in series between the base 110 and the end effector 140; a first electrode disposed on one side of the final arm segment adjacent to the end effector 140 (or end effector joint 182); and a second electrode disposed on an opposite side of the final arm segment adjacent to the end effector 140. In this implementation, the processor 150 may implement the methods and techniques described above to interpret a change in capacitance (or deviation from an expected rate of change in capacitance) of a first sensing circuit coupled to the first electrode 121 and a change in capacitance (or deviation from an expected rate of change in capacitance) of a second sensing circuit coupled to the second electrode 131 to detect contact between an external object and a surface of a final arm segment adjacent to (e.g., crossing) the first and second electrodes, respectively. When a first input (i.e., contact with an external object) at the first sensing circuit 122 and a second input at the second sensing circuit 132 opposite the first input are detected simultaneously, the processor 150 may interpret the pair of inputs as a grip gesture on the last arm segment and accordingly effect manual control of one or more actuatable axes of the robotic arm 102.
For example, the processor 150 may: in response to the rate of change of the capacitance of the first sensing circuit exceeding a contact threshold rate of change (greater than near the threshold rate of change) indicating that an external object has contacted the final arm segment adjacent to the first electrode 121, a first contact between the object and a first region of the final arm segment adjacent to the first electrode 121 is detected. In particular, mechanical contact between the external object and the arm segment adjacent the first electrode 121 may discharge current from the first electrode 121 at a greater rate than if the object were close to, but not touching, the arm segment, and the processor 150 may detect contact with the external object based on this rate of change in capacitance of the first sensing circuit. At about the same time, in this example, processor 150 may implement similar methods and techniques to detect a second contact between the object and a second region of the final arm segment adjacent second electrode 131 in response to the rate of change of the capacitance of second sensing circuit 132 exceeding a contact threshold rate of change. The processor 150 may then: interpreting the first contact and the second contact occurring within a similar time period as a manual control gesture for controlling an actuatable axis coupled to the final arm segment; and unlocks the first actuatable shaft 124 according to the manual control gesture. In this example, the processor 150 may unlock an actuatable shaft coupled to the final arm segment opposite the end effector 140 to enable the operator to pivot the final arm segment relative to the other arm segments and the base 110.
In the foregoing example, system 100 may further include a third electrode coupled to the third sensing circuit and disposed on the final arm segment between the first area electrode and the second electrode 131. The processor 150 may implement the methods and techniques described above to detect a third contact between the object and a third area of the final arm segment adjacent the third electrode in response to the rate of change of the capacitance of the third circuit exceeding a contact threshold rate of change. The process may then: interpreting the first, second, and third contacts as a manual control gesture that controls extension of a plurality of actuatable axes within the robotic arm 102 (e.g., a first actuatable axis 124 between a final arm segment and a second actuatable axis between a second arm segment 130 and a third arm segment 180); and unlocking the actuatable shafts (e.g., first actuatable shaft 124 and second actuatable shaft 134) according to the extended manual control gesture.
However, the processor 150 may manipulate the robotic arm 102 in any other suitable manner based on input on the surface of the robotic arm 102 during performance of the manual manipulation mode or the training mode.
The systems 100 and methods described herein may be at least partially embodied and/or implemented as a machine configured to receive a computer-readable medium storing computer-readable instructions. These instructions may be executed by a computer-executable component that incorporates an application, applet, host, server, network, website, communication service, communication interface, user computer or mobile device hardware/firmware/software element, wristband, smartphone or any suitable combination thereof. Other systems and methods of embodiments may be at least partially embodied and/or implemented as a machine configured to receive a computer-readable medium storing computer-readable instructions. These instructions may be executed by computer-executable components incorporating devices and networks of the type described above. The computer readable medium may be stored on any suitable computer readable medium, such as RAM, ROM, flash memory, EEPROM, optical devices (CD or DVD), hard drives, floppy drives or any suitable device. The computer-executable components may be processors, but any suitable dedicated hardware device may (alternatively or additionally) execute instructions.
One skilled in the art will recognize from the foregoing detailed description, and from the accompanying drawings and claims, that modifications and changes may be made to the embodiments of the invention without departing from the scope of the invention as defined in the following claims.
Claims (21)
1. A method for controlling a robotic arm, the method comprising:
moving the mechanical arm through a trajectory;
measuring a first capacitance of a first sensing circuit at a first time that the robotic arm occupies a first position along the trajectory, the first sensing circuit comprising a first electrode extending over a first arm segment of the robotic arm;
measuring a second capacitance of the first sensing circuit at a second time that the robotic arm occupies a second position along the trajectory, the second time being after the first time;
calculating a first rate of change of capacitance of the first sensing circuit based on a difference between the first capacitance and the second capacitance;
issuing a proximity alert in response to the first rate of change of capacitance of the first sensing circuit exceeding a threshold rate of change; and
in response to the proximity alert, reducing a current speed of the robotic arm moving through the trajectory.
2. The method of claim 1, wherein measuring the first capacitance of the first sensing circuit comprises measuring a resonant frequency of the first sensing circuit at the first time; wherein measuring the second capacitance of the first sensing circuit comprises measuring a resonant frequency of the second sensing circuit at the second time; and wherein calculating the first rate of change comprises calculating a first rate of change of the resonant frequency of the first sensing circuit based on a difference between the first resonant frequency and the second resonant frequency.
3. The method of claim 1, further comprising, at an initial time prior to the first time:
moving the robotic arm through a capacitive mapping route;
recording a set of absolute capacitance values of the first sensing circuit at discrete waypoints along the capacitance mapping route;
converting the set of absolute capacitance values to relative capacitance value changes between the discrete waypoints along the capacitance mapping route;
aggregating the relative capacitance value changes into a baseline capacitance map of the physical space occupied by the robotic arm; and
calculating the threshold rate of change between the first position and the second position from the baseline capacitance map and the velocity of the robotic arm between the first position and the second position.
4. The method of claim 3, wherein the first and second light sources are selected from the group consisting of,
wherein moving the robotic arm through a trajectory comprises moving the robotic arm through a trajectory approximating the capacitive mapping path;
wherein recording the set of absolute capacitance values of the first sensing circuit comprises recording the set of absolute capacitance values of the first sensing circuit at a set of discrete waypoints along the capacitance mapping route, the set of discrete waypoints comprising the first location and the second location; and
wherein issuing the proximity alert comprises detecting a change in a physical space occupied by the robotic arm between the initial time and the second time in response to the first rate of change of capacitance of the first sensing circuit exceeding the threshold rate of change and issuing the proximity alert based on the change in the physical space.
5. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,
wherein issuing the proximity alert comprises converting the first rate of change of capacitance of the first sensing circuit to a velocity of the first electrode relative to an external object and issuing the proximity alert with respect to motion toward a static object in response to the velocity of the first electrode relative to the external object approximating a velocity of the robotic arm from the first position to the second position; and
wherein decreasing the current speed of the robotic arm comprises decreasing the current speed of the robotic arm to a fraction of a maximum value of the robotic arm when the proximity alert regarding motion toward a stationary object is a current situation.
6. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,
wherein issuing the proximity alert comprises converting the first rate of change of capacitance of the first sensing circuit to a velocity of the first electrode relative to an external object and issuing the proximity alert regarding motion of a dynamic object toward the robotic arm in response to the velocity of the first electrode relative to the external object exceeding a velocity of the robotic arm from the first position to the second position; and
wherein reducing the current speed of the robotic arm comprises stopping the motion of the robotic arm when the proximity alert regarding the motion of a dynamic object toward the robotic arm is a current situation.
7. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,
further comprising: calculating a second rate of change of capacitance of a second sensing circuit between the first time and a second time, the second sensing circuit comprising a second electrode extending over the first arm segment of the robotic arm, adjacent to the first electrode, and defining a second area that is smaller than a first area defined by the first electrode;
wherein issuing the proximity alert comprises:
in response to the first rate of change exceeding the threshold rate of change and the threshold rate of change exceeding the second rate of change, issuing a first proximity alert that a proximity of an external object is within a first proximity range of the robotic arm, the first proximity range corresponding to a first sensible range of the first electrode; and
in response to the first rate of change and the second rate of change exceeding the threshold rate of change, issuing a second proximity alert that a proximity of an external object is within a second proximity range of the robotic arm, the second proximity range corresponding to a second sensible range of the second electrode; and
wherein reducing the current speed of the robotic arm comprises:
in response to the first proximity alert, reducing a current speed of the robotic arm to a first proportion of a maximum speed of the robotic arm; and
in response to the second proximity alert, reducing the current speed of the robotic arm to a second proportion of the maximum speed of the robotic arm, the second proportion being less than the first proportion.
8. The method of claim 1, wherein the first and second light sources are selected from the group consisting of,
wherein moving the robotic arm through the trajectory comprises actuating a first actuatable shaft interposed between the first arm segment and a second arm segment of the robotic arm and actuating a second actuatable shaft interposed between the second arm segment and a base of the robotic arm;
the method further comprises the following steps: calculating a second rate of change of capacitance of a second sensing circuit between the first time and a second time, the second sensing circuit including a third electrode extending over the second arm segment;
wherein issuing the proximity alert comprises issuing the proximity alert in response to one of the first rate of change of capacitance and the second rate of change of capacitance exceeding the threshold rate of change; and
wherein reducing the current speed of the robotic arm comprises setting a reduced maximum rotational speed of the first actuatable shaft and the second actuatable shaft in response to the proximity alert.
9. The method of claim 1, further comprising:
at a third time, detecting a first contact between an object and a first region of the first arm segment adjacent to the first electrode based on a second rate of change of capacitance of the first sensing circuit exceeding a second threshold rate of change, the second threshold exceeding the first threshold;
at about the third time, detecting a second contact between an object and a second region of the first arm segment adjacent to a second electrode coupled to a second sensing circuit, the second region of the first arm segment opposite the first region of the first arm segment, based on a third rate of change of capacitance of the second sensing circuit exceeding the second threshold rate of change;
interpreting the first contact and the second contact as a manual control gesture that controls a first actuatable shaft coupled to the first arm segment; and
unlocking the first actuatable shaft in response to the manual control gesture.
10. The method of claim 1, further comprising:
detecting, at about a fourth time, a third contact between an object and a third region of the first arm segment adjacent to a third electrode coupled to a third sensing circuit based on a fourth rate of change of capacitance of the third sensing circuit exceeding the second threshold rate of change, the third region of the first arm segment interposed between the first region and the second region of the first arm segment; and
interpreting the first contact, the second contact, and the third contact as a second manual control gesture that controls the first actuatable shaft and a second actuatable shaft coupled to a second arm segment supporting the first arm segment; and
unlocking the first actuatable shaft and the second actuatable shaft in response to the second manual control gesture.
11. A system, comprising:
a base;
a first arm segment;
a second arm segment interposed between the base and the first arm segment, coupled to the first arm segment via a first actuatable shaft, and coupled to the base via a second actuatable shaft;
an end effector coupled to an end of the first arm segment opposite the first actuatable shaft;
a first electrode arranged across an area of the first arm segment and electrically coupled to a first sensing circuit; and
a controller configured to measure a capacitance of the first sensing circuit during actuation of the first and second actuatable shafts.
12. The system of claim 11, wherein the controller is configured to measure the capacitance of the first sensing circuit by sensing a resonant frequency of the first sensing circuit.
13. The system as set forth in claim 11, wherein,
wherein the controller is configured to measure a first capacitance of the first sensing circuit at a first time and a second capacitance of the first sensing circuit at a second time after the first time; and
the system further includes a processor configured to:
actuating the first and second actuatable shafts to move the end effector from a first position in a physical space at the first time to a second position on the physical space at the second time;
calculating a first rate of change of capacitance of the first sensing circuit between the first time and the second time;
issuing a proximity alarm at the second time in response to the first rate of change of capacitance of the first sensing circuit exceeding a threshold rate of change; and
in response to the proximity alert, reducing a maximum actuation speed of the first actuatable shaft and the second actuatable shaft.
14. The system of claim 13, wherein the first and second light sources are,
wherein the first electrode is arranged across a backside of the first arm segment; and
wherein the processor is configured to:
issuing the proximity alert with respect to motion in a first direction perpendicular to the back side of the first arm segment in response to the first rate of change of capacitance of the first sensing circuit exceeding the threshold rate of change; and
in response to the proximity alert, reducing the maximum actuation speed of the first actuatable shaft in a direction to move the first arm segment in the first direction.
15. The system of claim 13, wherein the first and second light sources are,
the system also includes a second electrode disposed across a lateral side of the first arm segment and coupled to a second sensing circuit; and
wherein the processor is configured to:
issuing a second proximity alert with respect to motion in a second direction perpendicular to the lateral side of the first arm segment in response to a rate of change of capacitance of the second sensing circuit exceeding the threshold rate of change; and
in response to the second proximity alert, reducing the maximum actuation speed of the second actuatable shaft in a direction to move the first arm segment in the second direction.
16. The system as set forth in claim 11, wherein,
further comprising:
a second electrode disposed on a first side of the first arm segment between the end effector and first electrode and electrically coupled to a second sensing circuit; and
a third electrode disposed on a second side of the first arm segment opposite the second electrode and electrically coupled to a third sensing circuit;
wherein the controller is configured to measure capacitances of the second and third sensing circuits; and
the system also includes a processor configured to unlock the first actuatable shaft for manual manipulation in response to a first change in capacitance of the second sensing circuit indicating contact between an external object and the first side of the first arm segment at a third time and in response to a second change in capacitance of the third sensing circuit indicating contact between an external object and the second side of the first arm segment at about the third time.
17. The system of claim 11, further comprising a third arm segment interposed between the second arm segment and the base, coupled to the second actuatable shaft on a first end and coupled to the base at a second end opposite the first end via a third actuatable shaft.
18. The system as set forth in claim 11, wherein,
wherein the first arm segment comprises:
a rigid beam extending from the first actuatable shaft; and
a cover disposed on and extending along the rigid beam; and
wherein the first electrode comprises a conductive material disposed across the cover and is electrically coupled to the first sensing circuit disposed within the first arm segment.
19. The system of claim 17, wherein the first arm segment further comprises a ground electrode disposed on the cover below the first electrode; and wherein the controller drives the ground electrode to a reference electrical ground potential.
20. The system as set forth in claim 11, wherein,
further comprising:
a first ground electrode disposed adjacent to the first electrode on the first arm segment and coupled to the first sensing circuit;
a second electrode arranged across an area of the second arm segment and electrically coupled to a second sensing circuit; and
a second ground electrode disposed adjacent to the first electrode on the first arm segment and coupled to the first sensing circuit;
wherein the controller is configured to sequentially drive the first electrode and the second electrode for measuring a capacitance between the first electrode and the first ground electrode and measuring a capacitance between the second electrode and the second ground electrode, respectively.
21. The system of claim 11, wherein the end effector comprises a motorized gripper transiently coupled to an end of the second arm opposite the second actuatable shaft.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62/216,328 | 2015-09-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1260923A1 true HK1260923A1 (en) | 2019-12-27 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10213923B2 (en) | Robotic arm system and object avoidance methods | |
| US8633715B2 (en) | Proximity detection system | |
| US7679376B2 (en) | Capacitive sensor for sensing tactile and proximity, and a sensing system using the same | |
| JP5646084B2 (en) | SENSOR SYSTEM FOR PERIPHERAL MONITORING ON MECHANICAL PARTS AND METHOD FOR DRIVE CONTROL AND EVALUATION OF SENSOR SYSTEM | |
| CN110315556B (en) | Robot electronic skin, robot and interaction method | |
| US10666252B2 (en) | Capacitive sensor | |
| US12203783B2 (en) | Sensor, sensing device, and sensing method | |
| CA2519527C (en) | A sensor system and method of operating the same | |
| EP2538207B1 (en) | Portable electronic apparatus for detecting walls humidity | |
| CN106524886A (en) | Collision position detection device and system, and detection method | |
| CN113541670A (en) | Capacitance detection circuit and method and electronic equipment | |
| US20120205455A1 (en) | System for monitoring and/or dehumidifying walls | |
| CN110336704A (en) | Equipment fault diagnosis and life prediction system based on Internet of Things wireless sensor technology | |
| US20140070797A1 (en) | Capacitive Position Encoder | |
| Liu et al. | Touch position identification based on a flexible array-less supercapacitive tactile sensor | |
| HK1260923A1 (en) | Robotic arm system and object avoidance methods | |
| CN108700646A (en) | Method for detecting position, device, rotating radar system and unmanned plane | |
| US11994441B2 (en) | Sensor device for environmental perception and/or for reliably gripping and manipulating objects | |
| Ye et al. | Improving the measurement accuracy of distance and positioning for capacitive proximity detection in human-robot interaction | |
| Gharibi et al. | 3D printed radiofrequency sensing system for robotic applications | |
| CN211517497U (en) | Robot electron skin and robot | |
| CN206002049U (en) | Automatic thickness checking apparatus and laminator and the shredder with automatic thickness detection function | |
| Kohlbrenner et al. | A Sensor Position Localization Method for Flexible, Non-Uniform Capacitive Tactile Sensor Arrays | |
| CN110823960B (en) | Surface damage detection device | |
| HK40023621B (en) | Sensor, smart device, sensing method and storage medium |