-
Notifications
You must be signed in to change notification settings - Fork 0
Feature/rsim noise #89
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
base: main
Are you sure you want to change the base?
Conversation
|
Please can you clarify on what "rsim gets thrown off by even the slightest noise in orientation" means? Do you mean the motion controllers? Orientation specifically? |
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.
Pull request overview
This PR adds support for Gaussian noise in the rsim simulator to more closely match the behavior of grSim. The noise is applied to robot position observations with configurable standard deviations for x, y (in cm), and orientation (in degrees).
Changes:
- Added
rsim_noiseparameter to StrategyRunner's initialization to configure noise levels - Implemented
add_gaussian_noisemethod in Robot class to apply position noise - Integrated noise application in SSLStandardEnv's observation retrieval
- Updated main.py example with noise configuration and changed control scheme to "pid"
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| utama_core/run/strategy_runner.py | Added rsim_noise parameter to constructor and passed to _load_sim for RSim environment initialization |
| utama_core/rsoccer_simulator/src/ssl/envs/standard_ssl.py | Added gaussian_noise parameter to constructor and applied noise in _get_robot_observation |
| utama_core/rsoccer_simulator/src/Entities/Robot.py | Implemented add_gaussian_noise method to mutate robot position with Gaussian noise |
| main.py | Added rsim_noise configuration and changed control_scheme from "dwa" to "pid" |
| utama_core/run/refiners/position.py | Trivial whitespace-only change |
…enting balls/robots to the SSLStdenv class. Learned about this best practice in this week's lecture
rSim enhancement
Added support for Gaussian noise and vanishing for ball and robots in rSim.
Results achieved
The effect is very close to what grSim produces, verified with replay data for StartupStrategy run with pid (2.5cm standard deviation).
Fixed issues
An earlier issue with adding noise to orientation data was caused by a mismatch in units. rSim uses degrees, while the rest of the repo uses radians. The rest of the repo has been cleared of this issue.
Warnings
During testing, I discovered that DWA has a very low threshold for noise of around 2.5cm (position).