enigma
所属分类:人工智能/神经网络/深度学习
开发工具:Erlang
文件大小:18KB
下载次数:0
上传日期:2013-12-03 14:13:52
上 传 者:
sh-1993
说明: ErlaNg应用于自治系统的目标管理器
(enigma,ErlaNg applIed to a Goal-Manager for Autonomous-systems)
文件列表:
Emakefile (121, 2013-12-03)
LICENSE.txt (11358, 2013-12-03)
Makefile (104, 2013-12-03)
ebin (0, 2013-12-03)
ebin\enigma.app (351, 2013-12-03)
enigma.sh (100, 2013-12-03)
examples (0, 2013-12-03)
examples\goal_function.erl (4881, 2013-12-03)
include (0, 2013-12-03)
include\Goal.hrl (1205, 2013-12-03)
src (0, 2013-12-03)
src\combo_goal.erl (2289, 2013-12-03)
src\enigma.app.src (351, 2013-12-03)
src\enigma_app.erl (2171, 2013-12-03)
src\goal.erl (7628, 2013-12-03)
src\goal_db.erl (3901, 2013-12-03)
src\goal_function.erl (3271, 2013-12-03)
src\goal_sup.erl (3200, 2013-12-03)
src\scheduler.erl (2420, 2013-12-03)
src\start_enigma.erl (592, 2013-12-03)
=============================================================================
_______ __ _ _____ ______ _______ _______
|______ | \ | | | ____ | | | |_____|
|______ | \_| . __|__ . |_____| | | | . | |
%% ErlaNg applIed to a Goal-Manager for Autonomous-systems
=============================================================================
ENIGMA is a Goal Manager written in Erlang/OTP and can be used in autonomous
systems like robots. It has the task of executing a set of goals ordered by
priority and feasibility, if one goal is not feasible or its execution fails,
it will be tried again later. Each goal has a priority that can depend on the
environment (for example a robot position), also one goal can be feasible or
not in a moment (for example because there is an obstacle).
WARNING: The developing is in progress, so using it for production is not
recommended.
For comments and suggestions write to:
Ivan Iacono , Corrado Santoro
%% HOW TO USE IT
You need to insert only the code of the goals in a specific module called
goals function set, the default module is ./src/goals_function.erl (you can change
it, editing ./ebin/enigma.app). There each goal has to defined by writing:
- record function definition, containing the goal information,
- priority function, that needs to return an integer value (lower is better),
- feasibility function, that needs to return true or false,
- execute function, that needs to return success or fail.
ENIGMA supports two type of Goals: simple or combo (stands for combined).
Combo is a goal formed by other goals (subgoals) that can be simple or not, it has a
execution policy that can be:
- and_policy (the goals is executed when all subgoals are executed)
- xor_policy (the goal is executed when one subgoal is executed)
You can specify it in the record function definition, finally add the goal to
the init_goal() function.
%% HOW TO COMPILE IT
From the root directory of ENIGMA type:
$: make
%% HOW TO RUN IT
From the root directory of ENIGMA type:
$: ./enigma.sh
If you want redirect the output in a log file type:
$: ./enigma.sh > enigma.log
%% LICENSE
ENIGMA is licensed under the Apache License, Version 2.0 (the "License");
You may not use this library except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
近期下载者:
相关文件:
收藏者: