News Download Tutorial FAQ Reference Buy

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

적극적인 로봇
내성적인 로봇에 이어 세 번째 소개할 로봇은 적극적인 성격의 로봇이다. 여러분이 창조할 로봇은 다음과 같은 특성을 갖는다.

주인님이 주위에 없으면 가만히 기다립니다. 아주 온순하고 착한 햄스터 로봇입니다. 이때 주인님이 멀리서 나타나 손짓합니다. 갑자기 주인님이 가버립니다. 바쁜 일이 있나 봅니다. 로봇도 움직임을 멈추고 다시 기다립니다. 잠시 후 다시 주인님이 정면으로 가까이 와서 손짓합니다. 로봇은 기뻐서 힘차게 주인님을 향해 달려갑니다. 주인님이 돌아서서 뛰어 갑니다. 로봇도 오랜만에 주인님을 뒤따라 달리기를 합니다. 가끔 주인님이 앞을 가로막고 부르면 기뻐서 주인님의 품속으로 뛰어들기도 합니다. 기뻐서도 그렇지만 원래 성격이 너무 적극적인가 봐요. 주인님이 오른쪽 옆에서 나타나면 적극적으로 고개를 오른쪽으로 돌리면서 맞이합니다. 주인님이 왼쪽 옆에서 나타나면 고개를 왼쪽으로 돌리면서 맞이합니다. 앞서 달리는 주인님을 쫓아가면서 왼쪽으로 가면 왼쪽으로 따라가고 반대로 가면 반대로 따라갑니다. 아직 어린 로봇이라 주인님이 너무 빨리 뛰면 못 따라갑니다. 주인님을 놓치면 다시 찾을 줄 몰라서 그냥 가만히 기다립니다.

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

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

왼쪽 근접 센서의 값은 오른쪽 바퀴의 속도를 결정하고, 오른쪽 근접 센서의 값은 왼쪽 바퀴의 속도를 결정하도록 서로 바꾸어 연결되어 있다. 이 조그만 차이로 로봇의 성격이 180도 바뀔 수 있을까? 프로그램을 실행하고 햄스터 로봇의 행동을 살펴 보자.

정확히 정면에 손을 가져가면 주인을 기다리는 로봇과 차이점이 없다. 이번에는 다음 그림과 같이 오른쪽으로 손을 가져가자. 그러면 로봇은 적극적으로 손을 향해 고개를 돌린다. 물론 왼쪽으로 손을 가져가도 마찬가지로 손을 향해 왼쪽으로 고개를 돌린다. 로봇의 정면에 손을 가지고 가면 로봇이 손 안으로 뛰어들기도 한다.

근접 센서의 값이 아주 작은 경우에도 미세하나마 바퀴가 움찔움찔 움직이는 것을 없애고자 한다면 다음 그림과 같이 근접 센서의 값이 아주 작은 경우에는 정지하도록 조건문을 줄 수도 있다.
목차
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.