About me
home
Portfolio
home

rssi 테스트

진행 상태
완료
팀원
마감일
태그
작업 (하위 작업)에 관계됨
3 more properties

ROS cpp 코드

1. 구동 알고리즘

실시간성 보장을 위해 c++로 filtering 및 거리 계산 수행

2. RSSI 특징

rssi값 (1m~10m) - 선형 구간이 있고, 그 이후에는 선형적으로 변하지 않는다.
a = -55, n = 2로 설정 (x축 : 거리, y축 : RSSI)
음수 구간(x축 : RSSI, y축 : 거리 )

3. 파이썬을 이용한 실시간 kalman filter를 사용한 뒤 rssi데이터 (1m~10m)

3-1. 정지할 때(실제 거리 1m)

raw rssi data
filtered rssi data(kalman filter)
distance

3-2. 이동 할때 (실제 거리 1m - 6m)

raw rssi data
filtered rssi data
distance

3-3. 이동할 때 (실제 거리 1m - 10m)

distance

4. 실험 결과

거리 오차는 최대 ±50\pm 50 cm 정도 난다.
rssi 신호 세기는 7m가 이상이면 선형적인 구간을 벗어나는 것을 확인
해당 선형 구간을 넘어가면 오차가 커진다.
6m 이내에서는 어느정도 위치 추정이 잘 이뤄 진다.

5. 앞으로 할 일

블루투스 모듈 (마스터, 슬레이브) 간의 통신 안정화 작업
통신이 끊어지면 재 접속하도록 코드 추가
필드 테스트(사람에 부착할 시 이루멍 과의 높이차 고려 )

6. 야외 실험

1.
roscore
2.
sudo chmod 777 /dev/ttyA*
3.
rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0 _baud:=9600
4.
rosrun arduino print_1m_ros
5.
rostopic echo /rssi
6.
rosrun arduino write_ros.py
7.
rostopic echo /bt_dist
roslaunch arduino arduino.launch alpha:=-68 n:=3