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. Variables 팔레트에서 MaxMin이라는 두 개의 변수를 만듭니다.
  2. Events 팔레트에서 when green flag clicked 블록을 끌어다 놓습니다 .
  3. 그런 다음 set () to() 블록을 추가합니다. Min ~ 5로 설정합니다.
  4. 이 블록을 복제하고 Max를 30으로 설정합니다. 따라서 기본적으로 최대 및 최소 거리를 30cm와 5cm로 초기화합니다.
  5. Initialize Robot이라는 블록을 만듭니다. 블록을 놓습니다.
  6. 이제 핀을 초기화하려면 Sensors 팔레트로 이동하여 로봇 초기화 모자 블록 아래에 있는 trig(), echo()에 connect Ultrasonic()을 추가합니다 .
  7. 다음 단계는 초기 서보 각도를 90도로 설정하는 것입니다. 이를 위해 Robot 팔레트에서 set servo on() to () angle을 드래그 앤 드롭합니다.
  8. set servo on () to () angle 아래에 wait () second 블록을 추가합니다.

장애물 감지

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

여유 공간 확인

  1. 다음으로 Angle을 매개변수로 사용하여 Set Servo Angle with Delay ()라는 블록 사용자 지정 블록을 만듭니다.
  2. 각도를 Angleset servo () to () angle 블록을 넣습니다.
  3. 그런 다음 wait () second를 도입하여 0.5초의 지연을 추가합니다.
  4. 기본 스크립트로 돌아갑니다. Robot 팔레트에서 stop robot을 추가합니다 . 각도가 45도로 설정된 Set Servo Angle with Delay() 블록을 추가합니다. 이 조건은 최소 거리 범위에 장애물이 들어올 때마다 로봇을 멈추고 서보의 각도를 45도로 돌립니다.
  5. 이제 Control 팔레트에서 if() then else 블록을 추가하여 최대 거리를 확인합니다.
  6. 다음으로 Operators 팔레트 이동하여 if () then else 블록 안에 ()>() 블록을 넣습니다.
  7. ()>() 블록과 Max 변수의 첫 번째 공간 내 Sensors 팔레트에서 get ultrasonic() distance 블록을 드래그 앤 드롭합니다. 두 번째로. 이 블록은 센서 값과 최대 거리를 비교하는 데 도움이 됩니다.
  8. 조건이 만족되면 로봇은 우회전해야 합니다. 이것은 추가하여 수행할 수 있습니다. go () at () % speed for () seconds if 문 내부. 속도는 50%, 시간은 0.6초로 설정합니다.
  9. 그런 다음 Set Servo Angle with Delay() 블록에서 블록을 복제하고 else 분기에 배치합니다. 각도를 135도로 변경하고 로봇 방향을 left로 변경합니다.
  10. Check Extreme이라는 사용자 지정 블록을 만듭니다. 이 블록은 0도와 180도에 대한 조건을 확인합니다. else 분기에 블록을 추가합니다.
  11. 다음으로 로봇이 장애물을 만나지 않으면 계속 전진해야 합니다. 그래서, 첫 번째 if 분기의 끝에서 servo () to the () angle을 넣습니다.. 각도를 90도로 설정합니다.
  12. 마지막으로 go() at() speed() 블록을 배치합니다 . 드롭다운에서 방향을 앞으로, 속도를 50% 로 선택합니다.

극한 상황 확인

  1. Set Servo Angle with Delay() 블록에서 값이 135인 블록을 복제하고 Check Extreme 블록 아래에 배치합니다. 각도를 0도, 로봇 방향을 right로, 시간을 1.2초로 변경합니다.
  2. Set Servo Angle with Delay() 블록에서 블록을 복제하고 else 분기에 배치합니다. 각도를 180도로 변경하고 로봇의 방향을 왼쪽으로 변경합니다.
  3. else-branch 내에서 go () at ()% speed for () seconds 블록을 추가합니다 . 이번에는 방향을 오른쪽으로, 속도를 80%로, 시간을 1.5초로 설정합니다. 이렇게 하면 로봇이 후진하게 됩니다.

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

테스트

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

 

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입니다.

행운을 빕니다!