In a nutshell, GoodRobot is a system, to be built around the GoodRobot.com site, that allows remote controlling of a physical Robot over the Internet. The popular example is to remote control a Robot over the internet through a standard web page, using mouse/keyboard for controlling the robot movements and flash on the web page to display the video of the Robot. Here's a blog post (with video) about the design of our first prototype. Other examples include controlling from Pachube, Twitter, iPhone, a special hardware joystick and several more.
How it works
GoodRobot system is comprised of multiple components, interacting via the central server at GoodRobot.com, in establishing the remote control of Robot, in a generic way. Broadly, components are either “control” or “resource” ones communicating with the GoodRobot.com server. The resource component could be a Robot itself, that generally accepts controls and provides status and sensor data back. Other examples include a video camera, different types of sensors etc. The control component could be a web page, that gives out controls based on the mouse movements and displays the data received from resource components. Other examples include Twitter, Pachube etc. (As you can notice, both incoming and outgoing data is exchanged between both “control” and “resource” components).
All components interact and communicate with the GoodRobot.com server, which receives and forwards data to the appropriate component. All such communications will be based on data that is in EEML format (www.eeml.org) or in EEMLx format and the details are listed in the Communication API.
GoodRobot system also provides a generic mechanism for Robot owners to build and create a Robot using various components, along with custom configurations specific to each Robot. Each component (control or resource) will have one or more Feature?, that includes its capability definition.
