We are designing software, called the Hybotics Device Controller (HDC), and hardware to go with it, for a system to control devices anywhere in the world. The software can connect mobile or fixed hardware devices, including, but not limited to small embedded systems, robots, weather stations, and sensor nodes.
Devices make connections to each other, or to a master controller, over the App.Net platform, using message annotations to transfer messages that carry data and commands. If a device can not transfer data or commands with another device, the data or command may be routed through up to two master controllers, one on an each network if the devices are on different networks. The current HDC software is written in Python. However, We are rewriting everything in Go, for speed and added functionality, such as concurrency. Devices can be on different networks, anywhere in the world, and can authenticate with each other to allow direct exchange of data and/or commands. Devices on the same network will automaticlly authenticate with each other, and their master controller.
The hardware we are working on for the HDC currently consists of two autonomous robots, which use Linux based and Arduino based embedded boards for control, communication, and data collection. The robots will have Bluetooth 4.0 LE, XBee (ZigBee), and WiFi wireless connections for connecting to the internet, each other, and other devices. One robot has a gripper to allow manipulation of objects within its environment. The other (larger) robot, W.A.L.T.E.R. 2.0 has advanced sensors, such as a 10DOF IMU that contains a 3-axis accelerometer, 3-axis magnetometer (compass), 3-axis gyroscope, and a temperature/pressure sensor. Both robots use ultrasonic and infrared distance sensors to detect the distance from objects, and avoid them.