Coder Social home page Coder Social logo

cyberbotics / arosys Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 2.0 39.96 MB

This repository allows to use the Webots simulator in the SmartMDSD Toolchain

Home Page: https://robmosys.eu/arosys

License: Apache License 2.0

CMake 19.49% C++ 54.68% Shell 7.98% Python 17.85%
robmosys robots simulator smartsoft webots

arosys's People

Contributors

davidmansolino avatar michou214 avatar renan028 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arosys's Issues

ComponentWebotsRobotino3 needs improvement

Describe the Bug
Need to fix the movement by adjusting the matrix to calculate velocity.

Steps to Reproduce

  1. Deploy SystemWebotsRobotino3Navigation
  2. Look at the behavior of the Robotino by zooming on it (shortcut: Alt+5)

Expected behavior
If Robotino 3 has to move forward, it should not move in diagonal.

System
Virtual Image: 20191205-SmartMDSD_Toolchain_3.12_VM_Ubuntu_16.04.ova

Small improvements

To do:

  • Check if it is possible to use official PROTOs names for robots => #46
  • Verify that all systems have the simple world and the complex world with right robot and official name => #49
  • Check the lidars that they are properly configured and placed in the robots => #49
  • Clean the ComponentWebotsBumper when we've merged the PR => #50

Convert one Pilot to Webots

For the first Milestone we should at least convert one (ideally more) component (e.g. system) to Webots.
The simpler one is the SystemLaserObstacleAvoidTiagoGazeboSimulator as it only uses the services we already have (CommNavigationVelocity and CommMobileLaserScan).

Add Battery Event

The current robot components have BatteryEventTask but it is not used.

Your work on the AROSYS project for RobMoSys

To whom it may concern,

I am a computer science student at the Technische Universität Dresden (Germany) and I am currently working on a research project regarding Model Driven Engineering in robotics and the RobMoSys project.
As a part of my research I want to include an overview of pilot studies and pilot projects regarding RobMoSys. I have come across your project AROSYS and would love to know more about it. Specifically, I would like to know within what time frame you worked on the project and whether it was finished or is still in development.
Furthermore, I would love to know whether you could give me an outlook regarding future aspects of your project. Has the project inspired any other projects related to RobMoSys and model driven engineering?

Thank you for your time in advance and I hope to hear from you.

Kind regards

Final clean-up

When all issues will be fixed, clean all files:

  • Clean CMakeLists.txt
  • Comments (remove useless, all starts with lowercase, units)
  • Print all variables that are transmitted (precise "// print data to debug")
  • Use only lowcase for lidar, bumper, etc in displayed messages
  • Useless variables
  • NAMECore.cc => Instance => instance
  • Add units (CWP-Core.hh)
  • In NavigationVelocityHandler.cc add units, change comments (name and data)
  • Remove units in NAMECore.hh
  • Verify that all components have webotsRobot in file nameCore.cc + .hh
  • Indentation
  • for loop as Cpp from Cyberbotics
  • if... else structure as Cpp from Cyberbotics
  • In .hh file, put a return between protected, private, public. Delete protected if no variable.
  • One return after the last #define or #include
  • One return between function except the constructor and destructor
  • ROBOTINO 3 comp + system
  • System/world => Verify that Lidar has noise everywhere, 640 in resolution, fov = 3.49066, min=0.1, max=10, noise =0.02
  • System/world => Verify that each robot has a follow option
  • Check that the model doesn't change

Things to check in SmartMDSD:

  • SystemWebotsTiagoNavigation` > ComponentWebotsPioneer3DXhas no ServiceBaseStateAnswerer`

Cleanup Components

Some old component are present on the repo, we should:

  • Remove those old component not used anymore.
  • Rename the used component to use better name (e.g. avoid 'test' in the name
    • ComponentWebots
    • ComponentWebotsLidar
    • ComponentWebotsObstacleAvoidance
    • ComponentWebotsPioneer3DX
    • ComponentWebotsRobotino3
    • SystemWebotsPioneer3DXNavigation
    • SystemWebotsRobotino3Navigation
  • Use CamelCase format everywhere
    • ComponentWebots
    • ComponentWebotsLidar
    • ComponentWebotsObstacleAvoidance
    • ComponentWebotsPioneer3DX
    • ComponentWebotsRobotino3
    • SystemWebotsPioneer3DXNavigation
    • SystemWebotsRobotino3Navigation
  • Clean files

Improve World Configuration

Currently, the world loaded with Webots is hard-coded in the Webots component, this should be configurable from the system using this component.

Merge Robot Components

Since the robot component are extremely similar, it would be very nice to merge them in a simple and generic ComponentWebotsRobot.

Add BaseStateQueryHandler Update

All the robot component have a BaseStateQueryHandler service but it is not implemented, as all the current systems examples of RobMoSys use this service it seems very important to implement it (probably more important than #5 and #6).

Fix Controller Attribution

The current mechanism setting the WEBOTS_ROBOT_NAME environment variable is not working as expected resulting in failure of the controller attribution. A better mechanism should be added.

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.