Method and control device for controlling a drive motor of a muscle-powered vehicle
A polynomial-based method for controlling drive motors in human-powered vehicles synchronizes speed adjustments without overshoot, improving comfort and reducing wear, while maintaining efficient computational efficiency.
Patent Information
- Application Number
- PCT/EP2024/086116
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-04
- Filing Date
- 2024-12-13
- Publication Date
- 2025-07-10
AI Technical Summary
Existing methods for controlling drive motors in human-powered vehicles often result in overshoots of speed or torque due to abrupt adjustments, which can be mitigated by reducing dynamic response but at the cost of increased control time.
A method for controlling the drive motor using a polynomial function to determine target speed values between an initial and final speed, allowing for synchronized speed adjustment without overshoot, using a control device to implement this method.
The method enables rapid synchronization of shaft speed to a final value while preventing overshoot, enhancing driving comfort and reducing mechanical wear and noise, with efficient computational requirements.
Smart Images

Figure EP2024086116_10072025_PF_FP_ABST
Abstract
Description
[0001] Method and control device for controlling a drive motor of a muscle-powered vehicle
[0002] Technical area
[0003] 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.
[0004] State of the art
[0005] 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 excites a step response in 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 step-like response of the speed or torque and thus an overshoot of the speed or torque.To prevent such a step response and overshoot, it is known from the prior art to reduce the dynamic response when controlling the drive motor. This can, for example, be used to control 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. DE102020203937A1, 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 an input. The setpoint value is changed step by step.
[0006] Description of the invention
[0007] 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.
[0008] 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 carried out 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 driving 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.
[0009] 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. 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 time is later than the first time. The second time can be predetermined; alternatively, the second time can be determined during the process.
[0010] 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.
[0011] 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 during control and, alternatively or additionally, during regulation of the drive motor. The specific target speed values can comprise multiple 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.
[0012] Such a method for controlling the drive motor of a human-powered vehicle can be used to synchronize a speed-controlled motor 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, for example additionally via the crank, to a driven wheel of the vehicle. For power transmission, it is necessary, for example, for the freewheel to be engaged. To engage the freewheel, the shaft speed must be increased 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 brought closer 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, as 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.Furthermore, the method can also be efficiently implemented on the vehicle's embedded hardware, as only a few computational operations and little memory space are required to execute the method. Furthermore, the method can also be used if the final speed value changes during the execution of the method. For example, the driver can pedal faster or push the bike faster. This can change the cadence of the crank or the speed of the driven wheel. This can change the final speed value. The method is then configured to be used to control the drive motor with the changed final speed value.
[0013] According to a further embodiment, the method can be characterized in that the determination of target speed values can include determining the polynomial function. The polynomial function can, for example, have one of the following forms: ct, with i = 0, ne N are coefficients or polynomial coefficients, a> ref is the speed curve and t^, t2 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 tbe 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 determined 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 times between the first and second time points. Thus, target speed values can be determined easily and computationally efficiently.
[0014] According to a further embodiment, the polynomial function can be determined iteratively, and at least one of the first and second points in time can be changed to determine the polynomial function. The polynomial function can be determined in a first step with an initial time interval between the first and second points in time. For example, the current point in time is determined as the first point in time. The polynomial function can comprise determining a second point in time. A predetermined second point in time can be used in a first iteration step. The polynomial function can comprise 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.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.
[0015] 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.
[0016] 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 enables rapid synchronization of speeds with simultaneous high accuracy.
[0017] 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.
[0018] 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 further procedure.
[0019] 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 it can also ensure 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 inexpensively 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 implemented 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.
[0020] 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 a different point in time. This different point in time can be spaced apart from the first point in time and the second point in time. In other words, this different point in time can, for example, be halfway 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.
[0021] 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 point in 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 point in 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 occurring before the end of synchronization, 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, in the middle between the first and second time points of synchronization than at the end of synchronization, i.e. around the second time point.For example, a short synchronization period can be achieved simultaneously, i.e., a time lag between the first and second points in time. At the same time, bouncing can be prevented because system overshoot can be prevented.
[0022] 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.
[0023] According to a further embodiment, the method can be characterized in that a first limit threshold can be determined for the magnitude of a rotational acceleration of the shaft. The first limit threshold can be equal to or greater than 0. The determination can be or include reading in the first limit threshold. 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 can be less than or equal to the first limit threshold. For example, a right-hand limit value of the first derivative at the first time can be less than or equal to the first limit threshold. 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 the rotational acceleration of the shaft at the first time is equal to 0 or, alternatively, at least less than a specific threshold value for 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 the rotational acceleration of the shaft and, alternatively, 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.
[0024] 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 thresholds can be different or the same. The second limit threshold can be equal to or greater than 0. The determination can be or include reading in the second limit threshold. 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. 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 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.
[0025] 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 may be the case that, over 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 allows the dynamic response during synchronization to be limited by the maximum threshold. This can result in synchronization being able to occur 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.
[0026] According to a further embodiment, the method can be characterized in that a minimum threshold value for the magnitude of the rotational acceleration of the shaft can be determined. The determination can include or be a reading of the minimum threshold value. The minimum threshold value can be the same as or different from the maximum threshold value. Alternatively or additionally, the minimum threshold value can be the same as or different from the first and alternatively or additionally from the second limit threshold value. For example, the minimum threshold value can be smaller than the maximum 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 greater than or equal to the minimum 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, 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.
[0027] 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.
[0028] A third aspect of the present invention relates to a machine-readable data carrier with a computer program according to an embodiment of the second aspect of the present invention. A fourth aspect of the present invention relates to a control device configured to execute a method according to an embodiment of the first aspect of the present invention. The control device may be configured to execute a computer program according to an embodiment of the second aspect of the present invention. The control device may have data interfaces. For example, the control device may have data interfaces for determining or reading values.For example, an initial speed, a final speed, a first limit threshold, a second limit threshold, a maximum threshold, and alternatively or additionally a minimum threshold 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 of the control device, such as specific 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 shown 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, a server, a PC, and alternatively or additionally, a central computer of the vehicle. Specific target speed values can then be transmitted via this data interface, for example.
[0029] A fifth aspect of the present invention relates to a drive train comprising a drive motor, a shaft connected thereto, and a control device according to an embodiment of the fourth aspect of the present invention. A sixth aspect of the present invention relates to a human-powered vehicle comprising 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.
[0030] Short description of the characters
[0031] Figure 1 shows schematic steps of a method for controlling a drive motor of a muscle-powered vehicle.
[0032] Figure 2 shows schematically a muscle-powered vehicle with a drive train and a control device for carrying out steps shown schematically in Figure 1.
[0033] Detailed description of embodiments
[0034] Figure 1 schematically shows steps of a method for controlling S4 a drive motor 4 of a muscle-powered vehicle 2. Figure 2 schematically shows the muscle-powered vehicle 2 with a drive train 12. The drive train 12 has the drive motor 4, a shaft 6 connected to it, and a control device 10. The control device 10 is configured to carry out steps of the method schematically shown in Figure 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 further has data interfaces (not shown) in order to be able to exchange data and information in the form of signals with elements other than those shown here.
[0035] 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 point in time is determined as the initial speed. This is done by measuring the speed of the shaft 6 using 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 point in time ti.
[0036] 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 t1. The other element is not explicitly shown in Figure 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 via a transmission ratio between the crank and shaft 6. The proportionality factor relates 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 t2. This second time is chronologically after the first time.
[0037] 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: O) ref is the speed curve and c tare 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.
[0038] 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, the coefficients are not determined iteratively in the described embodiment. In an alternative embodiment, which uses the second of the above equations, the coefficients are determined iteratively.
[0039] 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. The coefficients are determined in step S3.1 of determining the polynomial function depending on this.
[0040] 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, the coefficients are determined as a function of the second time point. 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 times and the determined coefficients are used for the polynomial function for the subsequent procedure.
[0041] 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.
[0042] In the embodiment shown, the following conditions are also used as secondary conditions for determining S3.1 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 a point in time that is simultaneously spaced from the first and second points in time. Likewise, an absolute value of the first time derivative at the first point in time is smaller than an absolute 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. an absolute 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 the 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.
[0043] The method further comprises determining S5 a first limit threshold for an amount of rotational acceleration of the shaft. 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, determining S6 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, determining S7 a maximum threshold for an amount of rotational acceleration of the shaft 6 and determining S8 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. 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.
[0044] 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.
[0045] 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 for shaft 6.
[0046] 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 in such a way that, over time, the determined target speed values are used as the target speed for controlling the drive motor 4.
[0047] 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.At the same time, bouncing on the freewheel can be prevented because, for example, there is no overshoot in the speed of the shaft 6 due to the control S4. This leads to increased comfort when driving and pushing the vehicle 2. Furthermore, unwanted noise is prevented from being generated due to bouncing in the freewheel or mechanical wear on the freewheel due to the bouncing. Reference numeral Vehicle Drive motor Shaft Control device Drive train Determining an initial speed of the shaft Determining a final speed of the shaft Determining target speed values of the shaft Determining a polynomial function Determining a second point in time Verifying the polynomial function Evaluating the polynomial function Controlling the drive motor Determining a first limit threshold Determining a second limit threshold Determining a maximum threshold Determining a minimum threshold.
Claims
Patent 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), the initial speed being a target speed value of the shaft (6) at a first point in time; determining (S2) a final speed of the shaft (6), the final speed being 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, the target speed values being specific values of a temporal speed profile of the speed of the shaft (6), the speed profile comprising the initial speed and the final speed, and the speed profile being 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 in that the determination (S3) of target speed values comprises a determination (S3.1) of the polynomial function.
3. Method according to claim 2, characterized in 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 points is changed.
4. Method according to claim 2 or 3, characterized in 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 from the second time.
5. Method according to one of claims 2 to 4, characterized in that for determining (S3.1) the polynomial function, an amount of the first time derivative of the polynomial function at the first 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 from the second time.
6. Method according to one of claims 2 to 5, characterized in 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 it applies that 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 in that 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 it applies that 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 in 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 in that 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 and device for controlling a system
DE102020203937A1
Method for controlling a pedalling-assist electric motor for a vehicle having a pedal crank mechanism
WO2023280945A1