ELECTRONICALLY ADJUSTABLE JOINT, AND ASSOCIATED SYSTEMS AND METHODS
20240087474 ยท 2024-03-14
Inventors
- Donald G. Lariviere (Hollywood, CA, US)
- David Foor (Altadena, CA, US)
- Andrew McGraw (Newbury Park, CA, US)
- Michael Keesling (Agoura Hills, CA, US)
Cpc classification
A61F2005/0146
HUMAN NECESSITIES
B25J9/0006
PERFORMING OPERATIONS; TRANSPORTING
G06F3/011
PHYSICS
A61F5/0125
HUMAN NECESSITIES
G09B19/00
PHYSICS
International classification
A61F5/01
HUMAN NECESSITIES
G09B19/00
PHYSICS
Abstract
Disclosed is an electronically adjustable joint, and associated systems and methods. A joint position of a multiple-axis joint, e.g., a 3-axis joint, can be tracked, as the joint moves through two or more dimensions. In an illustrative embodiment, the joint can provide a mechanical equivalent of a physical joint, e.g., a shoulder, elbow, hip, or knee, which can accommodate motion in rotational angle and/or tilt angle. In some embodiments, the joint includes electronically adjustable friction. An illustrative application provides electronically adjustable joints for an aging simulation suit, wherein one or more joints can be controllably stiffened in selective ranges, such that a wearer of the suit can experience the effects of aging, arthritis and/or other ailments. In an illustrative embodiment, a sensor can use four discrete 2-axis magnetometers to calculate the position of the magnet on the arm of the joint, to continuously sense and track the angle of the joint. In some embodiments, the system includes a mechanism, e.g., a servo, which can controllably tighten a socket around a ball joint, wherein the system can controllably adjust friction on the joint.
Claims
1. A method of tracking a joint mechanism comprising the steps of: sensing, via one or more sensors, movement of a first component of the joint mechanism with respect to a second component of the joint mechanism, acquiring outputs from the one or more sensors at a programmed processor and determining positions and angles of the first component as the first component moves in relation to the second component, and displaying joint mechanism motion on a display device using the determined positions and angles.
2. The method of claim 1, wherein the one or more sensors are fixedly coupled to the second component of the joint mechanism and sensing the movement comprises the one or more sensors generating the outputs in response to the first component being located nearby or within a domain of the one or more sensors.
3. The method of claim 1, wherein the first component is fixedly coupled to a third component of the joint mechanism such that sensed movement of the first component with respect to the second component correlates to movement of the third component with respect to the second component and displaying joint mechanism motion further comprises displaying the movement between the third component and the second component.
4. The method of claim 1, wherein acquiring the outputs comprises capturing readings of the one or more sensors at the programmed processor during a sweep of known positions of the first joint component around the second joint component and creating a mapping that correlates the readings to observed positions.
5. The method of claim 1, wherein acquiring the outputs comprises the programmed processor suppressing sensor outputs received from a sensor that is sensing the first component at a domain boundary of the sensor.
6. The method of claim 1, wherein acquiring outputs comprises the programmed processor suppressing sensor outputs received from a sensor that is saturated at a maximum level.
7. The method of claim 1, wherein determining the positions and angles comprises the programmed processor calculating a plurality of vectors that point to the positions of the first component from each of the one or more sensors.
8. The method of claim 1, wherein determining the positions and angles comprises the programmed processor calculating confidence levels associated with each of the one or more sensors and using the confidence levels as weights applied to outputs of associated sensors.
9. The method of claim 1, wherein determining the positions and angles comprises the programmed processor calculating a weighted average of vector outputs from each of the one or more sensors.
10. The method of claim 1, wherein displaying the joint mechanism motion comprises displaying an avatar.
11. The method of claim 1, wherein the sensed movement includes any of rotation and tilt angle.
12. The method of claim 1, wherein the first component of the joint mechanism comprises a magnetic element.
13. The method of claim 12, wherein the programmed processor acquires outputs from four discrete 2-axis magnetometers, arranged on the second component, while joint mechanism motion is continuously tracked using outputs of the magnetometers as the magnet element moves relative to the magnetometers.
14. The method of claim 13, wherein the continuous tracking comprises the programmed processor using a weighted average to calculate positions of the magnetic element with respect to the magnetometers.
15. A method of tracking a joint device comprising the steps of: recording an output signal via one or more sensors of a joint tracking mechanism, wherein a magnetic element is coupled to a circular joint element of the joint device and the output signals are responsive to rotational and/or tilt movement of the magnetic element in at least two dimensions, sensing a condition associated with the output signal, wherein the condition is a boundary condition based on a current position of the magnetic element with respect the one or more sensors of the joint tracking mechanism, assigning suppressive confidence weights to output signals associated with the boundary condition, continuously tracking the position and angles of the magnetic element of the joint device by creating a mapping between weighted average sensor signal outputs and estimated magnetic element positions and angles, wherein the estimated magnetic element positions and angles correspond to rotation and/or tilt information of the circular joint element, and displaying an avatar of the joint device using the circular joint element rotation and/or tilt information.
16. A method of operating a joint device comprising the steps of: acquiring, via a joint tracking mechanism, a plurality of sensor signals associated with sensed motion of a joint element of the joint device, receiving a control signal, via a friction mechanism processor, in response to the sensor signals; and locally adjusting friction of the joint device via a friction mechanism in response to the friction mechanism processor receiving the control signal.
17. The method of claim 16, wherein the step of locally adjusting friction comprises controllably increasing or decreasing friction in predefined motion ranges.
18. The method of claim 16, further comprising the step of: rotating a screw element of the friction mechanism, via a servo motor, based on the received control signal, wherein the rotating screw element actuates a readjustment of a housing component, of the joint device, around the joint element.
19. The method of claim 16, wherein the joint tracking mechanism generates the plurality of sensor signals as outputs responsive to rotational or tilt movement between the joint element and a housing component that defines a socket for retaining the joint element.
20. The method of claim 16, wherein locally adjusting friction comprises allowing the joint device to move freely through a first range of motion and stiffen or lock up through a second range of motion.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] One or more embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements.
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
DETAILED DESCRIPTION
[0031] References in this description to an embodiment, one embodiment, or the like, mean that the particular feature, function, structure or characteristic being described is included in at least one embodiment of the present invention. Occurrences of such phrases in this specification do not necessarily all refer to the same embodiment. On the other hand, the embodiments referred to also are not necessarily mutually exclusive.
[0032] Introduced here are improved methods, systems and devices to precisely track a joint position as it moves through two or more dimensions, such as a mechanical equivalent of a shoulder joint that accommodates motion in rotational and tilt angle.
[0033] In certain embodiments, joints are provided with electronically adjustable friction. One application of these goals is the use of the joint in an aging simulation suit, where joints are stiffened in selective ranges in order for wearers to experience the effects of aging, arthritis and other ailments.
[0034] To accomplish a goal of continuously sensing and tracking the angle of the joint, an illustrative sensor embodiment can use four discrete 2-axis magnetometers to calculate the position of a magnet that is located on the arm of the joint. To accomplish the goal of electronically adjustable friction, a servo can be used to tighten a socket around a ball joint, thus increasing friction.
[0035] In one embodiment, an illustrative aging simulation suit comprises approximately 20 joints, with one servo located at each joint. Each servo can operate through a gear system, such as to controllably tighten a nut which stiffens the interface between two movable parts, e.g., to tighten a socket with respect to a ball. The servos electronically communicate with a control processor, through which an operator can send commands to stiffen or loosen each individual joint. Additionally, ranges of motion can be selected, such that a joint can be freely moved through a certain motion, then stiffen or lock up through another range of motion. To facilitate these adjustable ranges, the position of each joint can be precisely tracked.
[0036] Embodiments of the joints can use a ball-joint as a mostly unconstrained degree-of-freedom pivot. Stiffness to the joint is introduced by clamping down on the ball joint with a brake pad or other frictional material, which is milled to line the inside of the ball joint socket. The illustrative servos can tighten the socket around the ball joint, by rotating a jackscrew attached to a hinged clamp containing the two halves of the socket, thus increasing the force of the brake pad or other frictional material against the ball joint.
[0037] The disclosed devices, systems and methods have applicability beyond the above embodiment. In general, the illustrative disclosed devices, systems and methods cover precise tracking of a 2-axis joint (for example, rotation and tilt) and electronically adjustable friction adjustment.
[0038]
[0039]
[0040]
[0041] The pivot assembly 102 allows rotational movement 120 of the ball head 602 (
[0042] The illustrative socket assembly 106 seen in
[0043] Command Interface
[0044] In one embodiment, the servo control 114 is designed as a command-line-based interface. In some embodiments, each joint servo 114 has a joint identifier and two modes of operation. In some embodiments, the interface can save the absolute position of all the servos 114. The torque required to achieve a given stiffness can be different from the torque required to maintain a given stiffness. However, a baseline absolute position can be recorded which allows for free motion at each joint 102, and then an offset from the baseline to achieve the desired stiffness setting which is related to the absolute position of the servo 114. Each of the servos 114 can include the ability to set a torque limit, such that the servo 114 can stop and report an error if and when the torque limit is reached.
[0045] In an illustrative embodiment, a processor 14, e.g., a laptop 14, can aggregate the data from five microcontrollers 16, each of which read three individual joints 102. In some embodiments, the interface 20 from the microcontrollers 16 to the laptop 14 is USB, and the interface 22 between each analog-digital converter (ADC) and the microcontroller 16 is the 12C protocol.
Servo Use Case
[0046] A high-level interface can incorporate sliders through which users can adjust stiffness of selected joints 102. A minimum stiffness can allow for free motion, while a maximum stiffness can solidly lock the joint.
[0047] A possible way to support this application can be the following: [0048] i) Select a joint 102 in the interface; [0049] ii) Drive the corresponding servo 114 and back the nut off until it just releases the joint 102; [0050] iii) Record this absolute position; [0051] iv) Drive the servo 114 until the nut causes the joint to be immovable; and [0052] v) Record this absolute position.
[0053] An interface slider can move the servo 114 from the position recorded in step iii to the position recorded in step v. The ability to lock a group of sliders such that they all adjust in the same way can be useful.
[0054] A more basic interface can include the ability to select a particular servo 114 and the ability to loosen or tighten it as needed.
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068] Detailed Views of Joint Mechanism
[0069]
[0070] Joint Wiring Overview
[0071] In an illustrative embodiment, each joint on the suit 62 has a circuit board to provide a common interface to the suit harness. The suit harness provides power and communication to the servos, joint sensors, and joint lighting and can be in a daisy-chained configuration for each branch in the suit. The current power architecture is a star design with each circuit containing around three joints which each include a servo 114, a sensor board 702, and lighting.
[0072] In an illustrative embodiment each joint 102 connects to the harness and distributes the power and data to the joint component. Each joint 102 tees off the harness by a single connection. The harness also includes a spare data line for future expansion.
[0073] 3-Axis Joint Sensing
[0074] Illustrative embodiments of the system are configured to determine 3-axis joint location. For instance, in some embodiments, an array of magnetometers 704 (4 are illustrated herein) provide spatial sensing of a 3-axis joint. The magnetometers 704 used in this illustrative embodiment have been interfaced and can provide a vector which points to the centroid of a nearby magnet 708. By positioning a magnet 708 on the end of an arm, e.g., a corresponding ball pivot arm 108, and by fixing the arm 108 to the ball 104 which makes up the joint, both the elevation and rotation information of the magnet 708 can be determined, using multiple magnetometers 704.
[0075] The sensor board 702 contains the magnetometers 704, and support circuitry, and the magnet 708 can be fixed to the ball 104 via a shaft and/or cantilever. As the ball 104 rotates, the vectors from each magnetometer 704 can be used to identify the location of the magnet 708 in 3D space.
[0076] Sensor Board
[0077] In an illustrative embodiment, such as disclosed below, magnetometers can be arranged on a sensor board, which can be mounted around each joint:
[0078] ADC Interface
[0079] The 8-channel ADC is interfaced to the PC through a microcontroller (via 12C to the ADC). Each magnetometer has two outputs, an X and a Y. The channels are arranged such that they correspond to the magnetometer's location. A value of 6 is essentially zero volts, and a value of 4095 is 4.095V measured. Although the magnetometers can output higher than 4V, they are capped at 4.095V.
[0080] Joint Estimation
[0081] The position of the joint can be estimated from the readings of each magnetometer on the joint sensor board. These sensors output and x-y angle (two values each), which can be used to detect rotation and axis of the joint. In looking at the raw data, it appears that that mechanical structure sufficiently disrupts the field uniformity as seen from the sensors, so projecting a vector onto a spherical surface can be challenging. This is easier to understand if one considers that the magnet is not a point source and that the centroid calculation performed at any given sensor is dependent on the field lines at the sensor, which can be disturbed by the structure.
[0082] In an illustrative embodiment, to achieve a quick estimation of the joint sensor location, data was taken from the sensor interface in the form of a sweep around the sensor board with the arm. The sensor readings were captured and, although done by hand, the sweep was done at the most consistent rate as possible with the hand while constraining the joint rotational axis to a plane normal to the sensor array.
[0083] A machine learning approach can be used to process the data. Although a number of methods have been tried, an ensemble method (gradient boosting regressors) seemed to work best. Although multiple datasets were taken and tried, the best approach was to use a single dataset for a basic machine memorization. From this, a rough estimate of the joint location can be obtained, which is acceptable for servo control.
[0084] Challenges with Joint Estimation
[0085] One method found to continuously sense and track the angle of the joint is to use four discrete 2-axis magnetometers to calculate the position of the magnet on the arm of the joint. The goal is to continuously sense the magnet position.
[0086] However, it is challenging to keep track of the magnet as it passes through each sensor domain. For example, as it sweeps though the arc, a sensor can eventually lose track of the magnet as it moves over the other sensors. This produces a boundary condition that may not be captured in the angle calculation. The result is choppy joint-angle calculation as the joint moves through the sweep. Since the magnet is not a point source but has dimensions, it cannot be located exactly by mapping onto a sphere.
[0087] One option is to use machine learning to map magnetometer output against observed arm position. This has proven effective, except for boundary conditions where the magnet is transitioning between two sensors. It would be desirable to suppress outputs with low confidence where the sensor is just starting to sense the magnet, and again where the sensor is saturated at the maximum level. Thus, the boundary conditions would be smoothed out and the joint position resolved at any point in its motion.
[0088] To address the issue, sigmoid activation functions can be applied to calculate confidence levels which are then used as weights in a weighted average of each joint sensor output. The individual sensors are translated appropriately so that a map can be created between sensor outputs and output angle. By using this as an input to the learning algorithm, the location of the magnet in 3D space can be obtained. This is necessary for accurate avatar display.
[0089] Note that any and all of the embodiments described above can be combined with each other, except to the extent that it may be stated otherwise above or to the extent that any such embodiments might be mutually exclusive in function and/or structure.
[0090] Although the present invention has been described with reference to specific exemplary embodiments, it will be recognized that the invention is not limited to the embodiments described but can be practiced with modification and alteration within the spirit and scope of the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense.