Glossary of terms¶
Botszy is software designed and developed by industry experts, intended to facilitate the control of robots and animatronic creatures. By incorporating modern techniques from digital effects in combination with the tradition of physical creatures, users will benefit from a seamless overview of all their control devices, allowing them to manage and animate creations with an easy and complete set of tools.
From Wikipedia, Animatronics is the interdisciplinary field, where using mechanical and electronic mechanisms, simulates the aspect and behaviour of living creatures using human puppetry and computer control. The animatronic is created to be programmed and controlled remotely, reproduce sound and recreate movements. The complexity of this robots depends of the situation or service to be done, recreating only a part or a complete living creature.
A puppeteer is a person who manipulates an inanimate object, to create the illusion that the puppet is alive. Also Puppeteer Technologies is the company behind Botszy software designed to help puppeteers control their creatures more easily.
The rigging process or art of rigging is the process where we create the intermediary logic between the control (mouse, joystick or other devices) and the movement of the physical actuator. In the VFX world this process is created by relationships between joints and axes, IK, and sometimes with some coding.
In Botszy we recreate this process using channel relationships and a visual programming language that we call the "Node Graph".
A device is a logical representation of a set of channels that share some common hardware or logic. The devices could be physical, that represents a hardware device connected by some bus to the system (USB or serial) or virtual that are some kind of logic that transforms or generates channel information.
In Botszy a channel is the entity that represents a physical actuator or a input axis. The channel has an associated position or value, called a signal, that is calculated on every simulation frame. Channels with some common hardware or logic are grouped together on devices.
The signal is the elemental information that is transported via a channel. Usually a numerical value such as a physical position or angle of the element, but it can also contain other kinds of information such as telemetry data. Signals can be augmented with physical units such as length, angle, or percentage to facilitate the visualization of the information.
A connection between two channels that transports the signal information from one device to another. These connections are defined in the Node Graph.
The node graph is a visual representation of the logic that is programmed inside of the Botszy Engine. Formed by a set of Nodes tied together with Links, the node graph forms a directed graph where the information flows from inputs axes, to the output actuators. The node graph can be edited and modified at any time to modify the creature behavior.
The Ghost view is the window where we can create a schematic view of the creature to facilitate quick access to settings and to get visual feedback for each actuator and other element in the system. The Ghost view also allows you to place widgets that show telemetry and alarms feedback from the creature.
Botszy Engine is the software part inside of Botszy that executes the node graph. This engine evaluates and performs the node graph calculations many times per second, to create fluid movements for each different axis.
Technically, the Botszy engine is very lightweight piece of software that is executed as a separate thread from the graphics interface, with the maximum possible priority. This allows very low latency operation, similar to multimedia applications such as video editors and music sequencers.
OSC short for Open Sound Control is an open protocol designed to send real-time signals across computer networks. This protocol is created as a TCP/IP version of the popular MIDI interface but with some improvements. Due to the simplicity and popularity of this protocol, we have chosen it as the connection protocol used by Botszy to communicate with third-party applications.
The input channels can be handled though OSC, and we can also send information inside a node graph to other applications. This allows for two-way communication with many types of software, extending enormously the capabilities of Botszy.
An actuator is any kind of device that converts a input signal into a physical movement. In Botszy we can use many kinds of actuators, such as RC servos, linear servos, motors or even lighting devices. Any of these actuators must be connected to Botszy with a Control Board.
The Control Board or output device is the hardware that translates the computer signals into a kind of connection handled by the actuators. Typically we use USB connections and PWM signals to interface with servos, however other kinds of communication are possible.
The Input device is the part of hardware that translates a human command to a computer signal. This could be any kind of USB input device such as joystick, gamepads, mice or even the keyboard. Some animatronic creators use RC controllers, or create their own input rigs with custom axes and buttons. This could be handled by Botszy using custom input interfaces or OSC control.