/compas_fab

Robotic fabrication package for the COMPAS Framework.

Primary LanguagePythonMIT LicenseMIT

COMPAS FAB: Robotic Fabrication for COMPAS

Github Actions Build Status Github Actions Integration Status License Conda Downloads pip downloads PyPI Package latest release Anaconda Supported implementations DOI Twitter Follow

Robotic fabrication package for the COMPAS Framework* that facilitates the planning and execution of robotic fabrication processes. It provides interfaces to existing software libraries and tools available in the field of robotics (e.g. OMPL, ROS) and makes them accessible from within the parametric design environment. The package builds upon COMPAS, an open-source Python-based framework for collaboration and research in architecture, engineering and digital fabrication.

Main features

  • Multiple backends for simulation and execution (eg. ROS: Robot Operating System)
  • Planning tools: kinematic solvers, path planning, etc.
  • Execution tools: feedback loops, robot control, etc.

COMPAS FAB runs on Python 3.x and IronPython 2.7.

Getting Started

The recommended way to install COMPAS FAB is to use anaconda/conda:

conda install -c conda-forge compas_fab

It can also be installed using pip:

pip install compas_fab

On Windows, you may need to install Microsoft Visual C++ 14.0.

Once the installation is completed, you can verify your setup. Start Python from the command prompt and run the following:

>>> import compas_fab

First Steps

Questions and feedback

We encourage the use of the COMPAS framework forum for questions and discussions.

Contributing

We love contributions!

Check the Contributor's Guide for more details.

Releasing this project

Ready to release a new version of COMPAS FAB? Here's how to do it:

  • We use [semver][https://semver.org/], ie. we bump versions as follows:

    • patch: bugfixes.
    • minor: backwards-compatible features added.
    • major: backwards-incompatible changes.
  • Update the CHANGELOG.md with all novelty!

  • Ready? Release everything in one command:

    invoke release [patch|minor|major]
    
  • Celebrate! 💃

Credits

This package is maintained by Gramazio Kohler Research @gramaziokohler and a long list of contributors.