중간에 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 해주도록 구현하였다.
'로봇 > 로봇' 카테고리의 다른 글
zumi - 9. x축 가속도 플로팅 (0) | 2020.08.24 |
---|---|
zumi - 8. matplotlib fontlist-v300.json 에러잡기 (0) | 2020.08.24 |
zumi - 6. 가속도 데이터 받기 (0) | 2020.08.24 |
zumi - 5. x축 각가속도 플로팅 (0) | 2020.08.24 |
zumi - 4. 자이로 프린팅 (0) | 2020.08.24 |