PSD센서를 이용한 근접 장애물 인식 및 충돌회피
본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

PSD센서를 이용한 근접 장애물 인식 및 충돌회피에 대한 보고서 자료입니다.

본문내용

_LED_ON(); // LED on
else // 거리가 20cm이내가 아니면
F_LED_OFF(); // LED off
ms_delay(100);
}
return 0;
}
『충돌 회피 c코드』
//1)
#include // I/O AVR 헤더화일 참조
#include
#include"avr_lib.h"
#include"Robocar_init.h"
#include"RBC_Motor.h"
//2)
u16 ADC_Convert(u08 ch){ //PSD센서는 포트F의 0번핀에 연결
u16 _ret=0;
ADMUX=0x40 | ch; // 2.56v
ADCSR=0xa7; // 128분주
ADCSR |= 0x40; // ADC start conversion
while( (ADCSR&0x10)==0x00);
ADCSR |= 0x10;
_ret =ADCL & 0xff;
_ret |=ADCH<<8 ;
ADMUX=0x0;
ADCSR=0x0;
return _ret;
}
F//3)
u08 Calc_PSDdist(double value){ //PSD센서의 거리값을 계산
u08 _ret=0,i,j;
double tmp_val;
tmp_val = (value*5)/1024.;
tmp_val = (0.0434*tmp_val) - 0.0046;
_ret = (u08)(1/tmp_val);
if(_ret >= 75) // 잘못된 거리 계산을 방지
_ret = 75;
return _ret;
}
/*Main*/
int main(){
u16 adc_data=0; // PSD 센서 ADC값을 저장하는 변수
u08 Dist=0; // 장애물과의 거리(cm)를 저장하는 변수
//4)
PORT_init(); // 포토 초기화
//5)
Timer1_init();
//6)
Motor_mode(FORWARD);
PWM_change('A',0x300);
//7)
while(1){
adc_data = ADC_Convert(0x00);
Dist = Calc_PSDdist(adc_data) // PSD센서의 ADC값을 계산하여 거리로 지정
F_LED_OFF(); // LED off
if(Dist >0 && Dist<20) // 거리가 0보다 크고 20cm이내 이면
F_LED_ON(); // LED on
if(Dist >0 && Dist<20) // 거리가 0보다 크고 20cm이내 이면
Motor_mode(STOP); // 모터는 STOP모드(회전 중단)
else // 거리가 20cm보다 크면
Motor_mode(FORWARD); // 모터는 FORWARD모드(전진)
ms_delay(100);
}
return 0;
}
■ 결과에 대한 고찰
이번 실험은 지금까지 실험해왔던 것들과는 조금 다르게 기존에는 이론을 통해 계산식을 배우고 그 계산식을 실험 데이터를 통해 확인하고 비교하는 것이 주를 이루었으나, 이번 실험에서는 이론으로는 조금 접근하기 어려운 PSD 센서의 원리와 작동방법을 알아보았다. 센서의 복잡한 원리나 구조와는 다르게 실험 진행은 조금은 익숙치 않은 c프로그램을 다루는 것 외에는 비교적 간단하고 실질적으로 센서가 작동하고 어떤 방법으로 장애물의 위치를 파악하는가를 보았던 실험이었다.
우리눈에는 보이지 않은 적외선을 이용하여 전기적 신호를 통해 전방의 사물을 감지하고 시스템을 제어하는 실험이었다. 이번에 실험에 이용한 로보카가 감지할 수 있는 범위는 대략 7cm~120cm로 하이퍼터미널의 데이터를 통해 확인할 수 있었다. 7cm이내의 거리의 장애물은 거의 감지를 하지 못하였고, 투명한 물체에 대해서도 간혹 거리가 잘못나온다던지 감지를 못하는 경우가 발생되었다. 이는 PSD 센서의 활용에서 조금 더 보완해야 될 부분이라고 생각한다.
실생활에서 이용되는 예로는 주로 이동하는 물체가 장애물을 감지하고 접촉을 방지하는 차원에서 주로 쓰일 것이다. 가장 대표적인 예로 자동차 주차할 때에 접촉을 방지하기 위해 사용되는 것으로 알고 있다. 이는 후방이 보이지 않는 컨테이너 차량이라던가 화물차량 등에 활용이 되면 더욱 안전한 주차가 가능할 것이다. 또한 누군가가 조정하지 않고 스스로 움직임이 가능한 로봇분야에서도 이와 같은 장치가 활용이 가능할 것이다. 하지만 아직은 비용적인 측면이 많은 활성화가 안되고 있는 요인중의 하나일 것이다. 하지만 지속적인 연구가 진행된다면 더욱 다방면에서 우리 생활에서 많은 편리함을 가져다 줄 것으로 기대되는 분야임에는 틀림없다.

키워드

  • 가격1,000
  • 페이지수9페이지
  • 등록일2010.12.30
  • 저작시기2010.9
  • 파일형식한글(hwp)
  • 자료번호#646402
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니