HBE-RoboCAR 제어 Obstacle Avoidance 마이크로프로세서 응용설계 01분반 2조 최 보 선, 유 완 식
목차 HBE-RoboCAR 제어 목표 제어 방법 구현 구현 시 사용 장비 자유과제 선정 이유 유의사항
HBE-RobaCAR 내부에 Control Device를 ATmega128L을 사용하여 RoboCAR를 제어 장착된 센서로는 Ultrasonic Sensor(AW-10 series), Distance Measuring Sensors(GP2Y0A21YK), Acceleration Sensor(ADXL202E), Infrared Sensor(ST-8L, EL-8L)이 있다. 모터로는 DC Motor(RB-35GM series) 개를 장착하고 있다. 각각 오른쪽 왼쪽 한 쌍 씩 있고 한 쌍씩 제어가능 블루투스(Blue tooth)가 탑재해 있어서 원격으로 RoboCAR를 제어가능
제어 목표 Obstacle Avoidance : 장애물이 앞에 있을 시 이를 회피해서 전진 주행 공통과제 ① 출발 원격 전송 ② 원격으로 정지 후 다시 출발 자유과제 ①적외선 센서를 통해서 지면이 없는 부분을 회피해서 주행
제어 방법 장애물 회피를 위해서 차 전면부에 있는 Ultrasonic 센서를 사용함 PSD센서로 거리를 측정하여 5cm내외에 있는 거리에서는 방향을 바꾸도록 함 장애물을 만나지 않는 한 처음 입력 시 전진만 하게 함 지면이 없는 부분을 지날 시 적외선센서를 이용하여 지면이 있는 곳으로 Turn하여 바닥이 있는 부분으로 지나도록 함 주로 쓰게 될 센서인 Ultrasonic Sensor를 이용하여 장애물과의 거리를 측정한다. 장애물이 없을 시에는 계속 전진 주행을 하다가 장애물과 만나고 일정한 거리가 되면 왼쪽(오른쪽)으로 회전을 하여 장애물을 회피하고 전진 주 행을 계속 한다. 적외선 센서(infrared Sensor)를 이용하여 가장자리 부분이나 지면이 없는 부분을 만날 시에 왼쪽(오른쪽)으로 회전을 하여 전진 주행을 계속 한다.
구현1 스위치 1번을 누르면 블루투스를 통해서 출발신호를 전송 HBE-RoboCAR는 양쪽의 DC motor를 기동하여 직진 주행 정면에서 장애물과 만나면 초음파 센서로 거리 측정하며 일정한 거리(5cm) 정도 될 시에 인터럽트를 사용하여 0.5초간 후진 후 왼쪽 DC motor만을 1~2초간 돌려서 오른쪽으로 회전 블루투스를 통해서 출발신호를 전송하는 것은 인터럽트 기능을 사용. DC모터를 기동하는 것은 DC모터의 정회전 사용 장애물 회피는 센서의 입력을 이용함
구현2 회전 후 초음파 센서로 거리 측정하며 전진 주행 왼쪽(오른쪽)의 초음파 센서에서 거리를 측정할 경우 일정한 거리(5cm)가 되면 왼쪽(오른쪽)의 DC motor만 1초간 기동한 후 직진 주행 스위치 2번을 누르면 블루투스를 통해서 정지신호 전송 바퀴의 DC모터는 작동을 멈추게 됨 다시 스위치 1 번을 누르면 블루투스를 통해서 출발신호를 전송하여 RoboCAR가 직진 주행함. 2번은 또다른 인터럽트를 사용하여 DC모터제어를 함.
<프로그램에 대한 전체적인 알고리즘> 시작 블루투스를 통한 출발신호 입력 회피 후 전진 장애물 or 절벽 ? 전진 정지신호 입력 정지 No Yes
구현에 사용 될 장비
1번 : PSD센서로 장비의 이동 시 앞면에 장애물이 없는지 파악 2,3번 : 초음파 센서의 송수신부로 초음파를 내보내고 받음으로써 거리측정을 함 5번 : 적외선센서로 바닥라인을 감지함
1번 : 모터 및 바퀴로서 DC모터 제어를 통해 전진,후진,좌우로 방향전환이 가능함
자유 과제 선정 이유 DC모터 제어와 센서를 이용하여 공부를 할 수 있음 장애물만 회피하다가 밑면의 센서를 이용하여 절벽이나 낭떠러지에서도 장애물처럼 인식하도록 함
유의 사항 지면이 없는 부분 통과 시 차 바닥의 센서와 바닥간의 거리가 일정거리 이상일 때(CAR가 떨어졌을 때 충격 받을 정도) 뒤로 후진을 5cm정도 한 뒤 오른쪽(왼쪽)으로 방향을 바꾸고 다시 직진 주행하도록 설계 한다. 후진시 DC모터의 역회전 사용
감사합니다.