These teachings relate generally to the use of tools, and more particularly to the monitoring thereof.
Some tools include one or more areas of articulation. So configured, one part of the tool can move independently with respect to another part of the tool. In some cases, such movement can be automatically controlled. To ensure efficacy of such movement, however, it can be important to understand the position(s) of such portions of the tool.
The above needs are at least partially met through provision of the apparatus and method for tool monitoring described in the following detailed description, particularly when studied in conjunction with the drawings, wherein:
Elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present teachings. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments of the present teachings. Certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required.
Typical prior art solutions as regards understanding the position(s) of various portions of an articulated tool can be relatively expensive, physically cumbersome, and/or insufficiently accurate. In some cases, prior art solutions are not sufficiently capable of tracking all of the degrees of freedom of movement that may characterize a given application setting.
Generally speaking, pursuant to these various embodiments, an apparatus comprises a tool having a first portion and a second portion that are separated by at least a first area of articulation. A first inertial measurement unit is affixed with respect to that first portion and a second inertial measurement unit is affixed with respect to that second portion. A control circuit operably couples to those inertial measurement units and receives corresponding information regarding those portions of the tool. The control circuit can then process that received information to generate positional proprioception information as regards those monitored tool portions. These teachings will support generating that positional proprioception information without the use of through-drivetrain information. By one approach, the control circuit generates that positional proprioception information by first determining an absolute orientation of each of the tool portions independent of one another and then calculating a differential pose as a function of the determined absolute orientation of those tool portions.
These teachings will accommodate areas of articulation that provide two or three degrees of freedom of movement.
By one approach, the aforementioned inertial measurement units each includes at least three gravity-based orientation sensors, three non-gravitational acceleration sensors, and three magnetometers.
The resultant positional proprioception information can be employed in a variety of ways. As one example, that information can be used to determine whether the tool is properly moving. As another example, that information can be used to effect a closed-loop process involving the tool's movement.
So configured, movement of various portions of an articulated tool can be readily and accurately monitored in a reliable and cost-effective manner.
The terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein. The word “or” when used herein shall be interpreted as having a disjunctive construction rather than a conjunctive construction unless otherwise specifically indicated. The terms “coupled,” “fixed,” “attached to,” and the like refer to both direct coupling, fixing, or attaching, as well as indirect coupling, fixing, or attaching through one or more intermediate components or features, unless otherwise specified herein.
The singular forms “a”, “an”, and “the” include plural references unless the context clearly dictates otherwise.
Approximating language, as used herein throughout the specification and claims, is applied to modify any quantitative representation that could permissibly vary without resulting in a change in the basic function to which it is related. Accordingly, a value modified by a term or terms such as “about”, “approximately”, and “substantially”, are not to be limited to the precise value specified. In at least some instances, the approximating language may correspond to the precision of an instrument for measuring the value, or the precision of the methods or machines for constructing or manufacturing the components and/or systems. For example, the approximating language may refer to being within a 10 percent margin.
These and other benefits may become clearer upon making a thorough review and study of the following detailed description. Referring now to the drawings, and in particular to
In this particular example, the enabling apparatus 100 includes a control circuit 101. Being a “circuit,” the control circuit 101 therefore comprises structure that includes at least one (and typically many) electrically-conductive paths (such as paths comprised of a conductive metal such as copper or silver) that convey electricity in an ordered manner, which path(s) will also typically include corresponding electrical components (both passive (such as resistors and capacitors) and active (such as any of a variety of semiconductor-based devices) as appropriate) to permit the circuit to effect the control aspect of these teachings.
Such a control circuit 101 can comprise a fixed-purpose hard-wired hardware platform (including but not limited to an application-specific integrated circuit (ASIC) (which is an integrated circuit that is customized by design for a particular use, rather than intended for general-purpose use), a field-programmable gate array (FPGA), and the like) or can comprise a partially or wholly-programmable hardware platform (including but not limited to microcontrollers, microprocessors, and the like). These architectural options for such structures are well known and understood in the art and require no further description here. This control circuit 101 is configured (for example, by using corresponding programming as will be well understood by those skilled in the art) to carry out one or more of the steps, actions, and/or functions described herein.
By one optional approach the control circuit 101 operably couples to a memory (not shown). This memory may be integral to the control circuit 101 or can be physically discrete (in whole or in part) from the control circuit 101 as desired. This memory can also be local with respect to the control circuit 101 (where, for example, both share a common circuit board, chassis, power supply, and/or housing) or can be partially or wholly remote with respect to the control circuit 101 (where, for example, the memory is physically located in another facility, metropolitan area, or even country as compared to the control circuit 101).
This memory can serve, for example, to non-transitorily store the computer instructions that, when executed by the control circuit 101, cause the control circuit 101 to behave as described herein. (As used herein, this reference to “non-transitorily” will be understood to refer to a non-ephemeral state for the stored contents (and hence excludes when the stored contents merely constitute signals or waves) rather than volatility of the storage media itself and hence includes both non-volatile memory (such as read-only memory (ROM) as well as volatile memory (such as a dynamic random access memory (DRAM).)
If desired, the control circuit 101 can also operably couple to a network interface (not shown). So configured the control circuit 101 can communicate with other elements (both within the apparatus 100 and external thereto) via the network interface. Network interfaces, including both wireless and non-wireless platforms, are well understood in the art and require no particular elaboration here.
By yet another optional approach (in lieu of the foregoing or in combination therewith) the control circuit 101 may operably couple to a user interface (not shown). This user interface can comprise any of a variety of user-input mechanisms (such as, but not limited to, keyboards and keypads, cursor-control devices, touch-sensitive displays, speech-recognition interfaces, gesture-recognition interfaces, and so forth) and/or user-output mechanisms (such as, but not limited to, visual displays, audio transducers, printers, and so forth) to facilitate receiving information and/or instructions from a user and/or providing information to a user.
In this illustrative example, the apparatus 100 also comprises a tool 102 having at least a first portion 103 and a second portion 104 that are separated by a first area of articulation 105. In a typical application setting, these portions 103 and 104 will be solid, but these teachings are flexible in practice and may accommodate other possibilities. By one approach the first portion 103 connects physically to the second portion 104 via that first area of articulation 105 as a discrete point of rotation. In other embodiments, the area of articulation may be that of a soft or continuum robot so that rotations between 103 and 104 do not occur a discrete points, but are rather dispersed over an area of flexible material.
These teachings will accommodate various approaches to the aforementioned articulation. By one approach, the first area of articulation 105 provides at least two degrees of freedom of movement. By another approach, the first area of articulation 105 provides at least three degrees of freedom of movement (such as, for example, pitch, roll, and yaw). There are various approaches to articulation that are known in the art including resolute coupling, share, extension, contraction, and so forth. As the present teachings are not overly sensitive to any particular selections in these regards, further elaboration is not provided here regarding any particular form or modality of articulation.
These teachings will optionally accommodate a tool 102 having other portions and/or additional areas of articulation. As one illustrative example, and as shown in
In this illustrative example, a first inertial measurement unit (IMU) 108 is affixed with respect to the first portion 103 and a second inertial measurement unit 109 is affixed with respect to the second portion 104. To the extent that there are other tool portions that are separated from other tool portions by intervening areas of articulation, additional inertial measurement units can be provided as desired. For example, and as optionally shown in
Inertial measurement units are known in the art. By one approach, and referring momentarily to
Referring again to
Referring now to
At block 301, the control circuit 101 receives first information from the aforementioned first inertial measurement unit 108 regarding the first portion 103. In this illustrative example this first information includes all of the aforementioned parameters pertaining to that first portion 103. At block 302, the control circuit 101 receives second information from the aforementioned second inertial measurement unit 109 regarding the second portion 104 where the second information again includes all of the aforementioned parameters pertaining to the second portion 104. (If and as the particular tool 102 includes additional portions such as the third portion 106 illustrated in
At block 303, the control circuit 101 processes the aforementioned received information to generate positional proprioception information as regards the monitored tool portions. By one approach, the control circuit 101 is configured to generate this positional proprioception information without use of through-drivetrain information. By one approach, the control circuit 101 is configured to generate this positional proprioception information by first determining an absolute orientation of each of the monitored tool portions independent of one another and then calculating a differential pose as a function of the determined absolute orientation of those monitored tool portions.
Referring momentarily to
In this example, the apparatus 100 measures gravitational acceleration along each axis of proximal (P) and distal (D) accelerometers that comprise a part of corresponding inertial measurement units 200 (represented here by the aforementioned first and second inertial measurement units 108 and 109 discussed above).
The orthogonal components of the direction of gravity as measured by the proximal body (Pg) and distal body (Dg) are: Pgx, Pgy, Pgz, Dgx, Dgy, Dgz
For convenience, these teachings provide for creating an intermediate control point (C) coordinate system such that C rolls around the x axis of proximal body, P, and distal body, D, pitches around the y axis of C such that the orientation, including roll, pitch and yaw, of D can be solved by calculating the chain from P to C to D by way of constrained roll and pitch angles along with measured yaw angles as coupled to roll and pitch though the following described mechanism (wherein “T” is notation for a transform that includes the rotations that are to be estimated, such that PTC is the rotation from P to C and CTD is the rotation from C to D, and wherein Px is the x axis of the sensor attached to the proximal body, Pgx is the component of the acceleration of gravity mapped onto Px, Pgy and Pgz along with Pgx provide the components (and therefore orientation) of the acceleration gravity as measured by the proximal body sensor, and where the same is true for the distal body (there is no sensor on C)):
D=P
P
T
C
C
C
T
D
Also in this example, motion is constrained such that:
PTC contains a fixed transform and roll rotation that is only around Px, therefore Cx∥Px; and
CTD contains a fixed transform and pitch rotation that is only around Cy, therefore Dy∥Cy.
Gravitational accelerations can be mapped based on these constraints:
Cgx=Pgx
Cgy=Dgy
Roll around Px is then the angle between Cϕ and Pϕ. Accordingly:
In the foregoing, Cgz is not measured, but assuming a static system (where, for example, g is known and constant), this variable can be calculated from:
g=√{square root over (Cgx2+Cgy2+Cgz2)}=√{square root over (Pgx2+Dgy2+Cgz2)}→Cgz=±√{square root over (−Pgx2−Dgy2+g2)}
Pitch around Cy is then the angle between Dθ and Cθ. Accordingly:
Referring again to
As another example, and as illustrated at optional block 305, the control circuit 101 can effect a closed-loop process involving the tool 102 as a function, at least in part, of the generated positional proprioception information.
So configured, these teachings support using multiple inertial measurement units across multiple areas of articulation to support generating absolute references for orientation, the latter being suitable to enable, for example, initialization in any pose across multiple rotations/articulations without necessarily requiring further movement of the tool. These teachings can be employed with a wide variety of tools including, for example, articulated robot arms and so-called robotic snake arms.
Further aspects of the disclosure are provided by the subject matter of the following clauses:
1. An apparatus comprising:
2. The apparatus of clause 1 wherein the first area of articulation provides at least two degrees of freedom of movement.
3. The apparatus of clause 1 wherein the first area of articulation provides at least three degrees of freedom of movement.
4. The apparatus of clause 1 wherein the first IMU includes at least three gravity-based orientation sensors, three non-gravitational acceleration sensors, and three magnetometers.
5. The apparatus of clause 1 wherein each of the first IMU and the second IMU includes at least three gravity-based orientation sensors, three non-gravitational acceleration sensors, and three magnetometers.
6. The apparatus of clause 1 wherein the control circuit is configured to generate the positional proprioception information without use of through-drivetrain information.
7. The apparatus of clause 1 wherein the control circuit is configured to generate the positional proprioception information by first determining an absolute orientation of each of the first portion and the second portion independent of one another and then calculating a differential pose as a function of the determined absolute orientation of the first portion and the determined absolute orientation of the second portion.
8. The apparatus of clause 1 where the control circuit is further configured to:
9. The apparatus of clause 1 wherein the control circuit is further configured to:
10. The apparatus of clause 1 wherein the tool includes a third portion that is separated from the second portion by at least a second area of articulation, the apparatus further comprising:
11. A method for use with an apparatus comprising:
12. The method of clause 11 wherein the first area of articulation provides at least two degrees of freedom of movement.
13. The method of clause 11 wherein the first area of articulation provides at least three degrees of freedom of movement.
14. The method of clause 11 wherein the first IMU includes at least three gravity-based orientation sensors, three non-gravitational acceleration sensors, and three magnetometers.
15. The method of clause 11 wherein each of the first IMU and the second IMU includes at least three gravity-based orientation sensors, three non-gravitational acceleration sensors, and three magnetometers.
16. The method of clause 1 wherein processing the first information and the second information to generate positional proprioception information comprises generating the positional proprioception information without use of through-drivetrain information.
17. The method of clause 11 wherein processing the first information and the second information to generate positional proprioception information comprises first determining an absolute orientation of each of the first portion and the second portion independent of one another and then calculating a differential pose as a function of the determined absolute orientation of the first portion and the determined absolute orientation of the second portion.
18. The method of clause 11 further comprising, by the control circuit:
19. The method of clause 11 further comprising, by the control circuit:
20. The method of clause 11 wherein the tool includes a third portion that is separated from the second portion by at least a second area of articulation and a third IMU affixed with respect to the third portion, and wherein the method further comprises, by the control circuit:
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above-described embodiments without departing from the scope of the disclosure, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.