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.
Limbo¶
- ite_v2 : Limbo experiment, IT&E code for developing hexapod experiments similar to Cully et al. (2015), Nature
- blackdrops : Limbo experiment, The Black-DROPS algorithm is a model-based policy search algorithm
Sferes2¶
- map_elites_hexapod_v2 MAP-Elites code for hexapod experiments
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¶
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¶
- robot_dart This repo contains a generic wrapper around the DART simulator.
- ros_control_loop This is a generic, but basic, control loop for ros_control.
- esp8266-estop wifi emergency stop built with the esp8266 wifi + microcontroller
- estop-wachtdog ROS-enabled emergency-stop
- estop-gateway take messages sent by a network-based emergency stop device
- teleop_tools A set of generic teleoperation tools for any robot
- phidgets_driver-1 Drivers for the Phidgets devices
- phidgets_drivers Drivers for the Phidgets devices.
- phidget_textlcd
- logos resibots logos
- sphinxcontrib-versioning
- sphinx_resibots_theme View our website to see how this theme looks
- Metabot Metabot is an open-source DIY quadruped robotics platform
- hexa_control no longer use nor develop this software, please refer to dynamixel_control_hw and hexapod_ros /hexapod_driver for newer software used for our hexapods.
- dynamixel_control no longer use nor develop, please refer to dynamixel_control_hw
- simple_walk made a basic tripod gait for our hexapods. No longer use nor develop.
- format_code helps us keep our C++ source files in a uniform look on all our repositories
- mocap_optitrack ROS nodes for working with the NaturalPoint Optitrack motion capture setup
- ITE OLD, please refer to version 2 ite_v2
- map_elites_hexapod OLD, please refer to version 2 map_elites_hexapod_v2
- icun_crawling_v2 New implementation of crawling for the iCub robot
- resibots_lauch This package contains launch and configurations files concerning experiments of the ResiBots project old (only use for launch vrpn server)
Actually, there are two main framework : Hexapod and Quadruped
Hexapod framework¶
This framework contains everything needed to use IT&E and Map-Elites with the hexapod based-on dynamixel actuators. It includes the followings :
- libdynamixel is a C++ interface to the dynamixel actuators
- dynamixel_control_hw provides a hardware interface for ROS control and dynamixel actuators
- hexapod_common contains hexapod controllers (generic controller) and hexapod models (urdf files)
- hexapod_simu hexapod DART simulation
- hexapod_ros are for ROS integration :
- hexapod_bringup: launch and config file for dynamixel_control_hw
- hexaopod_description : urdf and xacro files
- hexapod_controllers : homemade ROS controllers
- hexapod_driver : ITE experiment
- Limbo
- ite_v2 : Limbo experiment, IT&E code for developing hexapod experiments similar to Cully et al. (2015), Nature
- blackdrops : Limbo experiment, The Black-DROPS algorithm is a model-based policy search algorithm
- Sferes2
- map_elites_hexapod_v2 MAP-Elites code for hexapod experiments
Minitaur framework¶
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