System for assisting in driving a bicycle by sending a haptic feedback to a cyclist
10392070 · 2019-08-27
Assignee
Inventors
- Fabio Todeschini (Lecco, IT)
- Sergio Matteo Savaresi (Cremona, IT)
- Matteo Corno (Milan, IT)
- Giulio PANZANI (Monza, IT)
- Matteo Pasquini (Pasturo, IT)
- Alessio Nicolò Cota (San Giuliano Milanese, IT)
Cpc classification
B62J45/20
PERFORMING OPERATIONS; TRANSPORTING
B60Q9/002
PERFORMING OPERATIONS; TRANSPORTING
G01C21/3652
PHYSICS
B60Q9/00
PERFORMING OPERATIONS; TRANSPORTING
B62J50/21
PERFORMING OPERATIONS; TRANSPORTING
International classification
B62J99/00
PERFORMING OPERATIONS; TRANSPORTING
B60Q9/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
System for assisting in driving a bicycle by sending a haptic feedback to a cyclist having means for detecting the current value of a target quantity (q, v); and a memory module configured for supplying an optimal value of the target quantity (q.sub.max; v.sub.max) corresponding to the current spatial position (x) of the bicycle along the predetermined path or corresponding to the current instant (t). A comparator module is configured for determining a quantity representative of the error (e.sub.q; e.sub.v) between said current value of the target quantity (q, v) and said optimal value of the target quantity (q.sub.max; v.sub.max) supplied by the memory module. An actuator is applicable to a portion of the bicycle (100), suitable for generating vibrations. A control module is configured for determining a vibration frequency (f) of the actuator based on the error (e.sub.q; e.sub.v), wherein the said vibration implements the haptic feedback to the cyclist.
Claims
1. System for assisting in driving a bicycle by sending a haptic feedback to a cyclist, comprising: means for detecting the current value of a target quantity (q; v); a memory module wherein an optimal profile of said target quantity is stored or storable, as a function of a spatial position (x) of the bicycle along a predetermined path, or as a function of time (t), configured for supplying an optimal value of the target quantity (q.sub.max; v.sub.max) corresponding to the current spatial position (x) of the bicycle along the predetermined path or corresponding to the current instant (t); a comparator module configured for determining a quantity representative of the error (e.sub.q; e.sub.v) between said current value of the target quantity (q; v) and said optimal value of the target quantity (q.sub.max; v.sub.max) supplied by the memory module; an actuator applicable to a portion of the bicycle, suitable for generating vibrations; a control module configured for determining a vibration frequency (f) of the actuator, based on said error (e.sub.q; e.sub.v) between the current (q; v) and the optimal values (q.sub.max; v.sub.max) of the target quantity and for generating a command signal of the actuator so that the actuator vibrates at said vibration frequency (f), wherein said vibration implements the haptic feedback to the cyclist, wherein said quantity representative of the error between the current value of the target quantity (q; v) and the optimal value of the target quantity (q.sub.max; v.sub.max) is calculated by the comparator module, based on the following relation:
e.sub.q=(q.sub.maxq)/q.sub.max wherein: q is the current value of the target quantity; q.sub.max is the optimal value of the target quantity, and wherein said vibration frequency (f) is settable by the control module between a maximum value (f.sub.max) and a value equal to 0, so that: the vibration frequency (f) is equal to the maximum frequency (f.sub.max) if the current value of the target quantity (q, v) is greater than the optimal value of the target quantity (q.sub.max; v.sub.max); the vibration frequency (f) gradually or instantaneously decreases as the current value of the target quantity (q, v) decreases in comparison with the optimal value of the target quantity (q.sub.max; v.sub.max), until it becomes zero when the target quantity error (e.sub.q) reaches a threshold value e.sub.q* in the range 0-1.
2. System according to claim 1, wherein said target quantity is the bicycle speed and said means for detecting the current value of the target quantity comprise an angular speed sensor suitable for being coupled to a wheel of the bicycle and for generating a signal representative of its angular speed ().
3. System according to claim 2, wherein said means for detecting the target quantity comprise an inertial measurement unit suitable for measuring at least one of the longitudinal (ax), lateral (ay) and vertical accelerations (az), the roll (x), pitch (y) and yaw (z) angular speeds of the bicycle and for generating signals representative of the same.
4. System according to claim 1, wherein said target quantity is the cyclist's pedaling power and said means for detecting the current value of the target quantity comprise a torque sensor, suitable for being coupled to a pedaling system of the bicycle and for generating a signal representative of the torque applied to the bicycle pedaling system, and an angular speed sensor suitable for being coupled to the bicycle pedaling system and for generating a signal representative of the speed of the bicycle pedaling system.
5. System according to claim 1, wherein said target quantity is the cyclist's heart rate and said means for detecting the current value of the target quantity comprise a heart rate sensor suitable for being applied to the cyclist and for generating a signal representative of the cyclist's heart rate.
6. System according to claim 1, wherein an optimal profile of said target quantity is stored or storable in said memory module as a function of the bicycle spatial position (x) along a predetermined path; the memory module, configured for supplying the optimal value of the target quantity (q.sub.max; v.sub.max) corresponding to the current spatial position (x) of the bicycle along the predetermined path, wherein system further comprises a module for determining the bicycle spatial position (x) along said predetermined path.
7. System according to claim 3, wherein an optimal profile of said target quantity is stored or storable in said memory module as a function of the bicycle spatial position along a predetermined path; the memory module, configured for supplying the optimal value of the target quantity (q.sub.max; v.sub.max) corresponding to the current spatial position (x) of the bicycle along the predetermined path, wherein the system further comprises a module for determining the bicycle spatial position (x) along said predetermined path, and wherein said module for determining the spatial position of the bicycle along a predetermined path is configured for determining said bicycle spatial position (x) along the predetermined path based on said signal representative of the angular speed () of the bicycle wheel and/or based on said signals representative of the longitudinal (ax), lateral (ay) and vertical (az) accelerations and of the roll (x), pitch (y) and yaw (z) angular speeds of the bicycle.
8. System according to claim 6, wherein said module for determining the bicycle spatial position along a predetermined path is a GPS module, adapted to detect the current latitude, longitude and height and to determine the bicycle spatial position (x) along the predetermined path based on said current latitude, longitude and height.
9. Bicycle comprising the system for assisting in driving the bicycle itself by sending a haptic feedback to the cyclist according to claim 1.
10. Bicycle according to claim 9, comprising a brake lever, wherein said actuator is configured for vibrating at a vibration frequency (f) so as to supply said vibratory haptic feedback to the cyclist through said brake lever.
11. Bicycle according to claim 10, wherein said actuator is housed in a rear groove of said brake lever.
12. System for assisting in driving a bicycle by sending a haptic feedback to a cyclist, comprising: means for detecting the current value of a target quantity (q; v); a memory module wherein an optimal profile of said target quantity is stored or storable, as a function of a spatial position (x) of the bicycle along a predetermined path, or as a function of time (t), configured for supplying an optimal value of the target quantity (q.sub.max; v.sub.max) corresponding to the current spatial position (x) of the bicycle along the predetermined path or corresponding to the current instant (t); a comparator module configured for determining a quantity representative of the error (e.sub.q; e.sub.v) between said current value of the target quantity (q; v) and said optimal value of the target quantity (q.sub.max; v.sub.max) supplied by the memory module; an actuator applicable to a portion of the bicycle, suitable for generating vibrations; a control module configured for determining a vibration frequency (f) of the actuator, based on said error (e.sub.q; e.sub.v) between the current (q; v) and the optimal values (q.sub.max; v.sub.max) of the target quantity and for generating a command signal of the actuator so that the actuator vibrates at said vibration frequency (f), wherein said vibration implements the haptic feedback to the cyclist, further comprising a module for the current control of the actuator, comprising: a memory module suitable for supplying, at the output, a reference current (I.sub.ref) starting from the actuator command signal based on a static map stored in the memory module itself, which correlates said reference current (I.sub.ref) with the actuator vibration frequency (f); a current sensor suitable to measure an effective current (I) of the motor; a voltage command module adapted to determine a voltage (DC) to be applied to the actuator so that the latter is supplied by a predetermined current; wherein said module for the current control of the actuator is configured so to determine a current error (e.sub.I) between the reference current (I.sub.ref) and the effective current (I) and said voltage command module is configured so to determine the voltage to be applied to the actuator so that the actuator effective current (I) follows the trend of the reference current and therefore said current error (e.sub.I) is minimized.
13. Bicycle comprising the system for assisting in driving the bicycle itself by sending a haptic feedback to the cyclist according to claim 12.
Description
BRIEF DESCRIPTION OF THE FIGURES
(1) To better understand the invention and appreciate its advantages, some of its non-limiting exemplary embodiments will be described below, referring to the attached figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DESCRIPTION OF THE INVENTION EMBODIMENTS
(13) With reference to the appended figures, systems for assisting in driving a bicycle by sending a haptic feedback to the cyclist will be described in detail, according to some possible alternative embodiments of the invention. Further variations, not described, are however possible, as it will be explained later.
(14) Referring to
(15) Bicycle 100 comprises a system 1 for assisting in driving the bicycle by sending a haptic feedback to the cyclist. As explained afterwards, system 1 monitors a target quantity and, depending on its trend in space or time, it provides to the cyclist a vibratory haptic feedback, which makes the cyclist change his behavior. Different kinds of said monitored quantity can be used, and, consequently, a different set of sensors will be attached to the bicycle. In the exemplary embodiments shown in
(16) With reference now to the exemplary cases of
(17) In addition, system 1 may further comprise an inertial measurement unit 18 suitable for measuring at least one of the longitudinal ax, lateral ay and vertical az accelerations, the roll x, pitch y and yaw z angular speeds of the bicycle and for generating signals representative of the same. The inertial measurement unit 18 can help to determine the bicycle speed v in case the information provided by sensor 2 is not true, for example in case of slip of the wheel, sensor 2 itself is associated to. For example, it is possible to compare the acceleration obtained from the wheel speed (using the relation a={dot over ()}.Math.R) with the longitudinal acceleration ax, provided by the inertial measurement unit. If the wheel is slipping, the acceleration a has an outlier in comparison with the acceleration ax. Therefore, when this outlier signals that the wheel is slipping, the speed can be calculated by integrating the longitudinal acceleration ax over limited time intervals.
(18) Furthermore, as shown afterwards, according to a variation of the invention, the inertial measurement unit can be used to determine a spatial position of the bicycle along a predetermined path.
(19) System 1 further comprises an actuator 4 suitable to produce vibrations. For example, the actuator 4 may comprise an eccentric mass, which produces vibrations when rotating. The actuator 4 is applicable to a bicycle part so that, as the actuator vibrates, the vibrations are perceived by the cyclist. Preferably, the actuator 4 is applied on a brake lever of one of the wheels.
(20) With reference to
(21) The actuator 4 is preferably a brushed DC type and can be voltage or current controlled, as explained afterwards.
(22) The actuator 4 is preferably associated with a battery 23, for its power supply and handling.
(23) Referring now to the embodiment in
(24) System 1 further comprises a module 6 for determining the position x of the bicycle along a predetermined path. The position along the predetermined path, which is set a priori, can be determined, for example, based on the coordinates (cartesian or polar) with respect to an origin that, for example, may coincide with the origin of the path itself. Preferably the coordinates are spatial, so as to consider also the path height. The predetermined path, for example, may be a road definable on a map (such as Google Maps or similar maps). The position x can be determined, for example, by proper algorithms based on odometry, known per se, using the bicycle speed v as input quantity. According to these known algorithms, the bicycle position along the predetermined path is determined by numerical integration of speed v. In addition, it is also potentially possible to take advantage of the signals from the inertial measurement unit for a more precise estimation. In fact, determining the position from the simple integration of speed v, can lead to incorrect estimations due to small errors in measuring speed v and said errors have been accumulated during the integration in time. The use of the inertial measurement unit signals, as shown, allows obtaining a more accurate measurement of speed, so that it is less subject to errors. Moreover, the measurements of the accelerations and of the angular speeds allow recognizing each single curve in the predetermined path. The signals coming from the inertial measurement unit then can be used to determine the bicycle position along the predetermined path, as an alternative to the algorithm based on odometry, or in addition to it, to get a more accurate estimation.
(25) System 1 further comprises a memory module 7, wherein a target speed profile is stored or storable as a function of the position along the predetermined path. For example, once the path to follow is known, the target speed may represent the maximum speed for driving along the whole path. The maximum speed can be defined, for example, taking into account the slope conditions in the path segments, the bending radius of the curves, the type of asphalt, the asphalt surface conditions (dry or wet). The racing cyclist, for example, can take advantage of the target speed for his training (in this case the target speed can represent a limit to reach) or alternatively by an amateur cyclist, who in general reaches lower performance levels, but who wants to drive along the path safely, avoiding risky situations.
(26) Returning to
(27) System 1 further comprises a comparator module 8 configured for comparing the target speed v.sub.max, provided by module 7, and the effective speed v of the bicycle in the position x along the predetermined path, as detected by the available sensors. The comparison, for example, may be expressed as a speed error e.sub.v, as follows:
e.sub.v=(v.sub.maxv)/v.sub.max
(28) The speed error e.sub.v is the input quantity in the control module 5, which, according to said speed error, determines the frequency f, the actuator 4 should have in order to send haptic feedback to the cyclist, and generates a corresponding command signal for the actuator 4. Considering its definition, the speed error e.sub.v will be a percentage error in the range 0-1 (that is between 0% and 100%).
(29) In
(30) On the contrary, if the error e.sub.v is positive, i.e. if the current speed v is lower than the target speed v.sub.max, the vibration frequency f is modulated and tends to decrease, when it gets far from the limit situation, i.e. when the effective speed v decreases compared to the target speed v.sub.max, until it becomes null, upon reaching a threshold value e.sub.v* of the speed error. According to the variations shown in
(31) The threshold value e.sub.v*, based on the definition given of the speed error e.sub.v, will be a number in the range 0-1 (i.e. between 0% and 100%). For example, if the threshold value e.sub.v* is equal to 0.1 (i.e. 10%), frequency f will be null and therefore the actuator will not vibrate, as long as the speed v will be between 0% and 90% of the optimal value v.sub.max; when speed v will exceed 90% of the optimal value v.sub.max, the system will make the actuator vibrate following the previously explained methods.
(32) In
(33) In the embodiments described so far, system 1 compares the effective speed v with a target speed v.sub.max, determined according to a predetermined profile that relates the target speed itself to the bicycle position x.
(34) However, system 1 may monitor target quantities of a different kind, alternative to speed, to determine the vibration frequency f. Said quantities are compared with the effective value of such quantity along the predetermined path. Depending on the target quantity taken into account, system 1 can comprise means for detecting such quantity, different from the speed sensor and/or from the inertial measurement unit.
(35) For example, a possible alternative target quantity is the power delivered by the cyclist. Said quantity is given by the product of the torque exerted by the cyclist on the bicycle pedals and the angular speed of the pedals themselves. In order to measure the cyclist's power, a sensor for detecting the torque and a sensor for detecting the angular speed of the pedals can be used. Even in this case, the effective power p is compared with a target power P.sub.max, for which a profile has been predetermined as a function of the bicycle position x along the predetermined path. The haptic feedback will be a function of the error e.sub.P between the target power P.sub.max and the effective power P.
(36) A further target quantity, alternative to speed or to power, is the cyclist's heart rate, detectable by means of a special heart rate sensor applicable to the cyclist himself. Obviously, it is possible to consider target quantities different from those explicitly mentioned.
(37) In
e.sub.q=(q.sub.maxq)/q.sub.max
(38) Then the control module 5 determines the actuator vibration frequency f based on said error e.sub.q, following, for example, the logic described with reference to the embodiments of
(39) According to a further possible variation of the invention, system 1 may not have the module 6 for determining the position x of the bicycle along the predetermined path and may be configured to compare the effective value of the generic target quantity q (again, for example: the bicycle speed, the cyclist's pedaling power, the cyclist's heart rate) with an optimal value q.sub.max defined this time, not as a function of the position x along a predetermined path, but as a function of time t. Said possible further embodiment of the invention is schematically shown in
e.sub.q=(q.sub.maxq)/q.sub.max
(40) The control module 5 then determines the vibration frequency f of the actuator 4 based on said error e.sub.q, for example following the logic described with reference to the embodiments of
(41) Said variation of the invention is particularly suitable for monitoring the target quantities indicative of the cyclist's effort. For example, if the target quantity corresponds to the pedaling power or to the heart rate, the optimal curve can be defined to calibrate the cyclist's effort on a predetermined time interval, to avoid that the cyclist gets too soon tired with respect to the expected total duration. When the cyclist is making too much effort (so if he is delivering too much power or if his heart rate is too fast), the vibration of the actuator 4 will warn him that he has to reduce the effort to be within the range of the optimal values.
(42) With reference to the actuator 4, it may alternatively be voltage or current controlled.
(43) In case the actuator 4 is voltage controlled, it is enough to change the power supply voltage according to the determined vibration frequency. Based on said variation, therefore, system 1 comprises a module for the voltage control of the actuator (not shown in the figures) that receives in the input the command signal (in this case the signal representative of the frequency f supplied by the module 5) and consequently supplies the actuator 4 with a proper voltage so that the actuator vibrates at the determined vibration frequency.
(44) According to a further variation, in case the actuator 4 is current controlled, system 1 comprises a module 34 for the current control of the actuator, schematically shown in
(45) According to this variation, module 34 receives the input signal representative of the desired vibration frequency, determined through the previously described methods and indicated, in this case, as a reference frequency f.sub.ref.
(46) The module 34 comprises a memory module 35, wherein a static map is stored. Said map links the reference vibration frequency f.sub.ref to a reference current I.sub.ref. An example of said static map is shown in
(47) The module 34 then performs a closed loop control of the actuator 4 current. To this purpose, the module 34 comprises a current sensor that measures the effective motor current I, from which it is possible to determine a current error e.sub.I between the reference current I.sub.ref and the effective current I.
(48) The module 34 further comprises a voltage command module 36, which determines the DC (Duty Cycle) voltage to be applied to the actuator 4 so that the current error e.sub.I is minimized, namely so that the effective current I substantially follows the trend of the reference current I.sub.ref. This setting of current I makes the actuator 4 vibrate at an effective frequency f that tends to follow the reference frequency f.sub.ref trend.
(49) This current control method, in general, ensures faster response times than the voltage control method and further prevents excessive currents from passing into the actuator 4.
(50) Note that, in the present description and in the appended claims, system 1 as well as the elements indicated as module can be implemented by means of hardware devices (e.g. control units), by software or by a combination of hardware and software.
(51) The skilled person, in order to satisfy specific contingent requirements, may make several additions, modifications or replacements of elements with other functionally equivalent to the described embodiments of the system for assisting in driving a bicycle by sending a haptic feedback to a cyclist, without however departing from the scope of the appended claims.