-
Notifications
You must be signed in to change notification settings - Fork 172
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Power Optimize concept #528
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
# | ||
# (C) 2023 Robert Bosch GmbH | ||
# | ||
# All files and artifacts in this repository are licensed under the | ||
# provisions of the license provided by the LICENSE file in this repository. | ||
# | ||
|
||
# | ||
# Architectural Concept | ||
# | ||
# A vehicle may have a power optimization system to control functionality in order to extend available range of the vehicle. | ||
# It is assumed that the power optimization system does not know in detail which functionalities that exist in the vehicle | ||
# and which functionalities that can be turned off without causing interruptions to essential functionality. | ||
# | ||
# This is proposed to be handled by a distributed system where the power optimization system only gives recommendations | ||
# on power optimization for different areas. | ||
# The areas are in standard VSS catalog initially assumed to correspond to branches in VSS, and are represented as a signal in the corresponding branch, | ||
# like `Vehicle.[<Branch>.]*PowerOptimizeLevel`. | ||
# A global signal `Vehicle.PowerOptimizeLevel` also exists for features that does not have a matching signal in sub-branches. | ||
# | ||
# The signal can be added to a branch by including this file, like: | ||
# | ||
# "#include include/PowerOptimize.vspec" | ||
# | ||
# | ||
# Initially the standard VSS catalog contains the following level signals: | ||
# | ||
#Vehicle.PowerOptimizeLevel | ||
#Vehicle.Powertrain.PowerOptimizeLevel | ||
#Vehicle.Body.PowerOptimizeLevel | ||
#Vehicle.Cabin.PowerOptimizeLevel | ||
#Vehicle.Cabin.HVAC.PowerOptimizeLevel | ||
#Vehicle.Cabin.Infotainment.PowerOptimizeLevel | ||
#Vehicle.ADAS.PowerOptimizeLevel | ||
# | ||
# When there are multiple level signals in a subtree (like for the Cabin subtree) a feature may typically consider the "closest" level signal. | ||
# | ||
# Example 1: HVAC functionality (signals in branch Vehicle.Cabin.HVAC) may consider Vehicle.Cabin.HVAC.PowerOptimizeLevel | ||
# Example 2: Sunroof functionality (signals in branch Vehicle.Cabin.Sunroof) may consider Vehicle.Cabin.PowerOptimizeLevel | ||
# as there is no specific level signal in Vehicle.Cabin.Sunroof. | ||
# Example 3: Tire monitoring systems may consider Vehicle.PowerOptimizeLevel as there is no dedicated signal for Chassis branch. | ||
# | ||
# The power optimization level has a numerical value from 0 to 10. | ||
# Level 0 means that power optimization is not needed, all functionality can behave "normally". | ||
# Level 10 means that power consumption shall be minimized. Non-essential functionality shall be disabled. | ||
# Essential functionality to fulfill legal and safety requirements shall still be enabled. | ||
# Intermediate numbers (1-9) indicates intermediate states, where a higher number indicates a more aggressive power optimization policy. | ||
# | ||
# This allows for subsystems to implement their own power saving logic. | ||
# It is totally up to the subsystem to know "what to do" for different power optimize levels. | ||
# It is also assumed that the subsystem knows what is required for legal and safety reasons and does not turn off | ||
# essential functionality regardless of power optimization level. | ||
# It is up to the OEM to configure subsystems to achieve the wanted behavior. | ||
# It is expected that power optimizations that are activated already at a low level have limited impact on the driver experience, | ||
# but power optimizations on higher levels will have significant impact on driver experience. | ||
# | ||
# A hypothetical example for Display/HMI brightness could be as follows | ||
# | ||
# There is a signal Vehicle.Cabin.Infotainment.HMI.Brightness that for example the driver could use to change HMI Brightness. | ||
# The signal has a range 0-100 percent, where 0% means the lowest value allowed from legal/safety-reasons as well as usability reasons. | ||
# To allow for energy optimization an OEM might want to change the actual brightness based on power optimization level for cabin. | ||
# | ||
# A possible schema could be as follows | ||
# | ||
|
||
# REAL_MIN = 30 /* Lowest allowed value for safety/legal/convenience-reasons */ | ||
# REAL_MAX = 90 /* Maximum allowed value for safety/legal/convenience/technical-reasons */ | ||
# POWERSAVE_MAX_RELATIVE = 45 /* Maximum relative brightness during power optimize */ | ||
# POWERSAVE_LIMIT = 5 /* Reduce brightness if level is above this value */ | ||
# | ||
# if (Vehicle.Cabin.Infotainment.PowerOptimizeLevel > POWERSAVE_LIMIT): | ||
# old_value = Vehicle.Cabin.Infotainment.HMI.Brightness; | ||
# if (Vehicle.Cabin.Infotainment.HMI.Brightness > POWERSAVE_MAX_RELATIVE): | ||
# Vehicle.Cabin.Infotainment.HMI.Brightness = POWERSAVE_MAX_RELATIVE; | ||
# else | ||
# // Revert to old value | ||
# Vehicle.Cabin.Infotainment.HMI.Brightness = old_value; | ||
# | ||
# | ||
# Note that no additional VSS signals is added to represent wanted brightness at power optimization. | ||
# It is possible that a such signal may be needed in individual deployments, but if so it can be handled by a vehicle specific overlay. | ||
# | ||
# Customization | ||
# | ||
# In addition to power optimize signals added in standard VSS catalog a project/OEM may customize the model using overlays by: | ||
# | ||
# 1. Adding additional power optimize level signals | ||
# | ||
# For instance by adding `#include include/PowerOptimize.vspec` in additional files | ||
# | ||
# 2. Adding signals for supporting data | ||
# | ||
# In specific deployments there might be a need for private signals with additional data for the power optimization strategy used. | ||
# This could for instance be signals to specify maximum speed for a specific power optimization levels. | ||
|
||
## | ||
# Power Optimization | ||
## | ||
|
||
|
||
PowerOptimizeLevel: | ||
datatype: uint8 | ||
type: actuator | ||
min: 0 | ||
max: 10 | ||
description: Power optimization level for this branch/subsystem. | ||
A higher number indicates more aggressive power optimization. | ||
Level 0 indicates that all functionality is enabled, no power optimization enabled. | ||
Level 10 indicates most aggressive power optimization mode, only essential functionality enabled. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Meeting notes: Info from EV Power optimize group, shall be refactored, 0 =no power optimize, 10= maximum. If redefined no problem to be merged.
Way forward:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR updated, @UmangSharmaMobis please review