Method and apparatus for controlling a mobile device using an estimated gait trajectory

文档序号:143658 发布日期:2021-10-22 浏览:48次 中文

阅读说明:本技术 用于使用估计步态轨迹控制移动设备的方法和设备 (Method and apparatus for controlling a mobile device using an estimated gait trajectory ) 是由 张恂杰 于 2020-01-09 设计创作,主要内容包括:用于控制移动设备的系统,包括用于分析来自移动设备上的至少一个传感器的数据的控制器,其中使用该数据以确定使用者的步态轨迹。然后使用步态数据以向移动设备上的电马达提供运动命令。(A system for controlling a mobile device, comprising a controller for analyzing data from at least one sensor on the mobile device, wherein the data is used to determine a gait trajectory of a user. The gait data is then used to provide motion commands to an electric motor on the mobile device.)

1. A method of controlling a pair of mobile devices, each of the mobile devices having an electric motor, at least one wheel connected to the motor, and a sensor, the method comprising:

receiving data from at least a first sensor in a first mobile device or a second sensor in a second mobile device;

estimating a gait track;

calculating a reference acceleration;

calculating a reference velocity based on the reference acceleration and a gait phase determined by a gait state machine; and is

Commanding each of the first mobile device and the second mobile device to reach the reference velocity.

2. The method of claim 1, wherein the first sensor or the second sensor is an inertial measurement unit.

3. The method of claim 1, wherein estimating a gait trajectory comprises:

identifying a gait phase as standing or swinging;

the swing speed is determined by integration of the acceleration,

wherein a kalman filter is used to obtain a corrected swing speed by compensating the swing speed with an error term;

the swing distance is determined by integration of the corrected swing speed,

wherein determining the swing speed and determining the swing distance only occur during the swing phase.

4. The method of claim 3, wherein identifying the gait phase comprises:

running a generalized likelihood ratio test on the linearized acceleration array and the gyroscope cluster for the likelihood of the gait phase;

comparing the angular velocity in at least one dimension to an angular velocity threshold; and is

Comparing the current of the motor to a current threshold.

5. The method of claim 3, wherein identifying the stance phase comprises:

comparing at least one of the roll angular velocity and the yaw angular velocity to a velocity threshold;

identifying whether the pitch angle rate is within a predefined range; and is

Comparing the current of the motor to a current threshold.

6. The method of claim 1, wherein calculating a reference acceleration comprises:

normalizing swing velocity identified in the gait trajectory by subtracting a resistance constant and multiplying by a proportional gain;

determining the wobble distance difference as a difference between the estimated wobble distance and a baseline wobble distance; and is

The reference acceleration is calculated as the product of the swing distance difference and a normalized swing velocity.

7. The method of claim 6, wherein the baseline swing distance is a predetermined value.

8. The method of claim 6, wherein the baseline wobble distance estimate is from a weighted average of previous estimated wobble distances.

9. The method of claim 1, wherein calculating a reference velocity comprises:

deriving the reference velocity from the reference acceleration, wherein the reference velocity is set to zero if the gait phase identified by the gait state machine is a default or two-stance.

10. The method of claim 1, wherein the gait state machine classifies user gait into three phases including a double-stance, a swing-stance, and an intermediate stance.

11. The method of claim 10, wherein a dual stance phase is identified when each mobile device is in the stance phase for a period of time.

12. The method of claim 10, wherein the stance phase is identified if and only if the swing distance of the first device is large enough and if the swing distance difference between the first device and the second device is large enough.

13. The method of claim 10, wherein an intermediate stance phase is identified if the first device enters the stance phase and the second device has not entered the swing phase.

14. The method of claim 1, further comprising:

identifying cross-leg motion from the data and reducing the reference velocity.

15. The method of claim 1, further comprising:

identifying from the data a current that stops movement and rapidly increases to the motor to reduce rotation of the at least one wheel.

16. The method of claim 10, further comprising:

reducing the reference speed when the gait state machine identifies a two-stance phase and detects a sudden change in current from the motor, wherein the reference speed is reduced in proportion to the magnitude of the change in current.

17. The method of claim 1, further comprising:

the at least one wheel is prevented from rotating when the magnitude of the height difference between the start and the end of the stride is equal to or greater than the average stair step height.

18. The method of claim 1, further comprising:

the controller is overridden using a remote control.

19. The method of claim 1, further comprising:

identifying abrupt turns when the data indicates that each of the first mobile device and the second mobile device turns at a significant angle; and is

Decreasing the commanded speed in proportion to the difference between the angle and the baseline angle.

Technical Field

The present invention relates to mobile devices. More particularly, the present invention relates to a control system and method of controlling a mobile device worn on a user's foot to provide mobility assistance.

Background

Commuters and other travelers often must walk to complete the final portion of the journey, whether by car, bus, train or other means. Depending on the distance, the time required to complete the last part of the journey may account for a significant portion of the overall duration of the journey. While previous systems have utilized control systems connected to wheeled, foot-worn mobile devices, the motor control implemented by these systems lacks accuracy or coordination with the actual movement of the user. Fundamentally, these control systems require the user to perform unnatural and non-intuitive movements to control the rate. For example, devices like motorized roller skates require a human user to either tilt their body back and forth or operate a handheld controller to accelerate or decelerate. On the other hand, humans, as the subject of biped walking, are accustomed to adjusting their rate, steering and climbing by adjusting gait, i.e., stride and rhythm. Accordingly, it would be advantageous to develop a control system for a mobile device that provides improved control to enhance step performance.

Disclosure of Invention

Embodiments in accordance with the present invention are systems and methods of controlling a mobile device or a pair of mobile devices, where one mobile device of the pair is worn on each foot of a user. The sensors or groups of sensors in each mobile device obtain data about the motion of the user or the mobile device attached to the user's foot and transmit the data to a processor, which may be housed in one or both devices of the pair. The processor analyzes the motion data to develop commands for each mobile device. Each mobile device may include a motor, a transmission, and a wheel, and is adapted to be worn on a foot of a user. In one embodiment, the mobile device is worn on a user's shoe. When worn on the user's foot, the mobile device allows the user to walk at an increased rate for a given pace and stride as compared to the rate of the user without the mobile device. Furthermore, the control system is user-adaptive and therefore does not require user learning or other control inputs.

Drawings

FIG. 1 depicts a mobile device with an embedded controller and an optional remote master switch.

Fig. 2 depicts a process performed in each of a pair of mobile devices, according to one embodiment.

FIG. 3 is a block diagram of a control system according to one embodiment.

Fig. 4 is a graph showing an estimated swing distance compared to a baseline swing distance.

Fig. 5 is a flow chart for a gait cycle state machine.

Fig. 6 is a graph illustrating a baseline swing distance as a weighted average calculation of past estimated swing distances.

FIG. 7 is a flow chart illustrating the detection of a cross-leg and a swerving event.

Detailed Description

As shown in fig. 1, according to one embodiment, the mobile device 100 comprises a plurality of wheels 101, wherein at least one of the wheels 101 is connected to an electric motor 102. The wheel 101 may be connected to the motor 102 by a transmission or belt, alternatively, may be connected directly to the motor 102. In one embodiment, the mobile device 100 may also include a rear chassis and a front chassis connected by a flexible joint to enable normal bending of the user's foot while walking. During typical use, a user will wear two mobile devices 100, one on each foot. When the wheels 101 are in contact with the ground, the mobile device 100 enables the pedestrian to walk at a faster than normal walking pace by adding torque to at least one of the wheels 101. In this way, the user experiences an effect similar to walking on a moving walkway.

Further shown in fig. 1 is a onboard controller 111 that enables the user to maintain normal walking motion by adapting the control of the motor 102 to the user's movements. As will be discussed in more detail, the rate of rotation of the wheel 101 is controlled in part by analysis of the user's motion or gait by the torque applied by the motor 102. In some embodiments, the movements of the pair of devices 100 worn by the user are analyzed together to provide better control than the single foot control method.

In one embodiment, the components of the onboard controller 111 may include at least one inertial measurement unit or other sensor 113, a processor, motor drives, and a wireless communication module. In the present disclosure, the controller 111, including drivers and modules, and components of the controller 111 may include a microcomputer, microprocessor, microcontroller, application specific integrated circuit, programmable logic array, logic device, arithmetic logic unit, digital signal processor, or other data processor, as well as supporting electronic hardware and software. Further, the components of the controller 111 may be stand-alone units or may be integrated as part of the controller 111. In one embodiment, the system includes two on-board controllers 111, or one controller 111 per mobile device (i.e., one for each foot of the user). However, in alternative embodiments, a single controller 111 may be used. In embodiments using a single controller 111, data from the inertial measurement units 113 in each device 100 in the device pair may be wirelessly transmitted to the single controller 111.

The controller 111 is used to collect data and analyze the gait or walking motion of the user and generate movement commands. For example, the onboard processor reads motion data, which may include acceleration, angular velocity, orientation, gyroscope data, or quaternion data of the mobile device 100 from the inertial measurement unit 113. Based on this data, the controller 111 will generate motion commands according to the control methods discussed herein. Motion commands include, for example, accelerating to a set rate, braking, decelerating to a set rate, and maintaining at a constant rate. Upon receiving the motion command, the loaded processor, along with the motor driver, converts the motion command into a motor drive signal and drives the motor system 102, thereby affecting the velocity of the wheel 101. In one embodiment, the motor driver receives the velocity command and controls via a feedback loop to drive the motor 102 at the commanded velocity.

The diagram shown in fig. 2 depicts a motion control method according to one embodiment, wherein the mobile device 100 operates in a slave/master configuration, the method comprising: motion dynamics data from the sensor 113 is accepted at step 301, a gait trajectory is estimated at step 302, a reference acceleration is calculated at step 303, a reference velocity is calculated at step 304, and the mobile device 100 is commanded to the reference velocity at step 305. The foregoing steps apply to the first mobile device 100 in the pair of mobile devices 100, or the master mobile device. The second mobile device is referred to as a slave mobile device and uses a similar approach, but receives a commanded velocity from the master mobile device. By using a master/slave configuration, inconsistencies between the two mobile devices 100 may be avoided. However, in alternative embodiments, each mobile device 100 in the pair operates as a "master" mobile device or is independently controllable.

In more detail, in step 301, the controller 111 samples motion data from an inertial measurement unit or other sensor 113. The data may include acceleration and gyroscope rate and orientation data, as well as torque indications from motor currents. Next, in step 302, the controller 111 estimates a gait trajectory, which may include swing speed and distance in three dimensions. During this step, a stance detection process is used to determine whether a single device 100 is in the stance or swing phase of the gait cycle. Two methods can be used to detect standing posture.

For the first stance detection method, the results of the three substeps are analyzed over a period of time to determine the gait phase. In a first sub-step, a generalized likelihood ratio test is run on the linearized acceleration array and gyroscope cluster with respect to the likelihood of the gait phase. Next, in a second sub-step, the angular velocity data in the plurality of dimensions is compared with a predefined threshold. If all angular velocities are below the threshold, the device 100 may be in a stance phase. In a third sub-step, the motor current is compared to a threshold value. Above the threshold current means the possibility of a stance phase. Conversely, a motor current below the threshold indicates a swing phase because there is no force from the road surface applied to the wheels. If all three sub-steps indicate that the device 100 is in the stance phase for a period of time (e.g., approximately 50-100ms), then the mobile device 100 is determined to be in the stance phase. If not, the mobile device 100 is in a swing phase. By using statistical analysis, the standing posture determination is less affected by noise and outliers in the data received from the inertial measurement unit 113, resulting in a more robust control method.

For the second standing posture detection method, the roll angular velocity or yaw angular velocity is compared with a threshold value, and the pitch angular velocity is checked to determine whether it falls within a predetermined range. If the roll angular velocity or the yaw angular velocity is above a threshold, the device 100 may be in a swing phase. If both the roll and yaw rates are below the threshold and the pitch rate is within a predetermined range for a short period of time (e.g., 50-100ms), then the apparatus 100 may be in a stance phase, otherwise the apparatus 100 is in a swing phase. The threshold and predetermined range are common for all types of gait and are average measurements from a large data set of collected user gait data. However, one skilled in the art will appreciate that methods other than averaging may be used to define the threshold and range values. Further, if the device 100 is moving, the motor current is compared to a threshold. In addition to the previous roll, yaw, and pitch analysis, a higher than threshold current indicates a stance phase when a condition is met for a period of time (e.g., 50-100 ms).

In various steps of the method, the data analysis is performed in a global coordinate system or a carrier coordinate system. The global coordinate system is defined relative to the invariant inertial coordinate system, while the carrier coordinate system is defined relative to the carrier of the shoe or mobile device 100. To further estimate the gait trajectory in step 302, the acceleration in the carrier coordinate system is converted to a global coordinate system based on a corrected orientation, which is the current orientation minus the bias recursively calculated in the previous iteration of gait trajectory estimation. The acceleration data is then filtered in the global coordinate system to remove noise. The velocity may then be determined as a single integral of the acceleration data. The acceleration integration speed is then compensated by an error term generated by a kalman filter, which is used to obtain the corrected speed. Next, the velocity is integrated and corrected in the same manner as the corrected velocity is obtained to obtain a corrected swing distance in the global coordinate system. The velocity and swing distance data is then converted to a local coordinate system by applying the orientation measured at the point where the mobile device 100 transitioned from the attitude to the swing phase. By applying the error term to both the acceleration integral and the velocity integral, the swing distance with minimum drift can be estimated in real time. This is an improvement over previous systems that calculate the swing distance at the end of the swing phase when calculating the de-drift term. By analyzing the complete steps, the previous control method suffers from hysteresis, since until the new distance is updated, the rate is assumed to be the same as the previous step.

As noted, when the mobile device 100 is in a stance (i.e., feet are on the ground) phase, the kalman filter is used to estimate the error terms for velocity and swing distance by recursively calculating the estimation error based on a zero velocity assumption. When the swing phase is detected, the kalman filter stops the calculation and all its terms remain unchanged. Its error term is applied to the velocity.

Fig. 3 shows a block diagram of the controller 111 in combination with the inertial measurement unit 113 and the estimator module 115. As previously discussed, the estimator and other components of the controller 111 may comprise software, firmware, hardware, or any combination of hardware/software.

At step 303, a reference acceleration is calculated based on the swing speed and the distance identified in the previous step. During this step, the swing velocity is normalized by subtracting the resistance constant and then multiplying by a proportional gain, which is a coefficient obtained by tuning, to obtain the velocity-based reference acceleration. The resistance constant may be adjusted in real time as a function of the actual speed of the apparatus 100.

To obtain a reference acceleration based on the swing distance, the difference between the estimated swing distance and the baseline swing distance is inferred at the elapsed time during the swing phase. The difference between the estimated swing distance and the baseline swing distance is shown on the graph in fig. 4. The reference acceleration based on the swing distance is a product of the swing distance difference and a proportional gain. The total reference acceleration is a product of the acceleration based on the swing distance and the reference acceleration based on the velocity.

The baseline swing distance may be predetermined (e.g., averaged over a large data set) or, alternatively, approximated from a weighted average of the most recent estimated swing distances. For example, the baseline swing distance may be based on a weighted average of the past N number of estimated swing distance curves, as shown on the graph in fig. 6, where N is an adjustable constant. The baseline swing distance may also be described by an approximation function such as polynomial fitting, linear regression, or spline interpolation.

At step 304, a reference velocity for the mobile device 100 is calculated by discrete integration based on the total reference acceleration. Since the reference acceleration of the stance leg is zero, the reference velocities for both mobile devices 100 are calculated from the reference acceleration of the swing leg only. Outside of the default phase, a gait state machine is used to classify the user's gait into three distinct phases: double Stance (Double Stance), Swing Stance (Swing Stance), and Mid-Stance (Mid-Stance) stages, as shown in the flow chart depicted in fig. 5. The gait state machine, which may be implemented in the controller 111, looks together at the pair of devices 100 to determine the overall gait phase of the user. In contrast, as noted previously, the standing posture detection method is directed to a single device 100. As shown in fig. 5, the controller 111 determines by the gait state machine whether: (1) both feet are on the ground (i.e., double standing position); (2) whether and if only one leg has a sufficiently large swing distance and the difference in swing distance between two legs is sufficiently large (i.e., a swing stance); and (3) whether one leg has just entered the stance phase and the other leg has not entered the swing phase (i.e., the intermediate stance).

The gait state machine always starts with a Default (Default) phase and enters the double stance only after detecting that both feet are in the stance phase for a few seconds. In both the default and dual stance phases, the reference acceleration and reference velocity are set to zero.

During the dual stance phase, the gait state machine enters the swing stance phase if and only if the swing distance of one device 100 is large enough and if the difference in swing distance between the two legs is large enough. The total reference acceleration is integrated into the reference velocity only during the swing stance. If the swing distance exceeds the minimum step in a continuous walk, a forward step flag is raised. When the forward step is active and if the swing distance is greater than the maximum step, a fault flag will be raised and the state machine will return to the default phase, which means that the reference acceleration and reference speed are set to zero. Thus, the fault flag acts as a safety feature in certain situations. When a forward step is active and if the swing distance decreases below the minimum step size, the state machine enters the mid-stance phase as the step is completed.

During the intermediate stance phase, the state machine returns to the swing stance phase if and only if the swing distance of the other foot is large enough and if the difference in swing distance between the two legs is large enough. The stages of swinging standing posture and intermediate standing posture are alternately used as periodic movement of walking of the two feet.

However, if the same foot apparently swings again, the state machine resets to the default phase as a result of the exception event, and will raise the fault flag. If both legs remain in the stance for too long (e.g., -1 s) or the stride of both legs indicates a forward step during the intermediate stance phase, the state machine resets to the default phase and raises the fault flag. During the intermediate stance phase, the reference velocity is slowed based on the elapsed time and the actual mobile device velocity. The deceleration profile prevents sudden stops when the user is finished taking a step and ensures that the control system responds in time to the user stopping their motion (both feet firmly stepping on the ground).

In addition to detecting various gait phases, the controller 111 may detect other abnormal gait patterns. For example, as shown in fig. 7, if cross-leg (cross-leg) motion or abrupt steering is detected, the control system immediately reduces the reference speed based on the cross-leg or steering angle. Similarly, when the user applies the emergency brake, the motor increases its current in response to the increased resistance. If a sudden increase in motor current is detected during the double stance phase, the control system immediately reduces the reference speed based on the current magnitude.

Going upstairs or downstairs presents another challenge in that the controller 111 will detect and control without any input from the user. For example, the height difference between the beginning and the end of the swing leg is always calculated. If the magnitude of the height difference is similar to or greater than the average stair step height, the stair mode is activated and both mobile devices 100 are locked to prevent the wheels 102 from rotating. This feature allows a user to go up and down stairs without having to remove the mobile device 100 from their feet to go up or down stairs. Once the stair mode is active, it will remain locked for a short period of time, such as 2-3 seconds, for example.

As discussed previously, the gait state machine explores the more integrated relationship of the two legs in bipedal walking, in contrast to interdependent (interpedent) controlled self-balancing roller skates. It allows for a smooth transition between walking and skating (i.e., skating between strides) at any time, and still respond to changes in the user's gait. For example, the user may quickly accelerate the mobile device by making the largest and fastest strides, and once a satisfactory level of speed is reached, the user may even cruise at that rate with slightly smaller and slower strides. In the case of a stop, the user controls the aggressiveness of the braking by stepping down the stride/cadence proportionally to stepping on the ground with both feet.

The reference velocity is shared between each mobile device 100 in the pair. When both mobile devices 100 are in the stance phase for a predefined period of time, the reference velocity is set to zero. At step 305, the motor controller will drive each mobile device 100 towards the reference speed through a feedback control loop.

In one embodiment, a remote master switch 116 (as shown in FIG. 1) is provided and will communicate wirelessly with either the master device or both devices. The remote main switch 116 may either turn on the control system operating as described above or override any control system output with a brake command that maintains the mobile device 100 at zero speed. The external switch helps the user to travel through certain terrains where rotation of the wheel 102 is undesirable without removing the mobile device, such as walking through a significantly cracked and bumpy sidewalk.

At any part of the rate rise and fall there is an absolute maximum acceleration limiter and an absolute maximum deceleration limiter to ensure safe and healthy operation of both the user and the mobile device.

The features disclosed in the foregoing description, or the following claims, or the accompanying drawings, expressed in their specific forms or in terms of a means for performing the disclosed function, or a method or process for attaining the disclosed result, as appropriate, may, separately, or in any combination of such features, be utilised for realising the invention in diverse forms thereof. In particular, one or more features from any embodiment described herein may be combined with one or more features from any other embodiment described herein.

Protection may also be sought regarding any feature disclosed in any one or more of the publications referenced and/or incorporated by reference in connection with the present disclosure.

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:硬币送出单元及使用硬币送出单元的硬币处理装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!