Method and control device for controlling a drive motor of a muscle-powered vehicle
The method addresses the issue of step responses and overshoots in muscle-powered vehicle drive motor control by using a polynomial function to determine setpoint rotational speed values, enabling efficient and rapid synchronization of rotational speeds without compromising comfort or increasing wear.
Patent Information
- Application Number
- DE102024200065
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-01-04
- Publication Date
- 2025-05-15
- Estimated Expiration
- 2044-01-04
AI Technical Summary
Existing methods for controlling the drive motor of muscle-powered vehicles often result in step responses and overshoots, which can be mitigated by reducing dynamics, but this increases the time required to achieve the desired motor state.
A method that determines initial and final rotational speeds of a shaft connected to the drive motor, calculates specific setpoint rotational speed values using a polynomial function, and controls the drive motor based on these values to synchronize rotational speeds efficiently.
The method allows for rapid synchronization of rotational speeds without overshoot, maintaining high driving comfort, reducing noise, and minimizing wear on components, while avoiding the need to reduce the dynamics of the drive motor.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to a method for controlling a drive motor of a human-powered vehicle. Furthermore, the present invention relates to a control device configured to carry out such a method. Furthermore, the present invention relates to a drive train having such a control device and to a human-powered vehicle having such a drive train.
[0002] Some human-powered vehicles have drive motors to support muscle power in order to provide additional drive power. In order for the drive motor to operate, the drive motor must be controlled appropriately. For control purposes, a target variable is often specified which the drive motor is to provide or achieve. Such a target variable can be, for example, a speed or torque of the drive motor. If, for example, a driving state of the vehicle changes, it may also be necessary to adjust a value of the target variable, a setpoint. In the prior art, such an adjustment of the setpoint is often carried out abruptly. This frequently stimulates a step response of the drive motor controlled by it. This often results in an overshoot of an actual variable associated with the target variable when controlling the drive motor, such as a sudden response of speed or torque and thus an overshoot of speed or torque.In order to prevent such a step response and overshoot, it is known from the prior art to reduce the dynamics when controlling the drive motor. This can, for example, control the speed or torque in such a way that overshoot can be prevented. However, this increases the time required to control or regulate the drive motor from an actual value to the setpoint. DE 10 2020 203 937 A1, for example, describes how a setpoint value of an electric drive motor can be changed step by step and in multiple stages by a user. The user can specify how quickly the setpoint value should change by inputting a value. The setpoint value is changed step by step. DE 10 2013 215 487 A1 describes a method for controlling an electric drive of a vehicle that can be operated with muscle power and / or motor power, and such a vehicle.DE 10 2010 030 800 A1 describes a calculation of a time course of a target speed when a target speed specification changes.
[0003] The object of the invention is to provide an improved method for controlling a drive motor of a human-powered vehicle. This object is achieved by a method having the features of the independent claim. This object is achieved by a control device configured to carry out such a method. This object is achieved by a drive train with a drive motor and such a control device. This object is achieved by a human-powered vehicle with such a drive train.
[0004] In a first aspect, the present invention relates to a method for controlling a drive motor of a human-powered vehicle. The method can be a computer-implemented method that can be executed using a control device of the vehicle. The method for controlling the drive motor can be a method for operating the drive motor. The drive motor can be part of a drive train of the vehicle. The drive motor can be, for example, an electric machine. The human-powered vehicle can be, for example, a bicycle, an e-bike, a pedelec, or a cargo bike. The drive motor of the vehicle can be provided as a push assist and, alternatively or additionally, as a pedal assist for assisting a drive force from the driver of the vehicle.In addition, muscle power can be applied as driving force by a driver of the vehicle, for example by pedaling or by the driver pushing the vehicle.
[0005] The method comprises determining an initial speed of a shaft connected to the drive motor. The shaft can be connected to the drive motor directly or indirectly. Determining the initial speed can be or include measuring, determining, and alternatively or additionally reading in the initial speed. The initial speed is a target speed value of the shaft at a first point in time. The initial speed can be a measured value of the speed of the shaft at the first point in time. The first point in time can be a current point in time.
[0006] The method further comprises determining a final speed of the shaft. Determining the final speed can be or include measuring, determining, and alternatively or additionally reading in the final speed. The final speed is a target speed value of the shaft at a second point in time. The final speed can be proportional to a measured value of a speed of another element of the vehicle's drivetrain via a proportionality ratio. The proportionality ratio can be a gear ratio between the shaft and the other element. The other element can be, for example, a crank of the vehicle or a driven wheel of the vehicle. The second point in time is chronologically after the first point in time. The second point in time can be predetermined; alternatively, the second point in time can be determinable during the method.
[0007] The method further comprises determining target speed values of the shaft for points in time between the first point in time and the second point in time. When determining target speed values of the shaft, one or more target speed values of the shaft can be determined for points in time between the first point in time and the second point in time. The target speed values are specific values of a temporal speed profile of the speed of the shaft. The temporal speed profile of the speed of the shaft can, for example, be a continuous speed profile from the first to the second point in time. Specific values of the temporal speed profile can be discrete specific values of the continuous temporal speed profile. For example, the temporal speed profile can be evaluated at specific points in time in order to thus obtain the specific values. The specific values can be samples, and the temporal speed profile can be a trajectory.The target speed values can be determined as samples of the shaft speed trajectory. The speed curve includes the initial speed and the final speed. Furthermore, the speed curve is a polynomial function. The polynomial function thus represents, for example, the temporal speed curve over a closed time interval between the first time point and the second time point.
[0008] The method further comprises controlling the drive motor as a function of specific target speed values. Controlling the drive motor can be a control operation and, alternatively or additionally, a regulation operation. The specific target speed values can be used as a reference variable when controlling the drive motor and, alternatively or additionally, when regulating the drive motor. The specific target speed values can comprise a plurality of target speed values. Control can then be carried out at different times with a specific target speed value associated with a specific time. Controlling the drive motor can be carried out as a function of the time-discrete and time-dependent specific target speed values.
[0009] Such a method for controlling the drive motor of a human-powered vehicle can be used to synchronize a speed-controlled and, alternatively or additionally, a speed-regulated motor of a drive train. Synchronization can be carried out using a speed curve in the form of a polynomial function, for example using polynomial target trajectories. Synchronization can, for example, be a change in the speed of the shaft from an initial speed to a final speed. The shaft can, for example, be mechanically operatively connected to a crank of the vehicle via a freewheel. The shaft can then be mechanically operatively connected to a driven wheel via the crank. Alternatively or additionally, the shaft can be mechanically operatively connected to a driven wheel of the vehicle via a freewheel.This means that drive power can be transmitted from the drive motor to a driven wheel of the vehicle, for example additionally via the crank. For power transmission, it is necessary, for example, for the freewheel to be closed. To close the freewheel, the shaft speed must increase from the initial speed to the final speed. The initial speed can be an actual speed of the shaft at the first point in time. When the drive motor starts, the initial speed can also be 0. The final speed can be the actual speed of the crank at the first point in time. Synchronization using the method can be carried out independently of speed gradients. Using the method, the shaft speed can be approximated to the speed of the freewheel. Using the method, the drive motor can be controlled depending on specific values of the temporal speed curve of the shaft speed.The determined values can be one of several time-discrete values. When the drive motor is controlled depending on the determined target speed values, the shaft speed can then approach these target speed values. The method can be combined with other methods for speed control and speed regulation. This can reduce development effort because existing solutions for speed control and speed regulation can be reused. The dynamics of the speed control and speed regulation, for example how quickly the target speed value should change from the initial speed to the final speed, can be changed independently of the method. This enables simple calibration and reduced development effort. Different drive motors with different dynamics for controlling these drive motors can therefore be controlled using the method.The method can also be efficiently implemented on the in-vehicle embedded hardware because only a few computing operations and little memory space are required to execute the method. Further, the method can also be used when the final rotation speed value changes during the execution of the method. For example, the driver can pedal faster or push the wheel faster. As a result, the crank cadence or the rotation speed of the driven wheel can change. As a result, the value of the final rotation speed can change. The method is then configured to be able to use the changed value of the final rotation speed to control the drive motor.
[0010] According to a further embodiment, the method can be characterized in that the determination of the target rotation speed values can involve determining a polynomial function. The polynomial function can, for example, have one of the following forms: ωref:[t1,t2]→ℝ, ωref(t)=∑i=0ncii!(t−t1t2−t1)i ωref:[t1,t2]→ℝ, ωref(t)=∑i=0nciti c i , with i = 0, ..., n, n ∈ ℕ are coefficients or polynomial coefficients, ω ref is the speed curve and t 1 , t 2 are the first and second points in time, respectively. i! is the factorial of i. These coefficients can be determined via boundary conditions. These boundary conditions include, for example, the values of the final speed and the initial speed, i.e., for example, target speed values at the first and second points in time. Furthermore, the boundary conditions can include values of a time derivative of the speed at the first and second points in time. For this purpose, the method can, for example, additionally comprise steps for determining a value of a time derivative of the speed at the first and, alternatively or additionally, at the second point in time. For example, n boundary conditions for n coefficients c ibe determined. For example, the boundary conditions can be set as target speed values of the shaft at the first and second points in time, as well as values of a first time derivative of the speed at the first and second points in time. This means, for example, that four boundary conditions can be present, with which four coefficients of a third-degree polynomial function can be determined. The polynomial function can therefore be easily defined and then used to determine target speed values. For this purpose, for example, points in time between the first and second points in time are passed to the polynomial function as arguments, and the result of the polynomial function, which is evaluated at a specific point in time between the first and second points in time, can be the target speed value at the specific point in time.This can be repeated for any time between the first and second time points to obtain target speed values for time points between the first and second time points. Thus, target speed values can be determined easily and computationally efficiently.
[0011] According to a further embodiment, the determination of the polynomial function can be carried out iteratively and at least one of the first and the second time points can be changed for determining the polynomial function. The determination of the polynomial function can be carried out in a first step with an initial time interval between the first and the second time points. For example, the current time point is determined as the first time point. The determination of the polynomial function can include determining a second time point. In a first iteration step, a predetermined second time point can be used. The determination of the polynomial function can involve determining coefficients of the polynomial function from the boundary conditions and the initial time interval. The initially determined polynomial function can be defined by the initially determined coefficients.
[0012] Determining the polynomial function can further comprise verifying the polynomial function. For this purpose, extreme values, such as maxima and minima, of time derivatives of the polynomial function thus determined can be determined within an interval between the first time point and the second time point. Furthermore, upper and, alternatively or additionally, lower limits for time derivatives of the polynomial function can be determined. This step can be performed once for the iterative determination of the polynomial function, for example, at the beginning of the determination of the polynomial function. For example, values for time derivatives of the polynomial function can be determined as upper and lower limits depending on physical constraints. For example, a maximum rotational acceleration of the shaft can be specified, and this can be determined as the upper limit of the first time derivative of the polynomial function.Verifying the coefficients may involve comparing the determined extreme values with the determined upper and lower limits.
[0013] If the upper and lower limits are exceeded or undershot, a different second point in time can be determined, which can lead to a greater time interval between the first point in time and the second point in time. The different second point in time can be determined in the next iteration step. The second point in time can therefore be shifted further away in time from the first point in time. For example, the second point in time can be shifted by a specific absolute or relative time value. Using the newly determined time interval, the coefficients can be determined again. This makes it possible to achieve a high level of accuracy in determining the target speed values. For example, if the upper and lower limits are exceeded or undershot, a new second point in time at a later time can always be determined.This ensures that physical limitations are always observed by the polynomial function and that the specific target speed curve can be realized.
[0014] If the extreme values are within the upper and lower limits, for example if the extreme values only reach about half of the upper and lower limits, a different second point in time can be determined, which can lead to a smaller time interval between the first point in time and the second point in time. The different second point in time can be determined in the next iteration step. The second point in time can therefore be shifted in time towards the first point in time. For example, the second point in time can be shifted by a specific absolute or relative time value. Using the newly determined point in time, the coefficients can be determined again. This allows rapid synchronization of speeds with simultaneous high accuracy to be achieved.
[0015] If the first of the two equations mentioned above is used for the speed curve, these initially determined coefficients can be kept constant when verifying the coefficients and redetermining the second time point, since the equation is directly dependent on the time interval. If the second of the two equations mentioned above is used for the speed curve, after or with the determination of the other second time point, the coefficients determined in the previous iteration step can be changed in the step of determining the polynomial function, since the equation is not directly dependent on the time interval; rather, the coefficients are dependent on the time interval.
[0016] If the extreme values are within the upper and lower limits and, for example, deviate from the upper and lower limits by a maximum of a certain absolute or relative value, the iterative determination of the polynomial function can be aborted. The most recently determined coefficients can be used for the subsequent procedure.
[0017] Such a method can be used to ensure that a specific polynomial function is physically feasible. By comparing the coefficients with the upper and lower limits, it is possible to verify them simply and computationally efficiently. For example, this can ensure that a maximum rotational acceleration of the shaft is not exceeded, and thus, for example, it can be ensured that a maximum electrical current for operating the drive motor is not exceeded. For example, it can also ensure that a certain angular jerk on the shaft does not become too great. This can prevent the torque of the drive motor from having to change too quickly, i.e., requiring a higher voltage than the battery supplying the drive motor with electrical energy can deliver.This provides a method that can be executed on a control unit as simply and as computationally as possible. For example, such a method can deliver results that are comparably accurate to an optimization method, which may be more computationally intensive. The method can be used to shorten the synchronization duration by minimizing the time interval between the first and second points in time and determining the polynomial function. At the same time, accuracy can be improved because the specific target speed curve has been determined according to specific physical constraints and can therefore be realized with the drive motor, for example. The synchronization duration can, for example, be the time between the first and second points in time, i.e. the time required to get from the initial speed to the final speed.
[0018] According to a further embodiment, the method can be characterized in that, for determining the polynomial function, an absolute value of a first time derivative of the polynomial function at the second point in time is smaller than an absolute value of the first time derivative of the polynomial function at another point in time. This other point in time can be spaced apart from the first point in time and the second point in time. In other words, this other point in time can, for example, be midway between the first and second points in time. This condition can be used when verifying the polynomial function. For example, this can be used as a condition for determining the second point in time and the time interval when iteratively determining the polynomial function.
[0019] This method enables rapid adjustment of the initial speed to the final speed. At the same time, overshooting or exceeding the final speed value at the second time can be avoided. Using the method presented in this way, the speeds of various elements of the vehicle's drive train can be synchronized without, for example, overshooting the speed to be controlled. This also prevents what is known as bouncing of the freewheel when synchronizing the speeds. If, for example, the control could result in the actual speed becoming greater than the target speed at the second time, such a situation is prevented due to the mechanical specification of the freewheel.At the same time, this prevention results in bouncing and power transmission between the shaft and the crank via the freewheel already occurring before the end of synchronization, i.e., for example, before the second time point and alternatively or additionally before the shaft speed has reached the final speed value. This method therefore results in greater driving comfort for the vehicle driver. Furthermore, noise is reduced due to the avoided bouncing of the freewheel. Furthermore, there is less wear on the freewheel. Due to the control using the method, overshoot of the shaft speed above the final speed value can be avoided. This can provide improved performance and functional robustness when controlling the drive motor.The aim of the invention, the fastest possible speed change of a speed-controlled and alternatively or additionally speed-regulated drive motor, can thus be achieved by particularly fast synchronization of the shaft speed to a value of the final speed. At the same time, undesired overshoot of the speed can be prevented without, for example, having to reduce the dynamic range of the speed-controlled or speed-regulated drive motor. This is achieved, for example, by using a greater rotational acceleration, i.e. a first time derivative of the polynomial function as the temporal speed curve, halfway between the first and second synchronization times than at the end of synchronization, i.e. around the second time.For example, a short synchronization period can be achieved, i.e., a time lag between the first and second points in time. At the same time, chatter can be prevented by preventing the system from overshooting.
[0020] According to a further embodiment, the method can be characterized in that, for determining the polynomial function, it can apply that an absolute value of the first time derivative of the polynomial function at the first point in time is smaller than an absolute value of the first time derivative of the polynomial function at a different point in time. This different point in time can be equidistant in time from the first point in time and the second point in time. This condition can be used when verifying the polynomial function. For example, this can be used as a condition for determining the second point in time and the time interval when iteratively determining the polynomial function. This also makes it possible to quickly adjust the rotational speeds without a large rotational acceleration of the shaft having to be present at the first point in time.
[0021] According to a further embodiment, the method can be characterized in that a first limit threshold value can be determined for the magnitude of a rotational acceleration of the shaft. The first limit threshold value can be equal to or greater than 0. The determination can be or include reading in the first limit threshold value. To determine the polynomial function, it can apply that an absolute value of the first time derivative of the polynomial function at the first time point can be less than or equal to the first limit threshold value. For example, a right-hand limit value of the first derivative at the first time point can be less than or equal to the first limit threshold value. This condition can be used as a condition for determining boundary conditions for determining the polynomial function.Thus, for example, it can be achieved that a rotational acceleration of the shaft at the first time is equal to 0 or, alternatively, at least less than a specific threshold value of the rotational acceleration of the shaft, here the first limit threshold. This can lead to a limited rotational acceleration of the shaft at the first time, and thus to increased comfort for the vehicle driver. Furthermore, it can prevent a rotational acceleration of the shaft and, alternatively, of the drive motor from being too great. Thus, a drive motor that can provide a specific torque can be used to synchronize speeds with the method.
[0022] According to a further embodiment, the method can be characterized in that a second limit threshold can be determined for an amount of rotational acceleration of the shaft. The first and second limit threshold values can be different or the same. The second limit threshold value can be equal to or greater than 0. The determination can be or include reading in the second limit threshold value. To determine the polynomial function, it can apply that an amount of the first time derivative of the polynomial function at the second point in time can be less than or equal to the second limit threshold value. This can be used as a condition for determining the boundary conditions for determining the polynomial coefficients and thus the polynomial function. A left-sided limit value of the first derivative of the polynomial function can be less than or equal to the second limit threshold value at the second point in time.Thus, to determine the boundary conditions for determining the polynomial coefficients and thus the polynomial function, it can be specified as a condition that the rotational acceleration at the second time is, for example, 0 or at least less than a value greater than 0, namely the second limit threshold. This can increase the comfort for the driver of the vehicle when the method is used to control the drive motor, since, for example, synchronization of the speeds of the shaft and, for example, the freewheel is carried out in such a way that this synchronization is carried out with a limited rotational acceleration of the shaft at the second time.
[0023] According to a further embodiment, the method can be characterized in that a maximum threshold value for the magnitude of the rotational acceleration of the shaft can be determined. The determination can be or include reading in the maximum threshold value. The maximum threshold value can be equal to the first and, alternatively or additionally, the second limit threshold value. Alternatively, the maximum threshold value can be different from the first and, alternatively or additionally, the second limit threshold value. To determine the polynomial function, it can apply that an absolute value of the first time derivative of the polynomial function can be less than or equal to the maximum threshold value at any time between the first time point and the second time point. This can be used as a condition for determining the boundary conditions for determining the polynomial coefficients and thus the polynomial function.Alternatively, this can be used as a condition for determining the second time point and the time interval when iteratively determining the polynomial function. For example, it can apply that on an open interval between the first time point and the second time point, the absolute value of the first time derivative of the polynomial function can be less than or equal to the maximum threshold. This can limit the dynamics during synchronization using the maximum threshold. This can result in synchronization being able to take place with a rotational acceleration limited by the maximum threshold. This can, for example, increase comfort for the vehicle driver because the rotational acceleration of the shaft is limited for all times between the first and second time points.
[0024] According to a further embodiment, the method can be characterized in that a determination of a minimum threshold value for the amount of the angular acceleration of the shaft can be carried out. The determination can include or be an input of the minimum threshold value. The minimum threshold value can be equal to or different from the maximum threshold value. Alternatively or additionally, the minimum threshold value can be equal to or different from the first and alternatively or additionally to the second limit threshold value. For example, the minimum threshold value can be smaller than the maximum threshold value. For the determination of the polynomial function, it can be the case that the amount of the first time derivative of the polynomial function at each time between the first time and the second time can be greater than or equal to the minimum threshold value. This can be used as a condition for determining the boundary conditions for determining the polynomial coefficients and thus the polynomial function.Alternatively, this can be used as a condition for determining the second time point and the time interval when iteratively determining the polynomial function. For example, the absolute value of the first time derivative of the polynomial function on an open interval between the first time point and the second time point can be greater than or equal to the minimum threshold. This allows a minimum dynamic response to be achieved for synchronizing the shaft's rotational speed with the method. The shaft's rotational acceleration can always have at least a value greater than or equal to the minimum threshold, allowing synchronization to be performed with a minimum rotational acceleration.
[0025] A second aspect of the present invention relates to a computer program with a method according to an embodiment of the first aspect of the present invention.
[0026] A third aspect of the present invention relates to a machine-readable data carrier having a computer program according to an embodiment of the second aspect of the present invention.
[0027] A fourth aspect of the present invention relates to a control device which is configured to carry out a method according to an embodiment of the first aspect of the present invention. The control device can be configured to execute a computer program according to an embodiment of the second aspect of the present invention. The control device can have data interfaces. For example, the control device can have data interfaces for determining or reading in values. For example, an initial speed, a final speed, a first limit threshold value, a second limit threshold value, a maximum threshold value and, alternatively or additionally, a minimum threshold value can be determined via such a data interface and, alternatively or additionally, read in. Furthermore, one or more specific target speed values can be output via the data interface.Control parameters can also be output from the control device to the drive motor via the data interface, wherein the control parameters can be determined by the control device in the step of controlling the drive motor as a function of the determined target speed values. Values from the control device, such as certain target speed values, can also be provided alternatively or additionally to other data processing units via the data interface. For example, the target speed values can be provided to another data connection unit for storage, further processing, and alternatively or additionally visualization of the determined target speed values. For example, the vehicle can have a display on a handlebar of the vehicle. The target speed values can be displayed there.Alternatively or additionally, the data interface can be configured to provide communication between the control device and another data processing unit, such as a mobile phone, a smartwatch, a wearable device, a server, a PC, and alternatively or additionally a central computer of the vehicle. For example, certain speed threshold values can then be transmitted via this data interface.
[0028] A fifth aspect of the present invention relates to a drive train having a drive motor, a shaft connected thereto, and a control device according to an embodiment of the fourth aspect of the present invention.
[0029] A sixth aspect of the present invention relates to a human-powered vehicle with a drive train according to an embodiment of the fifth aspect of the present invention. The human-powered vehicle can be, for example, a bicycle, an e-bike, a pedelec, or a cargo bike. Fig. 1 shows schematic steps of a method for controlling a drive motor of a muscle-powered vehicle. Fig. 2 shows schematically a muscle-powered vehicle with a drive train and a control device for carrying out schematically in Fig. 1 steps shown.
[0030] Fig. 1 schematically shows steps of a method for controlling S4 a drive motor 4 of a muscle-powered vehicle 2. Fig. Figure 2 schematically shows the muscle-powered vehicle 2 with a drive train 12. The drive train 12 comprises the drive motor 4, a shaft 6 connected thereto and a control device 10. The control device 10 is configured to carry out steps of the process schematically shown in Fig. 1. The control device 10 is communicatively connected to the drive motor 4, which is mechanically connected to the shaft 6. In the embodiment shown, the shaft 6 is directly connected to the drive motor 4. The control device 10 also has data interfaces (not shown) for exchanging data and information in the form of signals with elements other than those shown here.
[0031] The method comprises determining S1 an initial speed of the shaft 6 connected to the drive motor 4. The actual speed of the shaft 6 at a first time is determined as the initial speed. This is done by measuring the speed of the shaft 6 by means of the drive motor 4, which is directly connected to the shaft 6, and sending the measured value from the drive motor 4 to the control device 10. The initial speed is then a target speed value of the shaft 6 at the first time t 1 .
[0032] The method further comprises determining S2 a final speed of the shaft 6. In the embodiment shown, the final speed is proportional to an actual value of a speed of another element of the drive train 12 at time t 1 . The other element is not explicitly in Fig.2. In the embodiment, the other element is a crank of the vehicle 2. The crank and the shaft 6 are mechanically connected to one another via a freewheel. A proportionality factor between the speed of the crank, or cadence, and the speed of the shaft 6 is defined by a transmission between the crank and shaft 6. The proportionality factor refers to the final speed relative to the speed of the crank. The cadence is approximately determined via the temporal change in the crank angle of the crank. The final speed is a target speed value of the shaft 6 at a second time t 2 . This second point in time is chronologically after the first point in time.
[0033] The method further comprises determining S3 target speed values of shaft 6 for points in time between the first point in time and the second point in time. The target speed values are specific values of a temporal speed profile of the speed of shaft 6. In other words, the target speed values are samples of a trajectory of the speed of shaft 6. The speed profile includes the initial speed and the final speed and is a polynomial function. This polynomial function can be represented by one of the following two equations: ωref:[t1,t2]→ℝ, ωref(t)=∑i=0ncii!(t−t1t2−t1)i ωref:[t1,t2]→ℝ, ωref(t)=∑i=0nciti
[0034] ω ref is the speed curve and c iare polynomial coefficients. In the embodiment shown here, the polynomial function is represented by the upper of the two equations. The determination S3 of target speed values comprises a determination S3.1 of the polynomial function. The boundary conditions for determining the polynomial function are values of the initial speed, the final speed, and values of time derivatives of the speed at the first and second points in time. For a polynomial with degree n, n boundary conditions are required. For the first equation, which is used in the described embodiment, the coefficients are determined depending on the n boundary conditions.
[0035] Determination S3.1 of the polynomial function is performed iteratively, and the second time point is changed for determining S3.1 of the polynomial function. Initially, a predetermined time interval is used between the first time point and the second time point. Although determination S3.1 of the polynomial function is performed iteratively, no iterative determination of the coefficients is performed in the described embodiment. In an alternative embodiment using the second of the above equations, the determination of the coefficients is performed iteratively.
[0036] Determining S3.1 of the polynomial function involves determining S3.1.1 the second time point f. This occurs depending on the determined initial time interval. Depending on this, the coefficients are determined in the step of determining S3.1 of the polynomial function.
[0037] Then, determining S3.1 the polynomial function comprises verifying S3.1.2 the polynomial function. For the verification, extreme values of time derivatives of the polynomial function are compared with predetermined upper and lower limits for time derivatives of the polynomial function. These upper and lower limits are determined depending on physical constraints. If the extreme values are outside the upper and lower limits, the second time point is determined again S3.1.1, this time for a longer time interval than that from the previous iteration step. If the upper and lower limits are significantly undershot, the second time point is determined again S3.1.1, this time for a shorter time interval than that from the previous iteration step. In the alternative embodiment, which uses the second equation, the determining step comprises S3.1.1 of the second time point, determining the coefficients as a function of the determined second time point.
[0038] If the upper and lower limits are only slightly exceeded, i.e., the extreme values are approximately 90% of the upper and lower limits, the iterative determination of the polynomial function is terminated. The determined time points and the determined coefficients are used for the polynomial function for the subsequent procedure.
[0039] This method separates the determination of the form of the polynomial function, defined by the coefficients, from the determination of the duration of the synchronization, defined by the first and second time points. This allows the polynomial function for synchronization to be determined with particularly high computational efficiency.
[0040] In the embodiment shown, the following conditions are also used as secondary conditions for determining S3.1 the polynomial function. A value of a first time derivative of the polynomial function at the second point in time is smaller than a value of the first time derivative of the polynomial function at a point in time that is simultaneously spaced from the first and second points in time. Likewise, a value of the first time derivative at the first point in time is smaller than a value at a point in time that is simultaneously spaced from the first and second points in time. This ensures that a rotational acceleration, i.e. a value of the first time derivative of the polynomial function of shaft 6, is greater in the middle between the first and second points in time than at the first or second points in time.Thus, the rotational acceleration between the two points in time is greater than at the first or second point in time, and thus the synchronization of the speeds of shaft 6 and crank is faster using the method. These constraints are used to verify S3.1.2 and to determine S3.1.1 of the second point in time.
[0041] The method further comprises determining S5 a first limit threshold for an amount of rotational acceleration of the shaft. The determining S5 involves reading the first limit threshold, in the embodiment shown here from a memory of the control device 10 (not shown in detail). Furthermore, a determining S6 of a second limit threshold for an amount of rotational acceleration of the shaft is carried out. This is also read in from the memory of the control unit of the control device 10. Furthermore, a determining S7 of a maximum threshold for an amount of rotational acceleration of the shaft 6 and the determining S8 of a minimum threshold for an amount of rotational acceleration of the shaft 6 are carried out. Here, too, the maximum threshold and minimum threshold are read in from a memory of the control device 10. The determining S3.1 of the polynomial function is then carried out such that an absolute value of the first time derivative of the polynomial function at the first time is less than or equal to the first limit threshold. Furthermore, for determining S3.1 of the polynomial function, an absolute value of the first time derivative of the polynomial function at the second time is less than or equal to the second limit threshold. This ensures that, if, for example, the first and second limit thresholds are 0, the rotational acceleration is 0 at the first and second times. In an alternative embodiment, the first and second limit thresholds are not 0, but are selected to be relatively small compared to the maximum threshold. This greatly limits the rotational acceleration at the first and second times; however, in such an embodiment, the rotational acceleration at the first and second times is not equal to 0. This increases comfort due to convenient synchronization of the rotational speed of shaft 6.These conditions are used to determine the boundary conditions for determining the coefficients and thus the polynomial function.
[0042] Furthermore, for determining S3.1 the polynomial function, the absolute value of the first time derivative of the polynomial function must be less than or equal to the maximum threshold at any time between the first and second times. Synchronization therefore occurs with a maximum rotational acceleration of shaft 6. Furthermore, for determining S3.1 the polynomial function, the absolute value of the first time derivative of the polynomial function must be greater than or equal to the minimum threshold at any time between the first time and the second time. Thus, the control method S4 has a certain minimum dynamic range as the minimum rotational acceleration of shaft 6, wherein the rotational acceleration of shaft 6 is limited downwards by the minimum threshold, thus enabling sufficiently rapid synchronization of the rotational speed of shaft 6 with the rotational speed of the crank. These conditions are used to verify S3.1.2 and to determine S3.1.1 the second time.
[0043] Determining S3 of the target speed values also involves evaluating S3.2 the polynomial function. In this process, samples of the trajectory are determined at specific points in time between the first and second points in time. Thus, the specific polynomial function with the specific polynomial coefficients is evaluated at specific points in time. This yields the specific target speed values of shaft 6.
[0044] The method further comprises controlling S4 the drive motor 4 as a function of the determined target speed values. For this purpose, the control device 10 is configured to determine control parameters as a function of the determined target speed values. These control parameters are then sent from the control device 10 to the drive motor 4 via an interface. The drive motor 4 is configured to regulate the speed of the shaft 6 as a function of the control parameters. Thus, the speed of the shaft 6 is approximated to the final speed, specifically in such a way that, over time, the determined target speed values are used as the target speed for controlling the drive motor 4.
[0045] With the method thus provided, a rapid synchronization of rotational speeds between the shaft 6 and the crank of the vehicle 2 can be carried out. This is necessary in order to transmit a drive force from the drive motor via a freewheel between the shaft 6 and the crank to the crank and then to a driven wheel of the vehicle 2. This assists the driver when pedaling. In an alternative embodiment, the driver pushes the vehicle 2. In such an embodiment, the method is used to synchronize a rotational speed of the shaft 6 with the driven wheel. This assists the driver when pushing the vehicle 2. Thus, for example, a freewheel arranged between the shaft 6 and the crank can be quickly closed and the shaft 6 can quickly reach a synchronous speed of the freewheel.
[0046] At the same time, bouncing on the freewheel can be prevented, since, for example, the speed of shaft 6 does not overshoot due to control S4. This leads to increased comfort when driving and pushing the vehicle 2. Furthermore, unwanted noise due to bouncing in the freewheel or mechanical wear of the freewheel due to bouncing is prevented. Reference symbol 2 vehicles 4 drive motor 6 Wave 10 Control device 12 Drivetrain S1 Determining an initial speed of the shaft S2 Determining a final speed of the shaft S3 Determining target speed values of the shaft S3.1 Determining a polynomial function S3.1.1 Determining a second time point S3.1.2 Verifying the polynomial function S3.2 Evaluating the polynomial function S4 Control of the drive motor S5 Determining a first threshold value S6 Determining a second threshold value S7 Determining a maximum threshold value S8 Determining a minimum threshold value
Claims
[1] A method for controlling (S4) a drive motor (4) of a muscle-powered vehicle (2), comprising the steps of: determining (S1) an initial speed of a shaft (6) connected to the drive motor (4), wherein the initial speed is a target speed value of the shaft (6) at a first point in time; determining (S2) a final speed of the shaft (6), wherein the final speed is a target speed value of the shaft (6) at a second point in time, which is after the first point in time; determining (S3) target speed values of the shaft (6) for points in time between the first point in time and the second point in time, wherein the target speed values are specific values of a temporal speed profile of the speed of the shaft (6), wherein the speed profile has the initial speed and the final speed, and wherein the speed profile is a polynomial function; and controlling (S4) the drive motor (4) as a function of the determined target speed values. [2] Method according to claim 1,characterized by that the determination (S3) of target speed values comprises a determination (S3.1) of the polynomial function. [3] Method according to claim 2, characterized by that the determination (S3.1) of the polynomial function is carried out iteratively and for determining (S3.1) the polynomial function at least one of the first and the second time point is changed. [4] Method according to claim 2 or 3, characterized by that for determining (S3.1) the polynomial function, an amount of a first time derivative of the polynomial function at the second time is smaller than an amount of the first time derivative of the polynomial function at a time which is equidistant in time from the first time and the second time. [5] Method according to one of claims 2 to 4, characterized bythat for determining (S3.1) the polynomial function, an amount of the first time derivative of the polynomial function at the first time point is smaller than an amount of the first time derivative of the polynomial function at a time point which is equidistant in time from the first time point and the second time point. [6] Method according to one of claims 2 to 5, characterized by that a determination (S5) of a first limit threshold value for an amount of rotational acceleration of the shaft (6) is carried out and that for determining (S3.1) the polynomial function, an amount of the first time derivative of the polynomial function at the first time is less than or equal to the first limit threshold value. [7] Method according to one of claims 2 to 6, characterized bythat a determination (S6) of a second limit threshold value for an amount of rotational acceleration of the shaft (6) is carried out and that for determining (S3.1) the polynomial function, an amount of the first time derivative of the polynomial function at the second time is less than or equal to the second limit threshold value. [8] Method according to one of claims 2 to 7, characterized by that a determination (S7) of a maximum threshold value for an amount of rotational acceleration of the shaft (6) is carried out and that for determining (S3.1) the polynomial function, an amount of the first time derivative of the polynomial function is less than or equal to the maximum threshold value at any time between the first time and the second time. [9] Method according to one of claims 2 to 8, characterized bythat a determination (S8) of a minimum threshold value for an amount of rotational acceleration of the shaft (6) is carried out and that for determining (S3.1) the polynomial function, an amount of the first time derivative of the polynomial function is greater than or equal to the minimum threshold value at any time between the first time and the second time. [10] Control device (10) which is arranged to carry out a method according to the preceding claims. [11] Drive train (12) with a drive motor (4), a shaft (6) connected thereto and a control device (10) according to claim 10. [12] Muscle-powered vehicle (2) with a drive train (12) according to claim 11.
Citation Information
Patent Citations
Method for computation of time-dependent sequences of two parameters during rotation speed change in e.g. motor car, involves computing two time-dependent sequences based on target rotational speed parameter or its change
DE102010030800A1
Method for controlling an electric drive of a vehicle powered by muscle power and / or motor power, and such a vehicle
DE102013215487A1
Method and device for controlling a system
DE102020203937A1
Method for switching between different drive modes of a bicycle
DE102021207839A1
Cited By
Method for operating an electric bicycle
DE102025101817A1