3. 설계 목적
1. 인명 구조에 있어서 추가적인 인명피해 방지
2. 사람 손이 닿지 않는 곳까지 진입 가능
3. 간단한 탐사나 정찰에 이용 가능
4. 가정에서도 활용 가능
5. 다양한 확장성을 지님
6. 저비용으로 고효율을 내는 장치
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 3 page
6. 지향점
누구나 사용하는 스마트폰을 통해 로봇을 제어할 수 있도록 한다 - OK
페어링시에는 두 장비간에 암호가 설정되어 있으므로, 몰래 남의 로봇 조종은 불가
물리적 가시거리에 영향을 받지 않도록 자체적으로 카메라를 내장한다 - OK
카메라를 통해 촬영되는 영상을 PC를 통해 수신하여 그 영상을 보면서 조종이 가능
하도록 한다. - OK
유선을 통한 접속은 한계점이 많으므로, 이를 무선으로 구현한다 – OK
Raspberry pi 내에 무선 랜카드 미탑재로 인해 리시버 별도 구매
구현하고자 하는 바 대로 매끄럽게 동작 – OK
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 6 page
7. 사용한 장치
LEGO Mindstorms NXT
Raspberry pi
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 7 page
9. 간략한 설명
NXT를 Android OS에서 컨트롤
이때 통신 방식은 Bluetooth를 사용
http://developer.android.com/resources/samples/BluetoothChat/src/com/example/andr
oid/BluetoothChat/BluetoothChatService.html
Raspberry pi를 이용해서 PC로 영상을 스트리밍
VLC 라는 외부 프로그램을 이용
OS환경에 구애 받지 않음
Unix 기반 환경에서는 VLC , Windows에서는 다음팟 혹은 곰플레이어로도 스트리밍 가능
Mjpg-streamer : 지연시간이 너무 김
gstreamer를 이용할 경우, Unix 기반에서만 출력가능 (Windows 불가)
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 9 page
10. NXT WITH ANDROID
개발환경
Eclipse Kepler 4.3
Eclipse IDE for JAVA EE Developers package
Android SDK
Oracle Java Development Kit [JDK]
안드로이드 버전은 하위호환이 가능하지만, 기본적으로 2.3 gingerbread 이상 권장
NXT 내부에서 처리하는 부분은 없음. NXT는 오로지 수신만을 담당하고, 앱 내부에
서 컴파일 되는 것
NXT안에서 java파일을 구동하는 방법도 존재
Lejos NXJ 펌웨어를 이용해야 함
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 10 page
11. 6/9/2014 서강대학교 전자공학과 공학입문설계 14조 11 page
기기 해상도별 분류
앱의 layout을 지정
다른 화면마다 다른 layout 필요
width, padding등을 설정
여기선 기본적으로 vertical layout
그 외에는 linear layout 등이 있음
실질적으로 실행되는 부분
activity별로 다른
파일을 갖고 있으며
각자 구현하는 기능이 다름
14. CAMERA MODULE
Raspberry pi에서 카메라모듈을 작동시키기 위해 내부에 설치할 운영체제로써 VLC
를 사용할 수 있는 Raspbian을 설치
Debian Linux 기반이기 때문!
VLC 기반이므로 sudo apt-get install vlc 명령어를 통해 vlc 설치
sudo raspi-config로 카메라 모듈 할당
startx 명령어로 x윈도에 진입하여 무선랜을 잡은 뒤, ifconfig로 ip address 찾기
raspivid -o - -t 0 -hf -w 300 -h 240 -fps 15 |cvlc -vvv stream:///dev/stdin --
sout '#standard{access=http,mux=ts,dst=:8554}' :demux=h264
VLC 내부에서 http://ip주소:port번호/
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 14 page
16. SECURE SHELL
이 같은 설정작업은 HDMI 포트를 통해 직접 Raspberry pi 내부로 입력해 주어야 함
이럴 경우 장치를 작동시킬 때 마다 유선으로 장치를 연결해서 셋팅 해주어야 하는
문제 발생
따라서 기기와 PC를 같은 네트워크상에 두고, Secure Shell (SSH)을 이용
PGP와 마찬가지로 공개 키 방식의 암호 방식을 사용하여 원격지 시스템에 접근하여 암호
화된 메시지를 전송할 수 있는 시스템. 따라서 LAN 상에서 다른 시스템에 로그인할 때 스
니퍼에 의해서 패킷이 도난당하는 것을 막을 수 있다
PC의 운영 체제에 따라서 방법이 다르다
Windows – putty라는 별도의 프로그램 이용
Mac OS X, Linux 에서는 내장된 Terminal 이용
ssh [id]@[server address] –p [port number]
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 16 page
18. 한계점
상황
블루투스로 컨트롤
신호를 발산하는 것이 아니라 네트워크
를 통해 전송하는 방식
2륜 구동
Raspberry pi의 저사양 cpu
상황에 따른 한계점
블루투스 제어 거리의 한계
장치가 항상 네트워크에 연결되어 있어
야 함
바퀴의 한계로써 복잡한 지형 지물에서
이동이 어려움
영상 수신에 있어서 지연시간이 발생
6/9/2014 서강대학교 전자공학과 공학입문설계 14조 18 page