Haptic 제작기 > 로보맨리뷰

본문 바로가기
사이트 내 전체검색

로보맨리뷰

Haptic 제작기

111111111111111111111111111111

페이지 정보

작성자 로보맨 댓글 0건 조회 9,839회 작성일 09-06-28 06:56

본문

111111111111111111111111111111
2_9.jpg

간단하게 Haptic device를 만들어 보도록 하겠습니다. 원래 뉴럴네트웍의 Back-progation을 설명하기 위해서 만든 것이라서 포커스가 Haptic device 쪽 보다는 제어 프로그램에 있습니다. 그리고 하드웨어를 최대한 간단히 만들기 위해서 센서를 손가락 하나당 하나만을 사용하였습니다.



재 료

1. Flex sensor - 5ea
3_1.jpg

2. 블루투스 모듈 - 1ea
3_2.jpg

3. PIC16F877 -1ea
3_3.jpg

4. 그밖에 밧데리와 골프 장갑이 있습니다.


기본원리

동작하는 기본 구상은 다음과 같습니다. Flex sensor로부터 휘어짐의 정도를 AD 포트를 이용해서 무선으로 컴퓨터로 전송하게 되고 컴퓨터에서는 이를 3차원으로 표현하고 뉴럴네트웍을 이용해 현재의 상태를 알아내게 됩니다.


3_4.jpg
동작 순서


3_5.jpg
회로도




소스코드

아래의 소스는 flex sensor의 ad값을 id를 부여하여 계속해서 컴퓨터로 보낼 수 있도록 작성되었습니다.

#include <16f877.h>

#use delay(clock = 20000000)
#use rs232 (baud = 57600, xmit = PIN_C6, rcv = PIN_C7)

void main()
{
   unsigned long raw_value;
   char data[4];
   int i, j;

   setup_port_a(ALL_ANALOG);
   setup_adc(ADC_CLOCK_INTERNAL);

   delay_ms(200);

   while(1)
   {
      for(i = 0; i < 5; i++)
      {
         set_adc_channel(i);
         delay_ms(10);
         raw_value = read_adc();
         data[0] = 254;                // starting char
         data[1] = i + 1;              // id
         data[2] = raw_value >> 2;     // low
         data[3] = 255;                // ending char
         // send data
         if(i == 0)
            for(j = 0; j < 4; j++)
               putc(data[j]);

         for(j = 0; j < 4; j++)
            putc(data[j]);
          delay_ms(10);
      }
      delay_ms(100);
   }
}




소프트웨어

소프트웨어는 크게 학습 데이터를 모으는 부분, 학습을 하는 부분, 그리고 테스트 하는 부분으로 나뉘어 진다.

3_6.jpg
:: 데이터 수집 및 테스트 프로그램

3_7.jpg
:: 학습 프로그램


프로그램 동작순서

프로그램을 동작 시키는 순서는 다음과 같다. 먼저 제작한 haptic device와 컴퓨터를 연결하고 프로그램을 동작시키고, 데이터 수집 및 테스트 프로그램을 동작시키고 데이터 수집 모드로 동작 시킨다. 그리고 원하는 손동작을 add data를 이용해 추가하고 각각의 이름을 부여한 후 파일을 저장한다.

학습 프로그램을 이용해 저장된 파일을 불러 들여 학습을 시작하고 학습이 끝난 후에는 그때의 weight function값을 파일로 저장한다.

다시 데이터 수집 및 테스트 프로그램을 동작시키고 테스트 모드를 선택한 후 저장된 weight function값을 불러 들이고 haptic device 와 컴퓨터를 연결한다. 이런 과정을 거친 후에는 학습된 내용을 바탕으로 현재의 동작이 학습된 동작 중 어느 것인지를 판단해 사용자에게 화면으로 표시해 준다.

3_8.jpg



:: 데이터다운로드(실행파일,모델)


Making by 정현룡
e-mail : jhr1021@hanmail.net

3_9.jpg





:: 참조  * Haptic 이란?

출처 : http://www.aistudy.co.kr/branch/haptics/haptics.htm

햅틱스란 ‘만진다’는 뜻으로 인공촉감 기술을 의미한다. 사람은 시각이나 청각보다 촉감에 훨씬 빠르게 반응한다. 현재 컴퓨터의 출력 장치는 모니터와 스피커뿐이지만 앞으로는 인공촉감을 출력하는 햅틱 장치가 거의 모든 컴퓨터에 달릴 전망이다.

햅틱스가 가장 효과적으로 쓰이고 있는 제품은 게임용 조이스틱과 시뮬레이터이다. 최근에는 마우스나 자동차에도 햅틱스 기술이 쓰이고 있다. 로지텍의 아이필(iFeel) 마우스는 스크롤바나 아이콘 위에 놓으면 손에 느낌이 전달된다. BMW 자동차에 장착된 아이드라이브(iDrive)는 운전 중 위험하게 디스플레이를 보지 않아도 조작버튼의 진동 차이로 오디오 등 다양한 장치의 상태를 알 수 있다.  햅틱스 기술은 정밀한 수술, 로봇 원격제어, 미술작품 조각, 전자상거래, 엔터테인먼트, 연구개발 분야에도 쓰이기 시작하고 있다.

햅틱스 분야의 국내 개척자인 한국과학기술원(KAIST) 기계공학과 의 권동수 교수 (Telerobotics & Control lab) 는 98년부터 햅틱스 기술을 적용한 마우스, 조이스틱, 수술용 로봇과 오락용 자전거, 자동차, 낚시 시뮬레이터를 잇달아 개발해 오고 있다.

Robotics Technology & It's Application : 새로운 개념의 로봇기술중에 대표적인 것이 햅틱스 기술(HAPTICS Technology) 이다.  기존의 로봇기술은 기계공학과 전자공학을 그 기술의 모태로 삼고 있었지만 ,  HAPTICS는 여기에다 컴퓨터 그래픽스 기술, 초고속 네트웍기술이 합쳐진 첨단 분야라고 말할 수가 있다. 이 HAPTICS기술은 여러 공학적 핵심기술을 모태로 하고 있기 때문에 응용을 많이 할 수가 있다.

HAPTICS 기술 중  핵심은 햅틱 디바이스 이다. 다시 말해 햅틱 디바이스는 또 다른 로봇- 인간에게 촉감을 부여하는 로봇이라고 말할 수 있다 - 이다 . 즉, 원거리에 존재하는 또는 컴퓨터 모니터상에 가상으로 존재하는 물체를  만져볼 수 있게 하는 로봇이다. 이제 인간은 가상의 물체를 컴퓨터상에 모델링하고 이것을 눈으로 보면서 직접 만져볼 수 있게 되었다.  HAPTICS Technology은 크게 3 가지로 나눌 수가 있다.

1. 햅틱 디바이스 기술     2. 햅틱 묘사 기술      3. 3D 그래픽스 기술

햅틱 디바이스 기술은 로봇기술(설계기술에서 제어기술)을 그 기반으로 한다. 그리고 3D 그래픽스 기술은  우리 생활에서 많이 찾아 볼 수 있는 기술 중에 하나 이다. 햅틱 묘사(Haptic Rendering) 또는 촉감적 묘사 기술은 인간의 촉감적 시스템의 이해를 그 기반으로 한다. 이 기술은 햅틱 디바이스와 컴퓨터 그래픽스에서 다리 역할을 하는 중요한 기술이라고 할 수가 있다. 3D 그래픽스 기술은 인간의 시각과 관련된 기술이라면 햅틱 묘사 기술은 시각적으로 무엇을 묘사하는 것이 아닌 촉각적으로 대상을 묘사하는 기술이다.

햅틱스 기술의 응용예 :  원격지 우주작업 분야 , 가상 의료시술 분야. 가상현실 분야, 텔레로봇
분야
011_11.jpg


011_12.jpg
[이 게시물은 로보맨님에 의해 2013-09-14 23:30:09 묻고답하기에서 이동 됨] [이 게시물은 로보맨님에 의해 2013-09-14 23:42:26 리뷰에서 복사 됨]
1111111111111111111

댓글목록

등록된 댓글이 없습니다.

11111111111111111111

회사소개 개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

작크와콩나무
대표:이강복 등록번호:129-30-34337 개인정보관리책임자:이경영

Copyright © https://roboman.co.kr/ All rights reserved.