Giter VIP home page Giter VIP logo

digital-twin-playground's Introduction

Digital twin playground

This project is a virtual environment for testing different motion control algorithms. It uses the Bevy game engine and is written in Rust.

⚠️ This project is in alpha stage and there is still work in progress.

assets_pendulum.webm

Documentation

The documentation for the project can be found in the docs directory. The documentation is written in Markdown and can be viewed in the browser using the mdBook tool.

Contributing

Contributions to this project are welcome! Please open an issue or a pull request if you have any ideas or improvements. The full instructions for contributing can be found in the Contributing section.

License

This project is licensed under the MIT License.

digital-twin-playground's People

Contributors

caiopiccirillo avatar dependabot[bot] avatar llagu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

digital-twin-playground's Issues

Delpoy to github pages only when requested

Currently, if the main branch is updated, it'll generate a new WASM and publish to github pages. Which can be unnecessary, because some changes are not related to 3D model or internal logic.

Make camera spawn position configurable

Although PR #10 closed issue #4, the camera position was hardcoded. The camera spawn position needs to be configurable.
The camera should be "adjustable" to some extent, because new 3D models can be loaded into the software and the camera position should be able to show it all.

Proposal:

  • Add cartesian (x, y, z) or spherical (ρ, θ, φ) coordinates
  • Add camera projection direction hint, such as coordinate origin or geometrical center of model

These configurations should be avaible through graphical interface.

Configuration file

Create a configuration file manager, which can be useful not only for the application (assignment of port, keybindings and etc.) but also for the 3D model (if .glb model can't provide such "physical" informations, such as mass, length, inertial moment and etc.).

Investigate model constraints

The model is currently being designed on Blender and there's a lot of physics features for simulation.
The constraints such as translation and rotation of bodies such be reflected exactly the same in Bevy.

Move 3D models

Move all 3D models to a new git repository and add it here as git submodule.

Improve Github Pages release

Currently the project is only releasing a WASM of the application, but it should also contain the documentation generated.
Ideally we would have a homepage with a explanation of the project and a link to the documentation and another for the application.

Reset camera view

Add camera reset, so the model can be seen again. Accidently, sometimes the model goes away.

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.