Spis treści

*********************************

ZAPIS HISTORII PRAC NAD PROJEKTEM

*********************************

Opis

Paweł Gutowski pawel.gutowski@gmail.com

Communication stack:

Idea:

Spotkania

08.02.26

080311

080318

080401

080415

080429

080520

Projekt

080318

Prolog → JPL → iCommand → LEGO

Podejrzana komunikacja bluetooth - wciąż powtarzają się problemy z nawiązaniem komunikacji

Owinięcie funkcjonalności potrzebnej do obsługi 4 podstawowych czujników + 3 silników? Niby iCommand dostarcza możliwość kontrolowania innych czujników, ale brak możliwości przetestowania (brak innych czujników - np czujnik koloru).

Sugerują tę drugą opcję - żeby zachować 'filozofię' prologu, a nie bawić się w gettery/settery i przechowywanie kilkunastu obiektów.

%
%    Proponowany zestaw predykatów:
%
 
%Konfiguracja:
open(H)
close(H)
 
%Czujnik dotyku:
touchPressed(H,Pressed)
 
%Czujnik głośności:
loudness(H,Loudness)
 
%Ultradźwiękowy czujnik odległości:
distance(H,Distance)
 
%Czujnik światła:
lightPercentage(H,Light)
led(H, ON)
 
%Silniki:
motorSpeed(Port, H, Motor, Speed)
motorPos(Port, H, Motor, Pos, ReturnAfter)

Obsługa czujników może okazać się niepraktyczna (brak callbacków). Wyjdzie w praktyce…

FIXME

080401

Zaimplementowano i przetestowano predykaty realizujące następujące funkcje:

Istnieje możliwość zaimplementowania pracy silników tak aby wykonywały zadaną ilość obrotów lub obrót do zadanej pozycji. Implementacja jest możliwa zarówno z uwolnieniem sterowania w chiwli wywołania funkcji, jak i ze zwolnieniem w chwili dotarcia do zadanej pozycji. Wg dokumentacji iCommand, taki tryb pracy może nie działać prawidłowo z firmware'm firmy LEGO.

Predykaty wraz zaimplementowanymi ciałami: iCmd.pl

080415

Kolejna wersja zestawu predykatów, uwzględniająca niektóre uwagi: nxt_iCommand.pl

Dodatkowe funkcjonalności iCommand: