Giter VIP home page Giter VIP logo

uosse's People

Contributors

do168 avatar livlikwav avatar

Stargazers

 avatar

Watchers

 avatar

uosse's Issues

191130

해볼거

DrawPanel 생각

hazard (, )
start (,)
이런식으로 좌표 받아올거니까

MapMatrix 그냥 만들고
0 빈공간
1 hazard
2 start
3 colorblob
4 robot
이런식으로 값 정해놓고

init
다 0으로 해두고
Mapdata 바꿔서
mapmtrix[i][j] = 1
이런식으로 바꿔주는 식으로
하고

repaint로 새로 다 그려주는 식으로 하기

로봇 방향 생각도 해야함

movestatus 써서
이미지 4개 짤라서 쓰기

더 나아가는 방향은

5 path
해서
앞으로 나갈경로 빨간 사각형으로 보여줄 수도 ㅇㅆ겟음

유의점

근데 그럼 나중에 path 받아오는게
위 옆 옆 위 이런명령이아니라
(,)
(,)
이런식으로 좌표값 나열이면 쉽게 할 수 잇음
위 옆 옆 위 이것도
뭐 할라면 생각해보니 할수잇을듯
지금좌표 x,y 받아서
내가 위 옆 옆 위 이걸로
x, y+1
x+1 y+1
이런식으로 만들어 넣고 그리면되니까

UML 수정 내역

Usecase Diagram

Sensor Data 3개 합치라 하심.
Usecase는 함수가 아니다. 큰 의미의 기능이기 때문에 합치자.

191202 메모

완성함 어제 말한거 까지

너가 그대로 가져가서 쓰면 될듯

좌표값으로 점 설정해줄수있고, 명령어 넣을때마다 다시 그려짐

	MapGUIForm gui = new MapGUIForm(8, 8, 0, 0);
	gui.setMapPoint("NEWHAZARD", 3, 1);
	gui.setMapPoint("GOAL", 0, 1);
	gui.setOperation("TURN");
	gui.setOperation("GO");
	//gui.setOperation("GO");

이런식으로 사용하면 됨 우찬 코드에서!
그냥 Operation에 저런식으로 두 명령어 넣으면
update해서 다시 그려줌

문제점: logo 박으려 했는데 갑자기 안그려져서

그냥 다시 텍스트만 해두고
img는 일단 주석처리해둠 ;

걱정 : 저 작은 logo img 다루다가 한번 메모리 오류 떴엇음 ;

그래서 최적화 해보긴 했다, 불필요한 객체 생성 줄이고
문제없길 바람 다시

MoveRobot() PseudoCode

MoveRobot()
{
getmapdata()
for
{
if( map changed): planningapath()
moveoperation() #1칸 움직이던지, 회전하든지
correctmove() 잘 움직였나봐
GetCurrentPostionSensor()
True: Continue
False: Compensation()
GetHazardSensor()
if( not rotated): GetColorBlobSensor()
HandlingMapData(Hazard, ColorBlob)
}
}

우찬 수정할거

클래스 다이어그램 수정 계획

image

RobotOperationManager

control

RobotOperation

entity

도우찬 할일

  1. 클래스 다이어그램 부터 수정
  2. 코드 객체 지향적으로 수정. 내부 변수 다 private하게
  3. 순차도 다 수정
  4. 시나리오도는 놔두되, hazard 같은 이름들만 빼기
  5. 순차도에 맞춰 클래스도 수정

하경민 할일

0. mapGUIForm 클래스 다이어그램 보내주기

  1. 객체상태도 그리기
  2. 컴포넌트도 공부
  3. 배치도 공부~

Move Robot 유스케이스 이름에 대해

시나리오를 적는 과정에서 유스케이스 이름을 적을 때 Move Robot를 해석하는데 뜻은 알겠는데 글로 표현을 못해서 일단 서로 이해했던 ADD-ON 시스템 작동 (Run ADD-ON System)이라 적었고 내일 이거 표현을 어떻게 해야할지 요청.

HGM-UseCase의 시나리오 생각

Read Hazard Sensor
Read Color Blob Sensor
Read Current Position
할때마다 경로 재설정하는건 비효율적이지 않나?

그냥 RunRobotSearching에
0과 1을 가지는 Flag (Bool)을 두고
Read 한번 할때마다 변화가 있으면

맵의 변화가 있음을
로봇 움직임을 담당하는 클래스에 기록을 해서

다음 loop때 있으면 다시 경로 설정하도록 해야겠지?

최종발표순서 10번째

프린트에 적혀있는 내용

최종 발표

12/ 6 금 , 5분/팀

제출물:

산출물 : 요구사항 정의서, 설계서, 소스코드
설계결과물 : UML파일
발표자료: 파워포인트자료

각주

보고서에 UML 파일 내용을 삽입하고, UML파일은 조교에게 메일로 보냄

import MapGUIForm

	MapGUIForm gui = new MapGUIForm(8, 8, 0, 0);
	gui.setMapPoint("NEWHAZARD", 3, 1);
	gui.setMapPoint("GOAL", 0, 1);
	gui.setOperation("TURN");
	gui.setOperation("GO");
	gui.setOperation("GO");

191107:0458 해야할일

1
hwp1 문서에
사전조건 사후조건 같이 수정해보기

2
uml hwp1 hwp2 같이 확인하면서
확정하기

3
(교류도 서로 확인 후 다 확정후에) 각자 교류도 설명 작성하기 - 둘다

전체 액티비티도 그리기 - 우찬
전체 액티비티도 공부
클래스도 공부
클래스도 그리기 - 경민

객체 상태도 공부
메인 클래스도?
아키텍처도?

PPT만들기

내꺼 수정할 거

  • 내 부분 0-8로 되어있는거 0-7로 하기

GoStep 아예 바꾸면서 수정완료

  • GoStep 수정

완료

  • Colorblob 겹치게 그리도록 수정하기

완료. ROBOTONCLRB

  • 우찬꺼 Sim 다른 클래스로 빼기?
  • 도는거 이미지 명확하게 바꾸기

완료

Operator Description

<1 . Handling Map Data>

  1. 개략 명세 : 이 USE CASE는 Operator가 초기화하며, Operator가 시스템에 MAP Data를 삽입, 수정, 삭제하기 위한 기능을 제공한다.

  2. 사건의 흐름 :
    -Operator가 고유번호를 입력하면서 시작한다.
    시스템은 Operator의 고유번호가 유효한지 검사 후 맞으면 Operator에게 Map Data를 입력하라고 표시한다. Operator는 Map data를 입력 한다. 시스템은 Operater가 다음 사항 중 하나를 선택하도록 한다.
    -- Map Data 삽입
    -- Map Data 수정
    -- Map Data 삭제
    Operater가 끝났음을 지시한다. 시스템은 입력한 Map data를 화면에 표시하고 입력이 되었음을 알린다.

2.1 Alternate flow
-만일 고유번호가 틀릴 경우 시스템은 등록 시스템 접근을 허용하지 않는다. 삽입되지 않은 Map Data를 수정이나 삭제하려 하거나, 이미 만들어진 Map Data를 또 만들려고 시도할 경우 시스템은 다른 선택을 지시한다.

2.2 Map Data 삽입

  • Operator는 일정한 형식에 따라 Map Data를 입력한다. Operater가 삽입을 요청하면 시스템은
    --삽입한 데이터의 형식을 확인한다.
    -- 입력받은 Map Data를 저장한다.
    --Alternate flow
    ----삽입을 위해넣은 Map Data의 형식이 다른 경우 시스템은 오류를 표시하고 재입력을 지시한다.

2.3 Map Data 수정
-시스템이 삽입된 Map Data를 표시한다. Operator는 삽입한 Map Data에서 수정할 부분을 찾아 입력한다. 학생이 수정을 요청하면 시스템은
--수정한 데이터의 형식을 확인한다.
--수정한 Map Data를 저장한다
--Alternate flow
----수정을 위해 넣은 Map Data의 형식이 다른 경우 시스템은 오류를 표시하고 재입력을 지시한다.

2.4 Map Data 삭제

  • Operator가 삽입한 Map Data를 지울 것을 지시한다. 시스템은 저장된 Map Data를 지우고 Operator에게 요청이 처리되었음을 알린다.

<2.Set System to Move Robot>

  1. 개략 명세 : 이 USE CASE는 Operator가 초기화하며, Operator가 시스템에게 저장된 Map Data로 SIM과의 통신을 통해 로봇을 움직이게 하기 위한 기능을 제공한다.

  2. 사건의 흐름 :
    -Operator가 고유번호를 입력하면서 시작한다.
    시스템은 Operator의 고유번호가 유효한지 검사 후 맞으면 Operator에게 유효하다고 알린다. Operator는 시스템 작동을 지시한다.
    2.1 Alternate flow
    -만일 고유번호가 틀릴 경우 시스템은 작동 시스템 접근을 허용하지 않는다.

2.2 선조건
-"Handling Map Data" Use Case는 이 Use Case 실행 전에 실행되어야 한다.

보고서-유즈케이스설명서와시나리오-교류도가 아님

교류도가 아닌거 같음

교류도에는 각 클래스가 들어가는데
글미 자세히보면
표의 주 흐름에 있는걸 그대로 나타낸 그림이고
시스템 두개만 떡하니 있음.

액터와 해당유즈케이스의 시스템

시나리오 같이 작성후
그림도 그려야할듯?

HGM-순차도 그리기 고민

로봇이 움직이는 그 일련의 과정을 담은
순차도를
어느 유즈케이스에 포함시켜야 되는지 모르겠다

SetSystemtoMoveRobot인지
아니면 ~

도우찬:
각 유즈케이스에 찢어져서 들어갈 것 이다.

1차 USE CASE description

1. 개략 명세 : 이 USE CASE는 Operator가 초기화하며, Operator가 시스템에 MAP Data를 삽입, 수정, 삭제하기 위한 기능을 제공한다.
  1. 사건의 흐름 :
    -Operator가 고유번호를 입력하면서 시작한다.
    시스템은 Operator의 고유번호가 유효한지 검사 후 맞으면 Operator에게 Map Data를 입력하라고 표시한다. Operator는 Map data를 입력 한다. 시스템은 Operater가 다음 사항 중 하나를 선택하도록 한다.
    -- Map Data 삽입
    -- Map Data 수정
    -- Map Data 삭제
    Operater가 끝났음을 지시한다. 시스템은 입력한 Map data를 화면에 표시하고 입력이 되었음을 알린다.

2.1 Alternate flow
-만일 고유번호가 틀릴 경우 시스템은 등록 시스템 접근을 허용하지 않는다. 삽입되지 않은 Map Data를 수정이나 삭제하려 하거나, 이미 만들어진 Map Data를 또 만들려고 시도할 경우 시스템은 다른 선택을 지시한다.

2.2 Map Data 삽입

  • Operator는 일정한 형식에 따라 Map Data를 입력한다. Operater가 삽입을 요청하면 시스템은
    --삽입한 데이터의 형식을 확인한다.
    -- 입력받은 Map Data를 저장한다.
    --Alternate flow
    ----삽입을 위해넣은 Map Data의 형식이 다른 경우 시스템은 오류를 표시하고 재입력을 지시한다.

2.3 Map Data 수정
-시스템이 삽입된 Map Data를 표시한다. Operator는 삽입한 Map Data에서 수정할 부분을 찾아 입력한다. 학생이 수정을 요청하면 시스템은
--수정한 데이터의 형식을 확인한다.
--수정한 Map Data를 저장한다
--Alternate flow
----수정을 위해 넣은 Map Data의 형식이 다른 경우 시스템은 오류를 표시하고 재입력을 지시한다.

2.4 Map Data 삭제

  • Operator가 삽입한 Map Data를 지울 것을 지시한다. 시스템은 저장된 Map Data를 지우고 Operator에게 요청이 처리되었음을 알린다.
1. 개략 명세 : 이 USE CASE는 Operator가 초기화하며, Operator가 시스템에게 저장된 Map Data로 SIM과의 통신을 통해 로봇을 움직이게 하기 위한 기능을 제공한다.
  1. 사건의 흐름 :
    -Operator가 고유번호를 입력하면서 시작한다.
    시스템은 Operator의 고유번호가 유효한지 검사 후 맞으면 Operator에게 유효하다고 알린다. Operator는 시스템 작동을 지시한다.
    2.1 Alternate flow
    -만일 고유번호가 틀릴 경우 시스템은 작동 시스템 접근을 허용하지 않는다.

2.2 선조건
-"Handling Map Data" Use Case는 이 Use Case 실행 전에 실행되어야 한다.

1. 개략 명세 : 이 USE CASE는 SIM이 초기화하며, SIM이 시스템에게 HazardSensor에 의해 탐색된 값을 제공하기 위한 기능을 제공한다.
  1. 사건의 흐름 :
  • SIM이 HazardSensor에 의해 탐색된 값을 시스템에게 제공한다. SIM은
    --탐색된 값이 True이면 Map에 Hazard Point를 표시 후 저장하고 경로를 재설정한다.

2.1선조건 : "Insert Moving Data" Use Cas는 이 Use Case전에 실행되어야 한다.

1. 개략 명세 : 이 USE CASE는 SIM이 초기화하며, SIM이 시스템에게 ColorBlobSensor에 의해 탐색된 값을 제공하기 위한 기능을 제공한다.
  1. 사건의 흐름 :
  • SIM이 ColorBlobSensor에 의해 탐색된 값을 시스템에게 제공한다. SIM은
    --탐색된 값이 True이면 Map에 Color Blob Point를 표시 후 저장하고 경로를 재설정한다.

2.1선조건 : "Insert Moving Data" Use Cas는 이 Use Case전에 실행되어야 한다.

1. 개략 명세 : 이 USE CASE는 SIM이 초기화하며, SIM이 시스템에게 PositioningSensor에 의해 실제 현재 위치를 제공하기 위한 기능을 제공한다.
  1. 사건의 흐름 :
  • SIM이 PositioningSensor에 의해 실제 현재 위치를 시스템에게 제공한다. SIM은
    --예상 현재 위치와 비교하여 같지 않으면 Compensating for imperfect Motion 기능을 수행한다.

2.1선조건 : "Insert Moving Data" Use Cas는 이 Use Case전에 실행되어야 한다.

1. 개략 명세 : 이 USE CASE는 시스템이 초기화하며, 시스템이 SIM에게 Map Data에 의해 계산된 경로로의 움직임을 제공하기 위한 기능을 제공한다.
  1. 사건의 흐름 :
  • 시스템은 Map Data에 의해 경로를 계산한 후 경로를 따라가기 위한 움직임 명령을 SIM에게 제공한다. SIM은
    --명령에 따라 앞으로 1 전진하거나 시계 방향 90도만큼 회전한다.

2.1선조건 : "Set System to Move Robot" Use Cas는 이 Use Case전에 실행되어야 한다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.