Throbol is a programming language and visual environment for programming robots. The language is purely functional, so actions and states at each tick are expressed as a function of previous states and sensor inputs. You can iterate inside a graphical environment, seeing graphs of every value in the system. It can control both real robots and simulations.
The language has a familiar infix syntax. Features:
-
Cells contain a time series of values. Just as a cell can refer to the current value of another cell, it can also refer to a past value, like bar[-dt], or bar[-0.5]
-
Every tick, robot sensor values are streamed into specially named cells, the sheet is recalculated, and actuator cells are streamed to the hardware. It can run fairly large spreadsheets in real time – say 10000 cells at 100 Hz.
-
When controlling simulated hardware, it can run hundreds of simulations in parallel to explore variations in parameters or different random events.
-
It has built-in types and functions for robotics, including matrix arithmetic, control theory blocks like low-pass filters, and 3D graphics functions for visualizing robot movement.