/openvmp

Robotics platform for universal robots that can walk, drive, climb and join bodies to form even bigger robots.

Primary LanguageC++Apache License 2.0Apache-2.0

OpenVMP

License

Version: Alpha 1

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

Open Versatile Mobility Platform (OpenVMP) implements multi-modal mobility mechanisms that perform arbitrary tasks individually or collectively.

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 (unless the name of the package starts with openvmp_).

Key features

Multi-Modal Mobility

OpenVMP provides support for robots with different modes of transportation, including:

Driving on or off-road using wheels Walking or crawling on four legs Climbing trees, poles, pipes, ropes, cables, and other near-cylindrical objects Climbing and driving inside pipes and tunnels Climbing warehouse shelving units

Individual Performance

OpenVMP robots can use the same limbs to perform various mechanical tasks, and their true power lies in the use of extension modules (see 'Modularity' below). Single OpenVMP units can operate independently for extended periods, with software support for minimizing power usage while idle. A key use case is individual OpenVMP units temporarily leaving the collective to perform ad-hoc tasks such as reconnaissance, communication, supply, and delivery.

Collective Performance

Multiple OpenVMP units can share resources for computation and communication, as well as mechanically join together for improved mobility. The collective performance of versatile mobility units is evident in scenarios such as:

Climbing artificial structures (e.g., buildings, industrial complexes, complex pipes and tubes, poles, fences, barricades) Overcoming natural barriers (e.g., trees, ravines, small cliffs)

Modularity

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

Front and rear (interchangeable) modules: Enables functional tasks with multipurpose or specialized tools (e.g., mechanical tools, inspection tools, liquid dispensers, defense mechanisms). These modules are hot-swappable. One top module: Enhances swarm capabilities (e.g., advanced computing units, large robotic arms, extra power supplies). This module is hardwired and not hot-swappable.

What's included

This repository contains all the software required to simulate OpenVMP units with a number of simulation worlds created specifically to demonstrate certain (but not yet all!) capabilities.

This repository also includes some of the software required to operate real OpenVMP units. The rest of the software (as well as the hardware blueprints for a number of different types of OpenVMP units that are currently being built) will also be published here soon. Stay tuned!

All materials in all OpenVMP repositories are published using the Apache 2.0 open-source license. To prevent patent trolls from making claims for minor improvements on top of the information published by OpenVMP, the claims are made about the features and inventions that have already been considered and planned by OpenVMP contributors.

More information

See the following documents for more info: