Skip to content

Latest commit

 

History

History
181 lines (136 loc) · 13.6 KB

git_guide.rst

File metadata and controls

181 lines (136 loc) · 13.6 KB

Git Guide

Github description

The Resibots's Git gathers usefull code for resibots's experiments. This repository contains everything needed to reproduce resibot's experiments and more.

Here, it explains how the Git repository is organized. There are 67 repositories at the moment.

Dynamixel

  • libdynamixel libdynamixel is a C++ interface to the dynamixel actuators
  • dynamixel_control_hw provides a hardware interface for ROS control and dynamixel actuators

Hexapod repository

  • hexapod_common This repository contains hexapod controllers (generic controller) and hexapod models (urdf files)
  • hexapod_simu
    • hexapod_dart DART integration for our hexapods
    • hexapod_robdyn robdyn integration for our hexapods
  • hexapod_ros these packages are for ROS integration
    • hexapod_bringup : launch file for the hardware interface
    • hexapod_description : Xacro for hexapod, as well as relevant launch files for the description
    • hexapod_driver : C++ API to control our hexapods (talks to dynamixel_control through trajectory messages)
    • hexapod_ros : metapackage for the above packages
  • hexapo_ik : (ROS-ready) library to use inverse kinematics on our hexapods
  • pexod-mechanical-design hosts the openSCAD files for the springed-leg of the hexapod
  • optoforce contains ROS packages for the USB version of the Optoforce sensor

Minitaur repository

  • minitaur_framework
    • minitaur_sdk - The minitaur ghost robotics sdk with some custom examples to be able to read and send commands from ROS and though USB
    • ros_pyminitaur - The ros package with everything needed to read maps created with Map Elites and send the commands to the minitaur through ros
    • pybullet_minitaur_sim - This contains a pybullet minitaur simulation based on this github repository . The pybullet_minitaur_sim defines everything needed to run episodes and create maps with Map Elites.
    • pyite - An IT&E implementation in python, it can be used with pybullet for simulation or with ros to send commands to the real robots. It is selecting the best behaviors in the maps created with Map Elites thanks to a bayesian optimization process
    • pycontrollers This repository stores python robot controllers
    • pymap_elites

Youbot repository

  • youbot_driver youbot API
  • youbot_driver_ros_interface Interface classes for ROS to the youBot driver.
  • omni_common contains all the data/code for our omnidirectional robots that is common to simulation and the real robot. Therefore, there is no dependency on ROS.
  • youbot_description Robot description in form of URDF files and meshes
  • omni_simu contains all the available simulator integrations for our omnidirectional robots
  • omni_ros ROS Integration for our ommidirectional robots
  • teleop_youbot ROS package contains the launch file and configuration file for a logitech F710 joypad to control the YouBot base
  • versaball_ros Control the Versaball for our Omnigrasper robot.
  • omnigrasper_mechanical_design hosts the openSCAD files for the different pieces used on the Omnigrasper

Simulation

  • DART Dynamic Animation and Robotics Toolkit
  • Robdyn simple C++ wrapper around ODE
  • PyBullet simple Python simulator

code related to papers

  • cully_2015_nature WARNING This repository is for archival-purpose only. A more up-to-date implementation of IT&E as described in Cully et al., 2015 is available here
  • tarapore_2016_gecco Source code for the GECCO paper 'How do different encodings influence the performance of the MAP-Elites algorithm?'
  • vassiliades_2017_cvt_map_elites Scaling Up MAP-Elites Using Centroidal Voronoi Tessellations
  • kaushik_2018_multi-dex Source code for "Multi-objective Model-based Policy Search for Data-efficient Learning with Sparse Rewards" (CoRL 2018)
  • vassiliades_2018_gecco Source code for Discovering the Elite Hypervolume by Leveraging Interspecies Correlation (GECCO 2018)
  • rieffel_mouret_2018_soft_tensegrity Source code for ``Adaptive and Resilient Soft Tensegrity Robots'' (Soft Robotics, 2018)
  • chatzilygeroudis_2018_rte Reset-free Trial-and-Error Learning for Robot Damage Recovery
  • pautrat_2018_mlei Bayesian Optimization with Automatic Prior Selection for Data-Efficient Direct Policy Search

Tools

  • simple_nn a lightweight, generic and easy to use C++11 library for feedforward neural networks
  • mcts Monte Carlo Tree Search
  • libcmaes is a multithreaded C++11 library with Python bindings for high performance blackbox stochastic optimization using the CMA-ES algorithm for Covariance Matrix Adaptation Evolution Strategy
  • cvt C++ and Python code for creating a Centroidal Voronoi Tessellation
  • libgp fork of libgp for benchmark purposes. If you need a library for Gaussian processes, please use Limbo , which is more flexible and actively maintained by our group

Others

Actually, there are two main framework : Hexapod and Quadruped

Hexapod framework

6-legged robot

This framework contains everything needed to use IT&E and Map-Elites with the hexapod based-on dynamixel actuators. It includes the followings :

Minitaur framework

6-legged robot

This framework contains everything needed to use IT&E and Map-Elites with the minitaur from ghost robotics. It includes the followings :

  • minitaur_sdk - The minitaur ghost robotics sdk with some custom examples to be able to read and send commands from ROS and though USB
  • ros_pyminitaur - The ros package with everything needed to read maps created with Map Elites and send the commands to the minitaur through ros
  • pybullet_minitaur_sim - This contains a pybullet minitaur simulation based on this github repository . The pybullet_minitaur_sim defines everything needed to run episodes and create maps with Map Elites.
  • pyite - An IT&E implementation in python, it can be used with pybullet for simulation or with ros to send commands to the real robots. It is selecting the best behaviors in the maps created with Map Elites thanks to a bayesian optimization process