- Drives/pilots the robot
- Smoothly avoids obstacles
The company has developed a real-time automatic navigation control system called GeckoNav. GeckoNav is based on a Fuzzy Hybrid Architecture providing the benefits of both proactive control and reaction within a single framework. Fuzzy Logic and Subsumption architecture are used to enable the fully autonomous AI behavior for the Mobile Service Robot (MSR) to sense and avoid dynamic and static obstacles in its environment.
GeckoNav runs on a PC to take full advantage of the high processing power available to today's computers to achieve a phenomenal update rate of 20ms or less. The GeckoNav Architecture is fully expandable through a variety of standard interfaces.
GeckoNav's Core Capabilities:
- Subsumptive software architecture enabling cognizant navigation for unexpected obstacle (static or dynamic) avoidance while "on path" with the ability to resume path following.
- Sensor fusion technology such that the GeckoNav is sensor loving. By utilizing multiple sensor systems (like a blind man listening and counting steps while using a cane, uses two senses --tactile and hearing-- to routinely navigate known, and unknown, environments) the GeckoNav's AI software architecture enables differing, high count sensor systems synergy.
- Short term AI memory software such that GeckoSystems' GeckoImager may be fully utilized. Consequently, total cost for sensor systems cost is dramatically reduced.
- Emergent behaviors expression (which are not pre-programmed) such as the left/right routine when encountering a dynamic obstacle that moves to the same side that the robot has chosen to use to avoid the now confounding obstacle. The robustness of this emergent behavior is apparent as the robot finally, after several left/right attempts, succeeds in avoiding the dynamic obstacle, and resumes path.
The resultant level of mobile autonomy can be likened to that of a "blind man with a cane in his own home" or "loose crowd capable."
How "fast" is GeckoNav
GeckoNav is GeckoSystems fundamental and proprietary AI software technology that enables automatic self navigation for their mobile robots. As a reference, or bench mark for the "update rate" or "reflex time," jet fighter pilots, selected for their extraordinary eye-hand coordination and intensely trained to be the "best of the best," is generally 110 to 120 milliseconds. This is the time difference between incandescent automobile brake lights "glowing" on and the HTMSL's LED brake lights "snapping on." A discernible time difference is generally seen, but nonetheless, very quick!
Running on a relatively low clock 600mhz x86 CPU (that is common in most Windows capable computers) on most versions of Windows (which tend to slow down throughput since not a real time operating system and burdened with many required system calls) GeckoNav updates in an astonishing 15-20 milliseconds. This "reflex time" is 5-6 times faster than a jet fighter pilot!
Using the old "Top Gun" movie and Tom Cruise's role in it as a metaphor, this means that GeckoNav is fast enough to not only pilot supersonic jet fighters, but also motorcycles and old Porsche Speedsters! In other words, since GeckoSystems AI mobile robot navigation software is 5-6 times faster than Tom Cruise as a pilot, with appropriate and sufficient sensor information and fine control of the locomotion system, GeckoNav can drive just about anything...
Homes are the most difficult environment of all in which to self navigate. They are poorly structured with numerous delicate stationary and moving obstacles. As demonstrated in numerous videos, GeckoNav works extraordinarily well in those environments.
Levels of Autonomy
Describing how "well" a mobile robot automatically self- navigates is difficult. We use metaphors to put into common understanding the application of this criteria: "level of autonomy given the static structure and dynamic challenges in a particular setting."
"Loose crowd capable" means that our platform can automatically self navigate through a loose, moving crowd of people without bumping into anyone."
"Wide receiver capable" is a football metaphor. A wide receiver is very fast, very skilled at avoiding moving obstacles while at a very, very fast running speed to a predetermined point so they can catch the football being passed to them. So "wide receiver capable" level of autonomy would be able to pursue someone running, or evade someone running after them. All while avoiding static and/or moving obstacles!
Some Fundamental Issues of Automatic Self-Navigation in Dynamic Environments
For any Mobile Service Robot (MSR) to have probable hope of utility, it must have the intrinsic and timely ability to avoid unforeseen, dynamic obstacles and still reach its desired endpoints or physical locations. Many MSR prototypes are limited by their navigation software architecture. Historically, MSR architectures have been based on either a pre-set path following technique, where the sensors are only used to detect failure of the preprogrammed path, or they have used a purely reactive technique that has no concept of the larger world that the MSR inhabits and cannot be used for useful tasks.
The path-following techniques suffer from being unable to adapt to changing conditions quickly or smoothly. The MSR basically travels blind until it is about to hit something, and once it has detected an obstacle, the resulting decisions required are very complex. As a result, either the environment must be highly structured to avoid confusing the MSR so that simple decisions will suffice or a lot of computing power must be available to maintain and compute path alternatives. Requiring a highly structured environment reduces the usefulness and flexibility of such a MSR in a human environment. In addition, the need for a lot of processing power makes MSRs really expensive and their useful "on" time very short due to the power required for the "high clock" CPU or PC typically on board.
Further, the purely reactive architectures suffer from having little sense of past events, future goals, or of even where exactly the MSR is within the world. Typically such MSRs have no memory of the world that they have traveled and "live" only instant to instant. They may reach a particular destination, but it is by pure chance and the MSR will not be able to recognize that it has reached the desired destination without providing a modified environment (e.g. beacon techniques such as the legendary Arctec Systems' Gemini, Evolution Robotics ER-1 and others). In its pure form, something seen in many toy robots, this technique is almost useless for true automatic self-navigation or tasks in a dynamic human environment. This kind of MSR is typically characterized by its use of binary IF-THEN rules like "If bumped left then turn right". Such an architecture does not scale for the multiple sensors required for Cognizant Navigation. Cognizant Navigation is the ability to find locations repeatedly upon request without hitting unexpected obstacles.
Cognizant Navigation is a non-trivial problem that has a number of facets. There must be enough sensor information of the right kind to not hit large obstacles such as walls, furniture, and people. There must also be enough sensor information to avoid smaller obstacles such as toys. Furthermore, the navigation engine must be able to react to quick local changes without losing track of its task. The MSR must also have a memory of where it is within the world and be able to repeatedly find locations within that world even if there are unexpected obstacles. This means that there must be enough processing power and RAM to accomplish this while still having enough battery life to stay active for many hours while performing useful tasks like vacuuming or carrying more than a trivial sized load. These important capabilities are the basic, required foundation for useful MSRs in a human environment. Until the CareBot, almost all consumer MSRs have fallen short in one or more of these areas.
Cognizant Navigation is much more than the simple reactive, bump-turn mobile robot behaviors seen in most traditional, or legacy mobile robots. Such a robot may reach the goal, but isn't "aware" that it is attempting to reach that goal and can't recognize it when located. Other legacy mobile robots blindly follow line segment paths like virtual train tracks and may be "aware" that they are trying to reach a goal, but they have problems when reacting to new situations that require deviation from the planned route due to their limited sensors and available CPU power. Typically, these robots cannot sense obstacles until they actually run into them!
Are these MSRs cognizant? Cognizant means to be aware or have conscious knowledge. The word "aware" implies the MSR remembers where it is, where it was, where it is "supposed" to be going, as well as being aware of immediate changes in the environment that may require a response. Humanlike short term and long memory management, along with enough sensor information, is the key to resolving this problem. Your existing PC has the raw computing power, memory, and data storage needed for robust personal MSR cognizant navigation, scheduling of areas to be vacuumed, and much, much more.
GeckoNav is different. Its Biological Hierarchical Architecture provides the benefits of both control and reaction within a single framework without the disadvantages of either technique alone. As a result, it is able to respond quickly and intelligently to short term navigation situations while still providing the ability to guide the MSR toward accomplishing useful tasks within a map of the world that the MSR maintains. It turns out that this approach is synergistic and reduces the complexity of trying to "force fit" either of the other traditional solutions to solve the whole problem.
Biological Hierarchical Architecture is a GeckoSystems proprietary MSR navigation software scheme incorporating several advanced artificial intelligence (AI) methods such that together vote on the best solution. It should be noted that "sufficient" sensors for navigating a home environment while avoiding unexpected obstacles is a critical prerequisite.