Kybernetes is a project I am leading in the Robotics Society at UC Merced. It is a research platform for autonomous robotic navigation and situational awareness. The project was started in January, 2012 at the start of the spring semester. The main focus at its conception was to compete in RoboGames 2012, which we did attend, but we did not complete the challenge. Essentially, most of the software was not written at the time. We did manage to have the robot drive and keep on the same course. However, on to the design goals.
As an autonomous robot, it requires that any reaction it takes be based on any preliminarily given data and data it can obtain itself. The brain of Kybernetes is a Beagleboard xM rev.C running Ubuntu 12.04.1 armhf. This provides us with plenty of processing power, as all of our software is optimized for the ARM cpu. We also equip an array of sensors to detect the environment. For telemetry, we equip a Garmin 60CSx GPS which will give us our location +/- 8 feet. For inertial and orientation estimatation, we equip a Sparkfun Razor 9 DOF IMU. This gives us our orientation and heading. These sensors provide all the data necessary for navigation to a particular target. However, inertial measurement, especially with MEMS type accelerometers, has a significant drift over time and GPS is only accurate to about 6 to 8 feet (commercial ones anyhow) so another method of position measurement is useful. We have put an optical encoder on the drive shaft of the robot. This gives us how far we have travelled and how fast we are currently travelling.