Skip to content

Conversation

@szeyoong-low
Copy link
Member

@szeyoong-low szeyoong-low commented Jan 18, 2026

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).

image

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).

@energy-in-joles
Copy link
Member

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?

Copy link
Contributor

Copilot AI left a 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_noise parameter to StrategyRunner's initialization to configure noise levels
  • Implemented add_gaussian_noise method 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

@szeyoong-low szeyoong-low marked this pull request as draft January 30, 2026 16:44
@szeyoong-low szeyoong-low marked this pull request as ready for review January 30, 2026 17:30
…enting balls/robots to the SSLStdenv class. Learned about this best practice in this week's lecture
@szeyoong-low szeyoong-low self-assigned this Jan 31, 2026
@szeyoong-low szeyoong-low added enhancement New feature or request release:minor Minor changes to main labels Jan 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request release:minor Minor changes to main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants