Back to Course
Quarky 및 파이썬을 사용한 로봇 공학 및 AI - 레벨 1
0% Complete
0/0 Steps
-
로봇 공학의 기초수업 1: Quarky 로봇의 기초5 Topics
-
수업 2: 로봇 동작의 기초3 Topics
-
수업 3: 무선 제어 로봇4 Topics
-
라인 팔로워수업 4: 라인 감지를 위한 IR 센서 보정3 Topics
-
수업 5: 로봇을 따라가는 라인4 Topics
-
로봇 공학을 이용한 AI수업 6: AI 배달 봇으로서의 Quarky - 파트 13 Topics
-
수업 7: AI 배달 봇으로서의 Quarky - 파트 24 Topics
-
수업 8: 자율주행차 - 파트 14 Topics
-
수업 9: 로봇 애완동물4 Topics
-
수업 10: 제스처 기반 로봇 제어 - 1부3 Topics
-
수업 11: 제스처 기반 로봇 제어 - 파트 23 Topics
-
캡스톤 프로젝트수업 12: 캡스톤 프로젝트
Lesson 8, Topic 3
In Progress
활동 2: 자율주행차 코딩하기
Lesson Progress
0% Complete
코딩하자!
- 이전 활동에서 pictoBlox를 사용하여 기호 감지를 배웠습니다. 이러한 코드는 표지판 감지를 위해 자율 주행 자동차에서 사용됩니다.
sprite = Sprite('Tobi') quarky = Quarky() recocards = RecognitionCards() recocards.video("on") recocards.enablebox() recocards.setthreshold(0.8) while True: recocards.analysecamera() sign = recocards.classname() sprite.say(sign + ' detected')
- 나머지 부분을 코딩해 봅시다. 먼저 카메라 앞에 카드가 있는지 확인해야 합니다. 이를 위해 우리는 if 루프를 사용하고 있습니다.
if recocards.count() > 1:
조건이 참이면 표시된 카드가 Go 카드 , Turn Left , Turn Right 또는 U-Turn 카드 인지 확인해야 합니다. 다시, 우리는 동일한 경우 if 루프를 사용합니다.
- 사례 1: Go – Go 카드가 감지되면 Quarky가 0.5초 동안 60% 속도로 앞으로 이동하기를 원합니다. 이를 위해 ” if ‘Go’ in sign:” 함수를 사용하고 쿼키 이동을 위해 “quarky.rumtimedrobot()” 을 사용합니다.
if 'Go' in sign: quarky.runtimedrobot('F', 60, 0.5)
- 사례 2: Turn Left – Turn Left 카드가 감지되면 Quarky가 0.5초 동안 40% 속도로 좌회전하도록 합니다.
if 'Turn Left' in sign: quarky.runtimedrobot('L', 40, 0.5)
- 사례 3: Turn Right – Turn Right 카드가 감지되면 Quarky가 0.5초 동안 40% 속도로 우회전하도록 합니다.
if 'Turn Right' in sign: quarky.runtimedrobot('R', 40, 0.5)
- 사례 4: U-Turn – U-Turn 카드가 감지되면 Quarky가 0.5초 동안 60% 속도로 뒤로 이동하기를 원합니다.
if 'U Turn' in sign: quarky.runtimedrobot('B', 60, 0.5)
- 사례 1: Go – Go 카드가 감지되면 Quarky가 0.5초 동안 60% 속도로 앞으로 이동하기를 원합니다. 이를 위해 ” if ‘Go’ in sign:” 함수를 사용하고 쿼키 이동을 위해 “quarky.rumtimedrobot()” 을 사용합니다.
- 전체 코드는 다음과 같습니다.
sprite = Sprite('Tobi') quarky = Quarky() recocards = RecognitionCards() recocards.video("on flipped") recocards.enablebox() recocards.setthreshold(0.6) while True: recocards.analysecamera() sign = recocards.classname() sprite.say(sign + ' detected') if recocards.count() > 1: if 'Go' in sign: quarky.runtimedrobot('F', 60, 0.5) if 'Turn Left' in sign: quarky.runtimedrobot('L', 40, 0.5) if 'Turn Right' in sign: quarky.runtimedrobot('R', 40, 0.5) if 'U Turn' in sign: quarky.runtimedrobot('B', 60, 0.5)
과제 업로드
과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.
과제를 업로드하려면 아래 단계를 따르세요.
- 먼저 Pictoblox 파일을 선택해야 하므로 Browse를 클릭합니다.
- .sb3 파일을 선택합니다.
- 그리고 Upload 버튼을 클릭합니다.
행운을 빕니다! ????