https://github.com/data-science-in-mechanical-engineering/hci-gibo
Code to reproduce the results from the paper "Simulation-Aided Policy Tuning for Black-Box Robot Learning".
https://github.com/data-science-in-mechanical-engineering/hci-gibo
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org, ieee.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Code to reproduce the results from the paper "Simulation-Aided Policy Tuning for Black-Box Robot Learning".
Basic Info
- Host: GitHub
- Owner: Data-Science-in-Mechanical-Engineering
- License: other
- Language: Python
- Default Branch: main
- Homepage: https://arxiv.org/abs/2411.14246v1
- Size: 88.9 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
High-Confidence Improvement Bayesian Optimization
This repository contains the code to reproduce the results from the paper Simulation-Aided Policy Tuning for Black-Box Robot Learning.
We propose a general and data-efficient zero-order local search method based on Gradient Information with Bayesian Optimization (GIBO) with the option to include a low-fidelity information source such as a simulator.
Here is a video of the robot learning experments: https://www.youtube.com/watch?v=9iSUzwjN7ko.
Abstract
How can robots learn and adapt to new tasks and situations with little data? Systematic exploration and simulation are crucial tools for efficient robot learning. We present a novel black-box policy search algorithm focused on data-efficient policy improvements. The algorithm learns directly on the robot and treats simulation as an additional information source to speed up the learning process. At the core of the algorithm, a probabilistic model learns the dependence of the policy parameters and the robot learning objective not only by performing experiments on the robot, but also by leveraging data from a simulator. This substantially reduces interaction time with the robot. Using this model, we can guarantee improvements with high probability for each policy update, thereby facilitating fast, goal-oriented learning. We evaluate our algorithm on simulated fine-tuning tasks and demonstrate the data-efficiency of the proposed dual-information source optimization algorithm. In a real robot learning experiment, we show fast and successful task learning on a robot manipulator with the aid of an imperfect simulator.
Cite
If you find our code or paper useful, please consider citing the T-RO paper. There is also an arXiv version.
bibtex
@article{he2024simulation,
title={Simulation-Aided Policy Tuning for Black-Box Robot Learning},
author={Shiming He and Alexander {von Rohr} and Dominik Baumann and Ji Xiang and Sebastian Trimpe},
journal={IEEE Transactions on Robotics},
year={2025},
volume={41},
number={},
pages={2533-2548},
doi={10.1109/TRO.2025.3539192}
}
You may also be interested in the original GIBO paper
bibtex
@inproceedings{muller2021local,
author = {M\"{u}ller, Sarah and von Rohr, Alexander and Trimpe, Sebastian},
booktitle = {Advances in Neural Information Processing Systems},
pages = {20708--20720},
title = {Local policy search with Bayesian optimization},
volume = {34},
year = {2021}
}
Code of the repo
- optimizers: Implemented optimizers for black-box functions are random search, vanilla Bayesian optimization, CMA-ES, GIBO, and the proposed method HCI-GIBO and S-HCI-GIBO.
- model: A Gaussian process model with a squared-exponential kernel that also supplies its Jacobian.
- policy parameterization: Multilayer perceptrones as policy parameterization for solving reinforcement learning problems.
- environment api: Interface for interactions with reinforcement learning environments of OpenAI Gym.
- acquisition function: Custom acquisition function for gradient information.
- loop: Brings together all parts necessary for an optimization loop.
Installation
To run robot experiments, follow the instruction under franka_pendulum and gym-franka-pole.
Into an environment with python 3.7.3 you can install all needed packages with
pip install -r requirements.txt
Usage
For experiments with synthetic test functions with dual information sources. a command-line interface is supplied.
Synthetic Test Functions
Run
First generate the needed data for the synthetic test functions.
python generate_data_synthetic_functions_IS.py -c ./configs/synthetic_experiment/generate_data_MIS.yaml
Afterwards you can run for instance GIBO, HCI-GIBO and S-HCI-GIBO on these test functions.
```
GIBO
python runsyntheticexperiment.py -c ./configs/syntheticexperiment/gibodefault.yaml -cd ./configs/syntheticexperiment/generatedata_MIS.yaml
HCI-GIBO
python runsyntheticexperiment.py -c ./configs/syntheticexperiment/hci-gibodefault.yaml -cd ./configs/syntheticexperiment/generatedata_MIS.yaml
S-HCI-GIBO
python runsyntheticexperimentIS.py -c ./configs/syntheticexperiment/s-hci-gibodefault.yaml -cd ./configs/syntheticexperiment/generatedataMIS.yaml ```
Evaluate
Evaluation of the synthetic experiments:
python evaluations/test_performance.py
Robot Experiment
Run
First launch module external_acceleration_controller in franka_pendulum.
Afterwards you can run
python run_robot_experiment.py
Owner
- Name: Data Science in Mechanical Engineering (DSME)
- Login: Data-Science-in-Mechanical-Engineering
- Kind: organization
- Location: Aachen, Germany
- Website: https://www.dsme.rwth-aachen.de
- Repositories: 3
- Profile: https://github.com/Data-Science-in-Mechanical-Engineering
Public code repository of the Institute for Data Science in Mechanical Engineering at the RWTH Aachen University
GitHub Events
Total
- Watch event: 2
- Push event: 1
Last Year
- Watch event: 2
- Push event: 1