MELON

a software-based fuzzy logic controller

 

what is MELON

MELON is a general purpose software-based controller especially designed to work with fuzzy logic that may control a real plant or a numerical simulation in either real time or offline using a particular synchronization mechanism. Melon can communicate with real devices through the COMEDI library or with plant simulation processes through shared memory resources, network sockets or even regular files. Though originally designed to work with fuzzy logic, MELON can actually implement other types of control action such as traditional PID or even be used as a data acquisition software.

This program was developed by Jeremy Theler as part of both Bachelor and Master Thesis in Nuclear Engineering at Instituto Balseiro, Argentina. Work was done at Laboratorio de Cavitacion y Biotecnologia, Centro Atomico Bariloche under the supervision of Dr. Fabian J. Bonetto and Eng. Eugenio Urdapilleta.

download

MELON version 1.1 released in September 2008 under the GNU General Public Licence.

This program was originally designed to work only in Linux platforms, though some reduced functionality may be achieved in other Unix-based systems (not tested). This fact is easily explained as follows. Besides being free (in the sense of GNU) and widely available, almost any text-based application will compile and work smoothly in any Linux version, either present, past or future. As MELON is just a software that essentially gathers, processes and outputs numerical data without actually needing a graphical interface, aiming at working in Unix-based systems is the natural choice. MELON may (and actually did) run in a 200 MHz Pentium running running a modern and decent text-only version of debian.

Furthermore, if some kind of graphical user interface is needed for a given practical situation, it may be designed ad-hoc in a particular and convenient way using specific GUI-based tools. Should any kind of the gathered or processed data be needed by other process, it may be shared between MELON and any other standard or specific program either through shared memory resources or even plain text files. It has been largely proved that Unix philosophy "divide and konquer" beats Redmond's "give me everything and I'll tell you what to do". Windows is currently not supported, and there are no short term plans to port MELON to Windows.

documentation

Full MELON documentation is included in available in the main distribution. Anyway, you may get it separately.

examples

As described in the manual, there are some sample packages that illustrate how MELON may be applied to control non-linear plants.

nuclear reactor control

A simplified model for the control of the power generated in a nuclear reactor core.

the lorenz system

Control chaos using a Takagi-Sugeno fuzzy controller. The justification of why the controller works may be found in the manual bibliography or in my bsc thesis (only in spanish).
lorenz screenshot

hot water temperature control

MELON is also able to control real plant (using a COMEDI-supported data acquisition card), as illustrated in the following experimental setup:

experimental setup

An example of the obtained result is

results

lorenzian waterwheel (a.k.a. malkus waterwheel)

Funny computer-simulated experiment about controlling this chaotic waterwheel. See also the experimental lonrez waterwheel.
lorenzian wheel screenshot

Some videos generated with the crazywheel package using the --dump commandline option

wheel videos

links

© jeremy theler 2006-2008