728x90

중간에 update_angles를 보고

 

각속도와 각가속도 내용이 햇갈리기도 했고,

 

 

주미 라이브러리

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

에서는 가속도에 대한 내용들을 제공하고 있지 않아

 

가속도를 전달받는 코드를 구현하는 등 잠시 해매었다.

 

 

 

 

이제 정리되었으니

 

이번에는 x축 가속도를 플로팅하는 간단한 예제를 구현해보고자 한다.

 

0.01초 간격으로 x축 가속도 데이터 100개를 모아 프린팅 시켜본다

 

 

 

여기선 matplotlib과 numpy를 사용할 것이다.

 

 

값이 0이고, 길이가 100인 넘파이 배열을 생성하고

이 넘파이 배열에다가 큐처럼 값을 넣어보도록 구현한다.

 

0행렬 생성 zeros

ref : https://numpy.org/doc/stable/reference/generated/numpy.zeros.html

읽은 x값 추가 append

ref : https://numpy.org/doc/stable/reference/generated/numpy.append.html

앞에 값 삭제 delete

ref : https://numpy.org/doc/stable/reference/generated/numpy.delete.html

 

 

 

수정 중간

from zumi.zumi import Zumi
import time
import numpy as np

zumi = Zumi()
idx = 0

acc_x_lst = np.zeros(100)



while idx < 100:
    acc = zumi.get_acc()
    acc_x = acc[0]
    acc_x_lst = np.append(acc_x_lst, acc_x)
    idx = idx + 1
    time.sleep(0.1)


print(acc_x_lst)

 

100회 루프 도는 동안

 

값은 잘 append 되었으나 처음에 있던 데이터들이 제거되지 않아 결과 형태가 길이가 200이 되었다.

 

delete로 맨 앞 데이터를 제거 해보자.

 

 

 

 

 

 

from zumi.zumi import Zumi
import time
import numpy as np

zumi = Zumi()
idx = 0

acc_x_lst = np.zeros(100)



while idx < 100:
    acc = zumi.get_acc()
    acc_x = acc[0]
    acc_x_lst = np.append(acc_x_lst, acc_x)
    acc_x_lst = np.delete(acc_x_lst, 0)
    idx = idx + 1
    time.sleep(0.01)


print(acc_x_lst)

 

- 앞에 플로팅 한 결과가 잘 pop 되어서 원하는 결과가 나왔다.

 

나중에 애니메이션 할걸 생각해서 append와 pop 해주도록 구현하였다.

 

 

 

300x250

+ Recent posts