Wiki » Historia » Wersja 16
Maciej Wegierek, 2020-02-01 17:18
| 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 | 16 | 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 | 16 | Maciej Wegierek | * Po upuszczeniu strzałki pojawia się okno dialogowe z możliwością wyboru typu asocjacji - wybieramy ItemFlow. |
| 55 | 16 | 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. Możemy też nie wybierać żadnego Bloku. Wtedy nie zdefiniujemy przesyłanego typu danych. |
| 56 | 16 | Maciej Wegierek | * Asocjacji typu ItemFlow możemy nadać nazwę. W tym celu dwukrotnie klikamy na przerywaną strzałkę. W oknie dialogowym ItemFlow Properties nadajemy nazwę. |
| 57 | 16 | Maciej Wegierek | * W tym samym oknie w zakładce General Settings możemy wybrać kierunek (Direction) strzałki. |