- 시연 동영상 : 기존 내비게이션의 길안내 방향과 다른 길을 안내 받고, 실제로 또 그 길이 더 빠르게 도착하는 지름길임을 확인 할 수 있었다!



  

- (좌)실제 길안내 기능 중 스크린샷, (우)POI검색 기능


- 전체 시스템 구성도




프로젝트명

빅내비게이션

본인역할

클라이언트 애플리케이션 및 서버개발  

개발인원

2  

관련전공

캡스톤 설계I, 캡스톤 설계II

수강학기

3-2 ~ 4-1  

개발기간

1

진행사유

WPC Lab 과제 진행 및 졸업작품을 위한 프로젝트

프로젝트 소개

기존에는 내비게이션은 교통량, 날씨 및 도로의 종류와 신호등 유무까지 여러 요소들의 분석을 했다. 하지만 이러한 방법은 도로 네트워크 데이터 기반이라는 데에 한계가 있다. 기존 방법의 대안으로 본 프로젝트에서는 실제 사용자 경험 지식기반의 경로 데이터를 활용했다. 지식기반 경로 데이터란 운전자들의 운전노하우가 반영된 실제 차량 주행에 대한 정보가 담긴 GPS좌표의 집합을 의미한다. 이 데이터를 빅데이터 처리를 통해 분석함으로써 사용자들의 경험 지식에 기반한 실제적인 최소 경로의 파악이 가능해지며 이를 기반으로 한 빅데이터 처리 알고리즘 및 내비게이션 시스템을 개발하였다.

개발내용

(본인 구현부분)

웹으로 개발된 내비게이션을 통해 빅데이터 처리된 결과물을 토대로 서비스를 받을 수 있다. 그 절차의 첫 번째로 가고자 하는 목적지를 POI검색 기능을 통해 지정 한다. 서버로부터 경로 데이터를 수신 받으면 해당 GPX 파일을 파싱하여 지도에 렌더링 된다. 사용자의 현위치를 실시간으로 파악하여 길안내를 실시하며, 클라이언트의 내부적인 다양한 계산을 통해 사용자의 전방 방향에 따른 내비게이션 지도의 회전 방향이나 향후 진로 방향에 대한 정보를 받아 볼 수 있다. 뿐만 아니라 오픈소스 내비게이션 OSMAND를 변형하여 개발된 데이터수집앱을 활용하면, 사용자가 빅데이터 처리 서버에 직접 기여 할 수 있다.

프로젝트

어려움/해결방안

지식기반의 경로 데이터들의 빅데이터 처리함으로써 의미있는 다양한 경로들의 조합을 생성하였으며 개발한 시스템을 이용하여 직접 차량 주행하여 실질적인 길안내까지 가능함을 입증하였다. 웹이라는 네이티브보다 비교적 제한적인 환경 특성상 단말기의 센서를 활용하는 것은 다소 어려움이 존재 한다. 주어진 자원인 위치정보를 활용하여 다양한 정보들을 계산하는 솔루션을 제작하여 이러한 한계점을 극복하였다. 본 시스템에 대한 연구를 더 진행한다면, 향후에는 시간, 날씨 뿐만 아니라 차량 사고 및 특수한 행사 등 다양한 동적인 변화에도 민감하게 대응하여 빠른 길안내 서비스가 가능 할 것으로 전망된다.

시연 영상

 

http://wpclab.smuc.ac.kr/~taeho/pf/bignavi.mkv

 


빅데이터와 내비게이션이라는 부분의 조합을 통해 기존에는 없는 방식의 내비게이션 서비스를 개발했다.

WPCL에서 활동 중 손꼽히는 성과 중 하나 ㅎㅎ

반년은 OSMAND를 통해 서비스를 개발하고, 남은 반년은 독자적인 시스템을 갖추고자 웹 기반의 내비게이션을 별도로 개발하였다.

밤새도록 고통받으면서 했기에 더 애착이 남는 프로젝트인 것 같다.

관련 논문도 여러편 나올 수 있었다.

'Term Project' 카테고리의 다른 글

[PHP기반 SNS] 최종 보고서  (0) 2015.12.29
[PHP기반 SNS] 개요  (0) 2015.12.29
[상명WIFI] 개요  (0) 2015.12.29
[호식이 맛집추천앱] 최종 보고서  (0) 2015.12.28
[호식이 맛집추천앱] 프레젠테이션 자료  (0) 2015.12.28




서버프로그래밍에 대해 열정적으로 했던 프로젝트...

아래 링크를 통해 읽어 볼 수 있음

DBP 최종 보고서.docx



'Term Project' 카테고리의 다른 글

[빅내비게이션] 개요  (0) 2015.12.29
[PHP기반 SNS] 개요  (0) 2015.12.29
[상명WIFI] 개요  (0) 2015.12.29
[호식이 맛집추천앱] 최종 보고서  (0) 2015.12.28
[호식이 맛집추천앱] 프레젠테이션 자료  (0) 2015.12.28

프로젝트명

Mini Homepage 기반의 SNS

본인역할

팀장  

개발인원

2  

관련전공

데이터베이스 프로그래밍

수강학기

2-2 

개발기간

8

진행사유

데이터베이스 프로그래밍 과목 텀 프로젝트

프로젝트 소개

사용자에게 기존의 싸이월드와 같은 미니홈페이지 방식으로 개인공간을 제공하고, 이와 동시에 SNS로써 친구로 등록된 사용자들 간에는 게시하는 콘텐츠들이 공유될 수 있도록 하였다. 각 사용자의 미니홈피에 대한 정보는 별도의 파일 형식으로 제공되는 것이 아닌, 하나의 정해진 레이아웃에 DB에 저장된 각 사용자의 설정 값, 콘텐츠들을 가져오는 형식으로 제작함으로써 데이터 공간의 낭비를 줄이고 유지 보수에 용이하도록 정형화에 초점을 맞추어 개발되었다.

개발내용

(본인 구현부분)

SNS에 필요한 DB 스키마를 작성하고 이를 구축하였다. PHP를 통해 수신 받은 데이터를 서버에 저장하거나 HTML 형식으로 사용자가 요청한 정보를 반환하도록 하였다. 주요 기능으로는 프로필, 스킨사진 등록, 게시판 및 방명록 생성, 뉴스피드, 클럽게시판 등이 있으며 iframe을 활용하여 자동적으로 페이지가 refresh되는 것처럼 구현함으로써 PHP의 한계를 극복하고자 하였다. 또한 CSS를 활용해 반응형 웹으로 구현하였다.

거의 모든 부분이 PHP로 구현되어 서비스되는 SNS을 교내 텀프로젝트를 통해 개발하였다.

방명록, 게시판 타입의 메뉴를 생성하여 다양하게 활용할 수가 있고, 권한 설정도 가능하다.

친구 추가/삭제, 뉴스피드, 현위치 표시, 파일첨부, 사진 업로드 등

요즘 SNS라면 갖추어야 할 기본적인 기능들은 모두 갖추고자 노력하였다.

http://태북.wo.to/ 로 접속하면 아직도 사용 할 수가 있다ㅋㅋㅋ

'Term Project' 카테고리의 다른 글

[빅내비게이션] 개요  (0) 2015.12.29
[PHP기반 SNS] 최종 보고서  (0) 2015.12.29
[상명WIFI] 개요  (0) 2015.12.29
[호식이 맛집추천앱] 최종 보고서  (0) 2015.12.28
[호식이 맛집추천앱] 프레젠테이션 자료  (0) 2015.12.28

프로젝트명

상명 Wifi

본인역할

클라이언트 개발  

개발인원

2  

관련전공

소프트웨어 프로젝트

수강학기

3-1 

개발기간

8

진행사유

소프트웨어 프로젝트 과목 텀 프로젝트

프로젝트 소개

학교 및 기업 등에서는 Wifi를 제공하기 위한 AP의 신호강도를 기반으로 Wifi 신호가 어디까지 송신되는지 추측 할 수 있다. 하지만 이 방법은 사용 인구 수, 시간대 별 트래픽, 물리적인 공간으로 인한 신호 감쇠 등을 반영하지 못한다. 이에 따라 Wifi 수신자의 RSSI, Speed값 등을 수집하여 축적된 빅데이터 처리를 함으로써 다양한 변수를 고려한 Wifi 측정기를 만들고자 하였다.

개발내용

(본인 구현부분)

데이터 수집을 위해 안드로이드 어플리케이션을 개발하였다. GPS 좌표, RSSI, Speed(Mbps)값 등을 단말기의 센서로부터 측정하여 가져오도록 하였으며 이는 파일입출력을 통해 SD카드 메모리에 저장된다. 축적된 데이터는 FTP통신을 통해 일괄적으로 서버에 전송되도록 하였다. 한편 HTML5, Javascript, PHP등을 활용하여 웹 상에 빅데이터 처리 결과를 가시화하였으며 지도상에 지역별 Wifi의 신호감도를 표현되도록 하였다.


이 프로젝트를 진행 할 당시 교내의 정보통신시설에 문의해본 결과,

WIFI의 신호가 어느 영역까지 가용성이 있을지에 대해 가시적으로 표현해주는 솔루션은 이미 있었다.

하지만 문제점은 교내 설치된 AP들을 기반으로 해당 성능이 어느 길이까지 전달 될 것이다라는 모호한 추측성 프로그램이었다.

추측과 실제는 다르다. 왜냐하면 와이파이의 사용자수가 급격히 변동 할 수 있는 시간(예를들어 쉬는 시간, 점심시간, 수업시간 등으로 구분 지을 수 있다)이라던지,

소프트웨어 상 고려 할 수 없는 물리적 부분(벽, 장애물 등)의 요인 때문이다.

이에 대한 문제를 해결하기 위한 방법으로, 사용자들이 직접 와이파이를 사용 할 때 그 정보를 토대로 빅데이터 처리 분석을 하여

효과적인 피드백을 제공해 주고자 하였다.




논문형식으로 작성했던 최종 개발 보고서이다.

최종보고서 이태호 장준식.docx




이걸 업로드하는 컴퓨터에 폰트가 없어서 다소 안예쁘게 보인다..

발표시간이 너무 짧게 느껴질 정도로 할 말이 많았던 프로젝트..

어떤 기능들이 있는지, 어떤 알고리즘이 사용되었고, 어떤 어려운 점을 해결하졌는지

모든 것을 기록한 프레젠테이션 ㅋㅋ


01234567891011121314151617





프로젝트를 시작 할 때 처음으로 잡았던 컨셉..

이 텀프로젝트가 얼마나 많은 일을 안겨줄지 이 때는 몰랐다 ㅠㅠ


프로젝트명

호식이 맛집추천

본인역할

서버 개발  

개발인원

2  

관련전공

모바일 프로그래밍

수강학기

3-1  

개발기간

5

진행사유

모바일 프로그래밍 과목 텀 프로젝트

프로젝트 소개

사용자로부터 식당들에 대한 평점을 입력 받고, 이를 기반으로 사용자와 같은 식당들에 유사한 평점을 준 다른 사용자가 높게 평가한 식당을 사용자에게 추천해주는 시스템이다. 사용자들의 축적된 식당 평가 데이터에 User based recommend 알고리즘을 접목시켰다. 이에 따라 클라이언트의 추천 식당 요청이 들어오면 피어슨 상관계수 방식의 연산에 의거하여 다른 유사한 입맛의 사용자가 높게 평가한 맛집을 제공해준다. 식당 정보에 대한 데이터는 Google place API를 사용하였으며 서버가 사용자의 GPS좌표를 수신 받아 자동적으로 수집한다.

개발내용

(본인 구현부분)

HTTP통신에 필요한 서버(APM, Tomcat)를 구축하였다. 또한 요구되는 DB 스키마를 작성하고 이를 구축하였다. 사용자가 평가한 내용은 서버의 CSV(comma-separated values)파일에 파일입출력을 통해 저장된다. 파일의 텍스트 한 줄은 한 레코드로서의 역할을 하며 사용자ID, 식당ID, 평가값이 저장된다. 협업 필터링을 위해 머하웃을 활용하였으며 이를 JSP로 구현하여 사용자의 요청에 즉시 실행되어 협업 필터링이 동작하고 그 결과를 사용자에게 반환한다. 사용자에게 평가 및 추천을 위한 식당 정보 수집을 위해 사용자가 어플리케이션을 처음 실행 한 순간 GPS좌표를 서버에 전송하여 해당 좌표를 기반으로 서버 측이 자동적으로 Google place API로 데이터를 요청하고 반환된 XML 문서를 Parsing을 통해 기존 서버에 없는 식당에 대한 정보를 판별하여 DB에 저장하도록 하였으며 안드로이드 부분에서는 XML Parsing, 식당 평가탭, 사용자의 GPS정보 전송 등을 HTTP통신을 활용하여 구현하였다.

프로젝트

어려움/해결방안

첫 번째 문제는 어떤 방식으로 유사한 사용자를 판별하는가에 대한 문제이다. 이에 대해서 우리는 사용자가 평가한 데이터를 선형적으로 표현하고 이에 대한 정보를 다른 사용자와 대조 할 시 선형적인 구조의 차이 정도를 분석하고자 하였다. 이에 따라 피어슨 상관계수 방식을 사용하고자 하였으며 머하웃을 활용하고자 한 계기가 되었다. 둘째는, 머하웃 자체가 자바로 구성되어 있으므로 이를 웹으로 서비스하기 위한 방안이 필요하였는데 이는 머하웃 라이브러리를 JSP상에 구현함으로써 요청에 따라 자바 프로그램이 동작하고 해당 결과가 클라이언트에 즉각적으로 반환 할 수 있도록 함으로써 해결하였다.

시연 영상


http://wpclab.smuc.ac.kr/~taeho/pf/hosigi.avi

 



주로 서버 개발과 협업필터링 처리를 개발하였고 안드로이드에서는 서버 통신 모듈 및 XML파싱 부분을 도맡아서 진행했다.

기억에 남는 부분은 머하웃 라이브러리를 활용하고자 했기에 협업필터링은 자바로 구현이 되어있다.

단지 이것을 웹서비스로 만들기위해서 JSP를 제대로 공부하고 개발환경을 꾸렸다.

거기에다가 일반적인 웹호스팅으로는 톰캣을 지원하지 않기 때문에 KT 유클라우드 비즈 쿠폰을 활용해서 처음으로

클라우드 서비스를 사용해보았다는 점..

작은 것을 하기위해서 큰 것을 많이 공부했기에 애착이 가는 프로젝트인듯



+ Recent posts