News Download Tutorial FAQ Reference Buy

스크래치 : 브레이튼버그의 로봇 #5

사랑하는 로봇
이번에 소개할 로봇은 주인님을 너무 사랑하는 로봇이다. 사랑하는 로봇은 다음과 같은 특성을 갖는다.

아무도 없는 넓은 책상에서 마음껏 달립니다. 하지만 주인님이 계신지 주의를 게을리하지 않습니다. 멀리서 주인님이 서있는 것을 발견합니다. 주인님이 있는 방향으로 고개를 돌리고 주인님 근처로 달려갑니다. 앞에 도착한 후에는 달리기를 멈추고 조심스럽게 앉아서 기다립니다. 주인님의 발걸음이 오른쪽으로 향합니다. 같이 오른쪽으로 따라 갑니다. 주인님이 서면 같이 섭니다. 방향을 바꾸면 같이 바꿉니다. 주인님을 너무 사랑하기 때문에 어느 곳이든 같이 있고 싶어요.

다음 그림과 같이 로봇의 왼쪽 근접 센서(lFront)는 왼쪽 바퀴(lMotor)의 속도를 결정한다. 동시에 오른쪽 근접 센서(rFront)는 오른쪽 바퀴(rMotor)의 속도를 결정한다. '–' 기호는 센서의 값이 증가하면 모터의 회전 수는 반대로 감소한다는 의미이다.

다음 그림과 같이 스크래치를 사용하여 사랑하는 로봇을 만들어 보자.

숫자 60은 근접 센서로 측정되는 최대값을 넣은 것이다. 이 최대값은 환경이나 상황에 따라 달라질 수 있으므로 실험을 통해 구하도록 하자. 스크래치의 경우에는 다음 그림과 같이 블록 팔레트에서 왼쪽 또는 오른쪽 근접 센서 블록을 체크하면 화면에 값이 표시되기 때문에 관찰을 통해 최대값을 쉽게 구할 수 있다.

지금까지는 거리가 가까우면, 즉 근접 센서의 값이 클수록 바퀴의 속도가 더 빨라졌다. 이것을 자극성 관계라고 한다. 반대로 하면 어떻게 될까? 근접 센서의 값에 반비례할 경우, 이것을 억제성 관계라고 한다. 사랑하는 로봇은 손과 가까워지면, 즉 근접 센서의 값이 커지면 바퀴의 속도가 감소하는 억제성 관계를 나타낸다. 프로그램을 실행하고 동작을 관찰해 보자. 사랑하는 로봇은 애완동물처럼 성가시게 따라다닐 것이다. 같이 놀아주지 않으면 혼자서 어디론가 달려가 버리기 때문에 조심해야 한다.

손과 아주 가까이 있는 경우, 즉 근접 센서의 값이 아주 큰 경우, 너무 가까워지지 않도록 바퀴를 멈추고자 한다면 다음 그림과 같이 근접 센서의 값이 아주 큰 경우에는 정지하도록 조건문을 줄 수도 있다.
목차
Hardware
  1. Hamster robot
  2. USB dongle
Preparation for Class
  1. Software installation   Windows · MacOS · Linux
  2. Robot to PC connection
  3. Software execution   Windows · MacOS · Linux
Basic
  1. Standing and singing
  2. My precious ass
  3. Moving an object with the accelerometer
Advanced
  1. Moving an object with the accelerometer
  2. Line follower with one sensor
Previous Lectures
  1. Ordering in sequence
  2. Repeat
  3. Debugging
  4. Repeat until hand found
  5. Move a robot
  6. Use sensors
  7. Use the default board
  8. Braitenberg's robot
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (akaii@kw.ac.kr) if you have any problem.