Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Cleaning Robots Gym

Gymnasium-compatible reinforcement-learning environment for the cleaning-robot MDP described in the paper preprint.

Developed by the IROS Lab team, Faculty of Computer Science (Fasilkom), Universitas Indonesia. Current planned package version: 0.1.0a1 (alpha).

Installation

pip install -e .
pip install -e ".[research]"

These commands install from this checkout. Once an alpha release is published, install that exact release with pip install cleaning-robots-gym==0.1.0a1.

The first command installs the environment. The second adds training, plotting, rendering, and video dependencies. For video only, use pip install -e ".[video]".

Repository Structure

cleaning-robots-gym/
|-- cleaning_robots_gym/       # Installable environment package
|   |-- __init__.py           # Gymnasium registration and public imports
|   |-- envs/
|   |   `-- cleaning_robot_env.py
|   `-- config/
|       `-- cleaning_robots_v0.yaml
|-- scripts/                  # Training, evaluation, plotting, video
|-- docs/                     # Experiment documentation and figures
|   `-- media/
|-- logs/                     # Local results/models; excluded from Git
|-- README.md
|-- pyproject.toml
`-- requirements.txt          # Full research dependencies

The layout follows the package/scripts/docs separation used by BlueSky-Gym. Only the environment package is installed into the wheel. Research scripts and generated experiment outputs are maintained separately. Historical results already tracked in Git are retained under logs/; new, untracked experiment outputs are ignored.

Experiments

python scripts/train.py --algorithms ppo a2c --seeds 12345
python scripts/simulate.py --algorithm ppo --num_episodes 3
python scripts/aggregate_results.py --help
python scripts/plot_comparison.py

See scripts/README.md and docs/experiments.md.

Usage

The package follows the same usage pattern as third-party Gymnasium libraries:

import gymnasium as gym
import cleaning_robots_gym

cleaning_robots_gym.register_envs()
env = gym.make("CleaningRobots-v0")

obs, info = env.reset(seed=12345)
terminated = truncated = False
while not (terminated or truncated):
    action = env.action_space.sample()
    obs, reward, terminated, truncated, info = env.step(action)
env.close()

CleaningRobots-v0 loads cleaning_robots_gym/config/cleaning_robots_v0.yaml, which is the single 7x7 journal configuration previously kept as config_2.yaml.

RecordVideo

Gymnasium records videos from environments that support render_mode="rgb_array". Install moviepy if Gymnasium asks for it, then wrap the environment:

import gymnasium as gym
from gymnasium.wrappers import RecordVideo
import cleaning_robots_gym

cleaning_robots_gym.register_envs()

env = gym.make("CleaningRobots-v0", render_mode="rgb_array")
env = RecordVideo(
    env,
    video_folder="logs/videos",
    episode_trigger=lambda episode_id: True,
    name_prefix="cleaning-robots-v0",
)

obs, info = env.reset(seed=12345)
terminated = truncated = False
while not (terminated or truncated):
    action = env.action_space.sample()
    obs, reward, terminated, truncated, info = env.step(action)

env.close()

For a ready-to-run example, use:

python scripts/record_video.py --episodes 1 --steps_per_episode 500

License and Releases

The code is licensed under the MIT License. Copyright is attributed to Cleaning Robots Gym contributors; the lab affiliation above does not establish institutional ownership of every contribution.

See the release guide for TestPyPI, Trusted Publishing, version updates, and the journal release checklist.

Metadata

Release files for cleaning-robots-gym 0.1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cleaning-robots-gym 0.1.0a1
File Size Uploaded
cleaning_robots_gym-0.1.0a1.tar.gz 51.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cleaning-robots-gym 0.1.0a1
File Interpreter ABI Platform
cleaning_robots_gym-0.1.0a1-py3-none-any.whl Python 3 none any Details

Total release size: 70.1 kB

Release files / cleaning_robots_gym-0.1.0a1.tar.gz

Download URL cleaning_robots_gym-0.1.0a1.tar.gz
Size 51.4 kB
Tags Source
SHA-256 checksum
How to use checksums
878671f3c774a74ca539bcd606764086e18118ff763003e0c0fc010b22cda365
BLAKE2b-256 checksum
How to use checksums
ca5e904590fcab510bf2914aa67baae4fcb1c1205e2b1aee5d20049641491010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release files / cleaning_robots_gym-0.1.0a1-py3-none-any.whl

Download URL cleaning_robots_gym-0.1.0a1-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce8fbe21f3784f6e68f0cdd371269d0f29eecdefc28c66fbde0414ca2f7c2cb6
BLAKE2b-256 checksum
How to use checksums
3a3fa312327d0358198d622ceeb7d1c57794b0e1cfa1a026aafc143bbc101365
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0a1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page