25.2
TypeScript

Prerequisites

Yay, you're about to start developing with TypeScript! 🚀
Using the Typescript SDK you can develop beautiful custom UIs leveraging modern web development technologies like React.

Before you start developing you need to know which requirements your system should fulfill, understand the architecture of the Wandelbots NOVA SDK, learn more about specific frameworks, understand which components are used in our template app, and which legal requirements a robotic app should comply to. Then you can dive into the Typescript quickstart guide: The quickstart page guides you through the process of creating a new application using the Wandelbots CLI tool.

System requirements

Ensure that your system meets the following requirements:

Architecture

Wandelbots NOVA is a software product that makes it easy to interact with robots.

The main way to communicate with Wandelbots NOVA is a user-facing REST API. The native way to communicate with that API is directly sending REST requests to the server hosting the Wandelbots NOVA installation.
To make the interaction with the server easier for the client, we offer a Python (opens in a new tab) and Typescript (opens in a new tab) package that abstracts the client-server-communication and lets you focus on writing what you actually want to write: cool robot applications.

Keep in mind, however, that a client-server-communication is happening in the background nonetheless.

All API endpoints that are available via REST are also available via the API client. The client can be found and downloaded from the Pypi Package registry (opens in a new tab) or the NPM registry (opens in a new tab). If you want to get an overview over all endpoints the Wandelbots NOVA API offers, open the API Reference on a Wandelbots NOVA cloud instance.

Wandelbots NOVA uses some robot-domain-specific terminology. We recommend to check out the glossary before starting development.

Architecture

Prerequisite knowledge

This guide assumes you have a basic understanding of React and JavaScript. If you're new to React, we recommend completing the React Foundations (opens in a new tab) course first to learn React fundamentals.

Furthermore, we recommend using the following frameworks with Typescript as a development language.

It's important to read the linked documentation of those frameworks to get an understanding on how to adapt the application code. Follow the Next.js tutorial (opens in a new tab) to get a good understanding on how our app is built. The application code generally follows the recommendations and best practices of those chosen frameworks.

The following concepts are especially important to get used to: Next.js Routing, Next.js Server Action, Material UI Theming.

Discover available components

If you prefer to jump into cold waters by your own, here's an overview on our available components. These are included in our example apps.

ComponentDescriptionLocationLanguage
wandelbots-jsA Javascript library providing convenient access to the Wandelbots NOVA API.Github (opens in a new tab), npmjs (opens in a new tab)TypeScript
wandelbots-js-react-componentsA collection of ready-made React UI components based on MaterialUI and React Three Fiber to use with Wandelbots NOVA.Github (opens in a new tab), npmjs (opens in a new tab)TypeScript
wandelbots-api-client (JS)A Javascript client providing access to the NOVA API.npmjs (opens in a new tab)TypeScript
storybookOverview over the components from react-componentsGithub (opens in a new tab)TypeScript

Legally required elements

When developing a robotic application, there are certain app elements that are common or even legally required. To support you in your development process, we've collected a set of common standards and legal requirements for robotic applications. Some of these elements are available in our storybook components (opens in a new tab).

notice

The following list is not exhaustive and may vary depending on the country or region you are developing for. Please consult with a legal expert to ensure compliance with all applying laws and regulations.

Wandelbots GmbH is not liable for any legal consequences resulting from the use of this list.

Robot safety state and operating mode

A robotic app must visibly provide information on the robot's status, operating mode and errors at all times.

StandardExample
DIN EN ISO 10218-1In the Wandelbots NOVA core app Robot Pad these standards are fulfilled by the status bar on the top of the screen.

Operating modes must follow a standardized icon list.

Robot control

It must always be made clear by the UI which device is currently controlling the robot.

StandardExample
DIN EN ISO 10218-1Status field in the UI
StandardExample
ISO 7000Automatic and manual modes have standardized symbols.

Singularity

If a robot has reached or will reach a singularity on a planned path, the user must be informed.

StandardExample
DIN EN ISO 10218-1Popups

Switching between devices

Switching between control devices must be an active decision made by the user.

StandardExample
DIN EN ISO 60204via a button in the UI

Activation

Activating a robot can never be done automatically. It must be an active decision made by the user.

StandardExample
DIN EN ISO 10218-1via a button in the UI

Velocity

The robot's TCP velocity must be adjustable.

StandardExample
DIN EN ISO 10218-1via a slider in the UI

Authentication

Technical components must have limited access for unauthorized users.

StandardExample
DIN EN ISO 60204Login credentials

Emergency stop

Resetting an emergency stop must be an active decision made by the user. Never reset an emergency stop automatically.

StandardExample
ISO 13850:2015manual action

Resets of emergency stops can't result in machine reboots, actions or movements.

StandardExample
ISO 13850:2015Interrupted movements have to be restarted after an e-stop has been triggered.

Communication losses

Communication losses between components must result in a safety stop.

StandardExample
DIN EN ISO 10218-1The ethernet connection gets lost and the robot immediately stops moving.

Restored communication can't result in machine reboots, actions or movements.

StandardExample
DIN EN ISO 10218-1Interrupted movements have to be restarted after a connection loss.

Documentation

Robotic applications may fall under the EU Machinery Directive and EU Machinery Regulation. This Directive/Regulation also regulates the technical documentation including risk assessments, user instructions and UI texts. They also determine whether recertification of a machine is required after adding software to it. We strongly recommend consulting with a legal expert to ensure compliance with these regulations.