Title:
System and method for control scheduling
Document Type and Number:
Kind Code:
A1

Abstract:
A system and method for controlling a device such that device operates in a smooth manner. The system may switch between control architectures or vary gain coefficients used in a control loop to control the device. As the architecture or gains are switched, the control signal may be smoothed so that the device does not experience an abrupt change in the control signal it receives. In one embodiment, the control signal may be smoothed by adding a decaying offset value to the control signal to create a smoothed control signal that is applied to the device.

Representative Image:
Inventors:
Morrell, John B. (Manchester, NH, US)
      Plaque It!

Sponsored by:
Flash of Genius
Application Number:
10/419994
Publication Date:
10/21/2004
Filing Date:
04/21/2003
View Patent Images:
Images are available in PDF form when logged in. To view PDFs, Login  or  Create Account (Free!)
Primary Class:
Other Classes:
700/90, 700/40
International Classes:
(IPC1-7): G05B013/02
Attorney, Agent or Firm:
FEDERAL RESERVE PLAZA,WOLF GREENFIELD & SACKS, PC (600 ATLANTIC AVENUE, BOSTON, MA, 02210-2211, US)
Claims:

What is claimed is:



1. A system of converting between a first operating mode and a second operating mode in a device, system comprising: a control loop which utilizes gain coefficients associated with the first operating mode to control the system in the first operating mode and utilizes gain coefficients associated with the second operating mode when operating in the second operating mode; and a gain selector which causes the control loop to operate using the coefficients associated with the second operational mode at substantially the same instant that the device transitions from the first operational mode to the second operational mode.

2. The system of claim 1, wherein the gain selector determines whether the control loop utilizes the coefficients associated with the first mode or the coefficients associated with the second mode based upon a current operational mode of the device.

3. The system of claim 1, further comprising a gain table which is accessed by the control loop and contains the coefficients which are associated with a current mode of operation.

4. The system of claim 1, further comprising: a smoother which smooths the output of the control loop before a control signal created by the control loop is provided to the device.

5. The system of claim 4, wherein the smoother adds a decaying offset value to the control signal.

6. The system of claim 5, wherein the offset value is determined by comparing a smoothed control signal applied to the device before the transition and a control signal created after the transition.

7. A method of smoothly operating a device that is responsive to a control signal, the method comprising steps of: determining a value for the control signal; processing the control signal to create a modified control signal; and applying the modified control signal to the device.

8. The method of claim 7, wherein the control signal is determined by a control unit and the step of processing occurs after the step of determining.

9. The method of claim 7, further comprising steps of: determining, before the step of processing, whether the device has changed modes of operation; and if the device has changed modes, applying a decaying version of an offset value to the control signal in the step of processing.

10. A method of smoothly switching between modes in a multi-modular apparatus, the method comprising steps of: determining whether a mode change has occurred; determining an offset value if the mode has changed; and adding a decaying version of the offset value to a control signal before the control signal is applied to the apparatus to create a smoothed control signal; and applying the smoothed control signal to the apparatus.

11. The method of claim 10, wherein the offset value is equal to a difference between a last signal applied to the apparatus and a control signal generated after the mode change.

12. The method of claim 10, wherein the offset value is decayed by the steps of: (a) multiplying a current offset value by a number less than one; (b) updating the current offset to equal the result of the multiplication of step (a); and (c) repeating steps (a) and (b).

13. The method of claim 12, wherein step (c) is repeated until the current offset value approaches a lower threshold.

14. The method of claim 13, wherein the lower threshold is approximately zero.

15. The method of claim 10, further comprising a step of: storing smoothed control signal.

16. The method of claim 15, wherein a difference between the stored smoothed control signal and a control signal created after the apparatus has changed modes is used to determine the offset value.

17. The method of claim 16, further comprising steps of: determining whether an offset value is currently decaying; and replacing the currently decaying offset value with a new offset value when the apparatus changes modes.

Description:

RELATED APPLICATIONS

[0001] This application claims the benefit under 35 U.S.C. §120 of U.S. application Ser. No. 09/322,431, entitled “SYSTEM AND METHOD FOR CONTROL SCHEDULING,” filed on May 28, 1999, which is herein incorporated by reference in its entirety.

FIELD OF THE INVENTION

[0002] The present invention in related to the field of control scheduling and, more particularly, to the field of smoothly changing between different control modes.

DISCUSSION OF THE RELATED ART

[0003] Human transport devices serve to move a person over a surface and may take many different forms. For example, a human transport device, as the term is used herein, may include, but is not limited to, wheelchairs, motorized carts, bicycles, motorcycles, cars, hovercrafts, and the like. Some types of human transport may include stabilization mechanisms to help ensure that the device does not fall over and injure the user of the transport device.

[0004] A typical four-wheeled wheelchair contacts the ground with all four wheels. If the center of gravity of the combination of the wheelchair and the user remains over the area between the wheels, the wheelchair should not tip over. If the center of gravity is located above and outside of the ground contacting members of the transport device, the transport device may become unstable and tip over.

[0005] Referring now to FIG. 1A , a typical wheelchair 100 is shown. The wheelchair 100 and the user 102 define a frame. The frame has a center of gravity 104 located at a position vertically disposed above the surface 106 . The term “surface” as it is used herein shall refer to any surface upon which a human transport device may sit. Examples of a surface include flat ground, an inclined plane such as a ramp, a gravel covered street, and may include a curb which vertically connects two substantially parallel surfaces vertically displaced from one another (e.g., a street curb).

[0006] The surface 106 may be at an incline as compared to the horizontal axis 108 . The angle by which the surface 106 is offset from the horizontal axis 108 shall be referred to herein as the surface pitch and will be represented by an angle denoted as θ s .

[0007] The front wheel 112 and the rear wheel 110 of the wheelchair 100 are separated by a distance d. The distance d between the two wheels may be measured as a linear (e.g., straight line) distance. If the center of gravity 104 of the system is located at a position above and between the two wheels, 110 and 112 , the wheelchair 100 should remain upright and relatively stable. The wheels 110 and 112 typically have opposing counterparts (not shown) on the other side of the wheelchair. The opposing counterparts may each share an axis with wheels 110 and 112 , respectively. The area covered by the polygon which connects the points where these four wheels touch the ground (or the outside portions of the ground contacting parts, when the ground contacting part may cover more than a point) provides an area over which the center of gravity 104 may be located while the wheelchair remains stable. In various places in this discussion below this area may be referred to as the footprint of the device. The footprint of a device, as the term is used herein, is defined by the projection of the area between the wheels as projected onto the horizontal plane. If the center of gravity is above this location, the transport device should remain stable.

[0008] If the center of gravity 104 is vertically displaced above the surface 106 and outside the footprint (i.e., the projection of area between the wheels 110 and 112 onto the horizontal plane), the stability of the wheelchair 100 may decrease and the wheelchair 100 may tip over. This could happen, for example, when the wheelchair is on a surface that has a steep incline. When on a steep incline, the center of gravity 104 may shift back and cause the wheelchair 100 to flip over backwards. This is shown in FIG. 1B where the center of gravity 104 is located at a position that is outside the footprint of the wheelchair 100 . The center of gravity 104 is shown including a gravity acceleration vector (g) which linearly translates the center of gravity 104 in a downward direction. The wheelchair 100 may rotate about an axis of the rear wheel 110 until the wheelchair 100 contacts the surface being traversed.

[0009] The user 102 may help to return the center of gravity 104 to a location that is above the area between the wheels 110 and 112 by leaning forward in the wheelchair 100 . Given this limited control of the location of the center of gravity 104 , it is clear that human transport devices such as wheelchairs may encounter great difficulties when traversing uneven surfaces such as a curb or steps.

[0010] Other types of human transport devices may include control mechanisms which allow the transport device to balance on two wheels. The two wheels may be connected to a single 3 axis that passes through the center of the wheels. The axis connects the wheels in such a manner that the forward and backwards motion of the device is perpendicular to the axis. The control mechanisms may keep the device and the user in a stable upright position by driving the wheels forwards and backwards to keep the center of gravity located over the wheel axis. Such devices may additionally provide for locomotion by allowing the center of gravity to be displaced by a distance forward or backwards from wheel axis and having the wheels rotate in order keep the center of gravity located at that position. Examples of such devices are disclosed in U.S. Pat. Nos. 5,701,965 and 5,719,425 which are hereby incorporated by reference.

SUMMARY OF THE INVENTION

[0011] According to embodiment of the present invention, a system of converting between a first operating mode and a second operating mode in a device is disclosed. In this embodiment, the system includes a control loop which utilizes gain coefficients associated with the first operating mode to control the system in the first operating mode and utilizes gain coefficients associated with the second operating mode when operating in the second operating mode. In this embodiment, the system also includes a gain selector which causes the control loop to operate using the coefficients associated with the second operational mode at substantially the same instant that the device transitions from the first operational mode to the second operational mode.

[0012] According to another embodiment of the present invention, a method of smoothly operating a device that is responsive to a control signal is disclosed. In this embodiment, the method includes steps of determining a value for the control signal, processing the control signal to create a modified control signal, and applying the modified control signal to the device.

[0013] In another embodiment of the present invention, a method of smoothly switching between modes in a multi-modular apparatus is disclosed. In this embodiment, the method includes steps of determining whether a mode change has occurred, and determining an offset value if the mode has changed. In this embodiment, the method also includes steps of adding a decaying version of the offset value to a control signal before the control signal is applied to the apparatus to create a smoothed control signal, and applying the smoothed control signal to the apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] FIGS. 1A and 1B illustrate an example of a prior art wheelchair,

[0015] FIGS. 2A-2F illustrate various embodiments of a human transport device.

[0016] FIG. 3 illustrates another embodiment of a human transport device.

[0017] FIG. 4 illustrates a simplified version of the transport device shown in FIG. 2A .

[0018] FIGS. 5A and 5B illustrate the relative orientation of a cluster of a human transport device operating in a stair mode.

[0019] FIG. 6 illustrates a block diagram of possible operational modes of a human transport device.

[0020] FIG. 7A-7B illustrate a simplified side view of a transport device.

[0021] FIG. 8 illustrates an example of a control loop that may be implemented according to aspects of the present invention.

[0022] FIG. 9 illustrates a graphical representation of example values which may be used to switch modes according to aspects of the present invention.

[0023] FIG. 10 illustrates a dataflow diagram of one embodiment by which a control switch value may be determined.

[0024] FIG. 11 illustrates, in flow chart form, a method of determining when to transfer between various sub-modes of a transport device.

[0025] FIG. 12A illustrates an example of a control unit which may be utilized in conjunction with the present invention.

[0026] FIG. 12B illustrates a functional block diagram of one embodiment of the control unit of FIG. 12A .

[0027] FIG. 13 illustrates a control loop which may be implemented according to the present invention.

[0028] FIG. 14 illustrates an example of a gain table which may be used according to aspects of the present invention.

[0029] FIG. 15 illustrates an example of a system that may be implemented to smooth a control signal before it is applied to a control device.

[0030] FIG. 16 illustrates a block diagram of a method of smoothing a control signal.

[0031] FIG. 17A illustrates a block diagram of a control loop configured to perform gain scheduling operations according to aspects of the present invention.

[0032] FIG. 17B shows an embodiment of a control system that may smoothly transition between modes.

[0033] FIG. 18 illustrates a flow chart of a control scheduling process that may be implemented in a feedback control system according to aspects of the present invention.,

[0034] FIG. 19 illustrates, in graphical form, various signals which may exist in FIGS. 17A and 17B .

[0035] FIG. 20 illustrates an example of a control loop for controlling the position of the wheels of a transport device.

[0036] FIG. 21 illustrates an example of a control loop for controlling the position of the cluster of a transport device.

[0037] FIG. 22A illustrates an example of a control loop in which a center of gravity estimate may be used.

[0038] FIG. 22B illustrates a block diagram of a system which may create a desired orientation based upon an estimate of the location of the center of gravity.

[0039] FIG. 23 illustrates an example of a free body diagram of a transport device.

[0040] FIG. 24 illustrates an example of a method of creating a data set for estimating a location of the center of gravity of a device.

[0041] FIGS. 25A-25C graphically illustrate portions of the method of FIG. 24 .

[0042] FIG. 26 illustrates a graphical representation of a data set that may be used to estimate the location of the center of gravity of a transport device.

DETAILED DESCRIPTION

[0043] Aspects of the present invention relate to various control modes for the operation of a human transport device. Each of the various modes allow for different types of control. In some embodiments, some of the modes are very responsive to user input commands while others may entirely ignore user input commands in an effort to keep the transport device and, ultimately, the user in an upright and stable position.

[0044] FIG. 2A shows an example of a transport device 200 in which aspects of the present invention may be implemented. Note that various aspects of the invention will be described in relation to various transport devices, however, the teachings herein are not limited to implementation only in human transport devices. For example, various control modes may be applicable to transport devices that are not similar to the transport device 200 shown in FIG. 2A . In addition, the systems and methods that allow for smooth transitions between the various modes may be applicable to other devices.

[0045] The transport device 200 may include a platform 202 suitable for supporting a human user (not shown). The platform 202 may be a chair-like platform upon which a user sits, like the one shown in FIG. 2A . However, as discussed below, the platform 202 need not be a chair-like platform but may be any type of platform capable of supporting a human user. For instance the platform could be a platform upon which a user stands.

[0046] The transport device 200 also may include an arm 204 similar to an arm of a chair. The arm may provide a place for the user to lean against or to otherwise support the user. The arm 204 may include a user interface 206 such as joystick which may receive directional command inputs from the user. Other types of user interfaces could include, but are not limited to, a roller ball, a touch pad, a breath sensitive input, a position reporting sensor attached to the user or to an article of clothing worn by the user, a voice recognition system, or push button controls. The user interface 206 may relay these input commands to a control unit 240 of the transport device 200 in order to effect motion in a desired direction of the transport device 200 . The user interface 206 may also effect the velocity of motion.

[0047] The transport device 200 may also include ground contacting members 208 and 210 . As shown in FIG. 2A the ground contacting members 208 and 210 are wheels. However, it should be noted that the ground contacting members 208 and 210 are not limited to wheels. For instance, the ground contacting members could be a caster, a rigid member (e.g., such as the arcuate elements shown in FIGS. 22-24 of U.S. Pat. No. 5,791,425), treads or other mechanisms for locomotion. Human transport devices having these and other types of ground contacting members are discussed below.

[0048] In the embodiment including wheels 208 and 210 , the wheels contact the surface and provide for motion over the surface. The wheels 208 and 210 may be driven by a motor (not shown). Additionally, each wheel, 208 and 210 , may be mirrored on an opposite side of the transport device with co-axial wheels (not shown) to provide four wheels which may contact the surface being traversed.

[0049] The wheels, 208 and 210 , may be attached to a moveable arm 212 (or cluster). The terms moveable arm and cluster, as used herein shall refer to an assembly to which ground contacting members may be attached. In addition, the cluster may from time to time refer to the entire assembly which includes and connects the ground contacting members together depending on the context. The cluster 212 may be a rigid member or may be a member that may be folded around various axes. For example, referring now to FIG. 2B where a cluster 214 is shown having a first portion 216 and a second portion 218 , the first portion 216 and the second portion 218 may be pivotally attached to one another at a pivot point 220 . The cluster 214 may include two wheels 222 and 224 . The two wheels, 222 and 224 , may contact the surface at contact points 226 and 228 , respectively. The distance between contact point 226 and contact point 228 define the length (l) of the footprint of the transport device in this embodiment because the cluster is on a horizontal plane. (Of course, if the cluster was on an incline, the length of the footprint would be equal to the length of the projection of L onto the horizontal plane.) The length (l) of the footprint is variable in this embodiment due to the pivot point 220 between the first portion 216 and the second portion 218 of the cluster 214 . The length (l) of the footprint is at its largest when the angle θ c between the first portion 216 of the cluster 214 and the second portion 218 of the cluster 214 is approximately 180°.

[0050] In one embodiment, the length of the footprint of the cluster may be shortened such that the angle θ c between the first portion 216 and the second portion 218 of the cluster 214 becomes extremely small. An example of such an embodiment is shown in FIG. 2C . In this embodiment, the circumference of the wheels 222 and 224 may overlap. Of course, in this embodiment, the wheels 222 and 224 may be offset from another along the axis Z so that the wheels 222 and 224 do not contact one another and inhibit the rotation of the wheels.

[0051] Referring again to FIG. 2A , the cluster 212 may be attached to the platform 202 by a platform support 230 . The platform support 230 may include an upper portion 232 and a lower portion 234 . (The platform support 230 could also be a unitary member.)

[0052] In one embodiment, the lower portion 234 of the platform support 230 may be pivotally attached to the cluster 212 . In order to adjust the height H between the cluster 214 and the base of the platform 202 , the lower portion 234 of the platform support 230 may be rotated about a cluster connection pivot point 236 into a more vertical orientation. In addition, as the lower portion 234 is rotated towards vertical, the upper portion 232 may also be rotated about support pivot point 238 to attain an even greater platform height.

[0053] When the platform 202 is to be lowered, the lower portion 234 is brought closer to the cluster 212 . In addition, the upper portion 232 may be brought closer to both the lower portion 234 and the cluster 212 .

[0054] The transport device 200 may also include a control unit 240 (or electronics box). Generally, the control unit 240 provides the commands to various motors that may be included in the transport device 200 in order to operate the transport device 200 . The control unit 240 may include various sensors such as, tilt sensors, velocity sensors, acceleration sensors, position reporting sensors, and the like. In one embodiment, the control unit 200 may adjust the position of the wheels, 208 and 210 , and the angular orientation of the cluster 212 , or both, in order to stabilize the transport device 200 . In addition, the control unit 240 may cause the cluster 212 and the wheels 208 and 210 to rotate in order to respond to input commands received from the user interface 206 . In one embodiment, the control unit 240 , based on various sensor inputs, may adjust the angle of the cluster 212 relative to the platform 202 so that an axis 242 passing through the cluster 212 and the axles 244 and 246 of the wheels 208 and 210 , respectively, is substantially parallel to the surface being traversed while the platform 202 is kept in an upright position. This type of orientation is preferable when the transport device 200 is operating in a standard or enhanced mode. Various modes, such as standard mode and enhanced mode will be described in greater detail below.

[0055] FIG. 2D shows an alternative embodiment of a cluster 248 for a human transport device 200 . In this embodiment, the cluster 248 includes a first wheel 250 that may be driven by a motor (not shown). The commands which drive the motor may be received from the control unit 240 ( FIG. 2A ). The cluster 248 may also include a second wheel 252 which is not driven by a motor. For example, the second wheel 252 may be a caster type wheel which is fixedly attached to the cluster 248 . Although the previous figures have described with the direction of forward travel being from left to right, it should be understood that the cluster 248 of FIG. 2D may be oriented in either direction. That is, the motorized wheel 250 may be the front wheel or the second wheel 252 may the front wheel.

[0056] FIG. 2E shows an example of a transport device 200 that includes a non-motorized wheel 254 fixedly attached to the control unit 240 of the transport device 200 . In this embodiment, the cluster 212 may be rotated, in one operational mode, so that the rear wheel 208 remains in contact with the surface and the front wheel 210 does not contact the surface. Assuming that no stabilization occurs, the torque due to the rotation of cluster 212 may cause the transport device 240 to tip forward until the non-motorized wheel 254 contacts the surface. This operational mode may be preferable when the transport device 200 is operating on a smooth, flat surface. The advantage comes from the fact that in this orientation only the rear wheel 212 needs to be driven by a motor and thus, the amount of power the transport device 200 consumes may be reduced.

[0057] If the cluster 212 is rotated such that both of the wheels attached to the cluster, 208 and 210 , contact the surface, the non-motorized wheel 254 may be lifted from the surface and the transport device may become a 4-wheel driven device. An example of a transport device 200 in such a configuration is shown in FIG. 2F . In FIG. 2F wheels 210 and 208 contact the surface 270 . The non-motorized wheel 254 is elevated above the surface 270 . In this embodiment, the cluster 212 and the platform 202 are substantially parallel to the surface 270 . The foregoing discussion detailed various embodiments of a human transport device 200 . It should be noted that the wheels 208 and 210 may be motorized wheels that are each driven by an individual motor. However, the wheels 208 and 210 may both be driven by a single motor. In addition, only one of the wheels may be driven by a motor. Furthermore, the transport device 200 has been shown only in side view. It should be understood that elements shown in side view may be mirrored on the other side of the transport device 200 . For instance, the transport device may include a cluster on each side of the transport device 200 . In one embodiment the clusters may be statically linked together so that they move as a unitary member. However, it is within the scope of the present invention that the clusters may be rotated or otherwise translated such that each cluster operates independently from the other. It should further be noted that the present invention is not constrained to being implemented in the transport devices described above. For instance, portions or the entirety of the teachings contained herein may be implemented in transport devices such as helicopters, airplanes, automobiles, off-road vehicles, motorized bicycles, motorcycles, and the like. Another type of transport device in which the teachings of the present invention may be implemented is shown in FIG. 3 .

[0058] FIG. 3 shows a human transport device 300 upon which a user may stand. The transport device may include a platform 302 suitable for supporting a human user 304 in a standing position. In one embodiment, the motion of the device 300 may be controlled by the human 302 leaning on the platform 302 in the desired direction of motion. In this embodiment, the platform 302 may be pivotally attached to a base unit 306 . The base unit 306 may include a control unit 308 which may control the motion and, possibly, the stabilization of the transport device 300 . The base unit 306 may also include a cluster 310 which includes ground contacting members such as wheels 312 and 314 . The human transport may also include a second user input device such as a joystick 316 for receiving desired motion commands from the user. As shown in FIG. 3 , the human transport device 300 includes both a lean platform 302 and a joystick 316 .

[0059] More specifically, the platform 302 or the joystick 316 provide inputs to the control unit 308 to allow the user to direct the motion of the transport device 300 . In response to the user inputs the control unit 308 may cause either or both of the wheels ( 312 and 314 ) and the cluster 310 to rotate. In addition, the control unit 308 may adjust, sometimes independently of the user input, the cluster's 310 position and/or the position of wheels 312 and 314 in order to keep the center of gravity 318 vertically over the footprint of the transport device 300 . As shown in FIG. 3 , the center of gravity 318 is vertically displaced over the cluster 310 between the axis of the wheels 312 and 314 . In one embodiment, the control unit 308 maintains the center of gravity 318 above a center point 320 of the cluster 310 . When the center of gravity 318 is located above the center point 320 of the cluster 310 , the transport device 300 may be very stable.

[0060] For convenience, portions of the following description will refer to the location of the center of gravity as being known. However, the location may, in some instances, be based upon an estimate of the location. Systems and methods for estimating the center of gravity are discussed below. Furthermore, it should be noted that while the center of gravity is discussed as a reference quantity, the teachings herein are not so limited and may need only to consider other characteristics of the transport device in order to effectively stabilize the transport device. For instance, a consideration of only the pitch rate (discussed below) could supplant the need to rely upon an estimate of the location of the center of gravity.

[0061] FIG. 4 shows a simplified version of the transport device 200 shown in FIG. 2 . In this example, the transport device is operating in a so called “balance mode” (other embodiments, like the examples of FIGS. 2-3 may also be operated in a balance mode). In balance mode (when the transport device is stationary), the control unit, based on various inputs, attempts to keep the center of gravity 400 over the transverse axis 402 passing through the surface contacting wheel 404 . In this mode, substantially all stabilization is effected by rotating the surface contacting wheel 404 in order to keep the center of gravity 400 vertically disposed over the transverse axis 402 of the surface contacting wheel 404 . To this end, the cluster 408

[0062] may be held in a fixed position relative to the bottom of the platform 202 . In the embodiment shown in FIG. 4 , the cluster 408 is held in a substantially vertical position. (The cluster could also be held at other relative angles.)

[0063] Again, the transport device 200 in balance mode, operates by controlling the position of the platform 202 so that the center of gravity 400 is vertically displaced at some location above the transverse axis 402 of the surface contacting wheel 404 upon which the transport device 200 is resting. To allow for motion, the center of gravity 400 may be slightly displaced either in front of or behind the transverse axis 402 of surface contacting wheel 404 so that the device begins a controlled fall in the “FORE/AFT” direction. As the center of gravity 400 is displaced relative to the transverse axis 402 , the surface contacting wheel 404 is driven to, in essence, keep the center of gravity 400 in a relatively close, but still offset, location as compared to the axis 402 . In this manner, the device does not fall over. Balance mode for a transport device such as that shown in FIG. 4 is disclosed in U.S. Pat. No. 5,701,965. In this embodiment for balance mode, the cluster 406 is locked in position and may not be rotated in order to help stabilize the transport device 400 . Thus, in this embodiment, balance mode may be generally thought of as a “wheels only” approach to dynamically stabilizing a human transport device.

[0064] In some instances, it may be desired to have a human transport device climb or descend stairs with little or no assistance from the user or any other outside help. Thus, some human transport devices have developed the capability to climb stairs and operate in a so called “stair” or “lean” mode. Examples of such devices are shown U.S. Pat. Nos. 5,701,965 and 5,791,425. Stair mode may include having the wheels “slaved” to the cluster. That is, the wheels may only move in order to allow the cluster to rotate but not as a means of locomotion.

[0065] FIGS. 5A and 5B show two examples of the relative orientation of a cluster 500 of a human transport device operating in stair mode. When operated in stair mode, the cluster 500 may be rotated so that the center of gravity is over either a rear wheel axle or front wheel axle depending upon which direction the stairs are being traversed (i.e., whether going up or down stairs). When the wheel 502 contacts the front edge 506 of a stair 508 the wheel is held against the stair. As the center of gravity is moved toward the contact point 514 , the cluster 500 may begin to rotate upward as shown in FIG. 5B . As the cluster 500 is rotated, the slaved wheel 502 may be rotated in relation to the cluster 500 in response to the cluster rotation so that the same point on the wheel remains in contact with the stair at contact point 510 . If the wheel 502 was allowed to move, the rotation of the cluster may cause the wheel 502 to move away from the step and cause the transport device to fall over.

[0066] The cluster 500 is rotated (in this example, clockwise) until the second wheel 504 is in contact with the top edge 512 of the stair 508 at contact point 514 . This process is repeated until the transport device reaches the top of the stairs. In another embodiment, the process described may need only be conducted once if, for instance, the transport device is traversing a large curb.

[0067] The systems described above use either the clusters or the wheels in order to affectively maintain the balance of the device. However, it has been discovered that in some instances, utilizing both the wheels and the clusters in order to keep the center of gravity in a position such that the user does not fall over is more desirable. For example, when traversing a bumpy surface, it may be desirable to rotate the wheels and the cluster at the same time in order to keep the platform in an erect position.

[0068] Thus, aspects of some embodiments of the present invention are directed to a new mode of transport control. This new mode shall be referred to herein as enhanced mode. In one embodiment, enhanced controls the operation and stabilization of a transport device by controlling both the wheels and clusters of a transport device such that the center of gravity is located, or will very shortly be located, at a position over the footprint of the transport device (or some other measure met, such as keeping the frame pitch (or function of the frame pitch) of the transport device within a range of parameters).

[0069] FIG. 6 is a block diagram detailing possible operational modes of a human transport device. In one embodiment, the human transport device may include a standard mode 602 , a balance mode 604 , and a stair mode 606 . According to aspects of certain embodiments of the present invention, the transport device may also include an enhanced mode 608 . These various control modes are used by software and hardware contained in a control unit in order to provide locomotion for the device. Each mode causes the human transport device to operate according to different parameters. It should be noted that human transport devices may include other operational modes. For example, a human transport device may include a mode for transferring between modes and a mode for dealing with system failures.

[0070] The control modes and associated software and hardware discussed herein may be included in a control unit, such as the control unit described above with respect to FIG. 3 . However, the various portions of the software and hardware may utilized in locations other than a control unit. For instance, various sensors could be located on the platform, the cluster, the wheels, or any other location where they may be desired or needed in order to effectively control the operation of a human transport device.

[0071] Balance mode 604 and stair mode 606 were discussed above and for the purposes of the example embodiment of FIG. 6 may be presumed to operate in accordance with the above descriptions. However, it should be noted that variations to balance mode 604 and control mode 606 may exist and may be fully integrated into a transport device operating under the various control scenarios provided herein.

[0072] Standard mode, as the term is used herein, shall refer to a mode of operation where no dynamic stabilization occurs. In standard mode, the cluster and the platform remain in a fixed relationship to one another. For instance, if a user is operating a human transport device having a chair like platform ( FIG. 2 ) in standard mode, a motor that controls the angle of platform relative to the cluster is held at a constant position. If the transport device is traversing up an incline, the platform tilts back. However, if the incline becomes too steep, the center of gravity of the system may lie in a location that is outside the footprint of the transport device and may cause the transport device to tip over backwards.

[0073] In standard mode, the user may have complete control of the motion of the transport device. That is, the control unit is highly sensitive to user inputs. In one embodiment, this may be accomplished by applying high gain coefficient (discussed below) to inputs received from a user input. The user input may be a joystick or other suitable input device actuated by a user. In addition, the transport device may include a lean-able platform that serves as a user input.

[0074] According to certain embodiments, standard mode may include two sub-modes. A first sub-mode may be implemented in a system such as shown in FIG. 2E . In this sub-mode, non-motorized wheels 254 may be fixedly attached to the control unit 240 of the transport device 200 . The cluster 212 may be rotated about an rotation point 213 at least until the device is pitched forward such that the non-motorized wheels 254 wheels contact the surface. In this mode, power is provided to a motor which drives the rear wheel 208 in order to provide motion in response to a user command. In this manner, power may be conserved because any motors attached to the forward drive wheels (e.g., wheel 210 ) of the cluster 212 may be powered down. For this reason, standard mode in general and this sub-mode in particular is especially attractive when a transport device 200 with a limited power supply (i.e., a rechargeable battery) is to be operated for extended periods of time. In addition, in this mode, any type of stabilization that may be provided by the transport device may be disabled in order to conserve energy. Also, due to the non-motorized wheels, which may be caster type wheels and have high maneuverability, the turning radius in this mode may be minimal. Additionally, each wheel connected to opposing sides the cluster 212 may include its own wheel motor. By applying a differential signal to each of the opposing wheels, the transport device 200 may be able to spin in a circle. This may be accomplished by providing a positive torque to one wheel and a negative torque to the other.

[0075] Another sub-mode of standard mode include a mode where the cluster is rotated such that all four wheels contact the surface which the non-motorized wheel 254 is held off the surface as shown in FIG. 2F . In this sub-mode, the transport device 200 may function as a four-wheel drive transport device. However, it is preferred that the wheels do not respond to user input commands in this mode so that a user does not confuse this sub-mode of standard mode with the enhanced mode discussed below.

[0076] As discussed above, standard mode may hold the platform in a substantially constant angular relationship to the cluster. In this case, the motor which positions the cluster with respect to the platform may be disabled during either sub-mode of standard mode.

[0077] Referring now back to FIG. 6 , the user may transition from one mode to another by selecting options presented to the user on a user interface. The user interface may be provided on, for example, an arm 204 included on the platform 202 ( FIG. 2A ). Alternatively, modal transitions may be affected automatically. For instance, if the power supply is low, the transport device may transition from balance mode to standard mode automatically in an effort to save power or ensure safety.

[0078] The transport device may transition from various modes to other modes. For instance, the transport device may transition from standard mode 602 to balance mode 604 and back as represented by arrow 620 . The transport device may also transfer from balance mode 604 to stair mode 606 and back as represented by arrow 621 . In addition, the transport device may transfer from standard mode to stair mode 606 and back as represented by arrow 622 . The transport device may enter and exit enhanced mode 608 from any of standard mode 602 , balance mode 604 , or stair mode 606 as represented by arrows 623 , when the user selects the modal transition from a user input device. Enhanced mode, as will be demonstrated below, may be more dynamically stable than any of the other modes of the transport device. As such, the transport device may enter enhanced mode automatically if the control unit determines that the transport device has become unstable in its current operational mode.

[0079] According to some embodiments, automatic entry into enhanced mode may be prevented when the cluster is in a substantially vertical orientation. Exiting enhanced mode may be accomplished at almost any time unless some parameter of the current orientation of the transport device is such that the transport device would become unstable if a mode change occurred.

[0080] As also discussed below, enhanced mode may include a plurality of sub-modes from which it may switch automatically. In addition, enhanced mode may switch between the sub-modes in a smooth and effective manner due to the control switching and gain scheduling systems and methods described below.

[0081] FIG. 7A shows a simplified side view of a transport device 700 which may operate in enhanced mode. Note that the transport device 700 is given by way of example only and in no way serves to limit the application of the operation of an enhanced mode as described herein.

[0082] The transport device 700 may include a platform 702 . As discussed above, this platform 702 may be a chair type platform as shown in FIG. 2A or alternatively may be a platform upon which a user stands as shown in FIG. 3 . However, the description of the relative angles of the transport device in enhanced mode are equally applicable to either configuration and other configurations as well. For purposes of the following discussion, any angles are measured in FIG. 7A such that an angle represented by an arrow pointing in the clockwise direction is given a positive value and any angle represented by an arrow pointing in the counter-clockwise direction is given a negative value. For example, the angle shown as φ c (cluster position with respect to gravity) is a positive angle and the angle denoted as θ 3 is a negative angle.

[0083] The center of gravity 704 represents the center of gravity of the entire system. This includes the transport device 700 , the user (not shown), and any payload which the user may be carrying (also not shown). Again, it should be noted that the center of gravity is given as only one example of a parameter of the transport device which may be estimated and/or examined in order to determine the stability of the transport device.

[0084] The control signals provided by the control unit 706 attempt to keep the center of gravity 704 over the footprint of the transport device 700 . Again, the footprint of the device may be defined as existing between the endpoints of the cluster and more preferably is between the transverse axes 708 and 710 of the front 712 and rear wheels 714 . These wheels may be attached to and part of the cluster 716 . In one embodiment, the center of gravity remains located over a center point 718 of the cluster 716 in enhanced mode.

[0085] The platform 702 may be supported by a platform support 720 . The platform height (H) as used herein shall refer to the distance between the bottom of the platform 702 and the location where the seat support 720 is connected to the cluster 716 .

[0086] By varying the angle θ h between the upper portion 722 and the lower portion 724 of the platform support 720 , the seat height H may be adjusted. A motor may be included at the pivot point 728 where the upper portion 722 and lower portion 724 are pivotally connected. This motor, based on seat height commands, may cause the angle θ h between the upper portion 722 and the lower portion 724 to increase or decrease. This is advantageous in that it allows the user to raise to (or be closer to) eye level with a standing human. In one embodiment, the platform 726 and the upper portion 722 may also include a motor that sets an angle θ s such that the bottom of the platform 702 remains substantially horizontal regardless of the orientation of the upper portion 722 .

[0087] In another embodiment, as disclosed in FIGS. 9-11 and related discussion in U.S. Pat. No. 5,791,425 which is hereby incorporated by reference, the platform holder 720 may be an articulated arm having upper and lower portions that may be adjusted with respect to each other and the platform. The adjustments may be achieved by motorized drives located at the contact pivot points 726 , 728 and 730 (where the lower portion 724 may be pivotally connected to the cluster 716 ). The motorized drives may connected to one another (for example, by belts) such that change of position in one motor connected at the pivot point 728 between the upper and lower portions causes a corresponding change in the angle θ s between the platform 702 and the upper portion 722 to change such that the bottom of the platform 702 remains substantially horizontal.

[0088] The reason that the seat height is important to the operation of the human transport device 700 is at least two-fold. First, the seat height H may be used in order to estimate the center of gravity 704 of the entire system. In addition, the seat height may affect how rapidly the center of gravity may be moving relative to a vertical axis defined by gravity (g). If the seat is higher, the center of gravity may move slower in response to a disturbance. Thus, the seat height may be a variable considered when controlling the dynamic stabilization of the transport device. For instance, the seat height may be an input that affects the magnitude of particular gain coefficients (discussed below) that are utilized in order to control and otherwise stabilize the transport device.

[0089] The amount by which the center of gravity 704 is offset from a vertical axis passing though the cluster 716 shall be referred to herein as “frame pitch” and is denoted a θ 1 in FIG. 7A . This frame pitch may be a “rotational” pitch based upon an angular displacement. As shown, the vertical axis passes through a center point 718 of the cluster 718 . However, it should be noted that in enhanced mode the vertical axis may pass through any portion of the cluster disposed between the transverse axes passing thought the center of either wheel 714 or wheel 712 (e.g., the footprint). In the case where it is desired that the axis passes through a portion of the cluster 716 that does not pass through the center point 718 , the stabilization control processes discussed below may be altered to take into account the distance where the vertical axis passes through the cluster 716 is from the center point 718 of the cluster 716 .

[0090] Note should be taken that the control objective of placing the center of gravity 704 over the center point 718 of the cluster 716 may not be applicable to other modes of operation of the transport device. For example, in balance mode, the control objective may be to keep the center of gravity 704 in an appropriate relationship over a transverse axis passing through one of the wheels of the cluster 716 .

[0091] As discussed above, the location of the center of gravity 704 may be based upon an approximation which relies upon the seat height. The location of the center of gravity 704 may also be determined based on the rate at which the platform is moving with respect to gravity. This rate will be referred to herein as the pitch rate. For instance, motion sensors (not shown) disposed on the transport device 700 may sense that the system is pitching forward at a high rate. This motion will displace the center of gravity 704 , in some instances, such that it lies outside the footprint of the transport device 700 . Thus, the footprint of the device may need to be moved with respect to the surface in the direction of the pitch rate such the footprint remains beneath the center of gravity 704 .

[0092] FIG. 7A also shows a control unit 706 . The operation of the control unit 706 is discussed below. The control unit 706 may include various motion sensors that determine, for example, the pitch rate of the system. The sensors are not limited to any particular type of sensor and could be, for example, an accelerometer, a position sensor, a “level” sensor, and the like. As one will readily realize, the pitch rate may be determined empirically by differentiating the measured or estimated frame pitch θ 1 with respect to time. The control unit 706 may also include various hardware and software that may control the motors attached to the wheels 712 and 714 as well as a motor attached to the cluster 716 . In addition, the control unit 706 may also include various control loops discussed below that may serve to stabilize the transport device 700 .

[0093] In one embodiment, the control unit 706 may have the cluster 716 pivotally attached thereto. Thus, a variation in the angular orientation of the cluster 716 with respect to vertical may not effect the same change in orientation of the control unit 706 . The difference between the angle by which the top of the control unit 706 is displaced from horizontal (denoted as controller angle θ e ) and the angle by which the cluster 716 is displaced from vertical (φ c , which represents the cluster position with respect to gravity) shall be referred to herein as the relative cluster position and is denoted as angle θ c . The angle θ e represent the angular orientation of the top of the control unit 706 with respect to the center of gravity 704 .

[0094] Again, the general purpose of enhanced mode is to attempt to place the center of gravity 704 at a location that is relatively within the footprint of the transport device 700 . In some embodiments, enhanced mode may attempt to place the center of gravity 704 over the center point 718 of the cluster 716 . This embodiment may be thought of generally as stabilization that attempts to place all four wheels of the transport device 700 on the ground with the center of gravity located vertically above the center point 718 of the cluster 716 . When this condition is met, the transport device 700 is in a substantially stabilized position. In addition, it may be preferred to keep the bottom of the platform 702 substantially parallel to the horizontal. If the bottom of the platform 702 is substantially parallel to the horizontal, the user may feel more stable and the user may be, therefore, more comfortable.

[0095] A longitudinal axis 740 of the cluster 716 is shown being angularly displaced from the horizontal. However, the bottom of the platform 702 remains substantially parallel to the horizontal. This condition may occur, for example, when the transport device 700 is traversing an inclined plane. In order keep the center of gravity 704 within the foot print of the transport device 704 , the angle between the cluster 716 and the lower portion 724 needs to be reduced. This reduction may be accomplished by a motor connected to the pivot point 730 that rotates the cluster 716 in the counter-clockwise direction and forces the lower portion 724 forward.

[0096] As discussed above, in some circumstances providing only cluster stabilization routines may not effectively balance the transport device if the cluster displacement from vertical (i.e, φ c =0) becomes too small. In some embodiments, it is also possible to maintain balance by using the rotation of the wheels to help place the center of gravity above (or in an appropriate relation to) the footprint of the device. In addition, it has been discovered that balancing on two wheels may diminish the usability of the transport device. For instance by balancing only on two wheels, it may be difficult to negotiate over uneven surfaces. For example, to traverse up and over a curb on such a two wheel device, the amount of torque that needs to be applied to the wheels in order to essentially lift the transport device directly upwards may be excessive. When all of the torque is applied to raising the wheels up a vertical surface, the control required to keep the transport device in a substantially vertical position may be severely hampered.

[0097] Enhanced mode, according some embodiments, can address these problems. Enhanced mode utilizes portions of both wheel balancing techniques as well as cluster balancing techniques in an effort to keep the center of gravity located vertically above the region defining the footprint of the transport device. Utilization of both cluster and wheel balancing algorithms provides an inherently more stable transport device than the prior art when the transport device is traversing non-uniform surfaces.

[0098] In one embodiment, this new enhanced mode may include several sub-modes. For example, an enhanced mode may include a wheels PD (“proportional derivative”) mode, a wheels POC (pendulum-on-a-cart) mode and wheels balance mode (the names being used as labels are not intended themselves a being limiting or descriptive). Each of these various sub-modes are applicable in different circumstances. In one embodiment, the present invention may transfer between these sub-modes depending upon the current operational characteristics of the transport device.

[0099] Given these objectives and the parameters (i.e., angles) defined with respect to FIG. 7A , the control unit may stabilize the transport device as it traverses many different types of surfaces. In one embodiment, the control unit may include a one or several control loops that implement gain coefficients in order to help stabilize the transport device. In another embodiment, the control unit may contain different control architectures for each mode.

[0100] FIG. 8 is an example of a control loop 800 that may be implemented in the present invention. The control loop 800 may include a plant 802 which may include, for example, a motor and a plurality of sensors that monitor various parameters of a transport device. At least one, and in some cases several, parameters may be fed-back from the plant 802 into the control loop 800 . For example, the frame pitch 804 and the pitch rate 806 of a human transport device may be fed-back. Each of the parameters may be multiplied by a gain coefficient (e.g., gain coefficients 808 a and 808 b ) in order to produce a control signal (the output of summer 810 ) that is ultimately again applied to the plant. The higher the value of the coefficient that a given parameter is multiplied by, the more that parameter effects the value of the control signal. Further examples of control loops which may be applied to a transport device are described in greater detail below ( FIGS. 20 and 21 ).

[0101] Referring again now to both FIGS. 7A and 7B , one way to model the operation of the transport device may be to model the system as an inverted pendulum pivoting at the cluster pivot joint 730 . Of course, the system may be modeled in several other ways. The total energy (E) (including potential and kinetic) of the system may be expressed as:

E= ½ J 1 ′) 2 −mgL 1 (1−cos θ 1 )

[0102] where J is the frame inertia (including the transport device, the user, and any payload), θ 1 is the frame pitch, θ 1 ′ is the pitch rate (the derivative of θ 1 with respect to time), m is the frame mass, g is gravity, L 1 is the distance from the center of gravity 704 to the cluster pivot joint 730 (note, L 1 depends on platform height H). This formula may be simplified using the small angle approximation for cosine to:

E= ½ J 1 ′) 2 −mgL 1 θ 1 2

[0103] The transport device 700 is most stable when the total energy is equal to zero. This may occur in at least two instances. In a first instance, the frame pitch θ 1 and the pitch rate θ 1 ′ are equal to zero. In this instance, the transport device 700 may be completely still. In another instance, the frame pitch θ 1 may be negative ( FIG. 7B ) while the center of gravity 704 is moving forward. If the center of gravity is moving forward at a pitch rate θ 1 ′ sufficient to counter act the frame pitch θ 1 , the total energy may again be brought back to zero. Thus, it is desirable to define the relationship between the frame pitch θ 1 and the frame rate θ 1 ′ such that the above equation is equal to zero. If the above simplified energy equation is set to zero the following equation may be derived:

θ 1 ′±θ 1 ( mgL 1 /J ) 1/2 =0

[0104] This equation may equal zero in one of two instances. One is when the pitch term θ 1 (mgL 1 /J) 1/2 is added to θ 1 ′ and the other is when the pitch term is subtracted from θ 1 ′. The positive solution indicates that the transport device is moving back towards vertical and the negative solution indicates that the machine is continuing to fall over even though the total energy remains equal to zero. Thus, the positive solution is selected in order to determine a balance indicator, q 0 , which may be defined by the equation:

q 0 1 ′+ω n θ 1

[0105] where ω n equals the natural frequency of an inverted pendulum (mgL 1 /J) 1/2 . It will be apparent from the foregoing, that the system is well balanced if q 0 =0. Variations, either above or below zero, indicate that the transport device is not completely balanced and that various corrections should be applied. The value of q 0 , as discussed below, may be used as a value which causes the transport device to transfer between various sub-modes in enhanced mode. Of course values other than q 0 could be used depending upon how the transport device is modeled.

[0106] Enhanced Mode

[0107] Again, one mode of operation for a transport device is “enhanced mode.” Enhanced mode may (but need not) be applied to increase the ability to traverse non-level terrain such as ramps, gravel and curbs. The cluster and wheels are used together to provide dynamic stability. Enhanced mode may also (or instead) be used as a method for attempting to regain dynamic stability if balance mode is unable to maintain stability for some reason (i.e., loss of traction, inability of the wheels to roll, etc.).

[0108] Depending upon various conditions of the transport device, different sub-modes within enhanced mode may need to be implemented. These sub-modes will be referred to herein as follows.

[0109] The first sub-mode will be referred to as wheels PD mode. Wheels PD is a mode which responds to user commands for locomotion and is statically stable, and can handle mild variation in the surface being traversed. In wheels PD mode, the transport device may closely follow user commands. In some embodiments, this may allow users to drive on ramps, turn in place, and climb over various obstacles such as small bumps. The wheels PD controller may be typified in that the transport device when in wheels PD mode is very responsive to user inputs. This allows the user to have strong control of the locomotion of the transport device. In one embodiment, this may be accomplished by applying a high gain value to user input commands that are transmitted to the wheels. The high gain level applied to the user input commands may provide a maximal amount of torque available to the wheels. However, due to this inherent stiffness in the wheel gains, sudden changes in the wheel acceleration (i.e., a fast start or a fast stop) may cause the center of gravity to pitch forward or backward. This may result in the cluster lifting a pair of wheels off of the ground as it tries to apply a correcting torque to the system by rotating the cluster. When such a torque is applied, the wheels PD is probably not appropriate. Thus, the device may switch to a second mode, wheels POC mode.

[0110] The objective of wheels POC is to stabilize the transporter such that all four wheels are on the ground and the center of gravity is located above the cluster between the two endpoints of the cluster. In this mode, both the wheels and the clusters are used in an attempt to place the center of gravity at a reference position inside the footprint. In this mode, the wheels use pitch information in order to translate the center of gravity to a position over the footprint. Commanding the wheels in a way that centers the center of gravity over the cluster joint, may at times be inconsistent with the commands given by the user. To accommodate this, the gains or architecture utilized by the control unit in the wheels POC sub-mode give pitch and rate signals greater influence while the user commands are given a lower influence. In general, the wheels POC sub-mode may only come into play when the stability of the transport device is becoming questionable. For example, questionable stability may occur when driving over large obstacles or over very bumpy surfaces.

[0111] As one of skill in the art will readily realize, rotation of a cluster alone may only be effective to stabilize the transport device when the center of gravity is substantially centered between the endpoints of the cluster. Once the pitch error (i.e., the amount by which the center of gravity is displaced from a position substantially in the center of the cluster) is large enough to put the center of gravity over one set of wheels, the cluster is less effective and the wheels may need to be used as the primary means of stabilization. Thus, enhanced mode also includes a third sub-mode, referred to as wheels balance sub-mode. The objective of the wheels balance sub-mode is two-fold, to stabilize the transporter in the event of large pitch disturbances and to return the center of gravity and cluster to an orientation where either the wheels PD or the wheels POC sub-modes are effective. As discussed above, wheels PD and wheels POC may be more effective when the cluster is near horizontal. Wheels balance may be similar to balance mode in wheel operation but also includes the ability to rotate the cluster.

[0112] Each of the above identified modes may be implemented in a single control loop contained in the control unit. Depending upon which sub-mode of enhanced mode the transport device is currently operating in, various gain coefficients are applied to the control loop in order to achieve the above-identified effects. The gains for each sub-mode may vary, for instance, the amount by which the user may control the transport device and the amount by which the transport device dynamically stabilizes itself. In addition, each sub-mode may be implemented as a separate control architecture.

[0113] As mentioned above, the control unit of the transport device may implement various gains or control architectures in a control loop in order to control and stabilize the transport device in enhanced mode. In order to know when to switch between the sub-modes of enhanced mode (and therefore, when to switch the gains or control architecture in appropriate embodiments) some basic switching criteria should be established. In some embodiments, the quantity q 0 discussed above may be used as a measure to decide when to switch between modes. For example, q 0 may be used to switch between wheels PD and wheels POC. In addition, the value φ c (cluster position with respect to gravity) may also be used to switch from either wheels PD or wheels POC into wheels balance mode. (Of course, other parameters may be used in addition or instead in other embodiments).

[0114] Switching between various modes in enhanced mode may be dependent upon the cluster position with respect to gravity, φ c . FIG. 9 shows a graphical representation 900 of different values of φ c . Again, φ c represents the cluster position with respect to gravity and is measured such that a vertical cluster position results in a φ c which is equal to zero and a horizontal cluster position which results in a φ c equal to 90°. In the graphical representation of FIG. 9 , the vertical axis 902 represents φ c being equal to zero degrees and the horizontal axis 904 represents φ c being equal to 90°. In this embodiment, the transport device may remain in either wheels POC or wheels PD when the angle φ c is near 90°.

[0115] As shown in FIG. 9 , the region in which the transport device remains in either wheels POC or wheels PD is the region 906 which lies between the horizontal axis 904 and the ray 908 . If the cluster angle with respect to gravity φ c remains below the ray 908 , the transport device may remain in either wheels POC or wheels PD. If φ c increases above a value represented by ray 910 , the transport device transitions to and remains in wheels balance mode. That is, while φ c remains in the region 912 between the vertical axis 902 and the ray 910 , the transport device will remain in wheels balance. However, there exists a region 914 between rays 910 and 908 where the appropriate operating mode for this embodiment is more difficult to select. In this region 914 various other factors may be taken into account to determine whether the transport device should be in wheels balance mode or in one of the other modes. If the center of gravity, as may be determined by frame angle and pitch rate, is approaching or is over the footprint of the device, the transport device should transfer into either wheels PD or wheels POC. If the center of gravity is substantially over either of the ground contacting member, however, the transport device should transfer to wheels balance mode. Example angular values for the location of rays 910 and 908 , respectively may be 30° and 60°.

[0116] According to one embodiment, the transition from wheels PD to wheels POC and back may be determined based on a control switch value σ. σ may be defined in relation to q 0 such that

σ=|φ c ′|+A 1 |LPF ( q 0 )|

[0117] where A 1 is a scaling constant and LPF (q 0 ) is the output of a first order lowpass filter provided with an input signal of q 0 . φ′ c may provide a rough indication of the smoothness of the surface being traversed. For example, the magnitude of φ′ c will be large on uneven surfaces due to rapid cluster orientation changes. Likewise, the magnitude of φ′ c will be smaller on smooth surfaces. It has been empirically determined that a value of A 1 equal to 1.66 is an effective value for some embodiments.

[0118] In order to prevent chattering between modes a hysterisis type of determination may be made when switching modes. For instance, if σ is greater than or equal to an entry value (e.g., 1), the transport device enters wheels POC. The transport device will stay in wheels POC until the value of σ falls to or below an exit value (e.g., 0.5) which point the transport device transfers to wheels PD. Of course, the entry and exit values may vary depending upon the operational characteristic of the transport device.

[0119] FIG. 10 shows a dataflow diagram of one embodiment by which the value of σ may be determined. The external inputs are the pitch rate (θ 1 ′) contained in data block 1002 , the frame pitch θ 1 contained in data block 1004 , and the cluster velocity with respect to gravity φ c ′ contained in data block 1006 . The frame pitch θ 1 is multiplied by the natural frequency of an inverted pendulum ω n at block 1006 . The output of block 1006 is added to the pitch rate received from data block 1002 at summation block 1008 . The output of the summation block 1008 is q 0 . The value q 0 is then passed through a low-pass filter at block 1010 . The absolute value of the low-pass filtered q 0 signal is then determined by block 1012 . The output of block 1012 is then added at the summer 1016 to the cluster velocity φ c ′ of data block 1006 after it has been passed through a low-pass filter at block 1014 and the absolute value has been determined (block 1020 ). The output of the summer 1016 is then passed through low-pass filter 1018 and the output of the low-pass filter 1018 is the value of σ in accordance with the equation described above.

[0120] FIG. 11 shows one embodiment of a flow chart of a method of determining when to transfer between sub-modes of enhanced mode based (in this embodiment) upon φ c and σ. Of course, different switching criteria could be used depending upon how the transport device is modeled. The process begins at block 1102 where the current values of φ c and σ are received. At block 1104 it is determined whether φ c is less than WB on . The variable WB on represents the angular value for φ c below which the transport device should always remain in wheels balance mode. This is shown in FIG. 9 as the region 912 between ray 910 and the vertical axis 902 .

[0121] If φ c is less than WB on , at block 1106 it is determined whether the transport device is currently in wheels balance mode. If the transport device is currently in wheels balance mode than no further processing is required and the process returns to block 1102 . However, if the transport device is not in wheels balance mode then, at block 1108 , the transport device is transferred to wheels balance mode and processing returns to block 1102 .

[0122] If φ c is not less than WB on , it is then determined at block 1110 whether or not φ c is greater than WB off . The value of WB off is the value of θ c below which the transport device should be in either wheels POC mode or wheels PD mode. WB off is represented in FIG. 9 as ray 908 . If φ c is greater than WB off , processing transfers to the wheels PD/wheels POC hysterisis processing section 1112 . If φ c is not greater than WB off , it is known that the value of φ c is in the region between the rays 910 and 908 of FIG. 9 (e.g., region 914 ). As discussed above, in this region, if the center of gravity is near an axis of one of the wheels of the cluster, then the transport device should transfer to wheels balance mode. Thus, at block 1114 , it is determined whether the center of gravity is near one of the wheel axis. If the center of gravity is near one of the wheel axes, then at block 1116 the transport device is transferred to wheels balance mode and processing returns to block 1102 . If, however, the center of gravity is not near one of the wheel axes, processing enters the wheels PD/wheels POC hysterisis processing block 1112 . The location of the center of gravity, as discussed above, is a convenient quantity to consider when determining when to switch modes. However, it should be noted that the center of gravity may actually only be an estimated location that is based upon operational characteristics of the transport device. For instance, the center of gravity may be a representation of both the frame pitch and/or the pitch rate of the transport device. These quantities (as well as others) may be derived from position, velocity, and acceleration sensors that may be included in the transport device.

[0123] The hysterisis processing block 1112 performs the functions described above with respect to transferring between wheels POC and wheels PD based upon the value of σ. Within block 1112 , it is first determined at block 1118 whether the transport device is currently in wheels POC mode. If the transport device is in wheels POC mode, then at block 1120 it is determined whether σ is greater than 0.5. Because it has already been determined that the transport device is already in wheels POC, the value of σ must fall below 0.5 in order to transfer to wheels PD mode. Thus, if it is determined at block 1120 that σ is greater than 0.5, the transport device should stay in wheels POC mode and processing returns to block 1102 . However, if σ has fallen below 0.5, the transport device is transferred to wheels PD mode at block 1122 and processing then returns to block 1102 .

[0124] If it was determined at block 1118 that the transport device was currently not in wheels POC, then, if it is determined at block 1124 that σ has not risen above 1, the transport device should remain in wheels PD mode and processing returns to block 1102 . However, if σ has risen above 1, then the transport device is transferred to wheels POC mode at block 1126 and processing returns to block 1102 . It should be noted that the values for switching given above are by way of example only. These values may change depending upon, for instance, the weight of the user, the weight of the transport device, the accuracy of various sensors of the transport device, and the like.

[0125] The various switching processes described above, as well as various stabilization control within each mode, may be effected by driving both the wheels and the clusters of the transport device. Each wheel may be independently driven by a separate motor. Alternatively, some of the wheels may not be driven by a motor or two wheel attached to a common axis may be driven by a single motor. In addition, the cluster may include a separate motor.

[0126] Regardless of how the transport device is configured, the commands that will control the wheels and cluster, expressed as voltages V w and V c , respectively, such that the transport device remains stable in any of the modes of enhanced mode:

V w =K 1 θ 1 +K 2 θ 1 ′+K 3 X+K 4 X′ ; and

V c =K 5 θ 1 +K 6 θ 1 +K 7 φ c +K 8 φ′ c

[0127] The voltages represent a voltage applied to a drive of an electric motor to produce an output torque. Of course, the drive need not be electric and, in any case, some value other than voltage may be used. The variable X represents the horizontal position error of the transport device and is the difference between the horizontal position of the transport and the desired horizontal position of the transport device. The ′ (prime) notation indicates time differentiation. The coefficients K 1 -K 8 vary depending upon which sub-mode of enhanced mode the transport device is operating.

[0128] Examples of relative values of gain coefficients K 1 -K 8 that may be used by the control unit for each mode are set out in Table A below. Depending on which gains are utilized, the control unit will control the transport device in various ways corresponding to the applicable sub-mode. 1

TABLE A
Gain K1 K2 K3 K4 K5 K6 K7 K8
Variable θ 1 θ 1 x x′ θ 1 θ 1 —c —c
PD 0 0 ++ ++ + + 0 +
POC + + 0 + + + 0 +
WB + + + + + +

[0129] The relative strength and sign of each gain value listed in Table A is sufficient to distinguish each sub-mode. In Table A, a value of ++ is greater than a value of +. The zero values are not necessarily exactly equal to zero but rather, may represent a very small value.

[0130] FIG. 12A shows a block diagram of a control unit 1200 which may be utilized in conjunction with the present invention. The control unit 1200 of this embodiment may control both the cluster and the wheels attached to the cluster according to the equations for V c and V W described above. The primary role of the cluster is to apply torque based on the frame dynamics with respect to gravity (i.e., the cluster is rotated to keep the platform at a desired pitch angle with respect to gravity). In enhanced mode, the wheels should follow the command from the user while monitoring two criteria. If the clusters position with respect to gravity is changing (i.e., the ground incline is changing), or the magnitude q o is large, the wheels may switch from the control of the user to helping the cluster keep the frame upright by using a balancing control instead of a position/velocity control. If the angle of the cluster with respect to gravity diminishes (i.e., the cluster is approaching vertical), the objective is to force the cluster to drop to a more horizontal orientation while minimizing the distance traveled. This helps to ensure that the user remains comfortably supported on the transport device.

[0131] The control unit 1200 may include a wheels controller 1202 and a cluster controller 1204 . The wheels controller 1200 may receive various inputs related to the current operational characteristics of the transport device as well as directional user inputs (for example, received from a joystick). From the inputs, the wheels controller 1202 may generate wheel control voltage V w which controls the wheel motors. The value of V w causes the wheel motors to apply a torque to various wheels of the transports device in order to allow the transport device to be “driven” across a surface. As discussed above, the transport device may include a motor for each wheel and a separate value V w may be generated for the motor of each wheel. In this manner, steering of the transport device may be accomplished by applying differential wheel voltages to the wheels.

[0132] The cluster controller 1204 may also receive various positional inputs related to the transport device in general as well as cluster specific information. The cluster controller 1204 converts this information into a cluster motor control voltage V c . The cluster motor receives the signal V c and causes the cluster to rotate about an axis.

[0133] In one embodiment, the wheel controller 1202 may receive an input from data representing the pitch of the frame (θ 1 ) from data block 1206 : It should be noted that the data as described herein has been recited positively as a value. For instance, frame pitch has been represented as an angular value. However, any of the values used to control both the directional control and stability of the transport device may be expressed as an error term that represents how far the given parameter is from a desired location or in a number of other ways. For instance, the pitch of the frame may be represented as a value by which the current frame pitch differs from a desired pitch. That is, the error signal may equal the difference between the current frame pitch and a frame pitch that places the center of gravity directly over the center point of the cluster. In addition, while various angles have been designated in degrees herein, each angle may be expressed in radians or in “counts” (whole number values) that are calibrated such that the transport device has the desired response upon the receipt of such a value.

[0134] The wheel controller 1202 may also receive a frame rate indication from the data block 1208 . The frame rate indicates the rotational rate at which the frame is moving and may be expressed as the time derivative of the frame pitch of data block 1208 . In addition, the rate at which the frame is moving