Back to Course

Quarky 및 파이썬을 사용한 로봇 공학 및 AI - 레벨 1

0% Complete
0/0 Steps
  1. 로봇 공학의 기초
    수업 1: Quarky 로봇의 기초
    5 Topics
  2. 수업 2: 로봇 동작의 기초
    3 Topics
  3. 수업 3: 무선 제어 로봇
    4 Topics
  4. 라인 팔로워
    수업 4: 라인 감지를 위한 IR 센서 보정
    3 Topics
  5. 수업 5: 로봇을 따라가는 라인
    4 Topics
  6. 로봇 공학을 이용한 AI
    수업 6: AI 배달 봇으로서의 Quarky - 파트 1
    3 Topics
  7. 수업 7: AI 배달 봇으로서의 Quarky - 파트 2
    4 Topics
  8. 수업 8: 자율주행차 - 파트 1
    4 Topics
  9. 수업 9: 로봇 애완동물
    4 Topics
  10. 수업 10: 제스처 기반 로봇 제어 - 1부
    3 Topics
  11. 수업 11: 제스처 기반 로봇 제어 - 파트 2
    3 Topics
  12. 캡스톤 프로젝트
    수업 12: 캡스톤 프로젝트
Lesson Progress
0% Complete

이 활동에서는 IR 센서를 그래프에 플로팅하여 임계값을 찾는 방법을 배웁니다.

calibration

 

코딩하자!

임계값 찾기

  1. 먼저 라이브러리 numpy를 가져오겠습니다. 이 함수는 import numpy as np로 정의됩니다. 코드의 import numpy 부분은 Python에게 NumPy 라이브러리를 현재 환경으로 가져오도록 지시합니다. 다양한 수학 연산에 사용할 수 있는 마스크 및 행렬과 같은 변형 및 다차원 배열 객체를 제공합니다.
    import numpy as np
  2. 다음으로 라이브러리를 가져옵니다. matplotlib입니다. pyplot 우리 프로그램에서 그래프를 그리기 위해. matplotlib는 matplotlib가 MATLAB처럼 작동하도록 만드는 명령 스타일 함수 모음입니다. Matplotlib는 Python용 그래픽 플로팅 라이브러리입니다.
    import matplotlib.pyplot as plt
  3. 우리는 이 활동에서 Quarky를 사용할 것이므로 quarky 관련 함수도 작성하고 이러한 함수를 작성하려면 quarky에 대한 객체를 정의해야 합니다.
    quarky = Quarky()
  4. 다음으로 변수 i를 초기화하고 그 값을 0에 할당합니다. Python 변수는 값을 저장하기 위해 예약된 메모리 위치입니다.
    i = 0
  5. 이제 조건을 while True로 제공하여 while 루프를 작성할 것입니다. 이는 주어진 부울 조건이 False로 평가될 때까지 루프가 계속 실행되어야 함을 의미합니다. while True라고 쓰면 루프가 영원히 실행됩니다.
    while True:
    1. 이제 올바른 IR 센서의 값을 다른 변수 y에 할당합니다.
      y = quarky.readirsensor("IRR")
    2. 이제 plt.scatter() 함수를 사용하여 변수 간의 관계를 관찰합니다. matplotlib 라이브러리의 scatter() 메서드는 산점도를 그리는 데 사용됩니다. 산점도는 변수 간의 관계와 하나의 변화가 다른 변수에 미치는 영향을 나타내는 데 널리 사용됩니다.
      plt.scatter(i, y)
    3. 변수 ‘i’의 개수를 늘리고 있습니다. 증가된 값은 while 루프의 조건에 공급되고 조건을 만족하면 while 루프 내부에 작성된 명령문 집합이 다시 실행됩니다.
       i = i + 1
    4. 다음으로 pause() 함수를 사용하여 간격 초 동안 일시 중지합니다 .
      plt.pause(0.01)
  6. 이제 플롯된 그래프를 표시하기 위해 plt.show() 함수를 사용하고 있습니다.
    plt.show()
  7. 전체 코드는 다음과 같습니다.
    import numpy as np
    import matplotlib.pyplot as plt
    
    quarky = Quarky()
    
    i = 0
    
    while True:
        y = quarky.readirsensor("IRR")
        plt.scatter(i, y)
        i = i + 1
        plt.pause(0.01)
    
    plt.show()
  8. 출력 그래프:
  9. 그래프를 관찰하면 오른쪽 IR 센서의 high 값과 low 값이 명확하게 정의됩니다. 이 그래프에서 센서의 높은 값은 약 3500이고 낮은 값은 약 2700입니다. 이제 센서의 임계값을 찾기 위해 높은 값과 낮은 값 사이의 mid-value를 선택할 수 있습니다.
  10. 마찬가지로 왼쪽 IR 센서의 임계값을 설정할 수 있습니다.

과제 업로드

과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다. 과제를 업로드하려면 아래 단계를 따르세요.

  1. 먼저 Pictoblox 파일을 선택해야 하므로 Browse를 클릭합니다.
  2. .sb3 파일을 선택합니다.
  3. 그리고 Upload 버튼을 클릭합니다.

행운을 빕니다! ????