[Publication] [BibTeX]
Keywords: Human–robot collaboration (HRC), Augmented reality (AR), Robotic fabrication, Co-design
This repository contains the source code and example files for VizorGH, a Grasshopper plugin for authoring and prototyping AR-supported human-human and human-robot collaboration workflows in digital fabrication and construction. The plugin forms the authoring component of the Vizor system, alongside the infrastructure (ROS container) and user interface (AR apps).
The repository includes GH components for content creation, task definition, workflow authoring, robot simulation, and runtime orchestration. This enables prototyping cyber-physical fabrication workflows involving both humans and robots directly from the Grasshopper visual programming environment. More broadly, it provides a reusable technical basis for exploring accessible, extensible, and collaborative AR-integrated fabrication workflows.
The example files in this repository show how the plugin can be used to configure and run multi-actor fabrication scenarios, including interactive content creation, multi-actor collaboration, and human-robot task-sharing. Similar setups have been created using VizorGH in the workflows such as:
- livMatS Biomimetic Shell - a demonstrator project by ICD/ITKE, see more here.
- Mixing and Matching - a human-human collaboration setup.
- AAEC Workshop - a four-human-robot collaboration setup.
- Embracing Failures - a dual-human-robot collaboration setup.
Vizor is an ecosystem of different components. Each of these components takes on different tasks.
The current repo contains the Vizor Grasshopper plug-in, which allows you to create tasks, AR visualisations, robot paths, and more, and send them to the Vizor server.
The central Vizor server is the backbone of the Vizor ecosystem. It sits between the grasshopper plug-in and the AR interface, distributing messages between them. But its function goes beyond a pure communication bridge. It, for instance, also takes care of the assignment of tasks to workers based on their availability as well as required skills (see Example 2).
It is distributed as a Docker container via Docker Hub. The easiest way to run it is with docker-compose because it allows for configuration files. It can be started via docker-compose -f /path/to/docker-compose.yml up
Each example comes with a separate configuration file that can serve as a good starting point.
You can find the Vizor AR application for the Microsoft HoloLens 2 in the releases section of GitHub, which can be installed on the device.
The easiest way to install the Vizor Grasshopper plugin is to use Rhino's built-in package manager.
Inside Rhino, use the PackageManager command and type Vizor into the search bar in the resulting window.
Select the Vizor result from the list and press the Install button. Confirm the installation again in the pop-up window. After it is completed, you might need to restart Rhino for the plugin to show up in Grasshopper.
For each release, you can also find the corresponding yak files in the releases section on GitHub. These can be downloaded, and when opened in Rhino, they install the Grasshopper plugin.
Link to the latest GitHub release
The full source code for the Grasshopper plug-in is available in this repository, allowing you to compile the plugin from scratch with your own custom components and modifications.
The vizor ecosystem comprises multiple programs running on various computers and devices. This makes versioning the individual components essential to ensure they work together smoothly.
For this reason, you can find a table with the respective versions of each program which have been tested together.
| Vizor grasshopper plug-in | Vizor control server | Vizor AR application |
|---|---|---|
| v1.0.0 | cxy201/noetic-vizor:v1.0 | v1.0 |
For the Vizor Grasshopper plugin to show up on M-series Macs, you need to run Rhino with Rosetta. To do so, right-click the Rhino application in the Finder, select Get Info, and in the resulting window you need to check the Open using Rosetta box. If Rhino has been open already, you need to quit it first and then re-open for this change to take effect.
Three sample files are available in the example folder. They provide blueprints for scene setup, human-human, and human-robot collaboration workflows. Each sample file builds on the previous one, so it's recommended to go through them one after the other.
Example 01 shows how to create custom content on the AR headset, demonstrating different options for anchoring AR content to the real world, and how to programmatically show and hide AR content from Grasshopper.
Example 02 shows how to set up tasks for a pool of workers, using more advanced task configuration options such as skill requirements and parallelisation.
Example 03 shows how to set up collaborative task sharing between a human and a robot via the AR headset. You can also visualise the robot program in AR.
If you use Vizor in your research, consider citing it using the following BibTeX entry:
@inproceedings{yang2022vizor,
author = {Yang, Xiliu and Amtsberg, Felix and Skoury, Lior and Wagner, Hans Jakob and Menges, Achim},
booktitle = {{CAADRIA} proceedings},
doi = {10.52842/conf.caadria.2022.2.141},
publisher = {{CAADRIA}},
title = {Vizor, Facilitating Cyber-physical Workflows in Prefabrication through Augmented Reality},
url = {https://doi.org/10.52842%2Fconf.caadria.2022.2.141},
year = 2022
}
Contributors: Xiliu Yang, Fabian Opitz, Lasath Siriwardena
Contact: [email protected]

