Skip to content
/ OPTC Public

태권도 대련을 하는 휴머노이드 로봇

Notifications You must be signed in to change notification settings

HyunIm/OPTC

Repository files navigation

OPTC

프로젝트 개요

  • 프로젝트 명

    • OPTC
  • 프로젝트 기간

    • 2016 - 03 - 21 ~ 2016 - 10 - 14
  • 개발 대상

    • 스스로 상대 로봇을 인식하여 1:1 태권도 대련을 하는 휴머노이드 로봇
  • 개발 목적

    • SoC 태권 로봇 대회 출전
  • 구현 환경

    • Windows 10
  • 개발 언어

    • C
  • 개발 도구

    • Visual Studio, DR-Sim, Cygwin, PuTTY
  • 관리 도구

    • Dropbox
  • 팀 구성

    • 로봇 모션 SW

      • 임 현 (팀장)
      • 이은선
      • 홍주연
    • App SW

      • 김대룡
      • 임채선
      • 정창현

출전자격 TEST 준비 과정 및 핵심 알고리듬 설명

준비 과정

  1. 4주에 걸친 영상처리 스터디 (1주차 : 팀 결정, 2주차 : 도형 그리기, 3주차 : HIS, 4주차 : 차영상)

  2. App SW 담당들을 주축으로 소스 코드 개발

  3. 로봇 모션 SW 담당들을 주축으로 프레젠테이션 및 발표 준비

핵심 알고리듬

  1. RGB값을 HIS로 변환

    공식을 통해 변환.  

  2. 영상 이진화

    색과 채도를 이용해서 파랑, 초록, 빨강, 노란색 들을 전부 하얀색으로 만들어줌.

  3. 라벨링 (Grass Fire)

    검출된 파랑, 초록, 빨강, 노란색 들 중 가장 큰 값을 라벨링을 통해 가장 큰 영역을 제외하고 모두 없애버림.

  4. 최빈값을 이용해서 검은색 처리

    가장 큰 영역의 최빈값을 통해서 나머지 색들을 모두 검정색으로 지워줌.

  5. 예상 경로 추적

    물체의 중심 값을 구해서 다음 위치까지 이동한 중심 값과의 거리를 빼서 추적.

영상 처리 / 인식 알고리듬 설명

HIS 값을 이용하여 H(115-143) S(50-) I(20-)을 이용하여 이진화 한 뒤 팽창과 침식 알고리즘을 통하여 잡음을 제거였습니다.

그리고 로봇을 인식 한 후 잡힌 픽셀의 가장 밑의 값의 위치를 이용하여 로봇의 거리를 파악하였고, 픽셀들의 무게중심 값을 구해 로봇의 좌, 우를 탐지하였습니다.

또한 영상 인식을 통해 구한 거리, 로봇의 좌우 정보를 이용하여 모션을 실행시켰습니다. 모션을 실행시켰습니다. 모션을 실행시킬 때에는 두 가지 경우로 나누어 로봇을 탐지하지 못 했을 때와 로봇을 탐지했을 때로 나누었습니다.

그리고 로봇을 탐지하지 못 하였을 때에는 왼쪽 40도, 오른쪽 40도 방향으로 고개를 돌려 찾는 방식을 사용했고, 로봇을 탐지한 후에는 거리 값을 이용해 공격이 가능한 거리인지 불가능한 거리인지 나눈 뒤 불가능하면 걷기 또는 회전, 가능하면 픽셀 값을 세분화 한 후 크기별로 몸통을 가격하는 팔 공격, 발 차기, 머리를 가격하는 팔 공격으로 나누어 모션을 실행하였습니다.

경기 준비에 대한 핵심 전략

  1. 한 번 공격을 하면 무조건 뒤로 걷는 치고 빠지기 전략

  2. 큰 발차기를 이용한 고득점 전략

  3. 세기는 약하지만 머리를 타격함으로써 득점을 하는 전략

기타 문서

About

태권도 대련을 하는 휴머노이드 로봇

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages