{"id":19984502,"url":"https://github.com/intellabs/scenario_execution","last_synced_at":"2025-04-06T06:12:58.190Z","repository":{"id":226071623,"uuid":"749971963","full_name":"IntelLabs/scenario_execution","owner":"IntelLabs","description":"Scenario Execution for Robotics","archived":false,"fork":false,"pushed_at":"2024-12-18T09:40:19.000Z","size":14895,"stargazers_count":54,"open_issues_count":18,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T05:09:49.321Z","etag":null,"topics":["gazebo","robotics","robotics-simulation","ros2","scenario","scenario-testing","simulation"],"latest_commit_sha":null,"homepage":"https://intellabs.github.io/scenario_execution","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IntelLabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-29T18:42:42.000Z","updated_at":"2025-02-25T19:28:52.000Z","dependencies_parsed_at":"2024-04-08T08:47:12.872Z","dependency_job_id":"ef5e7b66-681d-4826-93c2-494d1d37dc48","html_url":"https://github.com/IntelLabs/scenario_execution","commit_stats":null,"previous_names":["intellabs/scenario_execution"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fscenario_execution","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fscenario_execution/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fscenario_execution/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntelLabs%2Fscenario_execution/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntelLabs","download_url":"https://codeload.github.com/IntelLabs/scenario_execution/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441060,"owners_count":20939239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gazebo","robotics","robotics-simulation","ros2","scenario","scenario-testing","simulation"],"created_at":"2024-11-13T04:19:13.031Z","updated_at":"2025-04-06T06:12:58.167Z","avatar_url":"https://github.com/IntelLabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Scenario Execution\n\n[![Super-Linter](https://github.com/IntelLabs/Scenario_Execution/actions/workflows/scan.yml/badge.svg)](https://github.com/marketplace/actions/super-linter)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/IntelLabs/scenario_execution/badge)](https://scorecard.dev/viewer/?uri=github.com/IntelLabs/scenario_execution)\n\nScenario execution is a backend- and middleware-agnostic library written in Python based on the generic scenario description language [OpenSCENARIO DSL](https://www.asam.net/standards/detail/openscenario-dsl/) and [pytrees](https://py-trees.readthedocs.io/en/devel/).\nIt reads a scenario definition from a file and then executes it, reusing available checks and actions. It is easily extendable through a library mechanism.\nThis separation of the scenario definition from implementation massively reduces the manual efforts of scenario creation.\n\nTo give an impression of the functionality of scenario execution, the following animation shows an example scenario with a turtlebot-like robot in simulation using [Nav2](https://github.com/ros-planning/navigation2) and [ROS](https://ros.org/) as middleware to navigate towards a specified navigation goal in a simulated warehouse environment.\nOnce the robot reaches a reference position a box is spawned in front of the robot as an unmapped static obstacle that needs to be avoided.\nUpon arrival of the goal position, the scenario ends and the simulation gets cleaned up.\n\n![scenario execution in action](docs/images/scenario.gif \"in action\")\n\n## Documentation\n\nPlease find the documentation [here](https://intellabs.github.io/scenario_execution).\n\n## How to cite\n\nIf you use Scenario Execution for Robotics in your scientific work, please cite our paper [Scenario Execution for Robotics: A generic, backend-agnostic library for running reproducible robotics experiments and tests](https://arxiv.org/pdf/2409.07080)\n\n```bibtex\n@Article{Pasch2024,\n  author = {Pasch, Frederik and Mirus, Florian and Zhang, Yongzhou and Scholl, Kay-Ulrich},\n  title = {Scenario Execution for Robotics: A generic, backend-agnostic library for running reproducible robotics experiments and tests},\n  journal = {Computing Research Repository (CoRR)},\n  year = {2024},\n  eprint = {2409.07080},\n  archivePrefix = {arXiv},\n  primaryClass = {cs.RO},\n  url = {https://arxiv.org/abs/2409.07080},\n}\n```\n\n## Setup\n\n### Installation from source as ROS 2 workspace\n\nClone this repository, update its submodules by running:\n\n```bash\ngit submodule update --init\n```\n\ninstall the necessary dependencies:\n\n```bash\nrosdep install  --from-paths . --ignore-src\npip3 install -r requirements.txt\n```\n\nand build it\n\n```bash\ncolcon build\n```\n\n## How to run\n\nFirst, build the packages:\n\n```bash\ncolcon build\nsource install/setup.bash\n```\n\nTo launch a scenario with ROS2:\n\n```bash\nros2 run scenario_execution_ros scenario_execution_ros examples/example_scenario/hello_world.osc -t\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintellabs%2Fscenario_execution","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintellabs%2Fscenario_execution","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintellabs%2Fscenario_execution/lists"}