Replies: 5 comments 1 reply
-
I agree with you. If we want to make parameters between different components, it is better to create a config in autoware_launch
Currently, vehicle specific parameters is defined foo_vehicle_description pkg. this package is defined the size of the vehicle, the maximum acceleration that the vehicle can, etc. Therefore, there will be double parameter like maximum_deceleration because it is defined by vehicle specific and product specific. |
Beta Was this translation helpful? Give feedback.
-
I believe all the vehicle related parameters should be handled from one place. The reason behind it is that if one wants to implement autoware to a custom vehicle then in so many config files so many parameters needs to be changed and it is confusing. When it is said vehicle specific params it includes maximum_deceleration as well. So technically all the parameters which it would be needed to be altered in case of an autoware implementation of a different vehicle from the vehicle that subjects to previous odd should be gathered in one place with namespaces if necessary not to get confused with duplicated parameters. Then if you are implementing autoware to any vehicle you would just need to look at one place for vehicle specific configuration without any confusion and without any overlooked parameters. |
Beta Was this translation helpful? Give feedback.
-
Here are some of my observations from Autoware and other fields like web design where you have to manage a large number of parameters in the wild.
From my experience, the most satisfying solution to handle such large and fluid parameter spaces is to employ a cascadable and hierarchical map data structure. JSON and YAML do the job of the hierarchical map part, but they don't specify a cascade/override mechanism normally (except for some web standards such as JSON Patch and Merge). Some other formats having those features natively are not widely used. Cascaded stylesheets (CSS) can also be a source of inspiration in this discussion. You know the browser merges all stylesheets (parameter files) from different levels (system, user, website) and launches the rendering process. I think we need similar functionality. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone, I discussed with my colleagues and we want to propose an approach for this topic. In our opinion, firstly we should divide parameters into two;
With this approach, we can also define the
And, we can define this |
Beta Was this translation helpful? Give feedback.
-
If we look at it closely, there is nothing special about the vehicle parameters. We could have wanted to separate So this is an architectural problem. Needs a generic solution. Otherwise, it will pop out repeatedly. The parameter system also affects other parts -- containerization, simulator integration, etc. It would be much easier if we could launch each node with a single YAML file across the system. In the current state, too much logic is embedded/hard-coded into launch files (a problem inherited from ROS); they should be dumber. Relevant issue: autowarefoundation/autoware_launch#66 |
Beta Was this translation helpful? Give feedback.
-
Related discussion and issues:
Hello everyone,
In current autoware universe implementation, every module includes parameters from their own parameter files. Some of the parameters are vehicle specific parameters which would be used by another modules so it causes so many duplicated parameters. For example, both planning and control modules take the minimum-maximum jerk and acceleration parameters from their own parameter files. We want to load this kind of common parameters from one source to prevent confusion. How we should load parameters to modules from one file?
Issue about how to load the common parameters: autowarefoundation/autoware.universe#143
Also there are some module specific parameters (especially in behavior_path_planner and behavior_velocity_planner) like
maximum_deceleration
while lane changing. Should we assume these parameters as vehicle specific parameters? What should be borders of vehicle specific parameters?In current universe, parameters are so complicated, I think we need to discuss a new parameter design. So please feel free to share your opinion.
Beta Was this translation helpful? Give feedback.
All reactions