Giter Site home page Giter Site logo

openvmp-models's Introduction

OpenVMP

License

OpenVMP rendered robot model

walking robot driving robot remotely controlled robot

pole climbing robot cable climbing robot robot modes of operation

daisy chained robots grab and attach to objects robot swarm

Join our Discord server!

Open Versatile Mobility Platform (OpenVMP) is a community project with the goal of making it possible for anyone to build multi-modal mobility robots using affordable off-the-shelf parts and open source software. This repository contains all the necessary software, bills of materials and assembly instructions.

The aim is to develop heavy-duty robots that can be controlled remotely. The platform allows anyone, anywhere in the world, to learn how to operate these robots, possibly through simulation environments. Once trained, users can easily operate robots belonging to others, without being limited by manufacturer restrictions or targeted audiences. This approach facilitates the rapid development and deployment of robotics without being impeded by profit or other motives.

These robots can complete tasks either independently or collaboratively. This means that a group of robots can work together in two ways: figuratively (each robot follows its own path to explore more territory) or literally (robots physically connect to form a larger robot).

This is the monorepo of the OpenVMP project. Some of the internal components are git submodules that are also designed to be equally usable as standalone ROS2 packages outside of OpenVMP. But other packages (where the name starts with openvmp_) are made exclusively for OpenVMP.

Key features

Multi-Modal Mobility

OpenVMP robots supports various modes of transportation, including:

  • Wheeled driving on or off-road
  • Quadrupedal walking or crawling
  • Climbing cylindrical objects such as trees, poles, pipes, ropes and cables
  • Climbing and driving inside pipes, ducts or tunnels
  • Climbing warehouse shelving units

Individual Performance

OpenVMP robots are capable of performing basic mechanical tasks with their limbs, but their full potential is unlocked through the use of extension modules (see 'Modularity' section below). These robots can operate independently for extended periods of time while minimizing power usage when idle. One key application is sending individual OpenVMP units to perform ad-hoc tasks like reconnaissance, communication, supply, and delivery, while temporarily separating from the collective.

Collective Performance

OpenVMP units can improve their mobility by mechanically joining together and sharing resources for computation and communication. This versatility is evident in scenarios such as climbing artificial structures (e.g., buildings, industrial complexes, pipes, poles, fences, and barricades) and overcoming natural barriers (e.g., trees, ravines, and small cliffs).

Modularity

Each OpenVMP unit may have one or more payload modules, typically including:

OpenVMP units can be equipped with one or more payload modules, which typically include interchangeable front and rear modules. These modules enable the units to perform functional tasks using multipurpose or specialized tools, such as mechanical tools, inspection devices, liquid dispensers, or defense mechanisms. They are designed to be hot-swappable for easy replacement during missions.

In addition to the front and rear modules, OpenVMP units can also feature a top module. This module may contain advanced computing units, large robotic arms, extra power supplies, or other components that may significantly enhance capabilities of an entire swarm of robots. Unlike the front and rear modules, the top module is hardwired and cannot be hot-swapped.

What's included

This repository contains the software needed to simulate OpenVMP units, including simulation worlds designed to showcase some of their capabilities. Additionally, it includes some software required for operating real OpenVMP units. The remaining software and hardware blueprints for various OpenVMP unit types currently under development will be published here soon.

All materials in the OpenVMP repositories are available under the Apache 2.0 open-source license. To minimize the risk of patent trolls claiming minor improvements on OpenVMP's work, just in case, contributors have documented the features and ideas they've considered and planned in the claims.

More information

See the following documents for more info:

openvmp-models's People

Contributors

cdhabecker avatar openvmp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

cdhabecker

openvmp-models's Issues

Human readable custom parts

Currently the custom parts don1_board_top and don1_board_bottom are stored as STEP files exported from FreeCAD.
They need to be replaced with some human readable format like OpenSCAD to enable collaboration and incremental edits.

Either at the same time or as the next issue, CNC friendly outputs (either DXF or gcode or both) need to be added.

Optimize files created for URDF

The STL files created in <openvmp_root>/platform/src/openvmp_robot_don1/meshes for URDF look ugly.

Perhaps the STL export parameters should be tweaked.
Alternatively some post-processing is necessary.
Either something like "optimize STL for 3D printing" can be done, or another URDF-supported mesh file format (also supported by both Gazebo and Rviz) should be used.

Launch error package topic_tools not found

habecker@2023-05-19 10:19:08:~/ws/vmpforks/platform$ ros2 launch openvmp_robot robot.launch.py use_fake_hardware:=true
...
[ERROR] [launch]: Caught exception in launch (see debug for traceback): "package 'topic_tools' not found, searching: [...

Use PNG in README.md files instead of SVG

The SVG files created by CadQuery (for both parts and robots) are currently used in README.md files.
However this is an overkill as the files are big but they are only displayed as small images of fixed size.
An extra step needs to be added to create PNG files.
Once PNG files are used by README.md files, the SVG files of the parts could be removed.

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.