CLE310 작동 전압에 맞게 1.5 V 전지 2개를 직렬 연결하여 3 V의 전원을 공급해준다.
HOST CLE310이 SCAN할 수 있게 BOT으로 모드를 변경하고 GPI를 LOW로 한다.
beacon들이 헷갈리지 않도록 pink, orange, yellow로 구분한다.
위치추적 알고리즘 설계
Beacon으로 실험
HOST에 들어오는 RSSI 값을 보면서 beacon들의 위치를 계속 바꾸고, RSSI 값들을 기록
실험 결과
0.20 m 전후로 RSSI 값 -48 ~ -69
0.85 m 전후로 RSSI 값 -75 ~ -87
5.15 m 전후로 RSSI 값 -87 ~ -93
다른 거리에서는 RSSI 값이 유동적으로 변하고 저 거리에서만 명확하게 구분 가능하다.
따라서 RSSI 값이 -90일 때를 기준으로 5.15 m 안에 있는지 밖에 있는지 판단한다.
구역 설정
#
beacon 3개의 RSSI 값을 이용하여 반지름이 5.15 m인 원 3개 설정한다.
원 3개의 벤 다이어그램을 설정하여 구역을 7개로 나눈다.
벤 다이어그램 외부 구역은 U이다.
RSSI 값으로 자동차가 어느 구역에 있는지 판단한다.
알고리즘 설계
AT+SCAN 커맨드로 근처 5개의 장치의 RSSI 값을 선착순으로 수신한다.
pink, orange, yellow의 어드레스가 각각 [74:F0:7D:1A:02:C8], [74:F0:7D:1A:02:A5], [74:F0:7D:1A:02:E8] 이므로 이를 이용하여 구분한다.
beacon들의 어드레스를 이용하여 RSSI 값들을 각각 parsing한다. (자세한 소스 코드는 자동차 소스 코드 참조)
RSSI 값이 -90일 때를 기준으로 반지름이 5.15 m인 원 안에 있는지 밖에 있는지 판단한다.
어느 원 안에 있는지를 판단하여 어느 구역에 있는지 벤 다이어그램에서 판단한다.
작품 구동
조이스틱 컨트롤러
구동 모습
자율주행 자동차
주행 모습
원래 조이스틱 컨트롤러로부터 속력도 수신하여 속력을 조절할 수 있게 하려 했으나 RF통신 특성상 여러 개의 신호를 수신하려면 통신 속도가 길어져 자동차에 적합하지 않다 판단하여 방향 조절만 가능
장애물 회피
Beacon을 이용한 위치 추적
넓은 공터에서 beacon들을 배치하고 자동차를 이동시켜 알고리즘대로 위치추적
자동차의 위치추적 성공
의의
RF통신 경험 - 다중 시리얼 입출력이랑 직접 통신 프로토콜 짜는 경험을 해봄으로서 통신을 배운다.
위치추적 방안 배움 - ToA, TDoA, AoA, RSS 등의 위치추적 방안을 알아보고 각각의 장단점과 정확도를 배운다.
Beacon의 정확도 배움 - Beacon의 정확도가 어느 정도인지 알 수 있게 되었고 추후 Beacon을 활용할 때 유용하게 이용할 것이다.
RF통신과 beacon을 새롭게 경험해보고 여러 알고리즘을 고안해보면서 전반적으로 배울 점이 많았다.
그리고 자율주행 자동차를 조이스틱 컨트롤러로 성공적으로 조종하고 beacon을 통한 위치추적도 성공해서 전반적으로 만족스러운 결과가 나왔다.
개선할 사항
CLE310을 이용한 beacon의 정확도가 떨어져서 처음에 목표했던 삼각측량법을 이용한 정밀한 위치추적이 불가능하게 되었다. 따라서 향후 정확도를 높여 삼각측량법이 가능하게 하여 정밀한 위치추적을 할 수 있도록 노력해야한다.
원래 조이스틱 컨트롤러로부터 속력도 수신하여 자동차의 속력을 조절할 수 있게 하려 했으나 RF통신 특성상 여러 개의 신호를 수신하려면 통신 속도가 길어져 자동차에 적합하지 않다 판단하여 방향 조절만 가능하게 되었다. 따라서 향후 하나의 신호에 자동차의 방향과 속력을 담아 송신할 수 있는 알고리즘을 고안해야한다.
시간상 하지 못했던 3D 프린팅을 통한 컨트롤러의 케이스 제작과 무선 충전 알고리즘 구현도 추후 성공할 수 있도록 노력해야한다.