realvirtual.io
  • Building Digital Twins with Unity and realvirtual.io
  • Basics
    • Installation
    • Demo Model
      • Old Demo Model
    • Editor User Interface
      • Hierarchy Window
      • 3D Views
      • Quick Edit
      • Move Pivot Points (Pro)
      • Selection Window (Pro)
      • Material Window (Pro)
      • Measurement (Pro)
      • Kinematic Tool (Pro)
      • Model Checker
    • Runtime UI
      • Group Manager
      • Debug Console
      • Responsiveness
      • Runtime Persistence
    • Importing and exporting
    • Folder structure
    • Tutorial
    • Physics
    • CAD import (Pro)
      • CADLink (Pro)
      • CAD Checker (Pro)
      • CAD Updater (Pro)
    • Reusable Components (Prefabs)
    • Cadenas parts4cad
    • Publishing the Digital Twin
    • Revision management
  • News
  • Login & Download Updates (Pro)
  • Components & Scripts
    • Realvirtual
      • Environment Controller
    • MU, Source and Sink
      • Source
      • Sink
    • Motion and Kinematic
      • Drive
      • Kinematic
      • Group
      • Joint
      • CAM
      • TransportSurface
      • Guided Transport
      • KinematicMU (Pro)
      • Drive behavior
      • Chain
      • Chain element
      • Motion for developers
    • Sensors
      • Sensor
      • Measure
      • MeasureRaycast
    • Picking and Placing MUs
      • Grip
      • Gripper
      • Fixer
      • Pattern
    • Changing MUs
      • MaterialChanger
      • PartChanger
      • Cutter
    • Scene Interaction
      • Tooltip (Pro)
      • 3D Buttons
      • Screen Overlay Buttons
      • Scene Selectables (Pro)
      • Lamp
      • Interact3D
      • UI components
      • HMI components (Pro)
        • Start your own HMI
        • HMI Tab
        • HMI DropDown
        • HMI Puschbutton
        • HMI Switch
        • HMI Value
        • HMI Text
        • HMI Slider
        • HMI Message
        • HMI Marker
      • ModelZoo (Pro)
    • Interfaces
      • Interface Tools
        • Signal Manager
        • Signal Importer Exporter
        • Signal Catcher
        • OnValueChangedReconnect
      • Signal Importer / Exporter
      • ABB RobotStudio (Pro)
      • Denso Robotics (Pro)
      • EthernetIP (Pro)
      • Fanuc (Pro)
      • FMI
      • Igus Rebel
      • MQTT (Pro)
      • Modbus (Pro)
      • OPCUA (Pro)
      • PLCSIM Advanced (Pro)
      • RoboDK (Pro)
      • RFSuite (Pro)
      • SEW SimInterface (Pro)
      • Siemens Simit Interface (Pro)
      • Simit Shared Memory (Pro)
      • Simulink (Pro)
      • S7 TCP
      • TwinCAT (Pro)
      • TwinCAT HMI (Pro)
      • UDP (Pro)
      • Universal Robots (Pro)
      • Wandelbots Nova (Pro)
      • Websocket (Pro)
      • Windmod Y200 (Pro)
      • Custom Interfaces
    • Performance Tools
      • Combine Meshes (Pro)
      • Create Prefab (Pro)
      • Hierarchy Cleanup (Pro)
      • Mesh Optimizer (Pro)
      • Performance Optimizer (Pro)
    • Defining Logic
      • Unity Scripting
      • Behavior Graph
      • Logicsteps
      • Unity Visual Scripting
      • Recorder
    • Robot Inverse Kinematics (Pro)
    • Volume Tracking (Pro)
  • Multiplayer (Pro)
  • Extensions
    • ModelZoo
      • Beckhoff TwinCAT
      • Siemens S7
      • Denso Cobotta 1300
      • Wandelbots Nova Fanuc CRX
      • Universal Robots UR10
      • Fanuc Roboguide
    • realvirtual.io AIBuilder
      • realvirtual.io AI Builder Overview
      • Generate AI Training Data
      • AI Training
      • Testing AI in a Digital Twin
      • Deploying the AI
    • realvirtual.io Simulation
      • Conveyor Library
      • Path System
        • Path finding
        • Line
        • Curve
        • Workstation
        • Catcher
        • Pathmover
    • realvirtual.io Industrial Metaverse
      • Setup Guide
      • VR Modules
      • AR Modules
      • Multiuser
    • AGX Physics
    • VR Builder
    • CMC ViewR
  • Advanced Topics
    • Render Pipelines
    • Mixed Reality with Meta Quest3
    • Upgrade Guide
      • Upgrade to 2022
    • Open Digital Twin Interface
    • Usefull Addons
    • Improving Performance
    • Supported Platforms
    • Compiler Defines
    • For Developers
      • Important Classes and Interfaces
      • Assembly Definitions
      • Starting your development
      • Class documentation
      • realvirtual Init Sequence
      • realvirtualBehavior Lifetime Methods
      • Testing
    • Newtonsoft JSON
    • Troubleshooting
  • Release Notes
  • AI Digital Twin Assistant (GPT4)
  • License Conditions
Powered by GitBook
On this page
  • Overview
  • Installation and Requirements
  • Robot Preparation
  • Requirements for Configuring a New Robot
  • Importing and Managing Signals
  • Teaching the Robot in Unity Editor
  • Target modes
  • NOVATarget Properties
  • Teach Mode
  • Robot Programms
  • Wandelscript Templates
  • Starting Programms with Signals
  • Interface Properties
Edit on GitHub
  1. Components & Scripts
  2. Interfaces

Wandelbots Nova (Pro)

Controlling real robots from Unity and realvirtual.io

PreviousUniversal Robots (Pro)NextWebsocket (Pro)

Last updated 1 month ago

This interface is currently in Beta and included in realvirtual.io Professional since Version 6.1.0

Overview

This documentation provides a guide for utilizing the Wandelbots NOVA Interface within the realvirtual.io framework for automation concept design, virtual commissioning, and 3D-HMI. This interface facilitates seamless communication and control of robotic systems through the Wandelbots NOVA API.

Wandelbots NOVA provides additional value in allowing users to leverage the robot program they have created and let it run on the phyiscal robot using Wandelbots NOVA.

Features:

  • Signal Handling: Import and manage input/output signals dynamically.

  • Robot Motion Control: Supports jogging, target creation, and program execution.

  • Teach Mode: Real-time robot teaching with a dedicated mode for setting targets within the Unity Editor.

  • Program Execution: Execute robotic programs with built-in templating and monitoring of current robot position.

Installation and Requirements

Wandelbots NOVA requires an installation, whether used locally or hosted.

"Check out the Wandelbots NOVA documentation for further information."

(The docs are currently not public. )

Contact Wandelbots to get more information and access to Wandelbots NOVA. (https://www.wandelbots.com/contact)

Robot Preparation

The demo scene includes a Fanuc CRX-10iA_L Robot prefab, which serves as a basis for configuring other robots. To prepare a new robot, certain requirements must be met to ensure compatibility with the Wandelbots NOVA Interface and the realvirtual.io framework.

Requirements for Configuring a New Robot

  • Robot Prefab

    • Use the Fanuc CRX-10iA_L Robot prefab as a starting template.

    • Adjust dimensions, structure, or components based on the specific robot you are configuring.

  • Drives for Robot Axis

    • Every axis pivot point of the robot must include a Drive component.

    • The Drive positive direction needs to point in the positive axis jog direction.

  • Target Parent Setup

    • The 0 point of the Target parent GameObject must align with the robot's 0 point (base of the robot).

    • This ensures accurate positioning and motion planning.

  • Hierarchy and Pivot Points

    • Maintain a clean and structured hierarchy for the robot parts.

    • Ensure pivot points for each axis are correctly positioned relative to the physical robot's design.

  • TCP (Tool Center Point)

    • Define the robot's TCP as a separate GameObject attached to the robot.

    • The TCP represents the point of interaction for tools or end effectors.

  • Robot Targets

    • Ensure all targets are created under the specified Robot Target Root.

    • Targets should be defined relative to the TCP for precise motion control.

    • Targets needs to be in a parent correctly defining the logical 0 point of the robot as shown in this picture:

After preparing the robot in the Unity Editor, it is crucial to save its 0 Position by pressing "Save 0 Pos" before starting any operations. This step ensures that you can revert the robot to its default position if issues arise during the teaching process in Unity Editor mode.

Importing and Managing Signals

To import signals, click the Import Signals button in the Wandelbots NOVA Interface. This will load all available signals, including standard ones. For better performance, delete any unneeded signals to reduce overhead and keep the setup efficient.

Teaching the Robot in Unity Editor

The Wandelbots interface allows teaching robot targets directly in the Unity Editor without switching between Edit and Play modes. You can use the NOVATarget Prefab, placing it under the Target Root, to define positions for the robot.

Target modes

Selecting or moving a target makes the robot automatically jump to the specified position, which works in Pose Mode or Joint Mode.

  • Pose Mode: Defines a target pose (position and orientation). The robot moves to the nearest solution during runtime, though multiple solutions can be previewed in the Editor.

  • Joint Mode: Defines a specific joint configuration (axis angles). This fixed solution is transferred to the robot program, ensuring precise movements.

  • Fixed Solution: Generated when saving a position in Teach Mode, locking the robot to an exact configuration without allowing pose changes.

NOVATarget Properties

  • Follow In Edit Mode: Allows the robot to follow target movements in the Editor.

  • Display Axis: Toggles visibility of target coordinate axes.

  • Display Gripper Ghost: Shows a transparent gripper representation at the target.

  • Hide Axis Gripper On: Hides axis and gripper visuals during specific operations.

  • Axis: Assigns the axis visual (GameObject).

  • Gripper Ghost: Assigns the gripper ghost visual (GameObject).

  • Target Mode: Defines the interaction mode:

    • Pose Mode: Moves to a pose using the nearest solution.

    • Joint Mode: Fixes specific joint angles.

    • Fixed Solutions: Locks the robot to an exact pose.

  • Solution: Displays and changes the current solution.

  • Pose: The current Pose in Wandelscript format.

  • Joints: The current Joint solution in Wandelscript format.

  • Update Solutions: Recalculates available solutions.

  • Move to Target: Moves the robot to the defined target.

Teach Mode

In Teach Mode, the robot automatically aligns with the current Wandelbots NOVA Status. This mode allows precise control over the robot's positioning and target creation.

  • Speed Control: Define maximum linear and rotational speeds for movements (in mm/s or Degrees / s).

  • Jogging: Adjust all linear and rotational axes manually.

  • Create Target: Use the Create Target button to generate a NOVATarget in the Fixed Solution configuration, ensuring the robot is locked to the exact saved position.

Robot Programms

Wandelscript Templates

You can create a standard robot program with placeholders (e.g., {Targetname}) to streamline the integration of robot targets. This approach allows dynamic target updates without manually modifying the robot program.

  • Placeholder Use: Define placeholders like {Targetname} in the program template.

  • Automatic Target Insertion: When starting the robot program via realvirtual, all targets (joint or pose definitions) will be inserted automatically into the program.

  • Dynamic Updates: Adjust targets in the Unity Editor without manually adapting the program.

  • Program Definition: One program can be assigned in the interface properties.

  • Start Program: Press the Start Program button to execute the robot program automatically.

Starting Programms with Signals

The WandelscriptRunner component enables execution of different robot program templates via the WandelscriptInterface. Assign a robot program to Wandelscript, a PLCOutput to Start Wandelscript to trigger the program, and optionally configure Wandelscript Is Running and Wandelscript Finished with PLCInput signals to monitor the program's execution status. This allows dynamic triggering and management of robot programs through PLC signals.

Interface Properties

Active

Wandelbots Server

URL of the Wandelbots NOVA server. Can be a local or a cloud instance (e.g. http://172.20.125.85) for local instance.

Motion Group

Identifier for the robot's motion group (e.g. 1@fanuc)

Username

The username used for authentication with the Wandelbots server.

Password

The password used for authentication with the Wandelbots server.

Access Token

Token for authentication, overriding Username and Password. Must be used for cloud instances.

Cell

Identifier for the robotic cell (standard is cell).

Debug Mode

Enables detailed debug logging in the Unity console. Turn it on on connection problems.

Cycle Time (ms)

Time interval for state updates from the server (standard 20ms).

Start Program On Simulation

Automatically starts the program when the simulation begins.

Loop Program

Enables looping of the executed program.

Program Timeout (s)

Timeout period for program execution.

Program Template

Text asset containing the template code for the robot program.

Program Executed

Text asset where the executed program code is saved.

Robot Target Prefab

Prefab used for creating new robot targets in Teach Mode.

TCP

GameObject representing the robot's Tool Center Point.

Robot Target Root

Parent GameObject for all created robot targets.

Coordinate System Prefab

Prefab for visualizing the robot's coordinate system in Teach Mode.

Controller

Name of the robot controller (read-only).

Inputs

Number of inputs available in the robot controller.

Outputs

Number of outputs available in the robot controller.

Program Is Running

Indicates if a program is currently running.

Teach Mode

Indicates if Teach Mode is currently active.

Wandelscript offers a high-level programming language to control robots. It is easy to learn and use, especially if you're familiar with Python. Wandelscript is a domain-specific language that is designed to be used with Wandelbots NOVA. You can find some Wandelscript examples here:

Defines in which modes the interface should be acive. Check for more information.

https://github.com/wandelbotsgmbh/wandelscript-examples
Connection Status
Wandelbots NOVA Interface
NOVA controlling the Demo scene
Robot Targets 0 Point
Robot Target
Teach Mode
Example Wandelscript template with Placeholders
Wandelscript Runner