Repository Summary
Checkout URI | https://github.com/IntelLabs/scenario_execution.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-10-02 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
scenario_execution_py_trees_ros | 1.2.0 |
example_multi_robot | 1.2.0 |
example_scenario_control | 1.2.0 |
example_simulation | 1.2.0 |
scenario_execution_floorplan_dsl | 1.2.0 |
scenario_execution_gazebo | 1.2.0 |
scenario_execution_kubernetes | 1.2.0 |
scenario_execution_nav2 | 1.2.0 |
scenario_execution_os | 1.2.0 |
scenario_execution_pybullet | 1.2.0 |
scenario_execution_x11 | 1.2.0 |
scenario_coverage | 1.2.0 |
scenario_execution | 1.2.0 |
scenario_execution_control | 1.2.0 |
scenario_execution_interfaces | 1.2.0 |
scenario_execution_ros | 1.2.0 |
scenario_execution_rviz | 1.2.0 |
gazebo_static_camera | 1.2.0 |
gazebo_tf_publisher | 1.2.0 |
tb4_sim_scenario | 1.2.0 |
scenario_execution_gazebo_test | 1.2.0 |
scenario_execution_nav2_test | 1.2.0 |
scenario_execution_ros_test | 1.2.0 |
scenario_execution_test | 1.2.0 |
message_modification | 1.2.0 |
scenario_status | 1.2.0 |
tf_to_pose_publisher | 1.2.0 |
README
Scenario Execution
Scenario execution is a backend- and middleware-agnostic library written in Python based on the generic scenario description language OpenSCENARIO 2 and pytrees. It reads a scenario definition from a file and then executes it, reusing available checks and actions. It is easily extendable through a library mechanism. This separation of the scenario definition from implementation massively reduces the manual efforts of scenario creation.
To 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 and ROS as middleware to navigate towards a specified navigation goal in a simulated warehouse environment. Once 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. Upon arrival of the goal position, the scenario ends and the simulation gets cleaned up.
Documentation
Please find the documentation here.
How to cite
If 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
@Article{Pasch2024,
author = {Pasch, Frederik and Mirus, Florian and Zhang, Yongzhou and Scholl, Kay-Ulrich},
title = {Scenario Execution for Robotics: A generic, backend-agnostic library for running reproducible robotics experiments and tests},
journal = {Computing Research Repository (CoRR)},
year = {2024},
eprint = {2409.07080},
archivePrefix = {arXiv},
primaryClass = {cs.RO},
url = {https://arxiv.org/abs/2409.07080},
}
Setup
Installation from source as ROS 2 workspace
Clone this repository, update its submodules by running:
git submodule update --init
install the necessary dependencies:
rosdep install --from-paths . --ignore-src
pip3 install -r requirements.txt
and build it
colcon build
How to run
First, build the packages:
colcon build
source install/setup.bash
To launch a scenario with ROS2:
ros2 launch scenario_execution_ros scenario_launch.py scenario:=examples/example_scenario/hello_world.osc live_tree:=True
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/IntelLabs/scenario_execution.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-10-09 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
scenario_execution_py_trees_ros | 1.2.0 |
example_multi_robot | 1.2.0 |
example_scenario_control | 1.2.0 |
example_simulation | 1.2.0 |
scenario_execution_floorplan_dsl | 1.2.0 |
scenario_execution_gazebo | 1.2.0 |
scenario_execution_kubernetes | 1.2.0 |
scenario_execution_moveit2 | 1.2.0 |
scenario_execution_nav2 | 1.2.0 |
scenario_execution_os | 1.2.0 |
scenario_execution_pybullet | 1.2.0 |
scenario_execution_x11 | 1.2.0 |
scenario_execution | 1.2.0 |
scenario_execution_control | 1.2.0 |
scenario_execution_coverage | 1.2.0 |
scenario_execution_interfaces | 1.2.0 |
scenario_execution_ros | 1.2.0 |
scenario_execution_rviz | 1.2.0 |
arm_sim_scenario | 1.2.0 |
gazebo_static_camera | 1.2.0 |
gazebo_tf_publisher | 1.2.0 |
tb4_sim_scenario | 1.2.0 |
scenario_execution_gazebo_test | 1.2.0 |
scenario_execution_nav2_test | 1.2.0 |
scenario_execution_ros_test | 1.2.0 |
scenario_execution_test | 1.2.0 |
message_modification | 1.2.0 |
scenario_status | 1.2.0 |
tf_to_pose_publisher | 1.2.0 |
README
Scenario Execution
Scenario execution is a backend- and middleware-agnostic library written in Python based on the generic scenario description language OpenSCENARIO 2 and pytrees. It reads a scenario definition from a file and then executes it, reusing available checks and actions. It is easily extendable through a library mechanism. This separation of the scenario definition from implementation massively reduces the manual efforts of scenario creation.
To 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 and ROS as middleware to navigate towards a specified navigation goal in a simulated warehouse environment. Once 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. Upon arrival of the goal position, the scenario ends and the simulation gets cleaned up.
Documentation
Please find the documentation here.
How to cite
If 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
@Article{Pasch2024,
author = {Pasch, Frederik and Mirus, Florian and Zhang, Yongzhou and Scholl, Kay-Ulrich},
title = {Scenario Execution for Robotics: A generic, backend-agnostic library for running reproducible robotics experiments and tests},
journal = {Computing Research Repository (CoRR)},
year = {2024},
eprint = {2409.07080},
archivePrefix = {arXiv},
primaryClass = {cs.RO},
url = {https://arxiv.org/abs/2409.07080},
}
Setup
Installation from source as ROS 2 workspace
Clone this repository, update its submodules by running:
git submodule update --init
install the necessary dependencies:
rosdep install --from-paths . --ignore-src
pip3 install -r requirements.txt
and build it
colcon build
How to run
First, build the packages:
colcon build
source install/setup.bash
To launch a scenario with ROS2:
ros2 run scenario_execution_ros scenario_execution_ros examples/example_scenario/hello_world.osc -t