Note: Descriptions are shown in the official language in which they were submitted.
HANDHELD TOOL FOR LEVELING UNCOORDINATED MOTION
TECHNICAL FIELD
[0001] This disclosure relates generally to tools for leveling or stabilizing
muscle
movements.
BACKGROUND INFORMATION
[0002] Motor impairment is a partial or total loss of function of a body part,
usually a limb. This is often caused by muscle weakness, poor stamina, or a
lack of motor
control. It is often a symptom of neurological disorders such as Parkinson's
Disease, ALS,
stroke, Multiple Sclerosis, or Cerebral Palsy. There are few, if any
effective, technologies
available to assist with motor impairment and limitations in movement. As a
result, many
individuals are unable to conduct simple tasks such as feeding themselves,
forcing them to
rely on a caregiver.
SUMMARY
[0002a] According to an aspect, there is provided a handheld tool, comprising:
a
handle for holding the handheld tool; an attachment arm extending from the
handle, the
attachment arm adapted to mechanically couple to a user-assistive device; a
first inertial
measurement unit ("IMU") mounted to the attachment arm to acquire measurements
of one
or more of a motion or an orientation of the user-assistive device and to
generate feedback
data indicative of the measurements; an actuator assembly adapted to
mechanically couple
to the user-assistive device to manipulate the user-assistive device via the
attachment arm
in at least two spatial dimensions, wherein the actuator assembly includes: a
first actuator
1
CA 2951338 2018-07-30
to control a first motion of the attachment arm, wherein the first motion is a
rotation of the
attachment arm about a first rotational axis; and a second actuator to control
a second
motion of the attachment arm; and a motion control system electrically coupled
to the first
IMU to receive the feedback data from the first IMU and to provide auto-
leveling
commands to the actuator assembly in response to the feedback data.
[0002131 According to another aspect, there is provided at least one machine-
accessible storage medium that provides instructions that, when executed by a
handheld
tool, will cause the handheld tool to perform operations comprising: measuring
at least one
of a motion or an orientation of a user-assistive device mounted by way of an
attachment
arm to a distal end of the handheld tool with an inertial measurement unit (-
IMU÷)
mounted to the attachment arm; outputing feedback data from the IMU based upon
the
measuring; monitoring the feedback data in real-time with a motion control
system at least
partially disposed within a handle of the handheld tool; and providing auto-
leveling
commands to an actuator assembly with the motion control system, wherein the
actuator
assembly is coupled to manipulate the user-assistive device in at least two
spatial
dimensions to provide auto-leveling , wherein the actuator assembly includes;
and a first
actuator to control a first motion of the attachment arm, wherein the first
motion is a
rotation of the attachment arm about a first rotational axis; and a second
actuator to control
a second motion of the attachment arm.
[0002e] According to another aspect, there is provided a handheld tool,
comprising: a handle for holding the handheld tool; an attachment arm
extending from the
handle, the attachment arm adapted to mechanically couple to a user-assistive
device; a
first inertial measurement unit ("IMU") mounted to the attachment arm to
acquire
la
CA 2951338 2018-07-30
measurements of one or more of a motion or an orientation of the user-
assistive device and
to generate feedback data indicative of the measurements; an actuator assembly
adapted to
mechanically couple to the user-assistive device to via the attachment arm to
manipulate
the user-assistive device, wherein the actuator assembly includes: a first
actuator to control
a rolling motion of the attachment arm, wherein the rolling motion is about a
first
rotational axis aligned longitudinally from the handle to the attachment arm;
a second
actuator to control a second motion of the attachment arm, wherein the first
and second
actuators are aligned along a central longitudinal axis of the handle; and a
first linkage that
mechanically couples the rolling motion output from the first actuator to the
second
actuator, wherein the first actuator is coupled to roll the attachment arm by
rolling the
second actuator via the first linkage; and a motion control system
electrically coupled to
the first IMU to receive the feedback data from the first IMU and to provide
auto-leveling
commands to the actuator assembly in response to the feedback data.
BRIEF DESCRIPTION OF THE DRAWINGS
100031 Non-limiting and non-exhaustive embodiments of the invention are
described with reference to the following figures, wherein like reference
numerals refer to
like parts throughout the various views unless otherwise specified. The
drawings are not
necessarily to scale, emphasis instead being placed upon illustrating the
principles being
described.
[00041 FIG. IA is a perspective view illustration of a handheld tool that
provides
auto-leveling to a user-assistive device, in accordance with an embodiment of
the
disclosure.
lb
CA 2951338 2018-07-30
CA 02951338 2016-12-13
[0005] FIG. 1B is a cutaway perspective view illustration of a handheld tool
that
provides auto-leveling to a user-assistive device, in accordance with an
embodiment of the
disclosure.
[0006] FIG. 1C is a plan view illustration of a handheld tool that provides
auto-
leveling to a user-assistive device, in accordance with an embodiment of the
disclosure.
[0007] FIG. 1D is a side view illustration of a handheld tool that provides
auto-
leveling to a user-assistive device, in accordance with an embodiment of the
disclosure.
[0008] FIG. 2 is a functional block diagram illustrating components of system
circuitry of a handheld tool that provides auto-leveling to a user-assistive
device, in
accordance with an embodiment of the disclosure.
[0009] FIG. 3 is a functional block diagram illustrating components of a
motion
control system for providing auto-leveling to a user-assistive device of a
handheld tool, in
accordance with an embodiment of the disclosure.
[0010] FIG. 4 is a perspective view illustration of a handheld tool with a
user-
assistive device fashioned to hold a cup for drinking, in accordance with an
embodiment of
the disclosure.
DETAILED DESCRIPTION
[0011] Embodiments of an apparatus, system, and method of operation for
providing auto-leveling of a user-assistive device of a handheld tool are
described herein.
In the following description numerous specific details are set forth to
provide a thorough
understanding of the embodiments. One skilled in the relevant art will
recognize,
however, that the techniques described herein can be practiced without one or
more of the
2
CA 02951338 2016-12-13
specific details, or with other methods, components, materials, etc. In other
instances,
well-known structures, materials, or operations are not shown or described in
detail to
avoid obscuring certain aspects.
[0012] Reference throughout this specification to "one embodiment" or "an
embodiment" means that a particular feature, structure, or characteristic
described in
connection with the embodiment is included in at least one embodiment of the
present
invention. Thus, the appearances of the phrases "in one embodiment" or "in an
embodiment" in various places throughout this specification are not
necessarily all
referring to the same embodiment. Furthermore, the particular features,
structures, or
characteristics may be combined in any suitable manner in one or more
embodiments.
[0013] Technologies to help with human tremors have been developed, but they
may be unsuitable for a variety of conditions where the human tremor is too
extreme in
magnitude, or the motor impairment results in tipping/spilling due to lack of
muscle
control. Stabilized platforms using inertial measurement units ("IMU") have
been
developed for cameras (e.g., brushless gimbal controllers) both in military
applications and
for hobbyists. Stabilized flight controllers similarly stabilize a moving
platform in three-
dimensional space. However, these solutions are not viable for integration
into a small
lightweight handheld tool to help people with muscle strength or muscle
control limitations
perform everyday tasks such as eating, drinking, or otherwise. Furthermore,
certain
occupations (e.g., surgical field) can benefit from tool leveling and/or
stabilization
particularly in high stress environments like an operating room or even a
mobile army
surgical hospital.
3
CA 02951338 2016-12-13
[0014] FIGs. 1A-D illustrate a handheld tool 100 that is capable of auto-
leveling,
and in some embodiments stabilizing, a user-assistive device 105 connected to
an end of
handheld tool 100, in accordance with an embodiment of the disclosure. FIG. 1A
is a
perspective view illustration of handheld tool 100 while FIG. I B is a cutaway
perspective
view illustration, FIG. 1C is a plan view illustration, and FIG. 1D is a side
view illustration
all of the same embodiment of handheld tool 100. The illustrated embodiment of
handheld
tool 100 includes a user-assistive device 105, an attachment arm 110, an
actuator assembly
115, a handle 120, and a system circuitry. The illustrated embodiment of
actuator
assembly 115 includes actuator 125, actuator 130, linkage 135, and linkage
140. System
circuitry includes a leveling IMU 145, a motion control system 150, a power
supply 155,
position sensors (not illustrated in FIGs. IA-ID), a system controller 160,
system memory
165, and a communication interface 170. In one embodiment, handheld tool 100
may also
include a tremor IMU 175.
[0015] Handheld tool 100 is an auto-leveling (and in some embodiments tremor
stabilizing) platform that can be adapted to hold a variety of different user-
assistive devices
105. Handheld tool 100 provides active leveling using electronic actuators and
a feedback
control system. FIGs. 1A-D illustrates user-assistive device 105 as a spoon;
however,
user-assistive device 105 may be implemented as a variety of different eating
utensils,
drinking utensils (e.g., see cup-holder device 400 in FIG. 4), a makeup
applicator, a
pointing device, various occupational tools (e.g., surgical tools), or
otherwise.
[0016] The illustrated embodiment of handheld tool 100 includes leveling IMU
145 disposed on attachment arm 145, which is rigidly connected to user-
assistive device
105 to measure motions and orientation of user-assistive device 105. Leveling
IMU 145
4
CA 02951338 2016-12-13
outputs feedback data indicative of the measured motions and orientation to
motion control
system 150. Leveling IMU 145 may be implemented with a gyroscope and
accelerometer,
or even additionally include a magnetometer. In one embodiment, leveling IMU
145 is a
solid-state device.
[0017] In one embodiment, motion control system 150 polls leveling IMU 145
for linear accelerations, angular velocity, and orientation relative to a
frame of reference
(e.g., gravity vector) of user-assistive device 105 at a given instant. Motion
control system
150 then executes an algorithm to estimate the orientation of user-assistive
device 105 in
three-dimensional ("3D") space relative to the frame of reference. This
estimation or
estimated vector of gravity relative to the body-frame of the leveling IMU
(and user-
assistive device 105) is continually updated in real-time and used to generate
command
signals for driving and controlling actuator assembly 115 in real-time. In one
embodiment,
the command signals include a roll command and a pitch command.
[0018] Actuator assembly 115 is connected to user-assistive device 105 to
manipulate user-assistive device 105 in at least two orthogonal dimensions. In
the
illustrated embodiment, the two orthogonal dimensions include rotation about a
pitch axis
180 and rotation about a roll axis 185. The pitch axis 180 is orthogonal to
roll axis 185,
which runs longitudinally through handle 120. In other embodiments, the two
motion
dimensions need not be orthogonal. Furthermore, in yet other embodiments,
additional
degrees of freedom may be added to actuator assembly 115 such as linear
motions or even
a yaw rotation.
[0019] Actuator assembly 115 is present in handheld tool 100 to move
attachment arm 110 and by extension user-assistive device 105 relative to
handle 120 for
CA 02951338 2016-12-13
auto-leveling, and in some embodiments, tremor stabilization. If user-
assistive device 105
is pitched or rolled relative to the fixed reference frame (e.g., gravity
vector), the motion
control system 150 will command actuator assembly 115 to move user-assistive
device 105
in opposite directions to compensate and retain a level orientation or even
provide an
offsetting orientation to counteract a tremor. The overall effect is user-
assistive device 105
remains fixed in orientation (or even stabilized), regardless of how the
handle is oriented
within physical limits of actuator assembly 115.
100201 The illustrated embodiment of actuator assembly 115 includes actuator
125 which provides output rotational motion about roll axis 185. This roll
motion is
coupled to actuator 130 via a linkage 135 such that actuator 125 physically
rotates actuator
130 about roll axis 185. The illustrated embodiment of actuator 130 provides
output
rotational motion about pitch axis 180. The pitch and roll motions are coupled
to
attachment arm, and by extension user-assistive device 105, via linkage 140
such that
actuator 130 pitches user-assistive device 105 while actuator 125 rolls user-
assistive device
105. These orthogonal rotational motions are independently controlled.
100211 In one embodiment, handheld tool 100 further includes two position
sensors that provide feedback positional information to motion control system
150 that is
indicative of the rotational positions of the outputs of actuators 125 and 130
relative to
handle 120. In other words, the positional sensors indicate the positions of
linkages 135
and 140 relative to handle 120. In one embodiment, each positional sensor is a
hall-effect
sensor that monitors the positions of its respective linkage 135 or 140. Other
positional
sensors may be implemented including potentiometers, encoders, etc.
6
CA 02951338 2016-12-13
100221 Conventional stabilizing devices attempt to provide stabilization using
a
weighted pendulum. However, a heavy mass is required to force the platform to
rest in a
level state. Disadvantages to such implementations include a required bulk and
mass and
the potential of swinging or oscillating of the pendulum at its natural
frequency. The set ¨
point (stabilized position) of the user assistive device is also limited by
the mechanical
assembly and cannot be easily adjusted. Furthermore, data about the user
cannot be
collected through these purely mechanical means. In contrast, the feedback
control system
used in handheld tool 100 can achieve much greater performance in a
significantly smaller
form-factor. Heavy weights are not required, and motion control system 150 can
be
specially tuned to react to various unintended motion (e.g., tremor
stabilization). In fact,
motion control system 150 can be programmed to respond to both uncoordinated
movements (low frequency) for auto-leveling and unintentional movements (high
frequency) for stabilization of human tremors.
[0023] Additionally, system controller 160 can be programmed to monitor and
collect data about the severity of the user's condition (e.g., ability to
maintain a level
orientation, amount of feedback control assistance needed, amount of
unintentional tremor
motions, etc.) and store this data into a log within system memory 165 for
eventual output
via communication interface 170. The log can be analyzed and provided to a
healthcare
provider to diagnose and treat the user/patient's condition. The active
control provided by
motion control system 150 can further be programmed to automatically adjust in
small
increments overtime as part of a therapy plan. The therapy plan can be
monitored using
the log and tailored on a per patient basis by referring to the log. For
example, the amount
7
CA 02951338 2016-12-13
of active leveling/stabilization may be incrementally reduced at a prescribed
rate as a sort
of therapy or training and the results periodically monitored with reference
to the log.
100241 In one embodiment, attachment arm 110 is implemented as a permanent,
fixed connection to a single user-assistive device 105. In other embodiments,
attachment
arm 110 may facilitate a non-permanent attachment to remove or replace user-
assistive
devices 105. Using a non-permanent attachment enables the user to insert or
attach
different types of user-assistive devices 105 to handheld tool 100. For
example, user-
assistive device 105 may be implemented as a variety of different eating or
drinking
utensils (e.g., spoon, knife, fork, cup-holder), personal hygiene tools (e.g.,
toothbrush, floss
pick), grooming tools (e.g., makeup applicator, comb), occupational tools
(e.g., surgical
tools), pointing devices (e.g., laser pointer or stick pointer), or otherwise.
The auto-
leveling (and optional tremor stabilization) functionality can help users who
have
uncoordinated (and/or unintentional) muscle movements to have improved quality
of life
by providing greater independence and self-control over routine tasks.
Furthermore,
handheld tool 100 may have occupational uses that aid those that do not suffer
from
uncoordinated/unintentional muscle movements.
[00251 FIG. 2 is a functional block diagram illustrating functional components
of
system circuitry 200, in accordance with an embodiment of the disclosure.
System
circuitry 200 illustrates example functional control components for the
operation of
handheld tool 100. The illustrated embodiment of system circuitry 200 includes
a motion
control system 205, system memory 210, a system controller 215, a
communication
interface 220, a power supply 225, a leveling IMU 230, position sensors 235,
and a tremor
IMU 240.
8
CA 02951338 2016-12-13
[0026] As discussed above, motion control system 205 receives (e.g., polls)
feedback data from leveling IMU 230 to determine the orientation and motion of
user-
assistive device 105. This feedback data is analyzed using a control algorithm
to generate
commands for manipulating actuator assembly 115. In one embodiment, motion
control
system 205 is implemented as digital signal processing (-DSP") circuit. In
another
embodiment, motion control system 205 is software/firmware logic executed on
system
controller 215 and stored in system memory 210. In one embodiment, system
controller
215 is implemented as a microprocessor and system memory 210 is non-volatile
memory
(e.g., flash memory). Other types of memory and controllers may be used.
[0027] In one embodiment, communication interface 220 is communicatively
coupled to system controller 215 to output data (e.g., usage log) stored in
system memory
210. Communication interface 220 may be implemented as a wired or wireless
interface,
such as a universal serial port ("USB"), a wireless Bluetooth interface, a
WiFi interface, a
cellular interface, or otherwise.
[0028] As mentioned above, leveling IMU 230 is disposed to monitor the
orientation and motion of user-assistive device 105. In the illustrated
embodiment of FIGs.
1A-D, leveling IMU 145 is disposed on attachment arm 145. In an embodiment
where
user-assistive device 105 is permanently fixed to handheld tool 100, leveling
IMU 230
may also be rigidly mounted to user-assistive device 105 itself or attachment
arm 110 may
be considered an extension piece of user-assistive device 105. Leveling IMU
230 may be
implemented as a solid-state sensor including one or more of an accelerometer,
a
gyroscope, or a magnetometer.
9
CA 02951338 2016-12-13
100291 Position sensors 235 are relative sensors that measure the relative
positions of the outputs of actuator assembly 115 relative to handle 120. In
one
embodiment, position sensors 235 are hall-effect sensors that monitor the
position of the
outputs of actuators 125 and 130 by measuring the positions of linkages 135
and 140. The
relative position information output by position sensors 235 may be recorded
to a log
within system memory 210 for determining how much auto-leveling a user needs
and
thereby diagnosing the severity and progress of a given user.
[0030] In one embodiment, handheld tool 100 may further include tremor IMU
240 rigidly mounted to handle 120 to measure the motion/orientation of handle
100. The
tremor feedback information acquired by tremor IMU 240 may also be recorded to
a log
file within system memory 210 to facilitate diagnosis and treatment of a
user's condition.
In some embodiments, feedback data from tremor IMU 240 may also be used for
feedback
stabilization, though feedback data from leveling IMU 230 may be sufficient
and even
preferable for both auto-leveling and stabilization of user-assistive device
100.
[0031] In the illustrated embodiment, the functional components of system
circuitry 200 are powered by power supply 225. In one embodiment, power supply
225 is
a rechargeable battery (e.g., lithium ion battery) disposed within handle 120
of handheld
tool 100. Many of the other functional components of system circuitry 200 may
also be
disposed within handle 120 to provide a compact, user friendly form factor.
For example,
in various embodiments, some or all of motion control system 205, system
memory 210,
system controller 215, communication interface 220, power supply 225, and
tremor IMU
240 are disposed within handle 120. As illustrated in FIGs. 1A-D, actuator 125
and
linkage 135 are at least partially disposed within handle 120.
CA 02951338 2016-12-13
[0032] FIG. 3 is a functional block diagram illustrating functional components
of
a motion control system 300 for providing auto-leveling to user-assistive
device 105 of a
handheld tool 100, in accordance with an embodiment of the disclosure. Motion
control
system 300 is one possible implementation of motion control systems 150 or
205. Motion
control system 300 may be implemented as software logic/instructions, as
firmware
logic/instructions, as hardware logic, or a combination thereof. In one
embodiment,
motion control system 300 is a DSP circuit.
[0033] The illustrated embodiment of motion control system 300 includes a
rotate vector module 305, a low pass filter ("LPF") 310, a complementary
filter module
315, an estimated vector module 320, an inverse kinematics module 325, and a
motion
controller 330. Motion control system 300 is coupled to receive feedback data
from
leveling IMU 335 and position sensors 340. The illustrated embodiment of
leveling IMU
335 includes a gyroscope 345 and an accelerometer 350.
[0034] During operation, gyroscope 345 outputs gyro data AG while
accelerometer 350 outputs accelerometer data AA. The gyro data AG is used by
rotate
vector module 305 to adjust a previous error vector Si to generate a current
error vector
Sn. The current error vector Si, is then provided to complementary filter
module 315.
Complementary filter module 315 adjusts the current error vector S,, with a
low pass
filtered version A'A of the accelerometer data AA to generate an adjusted
error vector S'n.
The adjust error vector S',, is looped back to estimated vector module 320
where it is
latched or temporarily stored and provided to rotated vector module 305 as the
previous
error vector Sn_i for the next cycle of operation.
11
CA 02951338 2016-12-13
[0035] The adjusted error vector S'n represents a difference vector between
the
frame of reference (e.g, gravity vector) and a vector representing the current
position of
user-assistive device 105. For example, the vector representing the current
position of
user-assistive device 105 may be a normal vector extending from a surface upon
which
leveling IMU 145 is disposed. Of course, other vector orientations for
describing user-
assistive device 105 may be used.
[0036] Gyroscope 345 is a rapid operation sensor that outputs angular velocity
data quickly, but suffers from drift overtime. In contrast, accelerometer 350
is a slow
sensor that outputs accurate readings that are used by complementary filter
315 to update
the current error vector Sn and cancel out any drift. Accelerometer data AA is
low pass
filtered to remove high frequency changes due to sudden jerks, such as tremor
motions,
which are less useful for the low frequency auto-leveling function.
[0037] The adjusted error vector S'õ is then provided to the inverse
kinematics
module 325. Inverse kinematics module 325 takes the adjusted error vector S'n
along with
the current position information of actuator assembly 115 and generates error
signals (e.g.,
pitch error and roll error) that define the position parameters of actuators
125 and 130 to
obtain the desired position of user-assistive device 105. The use of kinematic
equations
are known in the field of robotic control systems.
[0038] The error signals are then input into motion controller 330, which
determines how to implement the actual commands (e.g., pitch command and roll
command) for controlling actuator assembly 115. In one embodiment, motion
controller
330 is implemented as a proportional-integral-derivative ("PID") controller.
Motion
12
CA 02951338 2016-12-13
controller 330 attempts to reducing the error signals (e.g., pitch error and
roll error) while
also reducing correction overshoot and oscillations.
[0039] In the illustrated embodiment, motion control system 300 also includes
a
high frequency path 360 for accelerometer data AA to reach motion controller
330. High
frequency path 360 permits unfiltered high frequency accelerometer data AA to
be analyzed
by motion controller 330 to implement tremor stability control.
[0040] Some of the functional logic/software explained above is described in
terms of computer software and hardware. The techniques described may
constitute
machine-executable instructions embodied within a tangible or non-transitory
machine
(e.g., computer) readable storage medium, that when executed by a machine will
cause the
machine to perform the operations described. Additionally, the processes may
be
embodied within hardware, such as an application specific integrated circuit
("ASIC") or
otherwise.
[0041] A tangible machine-readable storage medium includes any mechanism
that provides (i.e., stores) information in a non-transitory form accessible
by a machine
(e.g., a computer, network device, personal digital assistant, manufacturing
tool, any
device with a set of one or more processors, etc.). For example, a machine-
readable
storage medium includes recordable/non-recordable media (e.g., read only
memory
(ROM), random access memory (RAM), magnetic disk storage media, optical
storage
media, flash memory devices, etc.).
[0042] The above description of illustrated embodiments of the invention,
including what is described in the Abstract, is not intended to be exhaustive
or to limit the
invention to the precise forms disclosed. While specific embodiments of, and
examples
13
CA 02951338 2016-12-13
for, the invention are described herein for illustrative purposes, various
modifications are
possible within the scope of the invention, as those skilled in the relevant
art will
recognize.
[0043] These modifications can be made to the invention in light of the above
detailed description. The terms used in the following claims should not be
construed to
limit the invention to the specific embodiments disclosed in the
specification. Rather, the
scope of the invention is to be determined entirely by the following claims,
which are to be
construed in accordance with established doctrines of claim interpretation.
14