제17회 임베디드 소프트웨어 경진대회 - 자율주행 모형자동차


제17회 임베디드 소프트웨어 경진대회 - 자율주행 모형자동차 결선 참가

기간 : 2019.4.29 - 2019.12.14

 

[About]


 모형자동차를 실제 자동차처럼 주행하며 여러가지 미션을 수행해 완주하는 경기입니다. OpenCV 라이브러리를 사용하였으며 카메라와 거리 센서, 라인 센서를 이용해 미션을 판단하고 조향각을 조정하여 미션을 수행하였습니다.

미션 코스에는 고가도로, 돌발(내리막)구간, 우선정지 장애물 통과, 곡선주행, 자동 주차(수직, 수평), 교차로 주행, 터널구간, 신호등에 의한 차선 선택 주행, 차선변경 등이 있다.

담당역할 : 고가도로, 터널, 우선정지 장애물, 신호등 구간 개발

기여도 : 25% / 5명

 

[개발환경]


Sofware : PC-Linux, target board-embedded linux, ssh

Hardware : PC, a15 Dual Core 탑재한 모형자동차

a15 Dual Core 탑재한 모형자동차

[특이사항]


Pthread를 사용하여 LCD 출력 부분과 영상처리 부분을 나누어 작업했습니다.

 

[성과]


신호등 구간 좌우판별 정확도를 50%에서 90%호 향상시켰습니다.

 

[경기 영상]


 

반응형

모의면접 인공지능(AI) 챗봇(Chatbot)


한이음 2019 공모전 은상 수상작

기간 : 2019.04.22 - 2019.11.30

 

[About]


 사용자의 자기소개서를 분석하여 맞춤형 면접질문을 제공하는 모의면접 챗봇 서비스와 면접정보를 공유할 수 있는 웹프로젝트입니다.

  1.  성향반영 질문추출 알고리즘 
    • Data Crawling을 사용해 수집한 8000여개의 자소서를 기반으로 핵심단어를 추출하여 4000여개의 질문 알고리즘 구축
  2. 사용자의 답변 분석 
    • 사용자의 답변을 STT(Speech To Text)를 사용하여 텍스트로 변환하여 DB에 저장 후 자가평가를 할 수 있게 해준다.
  3. 사용자의 성향 분석
    • MBTI성향분석을 이용한 자기소개서 분석과 실제 MBTI성향을 파악하고 이를 비교 분석해준다.
  4. 가상의 면접관 이미지 생성
    •  GAN(Generative Adversarial Network)을 사용해 가상의 면접관 이미지를 생성하여 사용자가 낯선 사람에게 답하는 능력을 길러준다.
  5. 서로의 면접을 공유하는 커뮤니티 
    • 기록된 모의 면접의 내용을 공유하고 서로 피드백을 할 수 있는 커뮤니티를 제공한다.

 

담당역할 : 팀장, 자기소개서 분석 기능, 자기소개서 분석 결과 조회, 챗봇 연동

기여도 : 30% / 5명

 

[ 개발환경 ]


  • Django
  • SQLite
  • AWS EC2
  • HTML, CSS, JavaScript

 

[ API ]


  • Google Dialogflow API : Google 기계학습 기반의 챗봇 플랫폼
  • Google STT(Speech-to-Text)  :  구글 음성 인식 API로 음성을 텍스트로 변환한다.
  • Google TTS(Text-to-Speech) : 구글 텍스트 인식 API로 텍스트를 음성으로 변환한다.

+ BOTCOPY : Dialogflow 챗봇을 위한 website를 만들어 준다.

 

 [ 시연영상 ]


메인화면 & 로그인
모의면접 챗봇 & 자기소개서 성향분석 그래프
자기소개서 분석 결과를 시각화한 그래프와 워드 클라우드

 

 

시연 영상

 

반응형

커뷰 


2018 SW챌린지 공모전 은상 수상작

 

[About]


 

커뷰는 다양한 목적으로 카페를 찾는 사람들을 위한 맞춤형 카페 / 음료 랭킹 서비스이다.

음식점, 숙박시설 등에 대한 정보가 담긴 어플은 많지만, 상대적으로 카페와 관련된 어플은 찾기 힘들었다. 그래서 사용자 맞춤 검색을 통해 소비자의 합리적인 음료 / 카페 생활을 돕는 앱을 만들고자 하였다.

주요 기능은

  1. 우리 동네 카페와 음료 정보를 랭킹으로 보여준다.
  2. 카페 분위기, 음료 종류, 위치 등 다양한 필터링 조합을 통해 맞춤 정보를 찾을 수 있다.

이를 구현하기 위해서 개인 맞춤형 서비스 제공을 위한 필터링 검색 기능을 구현하였고,

음료 / 카페 랭킹을 구현하기 위해서 별점과 리뷰 갯수, 최신성 등을 고려한 랭킹 알고리즘을 구현하였다.

많은 데이터 수집을 위하여 구글 API를 이용하여 기존에 존재하는 카페 리뷰를 받아왔다.

  창업을 목표로 하는 공모전이였기 때문에 어떻게 해야 사용자에게 보기 편한 UI일까, 사용자가 원하는 서비스는 무엇일까, 어떻게 해야 수익을 창출할 수 있을까 등 다양한 고민을 해볼 수 있는 기회가 되었다.

  직접 발로 뛰며 카페와 음료 정보를 수집해 보고, 실제 카페 이용자들의 후기 수집을 위해 카페에 양해를 구하고 QR코드를 비치하여 설문조사를 진행해 보기도 했으며, 우리의 주 타겟층인 20-30대의 의견을 듣기 위해 에브리타임과 대나무숲에 설문조사를 부탁하기도 했다. 

  이러한 과정 속에서 창업은 기술력 뿐만 아니라 UI, 시장성, 마케팅 등 이 필요하다는 것을 느끼게 되었다.  

 

[ Develop Environment ]


Android Studio

Apache Tomcat

JSP(Java Server Page)

Mysql

 

[ API ]


  • Google Maps SDK for Android API : Google지도 데이터를 기반으로 지도를 보여주는 서비스로 카페의 위치를 띄우는데 사용하였다.
  • Google Places API : 장소에 대한 정보를 반환하는 서비스로 카페의 위치, 전화번호, 시간 등 카페의 세부정보를 수집하는데 사용하였다.

 

[ 시연영상 ]


동영상 시연 영상

 

반응형

지능형 SoC 로봇워 HURO-Competiton


지능형 SOC 로봇워 2017 HURO-Competiton 은상 수상

기간 : 2017.3.1 ~ 2017.9.16

 

[About]


SoC 지능형 휴머노이드 로봇의 미션수행 경기로, 영상인식과 센서인식을 이용하여 경기장에 설치된 장애물을 회피 또는 해당 미션을 수행하여 높은 점수를 획득하는 경기입니다. 카메라로 받은 영상을 9분할로 나누고 이진화하여 장애물의 위치를 인식하고 각 상황에 맞는 모션을 수행할 수 있도록 설계하였습니다.

※ SoC(System On Chip) : 단일 칩 시스템(SoC)는 하나의 집적회로에 직접된 컴퓨터나 전자 시스템 부품을 말함.

담당역할 : C++ 영상처리 개발

기여도 : 25% / 5명

 

[ 개발환경 ]


Software : Window, Cygwin (gcc operation environment), Putty,ssh

Hardware : PC, Soc Brain Board(Linux), Camera

 

[ 특이사항 ]


보드의 사양이 좋지 않아 라이브러리를 사용할 수 없었습니다.

 

[ 성과 ]


  • 기존 RGB색상 모델에서 HSV 색상 모델로 변경하여 색인식 문제를 개선하였습니다.
  • 트러블슈팅을 통해 원인 모를 모션 중지 문제를 해결하였습니다.

 

[ 경기 영상 ]


경기 영상
반응형

자바 스레드를 사용한 게임 만들어 보기


가장냥이의 생선가게 털러가기

 

[게임 설명]


 

  • 길고양이인 가장냥이는 자식냥이들을 먹여 살리기 위해 생선을 털어 자식냥이들을 키워야합니다.

  • 7일 안에 바퀴벌레, 쥐, 뱀 등 적들과 싸우거나 구걸을 하여 레벨업을 하고, Level 4 이상이 되면 사장의 눈을 피해 최종 미션인 생선가게 털기 게임을 완료하면 자식냥이들을 먹일 생선을 확보하여 해피엔딩으로 끝나게 됩니다.

 

[기능]


  1. 인벤토리 : 상점에서 구매한 물품을 확인, 사용 할 수 있습니다.

  2. 냥이 상점 : 물건을 사거나, 전리품을 팔아 돈을 획득할 수 있습니다.

  3. 사냥하기 : 바퀴벌레 < 쥐 < 뱀들과 싸워 경험치를 획득해 레벨업을 합니다.

  4. 생선가게 털러가기

    • LEVEL 4 이상이 되면 생선가게를 털러 갈 수 있습니다.

    • 밤에는 생선가게가 문을 닫기 때문에 낮에만 미션 수행이 가능합니다.

    • 사장이 생선가게를 지키지 않을 때 미션 수행이 가능합니다.

    • 제한시간 10초 동안 10번을 실수 없이 연속으로 생선이미지를 클릭한다면 미션성공입니다.

  5.  구걸하기 : 랜덤으로 착한 사람과 나쁜 사람, 도둑 냥이를 만날 수 있습니다.
    • 착한 사람 : 참치캔을 얻어 HP를 회복합니다.
    • 나쁜 사람 : 돌을 맞아 HP가 감소합니다.
    • 도둑냥이 : 도둑냥이와 싸움을 해 HP가 감소합니다.
  6. 상태 확인하기 : 가장냥이의 현재 상태를 알 수 있습니다.

 

[Thread]


  1. 텍스트 Thread
    • 프롤로그, 게임 설명 등 출력 시 생동감있는 표현을 위해서 한줄, 혹은 한글자씩 출력합니다.
  2.  로딩 Thread
    • 캐릭터 생성, 미션 장소 입장 시 실제 로딩이 되는 것처럼 표현하기 위해 사용합니다.
  3. 음악 Thread
    • 각 상황마다 적합한 음악, 효과음을 재생합니다.
    • 배경음악 : 사냥터 BGM, 사냥터를 제외한 나머지 BGM
    • 효과음 : 타이핑 효과음, 버튼 클릭음, 아이템 획득/사용 효과음, 미션 실패/성공 효과음, 타격음 등등
  4. 날짜 Thread
    • 하루를 2분으로 가정하고, 1분마다 낮과 밤이 반복됩니다.
    • 밤에는 생선가게가 문을 닫아 미션을 수행할 수 없으며, 7일이 지나면 미션 실패로 끝이납니다.
  5. 생선잡기 게임 제한시간 Thread
    • 제한 시간 10초 안에 생선잡기 미션을 수행하지 못하게 미션실패입니다.
  6.  사냥터 제한 시간 Thread\
    • 사냥을 시작하고 10초안에 몬스터를 죽이지 못하면 사냥에 실패합니다.
  7. 몬스터 자동공격 Thread
    • 몬스터가 2초마다 자동으로 가장냥이를 공격합니다.

 

[GUI]


  1. 날짜 알림 GUI : 시간과 날짜, 생선가게 운영시간을 보여줍니다.
  2. 생성잡기 게임 GUI : 랜덤으로 출력되는 생선 이미지를 10초 안에 연속으로 10번 맞추는 게임입니다.

 

[ 시연영상 ]


 

 

https://github.com/jungeun960/Java-game

 

jungeun960/Java-game

자바 게임 만들어보기. Contribute to jungeun960/Java-game development by creating an account on GitHub.

github.com

 

 

반응형

+ Recent posts