Projekt

Ogólne

Profil

Wiki » Historia » Wersja 15

Maciej Wegierek, 2020-02-01 17:11

1 2 Maciej Wegierek
# Wstęp (mam wątpliwość czy wstęp w ogóle robić, gdyż aby zrobić go dobrze trzeba by było jeszcze mocniej wniknąć w temat. Nie wiem czy jest sen robić to tak pobieżnie. Właściwie to wykład powinien być wstępem - motywacją. Taki wstęp na pewno powinien znaleźć się w artykule.)
2 1 Maciej Wegierek
** Motywacja do zajmowania się specyfikacją systemów robotycznych. Co wyróżnia system robotyczny z ogólnej grupy systemów informatycznych.
3 1 Maciej Wegierek
** krótki opis DSL -- odwołanie do przykładów takich jak RobotML, BRICKS, SmartSoft, aby pokazać, że podobne podejście ma zastosowanie w praktyce. Pokazanie kolejnych warstw DSL - metamodel i model (zwykle w formie graficznej UML), mapowanie na komponenty i/lub generacja kodu.
4 1 Maciej Wegierek
# Opis agenta upostaciowionego za pomocą nowej notacji -- ten sam opis co w artykule, lecz w języku polskim i bez opisu akcji elementarnej.
5 1 Maciej Wegierek
# Przykładowy opis systemu za pomocą nowej notacji -- sterownik robota IRp-6 na podstawie mojej pracy magisterskiej (ten sam opis lecz nowa notacja)
6 1 Maciej Wegierek
# Opis zadań projektowych
7 1 Maciej Wegierek
* Specyfikacja robota miniRyś -- podejście bazujące na stworzeniu specyfikacji na podstawie już istniejącego komponentowego opisu implementacji oraz schematach struktury warstwy sprzętowej. Studenci powinni korzystać wprost z prac inżynierskich Daniela Giełdowskiego oraz Macieja Bogusza (dostępne online)
8 1 Maciej Wegierek
* Specyfikacja robota Bombel -- podejście bazujące na stworzeniu specyfikacji na podstawie prototypu wprowadzającego ograniczenia warstwy sprzętowej. Studenci powinni korzystać z wykładu z przedmiotu ANRO
9 1 Maciej Wegierek
* Co powinna zawierać specyfikacja:
10 1 Maciej Wegierek
** Specyfikacja wymagań: przypadki użycia 
11 1 Maciej Wegierek
** Specyfikacja struktury: podział systemów na agenty, wydzielenie podsystemów i buforów komunikacyjnych 
12 1 Maciej Wegierek
** Specyfikacja zachowania: W przypadku robota miniRyś specyfikacja zachowania powinna opisywać sposób działania regulatorów kąta oraz modułu lokalizacji. W przypadku robota Bombel specyfikacja zachowania powinna zawierać opis sterowania pozycyjnego (prosta i odwrotna kinematyka) oraz opis działania aplikacji, której celem jest zmiana pozycji końcówki manipulacyjnej z punktu A do punktu B w przestrzeni konfiguracyjnej oraz w przestrzeni operacyjnej. 
13 1 Maciej Wegierek
** Generalna zasada jest taka, że specyfikacja powinna być zgodna z dokumentacją przedstawioną w pracach inżynierskich oraz wykładzie. Jeśli opracowania te nie precyzują pewnych aspektów działania robotów, studenci mogą sami proponować rozwiązania. W takiej sytuacji powinni uzasadnić swoje decyzje projektowe.
14 1 Maciej Wegierek
15 3 Maciej Wegierek
Uwagi do notacji:
16 3 Maciej Wegierek
kanał komunikacyjny. Jest potrzeba mówienia ogólnie o kanale komunikacyjnym ca(a_ui,a_robot), a nie tylko poprzez wskazanie konkretnych portów ca(a_ui.sc_0.bo_1,a_robot.sc_0.bo_1)
17 3 Maciej Wegierek
18 8 Maciej Wegierek
h1. Uwagi techniczne do EA
19 7 Maciej Wegierek
20 8 Maciej Wegierek
h3. Jak robić strzałki na portach
21 6 Maciej Wegierek
22 5 Maciej Wegierek
* tworzymy pakiet z elementami pomocniczymi 
23 5 Maciej Wegierek
* w tym pakiecie dodajemy diagram bdd
24 5 Maciej Wegierek
* dodajemy trzy nowe bloki - Block1, Block2, Block3
25 5 Maciej Wegierek
* do każdego bloku dodajemy FlowProperty
26 10 Maciej Wegierek
* klikamy FlowProperty w każdym z bloków i wybieramy w opcjach (porty_strzalki.png) in/out/inout
27 9 Maciej Wegierek
* w drugim pakiecie z naszym modelem tworzymy diagram ibd
28 9 Maciej Wegierek
* tworzymy w nim Property i ,,przeciągamy'' do niego Block1 z drzewa elementów (po lewej stronie)
29 9 Maciej Wegierek
* W okienku które się pojawia wybieramy ,,Drop as: port''
30 1 Maciej Wegierek
* Aby w naszym nie był podpisany z wykorzystaniem nazwy np. Block1, musimy w pakiecie pomocniczym usunąć nazwy bloków
31 11 Maciej Wegierek
32 11 Maciej Wegierek
h3. Generacja pliku PDF
33 12 Maciej Wegierek
34 1 Maciej Wegierek
* każdy diagram z EA można eksportować do PDF-a - Print -> Print to PDF
35 12 Maciej Wegierek
* jeśli diagram nie mieści się na stronie A4 to należy zmienić rozmiar strony. Rozmiar zmienia się per diagram a nie per projekt.
36 13 Maciej Wegierek
* wygenerowane diagramy mają pewne wady. Jak sobie z nimi radzić:
37 13 Maciej Wegierek
- tekst wychodzi poza obramowanie bloku - z poziomu EA należy zwiększyć szerokość / wysokość bloku
38 13 Maciej Wegierek
- diagram nie posiada liter ,,i'' - należy ponownie wygenerować diagram
39 13 Maciej Wegierek
- tekst obramowania diagramu zawierający nazwę typu diagramu, pakiet oraz nazwę diagramu nie mieści się w ramce - patrz edycja Inkscape
40 13 Maciej Wegierek
- obramowanie diagramu jest zdecydowanie za duże - patrz Inkscape
41 13 Maciej Wegierek
- wielkość kartki nie jest przycięta do rozmiaru diagramu - patrz Inkscape 
42 13 Maciej Wegierek
43 13 Maciej Wegierek
Inkscape:
44 13 Maciej Wegierek
* Aby edytować diagram należy zainstalować program Inkscape. 
45 13 Maciej Wegierek
* Otwieramy diagram i w Ustawieniach importu zaznaczamy ,,Poppler/Cairo import'' -- import odpowiednich czcionek.
46 13 Maciej Wegierek
* Klikamy prawym przyciskiem myszy na diagram i wybieramy ,,Rozdziel grupę''. 
47 13 Maciej Wegierek
* Od tego momentu każdy element diagramu możemy edytować oddzielnie. W szczególności możemy wydłużyć pasek z nazwą diagramu oraz odpowiednio zmniejszyć rozmiar obramowania diagramu.
48 13 Maciej Wegierek
* Aby przyciąć kartkę do wielkości obramowania diagramu klikamy Ctrl+Shift+D, wybieramy ,,Dopasuj stronę do zawartości..." a następnie ,,Dopasuj stronę do rysunku lub zaznaczenia''
49 14 Maciej Wegierek
50 14 Maciej Wegierek
h3. Strzałki <<flow>> oraz typy przesyłanych danych
51 14 Maciej Wegierek
52 15 Maciej Wegierek
* Strzałki <<flow>> przerywane można tworzyć między innymi między Blokami, Elementami typu Property lub między Portami. 
53 14 Maciej Wegierek
* Klikamy na Element startowy, w lewym górnym rogu elementu pojawia się strzałka skierowana do góry, klikamy tę strzałkę i przeciągamy ją do elementu docelowego
54 14 Maciej Wegierek
* Po upuszczeniu strzałki pojawia się okno dialogowe z możliwością wyboru typu asocjacji -- wybieramy ItemFlow.
55 14 Maciej Wegierek
* Pojawia się okno dialogowe ,,Information Items Conveyed''. W tym oknie wybieramy Blok, który definiuje typ danych przesyłanych w stworzonym połączeniu. Ten Blok musimy wcześniej samodzielnie zdefiniować. Możemy nadać mu też pola określające pola struktury danych.