Back to Course

Quarky를 사용한 로보틱스 및 AI - 레벨 2

0% Complete
0/0 Steps
  1. 로봇 공학의 기초
    수업 1: 로봇 공학 소개
    3 Topics
  2. 수업 2: 센서의 기초
    4 Topics
    |
    1 Quiz
  3. 수업 3: 액추에이터의 기초
    6 Topics
    |
    1 Quiz
  4. 수업 4: 로봇을 사용한 얼굴 추적
    2 Topics
  5. 자율주행 로봇
    수업 5: 장애물 회피 로봇
    4 Topics
    |
    1 Quiz
  6. 수업 6: 가장자리 감지 로봇
    5 Topics
    |
    1 Quiz
  7. 수업 7: 자동 조종 로봇
    5 Topics
    |
    1 Quiz
  8. 실생활 AI 및 로봇 공학
    수업 8: 4륜구동 로봇
    3 Topics
  9. 수업 9: 객체 추적 로봇
    5 Topics
    |
    1 Quiz
  10. 수업 10: 픽 앤 플레이스 로봇 - 조립
    2 Topics
  11. 수업 11: 픽 앤 플레이스 로봇
    3 Topics
  12. 캡스톤 프로젝트
    수업 12: 캡스톤 프로젝트
Lesson Progress
0% Complete

이제 가장자리 감지 로봇을 프로그래밍할 시간입니다! 스크립트를 만들려면 아래 단계를 따르십시오.

로봇 초기화

  1. Events 팔레트에서 when green flag clicked 블록을 끌어다 놓습니다 .
  2. Initialize Robot이라는 블록을 만듭니다. 블록을 놓습니다.
  3. 이제 핀을 초기화하려면 Sensors 팔레트로 이동하여 Initialize Robot 모자 블록 아래에 있는 trig(), echo()에 connect Ultrasonic()을 추가합니다 .
  4. 다음 단계는 초기 서보 각도를 90도로 설정하는 것입니다. 이를 위해 Robot 팔레트에서 set servo on() to () angle을 드래그 앤 드롭합니다.
  5. go () at ()% speed 블록을 추가합니다 . 이번에는 방향을 앞으로, 속도를 50%로 설정합니다. 이렇게 하면 로봇이 앞으로 나아갑니다.
  6. go () at ()% speed 아래에 wait () second를 추가하십시오.

에지 감지

  1. 이제 Control 팔레트로 이동하여 Initialize Robot 아래에 forever 블록을 추가합니다.
  2. 그런 다음 Control 팔레트의 if() then 블록을 forever 블록 안에 배치합니다 .
  3. 다음으로 Operators 팔레트로 이동하여 if () then 블록 공간 안에 ()>() 블록을 넣습니다.
  4. ()>() 블록의 첫 번째 공간 내 Sensors 팔레트에서 get ultrasonic() distance 블록을 드래그 앤 드롭하고 두 번째 공간에는 10을 드래그 앤 드롭합니다. 이 블록은 센서 값을 비교하고 에지를 감지하는 데 도움이 됩니다.

여유 공간 확인

  1. 다음으로 Angle을 매개변수로 사용하여 Set Servo Angle with Delay ()라는 블록 사용자 지정 블록을 만듭니다.
  2. 각도를 Angleset servo () to () angle 블록을 넣습니다.
  3. 그런 다음 wait () second를 도입하여 0.5초의 지연을 추가합니다.
  4. 기본 스크립트로 돌아갑니다. Robot 팔레트에서 stop robot을 추가합니다. 각도가 0도로 설정된 Set Servo Angle with Delay() 블록을 추가합니다. 이 조건은 로봇을 멈추고 가장자리가 감지될 때마다 서보의 각도를 0도로 돌립니다.
  5. 이제 Control 팔레트에서 if() then else 블록을 추가하여 최대 거리를 확인합니다.
  6. 다음으로 Operators 팔레트로 이동하여 if () then else 블록 안에 ()<() 블록을 넣습니다.
  7. Sensors 팔레트에서 get ultrasonic () distance 블록을 ()<() 블록의 첫 번째 공간과 두 번째 공간의 10으로 드래그 앤 드롭합니다.
  8. 조건이 만족되면 로봇은 왼쪽으로 회전해야 합니다. if 문 안에 go () at () % speed for () seconds를 추가하면 됩니다. 속도는 50%, 시간은 1.2초로 설정합니다.
  9. 그런 다음 Set Servo Angle with Delay() 블록에서 블록을 복제하고 else 분기에 배치합니다. 각도를 180도로 변경하고 로봇 방향을 right으로 변경합니다.
  10. else-branch 내에서 go () at ()% speed for () seconds를 추가합니다 . 이번에는 방향을 뒤로, 속도를 50%, 시간을 0.5초로 설정합니다.
  11. go () at ()% speed for () seconds 블록을 추가합니다 . 이번에는 방향을 왼쪽으로, 속도를 80%로, 시간을 1.4초로 설정합니다. 이렇게 하면 로봇이 후진하게 됩니다.
  12. 다음으로 로봇이 우위를 점하지 못하면 앞으로 나아가야 합니다. 따라서 첫 번째 if 분기 끝에 servo () to the () angle을 넣으십시오. 각도를 90도로 설정합니다.
  13. 마지막으로 go() at() speed() 블록을 배치합니다 . 드롭다운에서 방향을 앞으로, 속도를 50%로 선택합니다.

드디어 로봇이 달릴 준비가 되었습니다!

테스트

로봇을 실행하여 제대로 작동하는지 확인합니다.

 

Quarky에 코드 업로드

Quarky에 코드를 업로드하여 로봇이 PictoBlox와 독립적으로 실행되도록 할 수도 있습니다. 이것은 랩탑에서만 가능합니다. 다음 단계를 따르십시오.

  1. Upload 모드로 전환합니다.
  2. when green flag clicked 블록을 when Quarky starts up 블록으로 바꾸십시오.

  3. 코드 Upload Code 버튼으로 코드를 업로드합니다.

그게 다야. 이제 로봇이 독립적으로 작업할 수 있습니다.

과제

다음 수업으로 넘어가기 전에 작은 과제가 기다리고 있습니다!

활동에서 생성한 프로젝트를 과제로 제출합니다.

과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.

과제를 업로드하려면 아래 단계를 따르세요.

  1. Choose File을 클릭합니다.
  2. 열리는 팝업 창에서 이미지를 선택합니다.
  3. 이미지가 선택되면 Upload Assignment를 클릭합니다.
evive Alert
허용되는 파일 유형은 PictoBlox 프로그램에서 생성된 SB3입니다. 허용되는 최대 파일 크기는 15MB입니다.

행운을 빕니다!