Giter VIP home page Giter VIP logo

phobos's Introduction

latest-release DOI Code style: black license made-with-python made-with-sphinx-doc Build Status

Phobos

Phobos is an add-on for the open-source 3D modeling software Blender that enables the creation of WYSIWYG robot models for use in robot frameworks like ROS and ROCK or in real-time simulations such as MARS or Gazebo. Phobos exports formats such as URDF, SDF or SMURF and common mesh formats (Stereolithography (.stl), Wavefront (.obj) or Collada (.dae)).

Phobos was initiated and is currently developed at the Robotics Innovation Center of the German Research Center for Artificial Intelligence (DFKI) in Bremen, together with the Robotics Group of the University of Bremen.

Please contact Kai von Szadkowski for any inquiries, or any questions and feedback not suited for the issues page.

Documentation

Citing

Phobos has been published in the Journal of Open Source Software. We ask users to cite the use of Phobos, as it allows us to keep the project alive.

When citing, please provide this information:

  • Phobos version you were using (see the wiki for information about versions)
  • If you were using additional Phobos plugins or configurations.
  • The general Phobos paper.

If you are on the hunt for a BiBTeX entry, check out the FAQ section.

Installation

Just zip the phobos subfolder: zip -r phobos.zip phobos and install it via Blender: blender->edit->preferences->addons->install

Overview

Model of the SpaceClimber robot in Blender, next to the Phobos toolbar displayed on the left.

Model of the SpaceClimber robot in Blender, next to the Phobos toolbar displayed on the left.

Phobos makes use of Blender's hierarchical object graph and its bone objects. These objects, normally used for animating 3D characters, allow to store 3D coordinate systems and apply constraints to their movements, for instance to restrict the movement of an object to a certain range on a specific axis. This allows to replicate the links and joints defined in a URDF model and together with the hierarchical tree of parent and child objects, the complete, branching kinematic chain of a robot can be represented. By attaching meshes or primitives to the bones, Phobos allows to add visual and collision objects to a model. Additional objects allow storing further information, e.g. centers of mass of each part of a robot, thus refining the physical representation. Sensor objects can be added to correctly place and orient devices such as laser scanners, cameras or contact sensors. Making use of Blender's custom object properties, any necessary information can be added to the model, from inertia tensors to opening angles of cameras.

Decomposition of the different elements from which Phobos models are composed in Blender.

Decomposition of the different elements from which Phobos models are composed in Blender. These elements can be arranged in Blender on different layers, thus avoiding confusion or obstruction of view when editing very complex models.

Features

  • WYSIWYG editor for robot models using Blender
  • Import and export of URDF, SDF SMURF and other formats
  • Easy definition of robot kinematics (links and joints)
  • Visualisation of different model components, even joint constraints
  • Numerous tools for fast editing:
    • Batch editing of object properties
    • Auto-generation of collision objects
    • Auto-generation of inertia tensors from mass and shape
    • Calculation of merged inertia for complex links
    • Verbose logging
  • Saving and loading of model poses
  • Annotation of objects from motors/sensors to joints/links
  • Save/load different export configurations for the same model
  • Export with defined floating point precision
  • Model integrity checks
  • Tools for maintaining your own model database
  • Library containing Python examples for automatic model adaption
  • All the cool features Blender already provides (rendering, animation, etc.)

License

Phobos is distributed under the 3-Clause BSD License.

phobos's People

Contributors

amudtogal avatar kavonszadkowski avatar srahms avatar malter avatar mynameiscosmo avatar arfon avatar kartben avatar camerondevine avatar gavanderhoorn avatar hwiedpro avatar jakobs avatar alcap23 avatar planthaber avatar willcbaker avatar

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.