1. Field of the Invention
The present invention relates to an apparatus for controlling a vehicle such as a motorized skateboard and also relates to a vehicle equipped with such a control unit. More particularly, the present invention relates to driving control of such a vehicle while the user is stepping on/off the vehicle or riding the vehicle.
2. Description of the Related Art
Motorized skateboards, motorized surfboards, motorized wheelchairs and other vehicles have been known as motorized vehicles that are driven by an electric motor. The user of such a motorized vehicle can control the velocity of (i.e., accelerate or decelerate) the vehicle or change the direction of travel from forward to backward, or vice versa, by manually operating a throttle lever, a joystick or any other control lever.
However, while driving such a motorized vehicle that requires manual operation, the user is apt to pay too much attention to the operation to drive it comfortably. Also, if such a manual operation member is provided, the user can change his or her riding position less freely.
Japanese Patent Application Laid-Open Publication No. 10-23613 discloses a motorized vehicle that does not require the user to perform such a manual operation. In the motorized vehicle disclosed in the Japanese Patent Application Laid-Open Publication No. 10-23613, two pressure sensors, located at front and rear positions of a skateboard, each sense the given load (i.e., the weight of the user). Then, based on the difference between the load values detected by these sensors, a motor is controlled and wheels are driven, thereby propelling the skateboard either forward or backward.
More particularly, this skateboard travels forward if the load placed on the front pressure sensor is heavier than that placed on the rear pressure sensor but travels backward if the load placed on the front pressure sensor is lighter than that placed on the rear pressure sensor. Also, this skateboard accelerates as the difference between the loads placed on the front and rear pressure sensors widens but decelerates as the difference narrows.
Generally speaking, however, it is not easy for every user to control such a motorized skateboard just as he or she intends because he or she has to learn some skills to start or stop the skateboard without stumbling. That is to say, it usually takes a lot of time to master those skills of operation and to use such a motorized vehicle safely. This is because a conventional motorized skateboard that requires no manual operation often works against the will and intended action of the user while he or she is stepping on or off the board.
For example, suppose the velocity of the motorized skateboard is controlled according to the difference between the loads placed on the front and rear pressure sensors. In that case, if the difference between the loads placed on the front and rear pressure sensors becomes equal to zero while the user is riding the skateboard (i.e., when the center of gravity of the user is located substantially at the center of the board), no driving force is generated anymore. That is why the user always has to lean forward while traveling forward and lean backward while traveling backward. As a result, the user gets tired more easily than usual.
Also, if the user of a motorized skateboard moves his or her rear foot off the skateboard in order to stop the skateboard while riding it with both feet placed on the board, the skateboard will accelerate against the will and intended action of the user. This is because in that situation, only the load that has been placed on the rear pressure sensor is removed and the difference between the loads placed on the front and rear pressure sensors increases. That is why it is difficult for the user to stop the skateboard by moving his or her rear foot off the board.
On the other hand, if the user puts one of his or her feet on the front portion of the motorized skateboard while the skateboard is stopped or at rest, the skateboard will start abruptly. This is because only the load placed on the front pressure sensor increases and the difference between the loads placed on the front and rear pressure sensors increases.
In order to overcome the problems described above, preferred embodiments of the present invention provide an apparatus for controlling a vehicle so as to allow its user to ride the vehicle easily and safely and also provide a vehicle including such an apparatus.
A control unit according to a preferred embodiment of the present invention is preferably designed to control a vehicle, which preferably includes a body arranged to allow a user to step thereon, a power generator arranged to generate power that drives the body, and a load sensor unit arranged to output a load value representing a load that has been applied to the body. The control unit preferably includes a processor arranged to calculate a bias of the load based on the load value that has been detected by the load sensor unit, and to output a command value as a function of the bias, and a drive controller arranged to control the power generator in accordance with the command value. The processor outputs the command value for generating the power when there is substantially no bias in the load.
In one preferred embodiment of the present invention, the processor may output the command value for generating the power when the vehicle is in the stopped state and there is substantially no bias in the load.
In an alternative preferred embodiment, the processor may output no command value for generating the power when the vehicle is in the stopped state and there is substantially no bias in the load.
In another alternative preferred embodiment, when there is a bias in the load, the processor may output the command value to drive the body in a direction determined by the bias.
In this particular preferred embodiment, the processor may output the command value to drive the body in a direction in which the load is heavier.
In still another preferred embodiment, the load sensor unit preferably includes a first sensor and a second sensor, which are disposed at mutually different positions on the body, and the processor preferably calculates the bias of the load by reference to a midpoint between the first and second sensors.
In that case, the processor preferably calculates the ratio of at least one of first and second load values, which have been detected by the first and second sensors, respectively, relative to the sum of the first and second load values as the bias.
In yet another preferred embodiment, the control unit preferably further includes a memory that stores at least one map defining a correspondence between the bias and the command value. The processor may output the command value based on the bias and the at least one map.
In this particular preferred embodiment, the control unit preferably further includes a state detector arranged to detect the drive state of the body. The memory preferably stores a plurality of maps. The processor preferably changes the maps according to the drive state detected and outputs the command value based on the ratio and the map selected.
In a specific preferred embodiment, the memory preferably stores a first map defining a first command value to drive the body in a first direction when there is substantially no bias and stores a second map defining a second command value to drive the body in a second direction when there is substantially no bias. If the state detector has detected that the body is being driven in the first direction, the processor preferably changes the map into the first map. But if the state detector has detected that the body is being driven in the second direction, the processor preferably changes the map into the second map.
In an alternative preferred embodiment, the memory preferably further stores a third map defining a third command value for generating no power when there is substantially no bias. The processor preferably changes the map into the third map when the state detector has detected that the body is in the stopped state.
In yet another preferred embodiment, the processor preferably stores in advance an equation defining a relationship between the ratio and the command value and preferably outputs the command value based on the ratio calculated and the equation.
A vehicle according to a preferred embodiment of the present invention preferably includes a body arranged to allow a user to step onto the body, a power generator arranged to generate power that drives the body, a load sensor unit mounted on the body and arranged to output a load value representing a load, and a control unit. The control unit preferably includes a processor arranged to calculate a bias of the load based on the load value that has been detected by the load sensor unit, and to output a command value as a function of the bias, and a drive controller arranged to control the power generator in accordance with the command value. The processor preferably outputs the command value for generating the power when there is substantially no bias in the load.
In one preferred embodiment of the present invention, the vehicle preferably further includes a first wheel and a second wheel that support the body, and at least one of the first and second wheels is preferably dynamically coupled to the power generator.
In this particular preferred embodiment, the body preferably has a board shape and is preferably elongated in a direction in which the first and second wheels are arranged.
In a specific preferred embodiment, the first and second wheels are preferably arranged so as to face each other with respect to an approximate center of the body.
More specifically, the power generator preferably drives the body in the direction in which the first and second wheels are arranged.
In one preferred embodiment, the vehicle is preferably a skateboard.
In a specific preferred embodiment, the load sensor unit may include a first sensor and a second sensor, each of the first and second sensors including a spring and a position sensor.
A control unit according to a preferred embodiment of the present invention is preferably designed to control a vehicle, which preferably includes a body to allow a user to step on, a power generator arranged to generate power that drives the body, and a load sensor unit arranged to output a load value representing a load that has been applied to the body. The control unit preferably includes a memory arranged to store data associated with the command value, the command value corresponding to the load value; a processor arranged to read the data from the memory based on the load value, and to output the command value; and a drive controller arranged to control the power generator in accordance with the command value. The data is associated with the command value for generating the power when there is substantially no bias in the load.
According to a preferred embodiment of the present invention, if substantially no bias is caused in the load by the user who is supported on the moving vehicle, the processor outputs a command value to drive the vehicle either forward or backward. In accordance with that command value, the drive controller controls the power generator and makes the power generator generate power. As a result, the user can drive the vehicle easily and smoothly even without leaning forward or backward.
Other features, elements, processes, steps, characteristics and advantages of the present invention will become more apparent from the following detailed description of preferred embodiments of the present invention with reference to the attached drawings.
Hereinafter, first and second specific preferred embodiments of a vehicle according to the present invention will be described with reference to the accompanying drawings. In the following illustrative preferred embodiments, the vehicle is preferably implemented as a motorized skateboard but this is in no way limiting of the present invention.
When the user steps on the board body 2, the motorized skateboard 1 determines a load value by using one or more sensors (not shown). The motorized skateboard 1 compares the load value with a stored load threshold value (which will be simply referred to herein as a “threshold value”) and carries out an appropriate type of processing based on the result of the comparison and depending on whether the user is on-board or off-board. For example, when it is determined that the load value is increased from equal to or less than a step-on-board threshold value to more than the threshold value, the motorized skateboard 1 senses that the user is already on-board and performs starting processing. Meanwhile, when it is determined that the load value is decreased from equal to or greater than a step-off-board threshold value to less than the threshold value, the motorized skateboard 1 senses that the user has stepped off the board and performs the stopping process.
When the starting or stopping processing is carried out according to the user's state, a drive signal is output to an electric motor (not shown). As a result, the motor is driven. That is to say, power associated with the on-board or off-board state is transmitted from the motor to the wheels. The motorized skateboard 1 never starts before the user puts both of his or her feet on the body while stepping on the board and stops immediately when the user just moves one of his or her feet off the board when stepping off the board.
Hereinafter, the respective members will be described one by one. The board body 2 is a portion on which the user rides either standing or squatting and may be made of a fiber reinforced plastic (FRP), wood or any other suitable material. The board body 2 preferably has an elongated board shape that connects the front and rear wheels 3 and 4 together. The motorized skateboard 1 travels generally parallel to the length direction of the board body 2.
The front and rear wheels 3 and 4 are fitted in a rotatable position with respect to the bottom of the board body 2 by way of the supporting members 5 and 6, respectively. The front wheel 3 and/or the rear wheel 4 may be made of rubber or a resin, for example, and preferably have a raised center portion so that the user can turn or spin the skateboard 1 easily. The front and rear wheels 3 and 4 are preferably arranged so as to interpose the center of the board body 2 between them, and more preferably, so as to be approximately equally spaced apart from the center of the board body 2.
In the following description, the direction pointing from the rear wheel 4 toward the front wheel 3 of the motorized skateboard 1 (i.e., the direction pointed by the arrow in
The protective jacket 7 is preferably arranged so as to cover and protect the motor control unit, battery, etc. (to be described below) such that these components do not get damaged even when the skateboard 1 collides against an obstacle or a protrusion.
The supporting members 5 and 6 are preferably secured to the inner frames 12 and 13, respectively. The front wheel 3 is rotatably supported by the supporting member 5 and the rear wheel 4 is rotatably supported by the supporting member 6.
The supporting member 5 preferably has a pair of substantially elliptical elongate holes 5a, of which the major-axis direction is substantially parallel to the length direction of the motorized skateboard 1. By modifying the fixing position of the front wheel 3 with respect to these elongate holes 5a, the degree of spinning ability of the motorized skateboard 1 can be adjusted.
The inner frame 12 preferably includes a holder 21, in which a shock absorbing member 22 such as a plate spring is fitted. A spacer 23 made of aluminum, for example, is provided over the shock absorbing member 22. The inner frame 12 is preferably arranged so as to turn around the shaft 8a with respect to the outer frame 8.
Also, a front load sensor 10 (which will be referred to herein as a “front sensor”) is attached to the outer frame 8 so as to face the spacer 23. The front sensor 10 can detect a load that has been applied from the board body 2.
As used herein, “to detect a load” means that the front sensor 10 outputs a load value representing the load applied. The load value does not have to be expressed in kilograms, pounds, or any other weight unit but may also be a current or voltage value representing the magnitude of the given load.
In this preferred embodiment, the front sensor 10 is preferably implemented as a strain gauge load cell but other suitable sensors may be used. The strain gauge load cell converts a strain, which is produced when its material is pressed with an externally applied load, into an electrical signal, and then outputs a value of the electrical signal as a load value. It should be noted that the strain gauge load cell and its location are just examples and are in no way limiting of the present invention. Another example will be described below with reference to
Also, the “load that has been applied from the board body 2” to be detected by the front sensor 10 means herein the load actually applied to the front wheel 3 in the overall weight of the board body 2 and the motor, battery and other equipment attached thereto if the user is still off-board. On the other hand, if the user is already on-board, the “load” is one actually applied to the front wheel 3 in the overall weight of the board body 2, the motor, battery and other equipment, and the rider himself or herself.
Under the front sensor 10, the spacer 23 and the shock absorbing member 22 are arranged as described above. These members are provided to prevent an excessive load from being applied to the front sensor 10.
A conductive wire 24 is preferably connected to the front sensor 10 at one terminal thereof. The other terminal of the conductive wire 24 is preferably connected to a motor control unit (see
In this preferred embodiment, a rear load sensor 11 (which will be referred to herein as a “rear sensor”) is further attached to the outer frame 9 (see
Hereinafter, a configuration for a drive system for driving the motorized skateboard 1 will be described with reference to
The functions and configurations of the respective components are as follows. First, the motor control unit 71 preferably operates by using the battery 72 as its power supply and compares the load value supplied from the load sensing unit 78 with an internally stored threshold value. The motor control unit 71 preferably carries out a type of processing based on the result of the comparison and depending on whether the user is on-board or off-board, thereby changing the signal value of the drive signal and outputting the signal to the drive motor 76. The rotational direction and velocity of the drive motor 76 are controlled in accordance with this drive signal.
As used herein, the “type of processing to be carried out depending on whether the user is on-board or off-board” refers to either starting processing to be carried out when the user is on the motorized skateboard 1 or stopping processing to be conducted when the user steps off the motorized skateboard 1. If the user is already on the motorized skateboard 1, the motor control unit 71 preferably calculates the bias of the loads being applied to the board body 2 (i.e., a load ratio) based on the load values and changes the value of the drive signal to be supplied to the drive motor 76 according to the degree of the bias. The motor control unit 71 preferably carries out any of these types of processing selectively. The motor control unit 71 changes the methods of controlling the motorized skateboard 1, or more specifically, the methods of driving the drive motor 76. As a result, the motorized skateboard 1 is driven.
It should be noted that the bias of the load is calculated by reference to a midpoint between the two load sensing positions of the front and rear sensors 10 and 11 as a center point. In this preferred embodiment, the load sensing positions of the front and rear sensors 10 and 11 are located over the front and rear wheels 3 and 4, respectively (see
Next, the configuration of the motor control unit 71 will be described. The motor control unit 71 preferably includes a central processing unit (CPU) 73, a driver 74 and a memory 75.
The CPU 73 preferably receives respective load values from the front and rear sensors 10 and 11. In addition, the CPU 73 receives not only the output signal of the encoder 77 provided for the rear wheel 4 but also the drive signal (i.e., values of a drive current) to the drive motor 76 by way of a feedback circuit F. The encoder 77 always detects the rotational direction and velocity of the rear wheel 4 and outputs the results of the detection. Based on the signals received, the CPU 73 determines if a drive control is accurately carried out in accordance with first and second maps (see
Furthermore, the CPU 73 generates a pulse width modulated (PWM) current command value based on the sensing signals of the front and rear sensors 10 and 11 and supplies the value to the driver 74.
The driver 74 is preferably connected to the drive motor 76 that is provided in the rear wheel 4. The driver 74 preferably generates a drive current, of which the current value is determined by the current command value supplied from the CPU 73, and supplies the drive current to the drive motor 76. In response, the drive motor 76 preferably drives the rear wheel 4 in the direction and power corresponding to the current value of the drive current.
The memory 75 may be a RAM, an EEPROM, or any other suitable storage device to store flags, parameters, the first and the second maps to be described later and other data required for processing.
Next, it will be described how the motorized skateboard 1 operates under the drive control performed by the motor control unit 71. This motorized skateboard 1 is designed such that if the user has stepped on the skateboard 1 in a stopped state without biasing the load, the CPU 73 generates a positive current command value. The skateboard 1 is also designed such that even if the user has shifted his or her weight forward on the board body 2, the current command value also becomes positive. As a result, only a force in the forward rotational direction is transmitted from the drive motor 76 to the rear wheel 4, thereby propelling the motorized skateboard 1 forward.
Furthermore, this skateboard 1 is designed such that if the user has shifted his or her weight backward on the board body 2, the current command value becomes negative. As a result, only a force in the backward rotational direction is transmitted from the drive motor 76 to the rear wheel 4, thereby propelling the motorized skateboard 1 backward.
Meanwhile, this skateboard 1 is also designed such that the CPU 73 generates a current command value of zero once the user has moved even one of his or her feet off the motorized skateboard 1. As a result, the force transmitted from the drive motor 76 also becomes zero and the motorized skateboard 1 finally stops due to the rotational resistance of the rear wheel 4, for example.
Hereinafter, the drive control will be described more specifically with reference to
First, referring to
The start flag indicates whether or not it is ready to start the process of calculating the current command value. More specifically, the start flag shows whether or not the front and rear load values Ff and Fr have been acquired while the user is still off the board body 2. On the other hand, the on-board flag indicates whether or not the user is on the motorized skateboard 1. That is to say, the on-board flag is turned on when the user is already on the skateboard 1.
Next, in Step S2, the CPU 73 sets the current command value for the driver 74 equal to zero. Then, in Step S3, the CPU 73 determines whether or not the start flag is ON. If the answer is NO, the process advances to Step S4. Otherwise, the process advances to Step S5.
In Step S4, the CPU 73 acquires the front load value Ff at that point in time as an initial value Ff0 from the front sensor 10 and also acquires the rear load value Fr at that point in time as an initial value Fr0 from the rear sensor 11. Then, the CPU 73 turns the start flag ON.
In the next step S5, the CPU 73 performs the on-board/off-board decision process. First, the CPU 73 determines, by an on-board flag, whether the user should be regarded as on-board or off-board. If the user should be regarded as off-board, the CPU 73 determines whether or not he or she has put both of his or her feet on the board. On the other hand, if the user should be regarded as on-board, the CPU 73 determines whether or not he or she has moved at least one of his or her feet off the board. The on-board/off-board decision process will be described in further detail below with reference to
In Step S5 of the on-board/off-board decision process, when it is determined that the user has already put both of his or her feet on the board body 2, the on-board flag is turned ON. On the other hand, when it is determined that the user has already moved at least one of his or her feet off the skateboard 1, the on-board flag is turned OFF.
Next, in Step S6, the CPU 73 determines whether or not the on-board flag is ON. If the answer is NO, the CPU 73 goes back to the processing step S5 and repeatedly performs processing steps S5 and S6 until the on-board flag turns ON. On the other hand, if the answer is YES, the process advances to Step S7.
In Step S7, the CPU 73 acquires a current front load value Ff and a current rear load value Fr from the front sensor 10 and the rear sensor 11, respectively, and calculates a front load value Ff′ and a rear load value Fr′ by using the initial values Ff0 and FrO that have been obtained in Step S4. The front and rear load values Ff′ and Fr′ are given by the following Equations (1) and (2), respectively:
Ff′=Ff−Ff0 (1):
Fr′=Fr−Fr0 (2):
By figuring out the front and rear load values Ff′ and Fr′, the load resulting from only the user can be obtained. The remaining processing is carried out using these load values Ff′ and Fr′.
According to Equations (1) and (2), the measuring errors of the sensors due to some variations with time can be calibrated. As to Equation (1), for example, the load values Ff and Ff0 include the same measuring error. That is why the measuring error is canceled by Equation (1). The same statement applies to the load values Fr and Fr0 in Equation (2). The front and rear load values Ff′ and Fr′ calculated by Equations (1) and (2) show the user's load with no measuring errors.
Next, in Step S8, the CPU 73 calculates a load ratio W. The load ratio W is given by the following Equation (3)
W=Ff′/(Ff′+Fr′)−½ (3):
In this case, if the center of gravity of the user is located closer to the front edge than the center of the board body 2, the load ratio W becomes positive. On the other hand, if the center of gravity of the user is located closer to the rear edge than the center of the board body 2, the load ratio W becomes negative. If the center of gravity of the user is located at the center of the board body 2, the load ratio W becomes equal to zero. That is to say, the load ratio W shows to what degree the load placed on the board body is biased. The load ratio W will be used in processing steps S10 and S11 to be described below.
The load ratio W is defined in order to perform a control operation without being affected by the user's weight. More specifically, if the velocity is controlled according to only the difference between the loads placed on the front and rear sensors, the difference in weight between the users will make a big difference. That is to say, if the user is heavy, the difference between the loads placed on the front and rear sensors can be big enough to accelerate or decelerate the skateboard quickly. However, if the user is light, it is more difficult to widen the difference to such an extent as to accelerate or decelerate the skateboard quickly.
Optionally, the load ratio W may be calculated by the following Equation (4)
W=Fr′/(Ff′+Fr′)−½ (4):
According to this Equation (4), if the center of gravity of the user is located closer to the front edge than the center of the board body 2, the load ratio W becomes negative. On the other hand, if the center of gravity of the user is located closer to the rear edge than the center of the board body 2, the load ratio W becomes positive.
Next, in Step S9, the CPU 73 determines whether the motorized skateboard 1 is now going forward, going backward or stopping. If the motorized skateboard 1 is going forward or stopping, the process advances to Step S10. On the other hand, if the motorized skateboard 1 is going backward, the process advances to Step S11. The direction of travel can be specified by the velocity and direction of rotation that have been detected by the encoder 77, for example.
In Step S10, the CPU 73 performs a map interpolation process using a first map (to be described below), thereby calculating a current command value for the driver 74. In Step S1, on the other hand, the CPU 73 performs a map interpolation process using a second map (to be described below), thereby calculating a current command value for the driver 74. The first and second maps are stored in the memory 75. Depending on the type of processing that needs to be carried out, the CPU 73 selectively reads out one of the first and second maps from the memory 75. The processing that uses the first and second maps will be described more fully below with reference to
In Step S12, the CPU 73 figures out the difference (or variation) between the present and previous current command values for the driver 74. As will be described below, the previous current command value is stored in the memory 75. It should be noted that the previous current command value is set to be equal to the initial value “0” when the motorized skateboard 1 has just been turned ON. Subsequently, in Step S13, the CPU 73 determines whether or not the difference in current command value that has been figured out in Step S12 is greater than a predetermined current reference value. If the answer is YES, the process advances to Step S14. Otherwise (i.e., if the difference is equal to or smaller than the predetermined current reference value), the process advances to Step S15.
In Step S14, the CPU 73 changes the current command value by the current reference value. More specifically, if the present current command value has increased from the previous one by at least the current reference value, the CPU 73 adds the current reference value to the previous current command value and sets the sum as a new current command value. On the other hand, if the present current command value has decreased from the previous one by at least the current reference value, the CPU 73 subtracts the current reference value from the previous current command value and sets the remainder as a new current command value. As can be seen easily from these process steps, the current reference value represents an upper limit of the allowable variation of the current command value.
Next, in Step S15, the CPU 73 gets the new current command value stored in the memory 75 and outputs the new current command value to the driver 74. In response, the driver 74 generates a drive current, having a current value corresponding to the current command value, and supplies it to the drive motor 76. As a result, the motorized skateboard 1 is driven. Thereafter, the process returns to the processing step S3 and the processing steps S3 through S15 are carried out over and over again.
According to the processing steps S12 through S14, if the absolute value of the difference between the present and previous current command values is equal to or smaller than the current reference value, the current command value is not updated. However, if the absolute value of the difference exceeds the current reference value, the current command value is changed by the current reference value. Consequently, it is possible to prevent the motorized skateboard 1 from being accelerated or decelerated too abruptly or rapidly, so as to make the motorized skateboard 1 move smoothly.
Next, the map interpolation process to be carried out in the processing steps S10 and S11 will be described with reference to
In the memory 75 shown in
As can be seen from the curves showing the first and second maps, if the load ratio W is near zero, the current command value has a relatively small absolute value and each curve has a relatively small gradient. Meanwhile, as the absolute value of the load ratio W increases, the absolute value of the current command value also increases gradually and each curve has a relatively large gradient. If the absolute value of the load ratio W becomes extremely large (i.e., when the user steps on the front or rear edge of the board body 2), the absolute value of the current command value increases steeply with limitation of the current reference value. Then, a huge driving force is generated.
A positive load ratio value means that the user's load is biased forward with respect to the center of the board body 2. In that case, a driving force in the forward rotational direction is transmitted to the rear wheel 4. As a result, the motorized skateboard 1 moves forward. On the other hand, a negative load ratio value means that the user's load is biased backward with respect to the center of the board body 2. In that case, a driving force in the reverse rotational direction is transmitted to the rear wheel 4. As a result, if the motorized skateboard 1 is now in a stopped state, the skateboard 1 starts to go backward. But if the motorized skateboard 1 is now going forward, the skateboard 1 is braked and eventually stops.
The first map shown in
As can be seen from the first map, the motorized skateboard 1 of this preferred embodiment is preferably designed so as to go forward even when the board body 2 has a velocity of zero. The motorized skateboard 1 of this preferred embodiment includes the front and rear wheels 3 and 4 with raised center portions. Accordingly, such a motorized skateboard 1 is unstable when stopping or starting to move. That is why even if the board body 2 has a velocity of zero, the motorized skateboard 1 is still preferably driven forward. Alternatively, the skateboard 1 may also be driven backward in such a situation. It should be noted that “stopping” is preferably detected when the board body 2 has a velocity of zero after it has been sensed that the user is already on-board.
According to the above processing, the motorized skateboard 1 starts moving when the user is on-board and the on-board flag is turned ON. After that, the motorized skateboard 1 is in the moving state.
Next, it will be described with reference to
When the CPU 73 outputs the current command value with the waveform shown in
This control technique shares the same concept with the processing step S14 (see
Instead of calculating the current command value to be supplied by the CPU 73 to the driver 74 using the first and second maps, the CPU 73 may figure out the current command value T by the following Equation (5)
T=K·(Ff′/(Ff′+Fr′)−½)+KV·V (5):
where K and KV are predetermined coefficients and V is the velocity of the motorized skateboard 1. If this Equation (5) is adopted, there is no need to store the data of the first and second maps in the memory 75.
Next, the on-board/off-board decision process (i.e., the processing step S5 shown in
In this preferred embodiment, a pair of threshold values THf1 and THr1 for determining whether or not the user who should be regarded as off-board has put both of his or her feet on the board and another pair of threshold values THf2 and THr2 for determining whether or not the user who should be regarded as on-board has moved at least one of his or her feet off the board, are supposed to be used as a plurality of threshold values. The following Table 1 summarizes the respective threshold values and their conditions of use. These threshold values are stored in the memory 75 and read out as required.
However, the individual magnitudes of the threshold values THf1 and THr1 may be appropriately determined. For example, if the motorized skateboard 1 is supposed to be used by at least “10-year-old” kids, those threshold values may correspond to a weight of 15 kg, which is less than a half of the average weight of approximately 34 kg of 10 year olds. Alternatively, the user may set a value that matches his or her own weight by manipulating setting buttons (not shown) that are provided for the motorized skateboard 1. A similar statement applies to the threshold values THf2 and THr2, which may correspond to a weight of 8.5 kg that is approximately a quarter of the average weight of 10 year olds. The threshold values THf1 and THr1 are preferably the same in this preferred embodiment but may be different from each other. Likewise, the threshold values THf2 and THr2 are also supposed to be the same in this preferred embodiment but may be different from each other, too.
The series of processing steps S52 through S55 is a process that judges that the user who should have been off-board has just got on-board if the front load value Ff′ is equal to or greater than the threshold value THf1 and if the rear load value Fr′ is equal to or greater than the threshold value THr1. This means that the user is judged “on-board” only if the user has placed both of his or her feet on the board body 2. As a result, it is possible to avoid an unwanted situation where the motorized skateboard 1 starts abruptly before the user has placed both of his or her feet on the board body 2. On the other hand, if the threshold values do not satisfy these conditions, the processing is carried out with the user still judged “off-board” (i.e., he or she still stays off the skateboard 1).
Hereinafter, these processing steps S52 through S55 will be described more specifically. First, in Step S52, the CPU 73 compares the front load value Ff′ with the threshold value THf1 to determine whether or not the front load value Ff′ is smaller than the threshold value THf1. If the answer is YES, this decision process ends and the processing step S6 (see
In Step S53, the CPU 73 compares the rear load value Fr′ with the threshold value THr1 to determine whether or not the rear load value Fr′ is smaller than the threshold value THr1. If the answer is YES, this decision process ends and the processing step S6 (see
In Step S54, the CPU 73 judges the user already on-board and turns the driver 740N. Next, in Step S55, the CPU 73 turns the on-board flag ON. Thereafter, the process returns to the processing step S6 (see
Next, the other series of processing steps S56 through S61 will be described.
The series of processing steps S56 through S61 is a process that judges that the user still stays on the skateboard 1 if the front load value Ff′ is equal to or greater than the threshold value THf2 and if the rear load value Fr′ is equal to or greater than the threshold value THr2. This means that the user is judged “off-board” if the user has moved at least one of his or her feet off the board body 2. As a result, the user can readily stop the motorized skateboard 1 just by moving one of his or her feet off the skateboard 1. On the other hand, if the threshold values do not satisfy these conditions, the processing is carried out with the user judged already “off-board”.
Hereinafter, these processing steps S56 through S61 will be described more specifically. First, in Step S56, the CPU 73 compares the front load value Ff′ with the threshold value THf2 to determine whether or not the front load value Ff′ is smaller than the threshold value THf2. If the answer is YES, the user is judged off-board and the process advances to Step S58. Otherwise (i.e., if the front load value Ff′ is equal to or greater than the threshold value THf2), the process advances to Step S57.
In Step S57, the CPU 73 compares the rear load value Fr′ with the threshold value THr2 to determine whether or not the rear load value Fr′ is smaller than the threshold value THr2. If the answer is YES, the process advances to Step S58. Otherwise (i.e., if the rear load value Fr′ is equal to or greater than the threshold value THr2), the CPU 73 judges that the user is still on-board and the process returns to the processing step S6 (see
In Step S58, the CPU 73 judges that the user is off-board and sets the current command value for the driver 74 equal to or near zero so as to decelerate the skateboard 1. Next, the CPU 73 turns the driver 74 OFF in Step S59, turns the on-board flag OFF in Step S60, and turns the start flag OFF in Step S61. Thereafter, the process returns to the processing step S6 (see
A preferred embodiment of the present invention has just been described as being applied to the motorized skateboard 1, of which the configuration and operation are preferably as described above.
In the preferred embodiment described above, if the center of gravity of the user is located at the center of the board body 2 (i.e., if the value of the load ratio W is substantially equal to zero) while the motorized skateboard 1 is moving forward or backward, power is supplied to the motorized skateboard 1 to keep the skateboard 1 going forward or backward. Accordingly, even if the user has shifted his or her center of gravity to the center of the board body 2 while driving the motorized skateboard 1, the skateboard 1 never brakes suddenly.
Also, the motorized skateboard 1 is designed to start to move forward if the center of gravity of the user is located at the center of the board body 2 in the stopped state (i.e., if the value of the load ratio W is substantially equal to zero). Thus, the user can start the motorized skateboard 1 easily and quickly when stepping on the skateboard 1.
The first and second maps are defined such that the current command value changes according to the value of the load ratio W. Consequently, the user can ride the skateboard much more comfortably. In addition, by using the first and second maps in the process of calculating the current command value, the best current command value for the driver 74 can be specified easily with respect to the value of the load ratio W.
In the on-board/off-board decision process shown in
On the other hand, the user is regarded as off-board if the user moves at least one of his or her feet off the board body 2 while the on-board flag is ON (i.e., while the user stays on-board), more specifically, if the front load value Ff′ becomes smaller than the threshold value THf2 or if the rear load value Fr′ becomes smaller than the threshold value THr2. As a result, the user can stop the motorized skateboard 1 easily just by moving only one of his or her feet off the board body 2.
Furthermore, if the absolute value of the difference between the previous and present current command values is equal to or smaller than the current reference value, the current command value is not updated. However, if the absolute value of the difference between the previous and present current command values exceeds the current reference value, the current command value is changed by the current reference value. Consequently, it is possible to prevent the motorized skateboard 1 from accelerating or decelerating steeply and to move the motorized skateboard 1 smoothly.
In the preferred embodiment described above, the threshold value THf1 is set to be greater than the threshold value THf2 and the threshold value THr1 is set to be greater than the threshold value THr2. Accordingly, even if the user who is stepping on the skateboard 1 gives the board body 2 some vibrations, the user is never judged already on-board. Thus, the motorized skateboard 1 never starts abruptly. Likewise, even if a slight load variation has occurred while the user is staying on the board body 2, the user is never judged off-board, either. That is why the motorized skateboard 1 does not stop suddenly. As a result, the user can start and stop the motorized skateboard 1 smoothly.
Furthermore, in the preferred embodiment described above, the ratio of the front or rear load value Ff′ or Fr′ to the sum of the front and rear load values Ff′ and Fr′ is calculated as the load ratio W and the current command value is calculated based on this load ratio W. This load ratio W is determined by the distribution of the loads on the front and rear sensors 10 and 11 irrespective of the user's weight. As a result, the acceleration and deceleration of the motorized skateboard 1 can be controlled just as intended, no matter how heavy the user may be.
Furthermore, in the preferred embodiment described above, the front and rear sensors 10 and 11 are preferably provided. Then, the load values detected by these sensors may be used in both the process of controlling the velocity of the motorized skateboard 1 and the process of determining whether the user is on-board or off-board. However, no other sensors but these two sensors 10 and 11 are needed, and the number of necessary parts can be reduced.
A motorized skateboard according to a second specific preferred embodiment of the present invention performs a different type of drive processing from the counterpart of the first preferred embodiment described above. More specifically, in the drive processing of this second preferred embodiment, if the motorized skateboard 1 is in the stopped state and if the center of gravity of the user is located at the center of the board body 2 (i.e., if the value of the load ratio W is zero), the motorized skateboard 1 remains stopped. The rest of the processing except the drive processing and the hardware configuration are preferably similar to that of the first preferred embodiment.
Thus, the following description of the second preferred embodiment will be focused on the processing steps S29, S30 and S35 through S37 shown in
In Step S29, the CPU 73 determines whether the motorized skateboard 1 is going forward or not. If the answer is YES (i.e., the motorized skateboard 1 is in a moving state), the process advances to Step S30. Otherwise, the process advances to Step S35. The direction of travel can be specified by the direction of rotation that has been detected by the encoder 77, for example.
In Step S30, the CPU 73 performs the map interpolation process using the first map just as already described for the first preferred embodiment, thereby calculating a current command value for the driver 74. Thereafter, the process advances to Step S31.
In Step S35 on the other hand, the CPU 73 determines whether the motorized skateboard 1 is stopping or not. If the answer is YES (i.e., the motorized skateboard 1 is in a stopped state), the process advances to Step S36. Otherwise (i.e., if the motorized skateboard 1 is going backward and is in a moving state), the process advances to Step S37. The direction of travel in Step S35 can be specified by the velocity and/or direction of rotation that have been detected by the encoder 77, for example. If the rotational velocity of the wheels is zero, the motorized skateboard 1 can be regarded as stopping. Meanwhile, if the wheels are turning in the forward or reverse direction, the motorized skateboard 1 can be regarded as moving.
In Step S36, the CPU 73 performs a map interpolation process using a third map (to be described below), thereby calculating a current command value for the driver 74.
In Step S37, the CPU 73 performs the map interpolation process using the second map just as already described for the first preferred embodiment, thereby calculating a current command value for the driver 74. When the processing step S36 or S37 is finished, the process advances to Step S31.
Hereinafter, the map interpolation process to be carried out in the processing steps S30, S36 or S37 will be described with reference to
The first map is used to calculate the current command value when the motorized skateboard 1 is going forward, while the second map is used to calculate the current command value when the motorized skateboard 1 is going backward. The first and second maps have the same shapes as the counterparts of the first preferred embodiment described above.
In the memory 75 shown in
As shown by its curve in
Also, according to the third map curve, as the absolute value of the load ratio W increases, the absolute value of the current command value increases gradually. In this case, the relationship between the load ratio W and the current command value is substantially represented by a linear function with an almost constant gradient. However, if the absolute value of the load ratio W increases greatly (i.e., if the user puts his or her feet on the front or rear edge of the board body 2 while the motorized skateboard 1 is stopping), the absolute value of the current command value increases steeply with limitation of the current reference value. In such a situation, a huge driving force will be generated. It should be noted that even in the case where the motorized skateboard 1 is driven based on the third map, the current command value is preferably increased and/or decreased with predetermined limitation in a stepwise manner as shown in
In the processing steps S29, S30 and S35 through S37, the CPU 73 switches the references (i.e., maps) to calculate the current command value depending on whether the motorized skateboard 1 is going forward, going backward or stopping. As a result, the operation of the motorized skateboard 1 can be controlled very precisely.
The driving method using the third map is effectively applicable to a motorized skateboard that can stand still in the stopped state (e.g., a motorized skateboard including wheels with a flat grounding surface). If the bias of the load is reduced to almost zero after the user has stepped on the board and if the load is gradually increased in the direction of travel after that, the user can accelerate the motorized skateboard 1 without stumbling. As a result, even a user who is trying the motorized skateboard for the first time can start the skateboard easily and safely.
A preferred embodiment of a motorized skateboard according to the present invention has just been described.
Although strain gauge load cells are preferably used as the front and rear sensors 10 and 11 in the preferred embodiments described above, the present invention is in no way limited to that specific preferred embodiment. Alternatively, electrostatic capacitance load cells or pressure sensors may also be used instead.
As another alternative, the load may also be sensed by replacing the front and rear sensors 10 and 11, such as load cells for directly sensing the load, with a combination of an elastic member such as a spring and a position sensor for sensing the load by detecting the displacement of the elastic member. The load sensing unit 78 (see
In such an arrangement, when a load is applied to the board body 2, the frame 35a swings downward around the shaft 45 as pointed by the arrow D, thereby compressing the spring 36. At this point in time, although the coupling member 365 itself does not move, the position sensor 361 does move with the frame 35a. As a result, the strip member 364 displaces in the position sensor 361 in one of the directions pointed by the arrow C. Then, by detecting the magnitude of displacement of the strip member 364 in the sensor length direction, the position sensor 361 can sense the load being placed on the board body 2.
In the preferred embodiments described above, the front wheel 3 is preferably a free wheel and the rear wheel 4 is supposed to be a driving wheel. However, this is just an example. That is, the front wheel 3 and rear wheel 4 may be used as a driving wheel and a free wheel, respectively, or the front and rear wheels 3 and 4 may be both driving wheels. In the latter case, at least a driver and a drive motor for controlling the drive of the front wheel 3 and another driver and another drive motor for controlling the drive of the rear wheel 4 are needed. These two drive systems are controlled independently of each other. In such an alternative preferred embodiment, only one CPU may be provided for the two systems or one CPU may be provided for each driver. Optionally, a motor control unit including a CPU, a driver and a memory may even be provided for each of the front and rear wheels 3 and 4.
The motorized skateboard 1 has been described as a preferred embodiment of the present invention. In the motorized skateboard 1 described above, the board body 2 thereof preferably has an elongated board shape. However, the board body 2 does not always have to be such a flat plate but may have a somewhat curved surface.
Also, the basic concept of the present invention is equally applicable to a motorized surfboard, a motorized wheelchair or any other vehicle with an electrical power source. Furthermore, the power source does not have to be an electric motor but may also be an internal combustion engine. If the present invention is carried out using an internal combustion engine, the current command value may be replaced with a command value for controlling an opening amount of a throttle and the drive current for the drive motor 76 may be a drive current for a drive motor that drives the throttle.
It should be noted that the processing by the CPU 73 does not always have to be done on the motorized skateboard 1.
A motor control unit according to a preferred embodiment of the present invention and a vehicle including the motor control unit can perform the processing described above according to a computer program. The computer program may be described based on the flowchart shown in
The present invention is effectively applicable for use as a control unit for controlling a vehicle such as a motorized skateboard and as a vehicle including such a control unit.
While the present invention has been described with respect to preferred embodiments thereof, it will be apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than those specifically described above. Accordingly, it is intended by the appended claims to cover all modifications of the invention that fall within the true spirit and scope of the invention.
This application is based on Japanese Patent Application No. 2004-268085 filed on Sep. 15, 2004 and the entire contents of which are hereby incorporated by reference.
Number | Date | Country | Kind |
---|---|---|---|
2004-268085 | Sep 2004 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5487441 | Endo et al. | Jan 1996 | A |
6059062 | Staelin et al. | May 2000 | A |
7090040 | Kamen et al. | Aug 2006 | B2 |
20050160902 | Iwai et al. | Jul 2005 | A1 |
20060049595 | Crigler et al. | Mar 2006 | A1 |
20060170174 | Hiramatsu | Aug 2006 | A1 |
Number | Date | Country |
---|---|---|
0 896 071 | Feb 1999 | EP |
09-010375 | Jan 1997 | JP |
10-023613 | Jan 1998 | JP |
10-211313 | Aug 1998 | JP |
10-314366 | Dec 1998 | JP |
2000-140190 | May 2000 | JP |
2003-237670 | Aug 2003 | JP |
2004-359094 | Dec 2004 | JP |
W0 2005014128 | Feb 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20060055165 A1 | Mar 2006 | US |