Skip to content

MODELO-KIND-ENGINEERING/MODELITO-LANGUAGE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Modelito Logo

Modelito Soft Robotics Simulator

Bringing soft robotics to life through intuitive simulation

A friendly and powerful Python-based soft robotics simulator that makes designing and testing deformable robots a delightful experience! Whether you're a robotics enthusiast, researcher, or just curious about soft robots, Modelito is here to help you bring your ideas to life.

πŸ‘‹ Welcome to Modelito!

Modelito is crafted with love by the MODELO KIND ENGINEERING TEAM:

  • Daniel Motilla (M0TH)
  • Frederick Ayala
  • Davide Vigano
  • Oyvind Soroy (Colonthree)
  • Drake (Yoshi)

We hope you have fun with our software and create something wonderful :3

⚑ Quick Start

  1. Set up your environment:
conda create -n MODELITO python=3.13
conda activate MODELITO
pip install numpy scipy matplotlib vedo PyQt6 lark
  1. Launch Modelito:
python modelito.py
  1. Start Creating! Create a robot definition (e.g., my_robot.robot) and load it in the editor.

πŸ€– Example Robots

We've included some fun example robots to help you get started:

  • quadruped_robot.robot: A lively four-legged walking robot that can traverse various terrains
  • worm_robot.robot: An elegant segmented robot with smooth undulating motion

Feel free to modify these examples or use them as inspiration for your own creations!

✨ Key Features

  • 🎨 Intuitive Visual Interface with syntax highlighting for easy robot design
  • ⚑ Real-time Physics Simulation for immediate feedback
  • 🦿 Multiple Gait Patterns including quadruped and worm-like motion
  • πŸ› οΈ Highly Customizable robot parameters for endless possibilities
  • 🌟 Beautiful 3D Visualization powered by vedo

πŸ“ Robot Definition Language

Modelito uses an intuitive, easy-to-learn language for defining robots. Here's a basic structure to get you started:

robot MyRobot {
    body {
        shape: box(w, h, d) | cylinder(r, h) | table | worm
        stiffness: <number>
        mass: <number>
    }
    
    parts {
        part_name: leg | body_part {
            position: (x, y, z)
            size: (w, h, d)
            stiffness: <number>
            mass: <number>
        }
    }
    
    actuator {
        gait: quadruped | worm
        frequency: <number>
        forces: {
            lift: <number>
            push: <number>
            swing: <number>
        }
    }
}

⌨️ Controls

We've kept the controls simple and familiar:

  • Ctrl+Enter: Bring your robot to life (Run simulation)
  • Ctrl+N: Start a new creation
  • Ctrl+O: Open an existing robot
  • Ctrl+S: Save your work

🀝 Contributing & Support

We love seeing our community grow! Here's how you can get involved:

  • πŸ› Found a bug? Open an issue
  • πŸ’‘ Have an idea? Share your feature requests
  • πŸ”§ Want to contribute code? Submit a pull request
  • πŸ“š Need help? Join our community discussions
  • β˜• Love the project? Buy us a coffee on Ko-fi

Let's create amazing soft robots together! πŸš€

About

A Python-based soft robotics simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published