Comments (3)
Hi @johnMinelli ,
It's nice to hear from you about this library's use in your thesis. I appreciate your interest in contributing to improve/enhance the library. It's good to see your initial contributions via your PRs!
Yes, feel free to ask questions and I'll be glad to answer them and help where I can.
Also, you can find the links to download previous release versions of CARLA here.
from macad-gym.
Great 👍
Sincerely i'm struggling a bit with the structure of the library. Maybe refactoring/reordering the files would be a good thing, if you could maybe take a look at it otherwise i'll come up with something but I don't want to disrupt your codebase.
(I'll paste down here the current situtation to open a discussion).
carla
PythonAPI
- config.json
- multi_env.py
- reward.py
- scenarios.py
- spawn_control.py
- Transform.py
core
- controllers
-
- keyboard_control.py
-
- traffic.py
-
- traffic_lights.py
- maps
-
- nav_utils.py
-
- nodeid_coord_map.py
- sensors
-
- camera_manager.py
-
- derived_sensors.py
-
- hud.py
-
- utils.py
- utils
-
- map_explore.py
viz
- map_explore.py
- render.py
multi_actor_env.py
Also some classes have not a real use in the code (maybe are part of a bigger plan not realized 🙂 but i'm here to help). Here as follow:
- 3
*_old
methods in nac_utils.py - The whole HUD i don't this is really used, but i think it can be integrated better
derived_sensor.py
maybe can have a more explicative name or split in two filesget_transform_from_nearest_way_point
function insensors/utils.py
seems a bit out of place in addition of not being usedmap_explore.py
seems to be old code or unfinishedspawn_control.py
andTransform.py
- could you please also explain me what is the role of
multi_actor_env.py
? It should be an example of env?
An additional point of discussion is about the will of ease the proccess of extension of an environment and modify constant values (most of them are thrown in the multi_env.py
file). As you can see in #68 I moved the Reward
class in the env init and the scenarios have been wrapped in a class. I'm not totally satisfied with the Scenarios
maybe you have a suggestion, or you prefer to move toward the adoption of OpenScenario as CARLA.
As a final note, what is your take on library versioning? As you may want to keep most of the functionality frozen for this reason.
Cheers
from macad-gym.
Hey @johnMinelli !
Thank you for elaborating and starting the discussion.
I agree that there are quite a few clean-ups of unused code that can be done on this code base. Yes, they were placeholders for a larger plan but that wasn't executed so they are unused at the moment. I am glad you are here to help improve it!
I would prefer prioritizing updates in this order:
- Bug-fixes
- Support for CARLA 0.9.13+
- Optimizations, feature enhancements
- Code cleanup
An additional point of discussion is about the will of ease the proccess of extension of an environment and modify constant values (most of them are thrown in the multi_env.py file)
With the current design, any extension/modification of an existing environment is considered to be a new environment. This allows reproducibility and benchmarks against particular environment version.
A slightly-modified version of an existing environment can have the same environment name with a new version number per the Gym environment naming convention. For example, an extended/modified version of HomoNcomIndePOIntrxMASS3CTWN3-v0
env can be named with v1
suffix: HomoNcomIndePOIntrxMASS3CTWN3-v1
.
Here's a brief wiki page on how to add a new environment which includes modifying existing environments.
I'm not totally satisfied with the Scenarios maybe you have a suggestion, or you prefer to move toward the adoption of OpenScenario as CARLA.
Yes, integrating OpenScenario will be a good feature enhancement. It will be even better to directly integrate CARLA's scenario_runner that already builds on top of OpenScenario.
what is your take on library versioning? As you may want to keep most of the functionality frozen for this reason
I would follow the semantic versioning and update the library version on PyPi continuously with a release. Yes, for reproducibility with the original paper, that particular version is frozen as one of the release versions here
from macad-gym.
Related Issues (20)
- Running sample code HOT 2
- Running examle code HOT 13
- Reward HOT 2
- Vehicle models HOT 2
- error when import macad_gym HOT 2
- Unable to use RL algorithms with continuous action space HOT 5
- Increasing number of steps per episode/ iteration HOT 3
- Multiprocess pickle Problem HOT 3
- How to set the spectator on the agent HOT 1
- Does macad-gym support multi-agent algos training? HOT 2
- Also stuck in env.reset() in example HOT 3
- How to create communicating environment?
- How to visualize the learning environment? HOT 2
- `multi_view_render` will pop new display window on each frame with latest version of Pygame HOT 6
- The latest pull request is incomplete HOT 3
- gym version will affect the usage of ray[rllib] HOT 2
- PathTracker generate wrong route HOT 2
- when I use urban_signal_intersection_3c env ,happen error,please help me HOT 8
- How to customize a learning environment? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from macad-gym.