Polymach-Fornax; Robotics & Machine Learning ...
Various forms of machine intelligence have been developed over the years using artificial intelligence (AI) related techniques. This development has been based on different approaches, such as neural networks and workflow systems.
With the advent of more fluid programming mechanisms, such as interpretive languages, and high level languages such as PROLOG and Forth, the advances in these areas have met with various degrees of success.
With Estatom Systems’ technology, using the Fornax data storage and processing engine, and its Programmer utility, a system could be programmed to generate and test pieces of code and related data (objects) towards a preset goal, and to test the outcome against the goal set (Alpha and Beta productions). This is made possible through the design of the system. Built around the concepts found in nature, simulation of natural processes could be constructed, mimicking natural processes more closely, and with less effort and interactive management than other systems (and languages). Thus, the production of result, goal and rule sets (as used in workflow systems) could be refined and accelerated significantly.
This means the computer (or robot) or the system would be able to construct new programs based on the results of previous programs, and move towards a goal that was previously set.
Naturally, some human interfacing is required to refine the selection of such proto-programs, and could thus speed up the process of refining the program. Machine learning (a close relative) could also be guided using the same process, this providing scenario sketches for a learning program to follow.
The relevance of this type of technology in areas such as process control at the lowest level, and then robotics and workflow and the system is obvious. Estatom’s technology allows, and could deliver feedback from monitors, hardware and input sensors to which it is connected. This would provide input data for use, not only as an input to the system for the selection of the applicable proto-program, but also as feed-through to authorized response programs and event recording classes (tables).
The Fornax engine configurations that are possible include large scale networking of engines, connecting Fornax engine instances in hierarchies, each level specializing in a function at a different level. This concept means the capability to build a robot with the different functions at different levels, such as managing motor and sensor activities in a tool, feeding the information back to a higher level coordinator Fornax, which in turn communicates results and conditions to another higher level (possibly master) Fornax for decision making, instructions and dynamic program download down the hierarchy.
A Fornax application (or program) is not compiled and linked as with a classical program model, but consists of executable objects (code and relating data) that can be communicated between Fornax engines for execution at the engine level. Programmed through the Programmer utility, these objects are constructed dynamically and can be viewed and modified interactively without having to learn a programming language.
Polymach - Fornax objects conform to a Fornax Virtual Machine format, which allows for objects to be communicated and used by all Fornax engines without modification. The Fornax Virtual Machine is implemented as a library and provides all required functionality for execution, storage and communications required.
Currently only a 150KB in size, the engine can be embedded into almost all modern hardware configurations. (The Fornax ‘database’ is actually a Fornax-based engine, which provide a huge storage capacity). Fornax engines, when used as database engines, can also be configured in engine clusters for distributed databases, and is designed for ultra-reliable, fast database systems. The entry-level (baby) engine currently executes at around 4,000 operations per second (converting text data in to objects can be done at c.20,000 operations per second) when used as a database system on a 2GHz processor commiting to disk.
In this way, a robot, or robot worker group, could be controlled by one or more Fornax engines, which in turn could power a monitor or control centre.
At this point Estatom Systems is busy porting the engine to different environments and the system is available on Windows, and porting to Linux, Android and iOS will very shortly be completed.
The Polymach API is available for integration in applications written in a high level language, such as C# and C++. Specific ports for Java, Perl, Python, etc. will be constructed in the near future. The Polymach API provides a direct channel to the Fornax Virtual Machine and extends the capability of the system to include external database systems such as SQL databases. The Polymach API also enables the hosting application to concurrently connect to multiple Fornax engines.