728x90

imu 값을 읽고,

 

평균 필터, 평균 이동 필터, 저주파 통과필터, 칼만 필터 등을 구현해보려고 한다.

 

일단 자이로 값읽기부터 시작하자

 

ref : https://drive.google.com/drive/folders/1eqOTXW9zvW9imjzFespbRbo_PR1FKDyO

 

 

잠깐 위 문서를 보면

 

스크린은 필요없으니 Zumi와 time만 임포트하자

 

 

 

ref : http://docs.robolink.com/zumi-library

 

를 참고하니 update_angles()에서

 

자이로와 가속도계 값을 전달해준다고 한다.

 

 

 

 

 

 

** 주의사항

윈도우 vscode에서는 윈도우 환경의 파이썬 인터프리터를 사용하므로

 

주미 라이브러리를 설치하지 않는 이상 사용불가

 

코딩은 vscode로 하더라도 실행은 푸티나 vnc에서 할것

 

 

 

 

 

 

 

 

위 코드를 참고해서 대충 출력해보면

 

from zumi.zumi import Zumi


zumi = Zumi()

vals = zumi.update_angles()
print(vals)

 

 

 

 

 

50번 출력하기

from zumi.zumi import Zumi
import time

zumi = Zumi()


for i in range(0, 50):
    vals = zumi.update_angles()
    gyroX = " gyro x : " +str(vals[0])
    gyroY = ", gyro Y : " +str(vals[1])
    gyroZ = ", gyro Z : " +str(vals[2])
    accX = "\n accX : " + str(vals[3])
    accY = ", accY : " + str(vals[4])
    msg = gyroX + gyroY + gyroZ + accX + accY
    print(msg)
    time.sleep(0.1)

print("Done")

 

 

 

 

소수점이 너무 길므로 round 줘서 출력

 

from zumi.zumi import Zumi
import time

zumi = Zumi()


for i in range(0, 50):
    vals = zumi.update_angles()
    gyroX = " gyroX : " +str(round(vals[0],4))
    gyroY = ", gyroY : " +str(round(vals[1],4))
    gyroZ = ", gyroZ : " +str(round(vals[2],4))
    accX = "\n accX : " + str(round(vals[3],4))
    accY = ", accY : " + str(round(vals[4],4))
    msg = gyroX + gyroY + gyroZ + accX + accY
    print(msg)
    time.sleep(0.1)

print("Done")

 

 

 

다음은 plt로 플로팅

 

 

300x250

'로봇 > 로봇' 카테고리의 다른 글

zumi - 6. 가속도 데이터 받기  (0) 2020.08.24
zumi - 5. x축 각가속도 플로팅  (0) 2020.08.24
zumi - 3. 주미 samba 설치  (0) 2020.08.24
zumi - 2. 주미 vnc 접속하기  (0) 2020.08.23
zumi - 1. 주미 ssh 접속하기  (0) 2020.08.23

+ Recent posts