At first blush, this might seem like sort of a strange question. And in truth, it is somewhat of a trick question. To make it more clear and put it into
context for this article, the question might be more like, “What is a robot in Robby’s world?”.
In our overview tutorial video, you’ll find the term, “Freeform Networks of Networks”. In this article,
want to clarify what we mean by that term and to do that, defining what constitutes a “Robot” in Robby’s semantical universe might be a good place to
start thinking about it.

The image above usually accompanies the networks of networks term. It’s somewhat simplistic, but this image does illustrate what we’re trying to
illuminate with the question of what a robot is.
At its core, Robby is about building networks. Networks consist of JSON configurations built using the framework’s UI. They define a group of devices
(and/or services) a robot will use in its operations. Once a robot’s maker has built up a network, they’ll create a “Master Control Program” (or MCP)
which will access the network to control the robot’s functionality.
Part of what we’re hoping to convey with “Freeform Networks of Networks” as well as the above image, is the idea that what constitutes a Robot in the
context of the framework's architecture is loosely defined. For example, there’s nothing to say a robot needs to include a single MCP talking
to a single network.
In a more complex robotic (or in particular, IoT) project, it may be advantageous to have multiple MCP’s controlling different features of the overall
robot (e.g. MCP for a robotic arm, one to control body movement and posing, etc...). All of these MCP's might then be controlled by a central MCP whose
network simply views the other MCP’s as its devices.
In this example, does each of the MCP/network combinations constitute a robot; or is it that only the central, controlling MCP combined with its network is a robot?
Our answer to this question is, “Yes”.
Consider, if the MCP’s controlled by the central MCP are actually housed in separate physical robots and the central MCP is on its own Windows device orchestrating
the operations of the group of robots. Is this central MCP a robot now? These two examples illustrate what we mean by the “Freeform” part of the networks of
networks term.
So, to finally answer the question of what a robot is in Robby’s world: it’s an intentionally amorphous construct. Robby is intended to support absolutely
any combination of devices and services. And, other instances of Robby can simply be viewed as more devices.
Defining some combination of devices and services within a Robby landscape as a robot is largely an arbitrary distinction. What feels like a robot to you?
Truth is, Robby doesn’t care.
comments
No comments for this article yet
leave comment