Code Monkey home page Code Monkey logo

dis_project_21sping's Introduction

DIS project code

Teamwork

  • Group ID: 13
  • Localization: Nicola Santacroce (286331)
  • High-level control
    • Flocking: Qi Yan (307457)
    • Formation: Yujie He (321657)
    • PSO: Jianhao Zheng (323146)

Getting started

  • gsl library is required for matrix computation. To install at Ubuntu:

    sudo apt-get install libgsl-dev
  • Code structure

    ├── controller_world                        # Main code
    │   ├── controllers                         # Controllers
    │   │   ├── flocking_crossing_controller	
    │   │   ├── flocking_obstacle_controller
    │   │   ├── formation_graph_crossing_controller
    │   │   ├── formation_graph_obstacle_controller
    │   │   └── supervisor						
    │   └── worlds                              # Default testing world
    ├── localization_library                    # Shared localization utilities
    ├── Matlab                                  # Visualization utilities
    │   ├── localization                        # Localization result visualization
    │   └── metric_computation                  # Flocking result visualization
    └── supplemental                            # Supplemental code, *not* necessary for metrics evaluation
        ├── controllers
        │   ├── crossing_pso_controller         # PSO
        │   ├── obstacle_pso_controller         # PSO
        │   ├── pso_crossing_supervisor         # PSO
        │   ├── pso_obstacle_supervisor         # PSO
        │   ├── localization_controller         # Localization
        │   └── localization_supervisor         # Localization
        └── worlds                              # Ad-hoc worlds

Modification of webots world

  • /controller_world/worlds/test_obstacles.wbt: The supervisor name need to be modified to super0
  • /controller_world/worlds/test_crossing.wbt: None

Run supervisor

  • set controller of each supervisor to be supervisor (same for both two scenarios)
  • metric at each time step will be saved in flocking_metrics0.csv (the number depends on which group)
  • copy the data and run Matlab/metric_computation/cal_single_avg_metric.m in MATLAB will compute the average metric along the duration time.

Flocking controllers

  • /controller_world/worlds/test_obstacles.wbt: set all robot controllers to be flocking_obstacle_controller.
  • /controller_world/worlds/test_crossing.wbt: set all robot controllers to be flocking_crossing_controller.

Formation controllers

  • The usage is similar to the flocking controllers.

PSO

  • If you are interested, you can open the world in "test_crossing_pso.wbt" and "test_obstacles_pso.wbt" in the "supplemental/worlds" folder. No modification is necessary for the world, just compile the controller and you can run the simulation to start PSO.

dis_project_21sping's People

Stargazers

 avatar  avatar  avatar

Watchers

 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.