<div class="notebook">
<div class="nb-cell html">
<h2>Robot Arm</h2>
<h3> Currently offline </h3>
<p> Please wait for the webcam to load. This video has a 30 second delay. It also takes sometime to send commands so be patient </p>
<p> is there someone controlling my robot? if so send me a mail! sam.neaves@gmail.com</p>
<iframe width="427" height="240" src="https://www.youtube.com/embed/-5QowYYG1PM" frameborder="0" allowfullscreen=""></iframe>
<!--<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Noaa-walrus22.jpg/330px-Noaa-walrus22.jpg" alt="Smiley face" height="42" width="42">
<div class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<label>Sentence</label>
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Example
<span class="caret"></span></button>
<ul class="dropdown-menu">
</ul>
</div>
<input class="form-control">
<div class="input-group-btn">
<button type="button" class="btn btn-primary">Parse</button>
</div>
</div>
</div>
</div>
</div>
-->
<script>
// Load examples from the predicate examples/1. notebook.swish() is a wrapper
// around new Pengine() that fetches the sources using the same algorithm as
// a query cell and set the `application` to `swish`.
// notebook.$() is a shorthand for notebook.cell().find(), evaluating to a
// jQuery object that matches the objects from the current cell.
function loadExamples() {
var seen = 0;
notebook.$(".dropdown-menu").html("");
notebook.swish({ ask: "example(Ex)",
ondata: function(data) {
notebook.$(".dropdown-menu").append('<li><a>'+data.Ex+'</li>');
if ( seen++ == 0 )
notebook.$("input").val(data.Ex);
}
});
}
// Load the examples on page load as well as if the user clicks the
// dropdown menu, so changes are reflected.
loadExamples();
notebook.$(".dropdown-toggle").on("click", loadExamples);
// Pass selected examples to the input field.
notebook.$(".dropdown-menu").on("click", "li", function(ev) {
notebook.$("input").val($(this).text());
});
// If the "Parse" button is clicked, run the query named "parse"
// binding Sentence to the input string. The function
// notebook.run() takes the name of a query and an object
// holding bindings. This is translated to run the query
// Sentence = (String), (parse(Sentence, Tree)).
notebook.$(".btn-primary").on("click", function() {
notebook.run("parse", {Sentence: notebook.$("input").val()});
});
</script>
</div>
<div class="nb-cell program">
:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).
</div>
<div class="nb-cell query">
plans(P),plans_planexe(P, arm_up(_)).
</div>
<div class="nb-cell program">
:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).:- use_module(library(pengines)).
main :-
pengine_create([
server('http://samneaves.ddns.net:6356'),
src_text("left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_).
right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_).
test:- arm_up(_).
detect(X):- color(X).
action(X):-X=[red],centre_left.
action(X):-X=[blue],centre_right.
action(X):-writeln(X).
plan1(X):- right_centre,color(X),action(X).")
]),
pengine_event_loop(handle, []).
handle(create(ID, _)) :-
pengine_ask(ID, plan1(_), []).
handle(success(_, [plan1(_)], false)) :-
%writeln(X),
writeln(end).
handle(success(ID, [plan1(_X)], true)) :-
%writeln(X),
pengine_next(ID, []).
plans(X):-
X =[( left_right :- face_left(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_left :- face_right(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_left :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_left(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( centre_right :- centre(_),arm_down(_),close_claw(_),arm_up(_),face_right(_),arm_down(_),open_claw(_),arm_up(_),centre(_)),
( right_centre :- face_right(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_)),
( left_centre :- face_left(_),arm_down(_),close_claw(_),arm_up(_),centre(_),arm_down(_),open_claw(_),arm_up(_))
].
plans_planexe(Plans,PlanExe):- pengine_rpc('http://samneaves.ddns.net:6356', PlanExe,[src_list(Plans)]).
</div>
</div>