1.
작품명
:
WMRC
(Wireless Multi Robot Controller)
2.
지도교수
:
이명준 교수님
3.
제작자
:
안수열
(20082497),
김헌우
(20072402),
정규영
(20072477)
4.
작품개요
HBE-RoboCAR-Embedded
Ⅱ
와 안드로이드 스마트폰
2
대를 이용한 무선 제어 어플리케이션
.
스마트폰
1
대는 로봇과 결합하여 카메라 역할을 하며
,
다른 스마트폰으로는 카메라 영상을 받아와 로봇을 직접 보지 않고 로봇의 움직임을 제어 할 수 있다
.
제어방법으로는 버튼
,
자이로센서
,
구글음성 방식이 있다
.
5.
개발 배경 및 목적
5.1.
로봇산업의 성장
과거부터 최근까지 로봇 산업의 지속적인 성장 및 투자 증가

※
출처
: 2012
로봇산업 실태조사 결과 보고서
(
지식경제부
)
5.2.
스마트폰 시장
세계 휴대폰 및 스마트폰 시장은 계속 성장해 나가고 있다
.
특히 중국와 인도가 신흥시장 성장을 주도할 것으로 전망되어 스마트폰의 보급률 또한 계속된 성장세를 이룰 것이다
.
※
출처
:
Gartner 2011.10.
5.3.
개발 목적
로봇산업의 성장과 스마트폰시장의 확대를 확인함으로서 두 조합을 통해 로봇과 안드로이드 어플리케이션의 결합을 생각해내었다
.
사용하는 로봇인
HBE-RoboCAR Embedded
Ⅱ
의 운영체제인 리눅스와
C
언어
,
안드로이드 어플리케이션 개발에 이용되는
JAVA
및
ANDROID,
그리고 서로 간 연결을 위한 소켓 통신에 대한 이해와 특성을 이용한다
.
누구나 안드로이드 스마트폰을 이용하여 로봇을 제어할 수 있고 필요시 업그레이드 할 수 있게 한다
.
6.
작품 내용
6.1.
하드웨어 구성도
스마트폰
A
|
로봇과 결합하여 카메라로 들어온 영상을 어플리케이션으로 전송
|
로 봇
|
어플리케이션에서 보내는 제어명령을 수신하여 그 명령에 맞게 동작을 수행
|
어플리케이션
(
스마트폰
B)
|
로봇과 스마트폰
A
에 각각 소켓 통신을 하여 스마트폰
A
로부터는 영상을 수신하고
,
로봇으로는 명령데이터를 전송하여 로봇을 제어 할 수 있다
.
|
|
6.2.
소프트웨어 구성도
WMRC
|
로봇에 부착된 스마트폰의 카메라로부터 영상데이터를 받고
,
로봇에 명령을 내려 제어하는 어플리케이션
|
Control
|
소켓통신으로 로봇과 연결하여 명령을 전송하는 부분
Button
|
버튼 방식으로 로봇 제어
|
Accel
|
자이로 센서를 이용한 로봇 제어
|
Speech
|
음성을 이용한 로봇 제어
|
|
Image
|
로봇에 부착된 스마트폰 카메라에 소켓통신으로 영상데이터를 수신하는 부분
Preview
|
수신한 영상데이터를 띄우는 부분
|
Socket
Camera
|
스마트폰 간 소켓통신으로 연결
|
|
Socket
Service
|
액티비티 전환 간 통신의 끊어짐을 방지하기 위해 안드로이드 서비스 사용
|
|
Camera
Server
|
로봇에 부착된 스마트폰에서 작동하는 앱으로
,
카메라에 들어오는 영상을 객체화하여 소켓통신으로 데이터를 전송하는 어플리케이션
|
Socket
|
서버소켓을 생성하여 클라이언트의 접속을 대기
|
Preview
|
클라이언트가 접속하면 카메라의 영상을 객체화시켜 클라이언트로 데이터 전송
|
Robot_
Operation
|
로봇 내에서 동작하는 프로그램
|
main
|
main
함수
,
수신된 데이터 확인
|
manual_
robotcontrol
|
수신된 데이터를 토큰화
|
ptc_operation
|
실제 로봇 구동을 위한 함수
|
error_handling
|
소켓생성 실패시 에러출력
|
|
6.3.
기능
6.3.1
컨트롤 방식
버튼 제어
①
영상수신
|
로봇에 부착된 스마트폰 카메라로부터 받은 영상을 나타내는 부분
|
②
버 튼
|
방향 버튼을 눌러 로봇 제어
|
③
버튼 터치
|
버튼 터치시 효과 발생
|
④
플래쉬
|
로봇에 있는 플래쉬를 켜거나 끔
|
⑤
정 지
|
로봇의 움직임을 멈추는 정지 버튼
|
기울기 제어
①
영상수신
|
로봇에 부착된 스마트폰 카메라로부터 받은 영상을 나타내는 부분
|
②
플래쉬
|
로봇에 있는 플래쉬를 켜거나 끔
|
③
명령방향
|
자이로센서의 기울기에 따른 명령방향
|
④
정 지
|
로봇의 움직임을 멈추는 정지 버튼
|
|
음성 제어
①
영상수신
|
로봇에 부착된 스마트폰 카메라로부터 받은 영상을 나타내는 부분
|
②
음성버튼
|
버튼 터치시 음성인식 시작
|
③
음성인식
|
사용자의 음성을 인식
|
④
정 지
|
로봇의 움직임을 멈추는 정지 버튼
|
옵션
①
버튼 컨트롤러
|
버튼 컨트롤러 선택
|
②
기울기 컨트롤러
|
기울기 컨트롤러 선택
|
③
음성 컨트롤러
|
음성 컨트롤러 선택
|
④
컨트롤러 메뉴
|
메뉴버튼 터치시 활성화되며
,
컨트롤러 메뉴 선택가능
|
⑤
종 료
|
메뉴버튼 터치 시 활성화되며
,
앱 종료
|
|
6.5.
개발 환경
환 경
|
요구사항
|
OS
|
Windows7, Linux(Ubuntu)
|
Language
|
Java, Linux C
|
Tool
|
Eclipse
|
7.
개발 일정
8.
향후 연구와 기대효과
향후 영상처리 및 회피 알고리즘을 탑재
군사용
:
위험지대 탐사 및 지형정찰
생 활
:
미래
1
인
1
로봇 시대의 도우미 역할
방 범
:
움직임을 이용한 실시간 감시 시스템
위와 같이 여러 알고리즘을 이용하여 다양한 용도 또는 연구 가능