Giter Site home page Giter Site logo

lyg1597 / cyphyhouseexperiments Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cyphyhouse/cyphyhouseexperiments

0.0 0.0 0.0 33.65 MB

Repository for scripts used in demos and experiments

License: University of Illinois/NCSA Open Source License

Python 98.43% Shell 1.57%

cyphyhouseexperiments's Introduction

CyPhyHouseExperiments

License

CyPhyHouseExperiments repository is for executable scripts for reproducing experiment results in our research papers. These scripts can be used in Intelligent Robotics Lab in UIUC as well as in our Gazebo based simulation engine, Cymulator. This repository also contains the glue code that integrates all components in the CyPhyHouse project.

Website and Documentation

CyPhyHouseExperiments is part of the CyPhyHouse project and currently requires setting up hardware devices and installing software on each device. Please visit following websites for detail usages.

Broad overview of CyPhyHouse project is available at:

https://cyphyhouse.github.io/

Or you can find the documentation at:

https://cyphyhouse.rtfd.io/

Cite CyPhyHouse

Plain Text

R. Ghosh et al., "CyPhyHouse: A programming, simulation, and deployment toolchain for heterogeneous distributed coordination", 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 2020, pp. 6654-6660, doi: 10.1109/ICRA40945.2020.9196513.

BibTex

@INPROCEEDINGS{CyPhyHouse,
  author={Ritwika Ghosh and Joao P. Jansch-Porto and Chiao Hsieh and 
          Amelia Gosse and Minghao Jiang and Hebron Taylor and Peter Du and
          Sayan Mitra and Geir Dullerud},
  booktitle={2020 IEEE International Conference on Robotics and Automation (ICRA)}, 
  title={CyPhyHouse: A programming, simulation, and deployment toolchain for heterogeneous distributed coordination},
  year={2020},
  volume={},
  number={},
  pages={6654-6660},
  doi={10.1109/ICRA40945.2020.9196513}
}

License

CyPhyHouseExperiments is licensed under the terms of the NCSA License (see the file LICENSE).

Installation

  1. Follow the instruction at https://github.com/cyphyhouse/Cymulator to install Cymulator. We assume the catkin workspace is under catkin_ws.

  2. Clone this CyPhyHouseExperiments repository under any directory (does not need to be in the catkin_ws):

    git clone https://github.com/cyphyhouse/CyPhyHouseExperiments
    

Install Packages for Koord Experiments

Following steps are required only for using Koord language compiler and middleware to run Koord experiments. You can skip these steps if you want to run other experiments such as UTM experiments, and check the specific directory for more instructions.

  1. Download the latest version of the koord langauge

    • place koord-0.1-jar-with-dependencies.jar inside CyPhyHouseExperiments/experiments_koord folder
  2. Clone and install CyPyHous3 middleware under any directory (does not need to be in catkin_ws).

    git clone https://github.com/cyphyhouse/CyPyHous3.git --branch for-cymulator  # Clone the repo with the for-cymulator branch
    pip3 install --user -e CyPyHous3/

Installation Help

If the installation fails please make sure the following packages are installed:

  • ros-kinetic-gazebo9-ros-pkgs
  • ros-kinetic-gazebo9-ros
  • ros-kinetic-gazebo9-ros-control
  • ros-kinetic-gazebo9-plugins
  • ros-kinetic-ackermann-msgs
  • ros-kinetic-geographic-msgs
  • ros-kinetic-serial
  • ros-kinetic-ros-control ros-kinetic-ros-controllers
  • ros-kinetic-hector-localization ros-kinetic-hector-models
  • ros-kinetic-geometry2 ros-kinetic-robot
  • libyaml-cpp-dev
  • Java version 1.11 (needed for using Koord language)
  • netifaces
  • defusedxml

Run experiment scripts for Koord applications

Assume the Koord compiler and middle-ware are already installed.

Change the working directory to experiments_koord.

Apps with Motion module

To execute a Koord program that uses the Motion module, we need to first instantiate simulated devices in our Cymulator.

source catkin_ws/devel/setup.bash  # catkin_ws is your workspace for catkin
rosrun cym_gazebo cymulate.py ../scenes/cym_5_drones.yml

We then use experiment.sh to start the experiment in another terminal. For example, run the following command to execute lineform with 5 simulated agents in another terminal.

source catkin_ws/devel/setup.bash  # catkin_ws is your workspace for catkin
./experiment.sh app_krd/lineform.krd configs/motion_5_drones.global.yml

More applications and experiment instructions can be found under the experiments_koord folder.

cyphyhouseexperiments's People

Contributors

hc825b avatar hdt2020 avatar allbugmustdie avatar jpjporto avatar nyf1209 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.