Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neka-nat/gazebo_domain_randomization
Domain randomization for gazebo simulator
https://github.com/neka-nat/gazebo_domain_randomization
domain-randomization gazebo gazebo-plugin machine-learning reinforcement-learning ros simulation
Last synced: 17 days ago
JSON representation
Domain randomization for gazebo simulator
- Host: GitHub
- URL: https://github.com/neka-nat/gazebo_domain_randomization
- Owner: neka-nat
- License: bsd-3-clause
- Created: 2018-03-11T17:21:49.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-09-11T10:45:15.000Z (about 5 years ago)
- Last Synced: 2024-10-14T19:42:55.399Z (about 1 month ago)
- Topics: domain-randomization, gazebo, gazebo-plugin, machine-learning, reinforcement-learning, ros, simulation
- Language: C++
- Homepage:
- Size: 13 MB
- Stars: 43
- Watchers: 7
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gazebo Domain Randomization
[![Build Status](https://travis-ci.org/neka-nat/gazebo_domain_randomization.svg?branch=master)](https://travis-ci.org/neka-nat/gazebo_domain_randomization)
https://arxiv.org/abs/1703.06907
**Double pendulum demo**
![result](gazebo_domain_randomizer/images/result.gif)
**Shadow hand demo**
![sr_hand](gazebo_domain_randomizer/images/sr_hand.gif)
## Run
```
roslaunch gazebo_domain_randomizer demo.launch
```If you want to randomize with external trigger, execute with the following option.
```
roslaunch gazebo_domain_randomizer demo.launch event_mode:='trigger'
```And please execute the following command on another console.
```
rostopic pub /randomizers/randomizer/trigger std_msgs/Empty "{}" -r 1.0
```## Settings
To use the randamizers, you need to make the following two settings.1. For physics parameters randomization, set *physics_plugin* (WorldPlugin) in the world file.
```xml
model://sun
model://ground_plane
...
```
2. For visual randomization, you need to load *scene_plugin* (SystemPlugin) for gzclient. Therefore, please use the gzclient script in gazebo_domain_randomizer package. It configures to load the system plugin in the script.
```xml
...
...```
## Randomizers
|Node name |Randomized parameter|
| -------- | -------------------- |
| **light_randomizer** | - light color - attenuation |
| **shape_randomizer** | - shape(sphere, box, cylinder) - shape color - position(x, y, z) |
| **sky_randomizer** | - time of day |
| **physics properties randomizer** | - gravity(x, y, z) |
| **link_properties_randomizer** | - link mass |
| **joint_properties_randomizer** | - joint damping |
| **link_visual_properties_randomizer** | - link color |
| **surface_params_randomizer** | - link mu1, mu2, mu_torsion - link poisson ratio |