본문 바로가기

Robotics

(367)
슈퍼클래싱과 서브 클래싱 슈퍼 클래싱이란 기존의 윈도우 클래스의 기본적인 기능에 새로운 기능을 추가하여 슈퍼 클래스라고 하는 새로운 윈도우 클래스를 생성하는 기법을 말한다. 이것은 C++의 상속성의 개념과 유사하다. 슈퍼 클래스는 슈퍼 클래스 프로시저 라고 하는 자신의 윈도우 프로시저를 갖는다. 이 슈퍼 클래스 프로시저는 운영체제로부터 메세지를 받아 그대로 기존의 윈도우 프로시저에게 넘겨주거나, 메세지를 수정하여 기존의 윈도우 프로시저에게 넘겨줄 수 있다. 또는 기존의 윈도우 프로시저에 메세지를 넘겨주지 않을 수도 있다. 서브 클래싱이란 윈도우 운영체제가 메세지를 처리하기 전에 메세지를 가로채어 특정한 윈도우에게 보내어 메세지를 처리하게 하는 기법을 말한다. 따라서, 윈도우를 서브 클래싱함으로써 윈도우의 행위를 확장시키거나 수정..
정확한 시간 측정, RDTSC(Read Time Stamp Counter) 윈도우에서 소프트웨어를 개발하는데 가끔 정확한 시간측정을 해야하는 경우가 있다. 디버깅레벨에서는 IDE에서 제공하는 프로파일링을 통해 특정 함수의 수행시간이나 수행빈도등을 측정하는 수도 있지만, 프로그램을 수행하여 런타임레벨에서 측정을 통해 제어를 해야할 경우가 있다. 이때, 사용하는 방법중에 RDTSC를 이용하는 것이다. x86 P5 명령 집합들이 소개됨으로써, 많은 개임 개발자들은 높은-해상도 타이밍을 실행하기 위해 read time stamp counter (RDTSC)를 사용하도록 만들었습니다. 윈도우즈 멀티미디어 타이머들은 사운드와 비디오 처리를 위한 충분한 정밀도를 가지지만, 천분의 1초 이하의 프레임 시간들에서는 델타-시간 정보를 제공하기에 충분한 정밀도를 가지지 못합니다. 많은 게임들은 여..
[CODE 바로가기] 프로그램 중복 실행 방지코드 프로그램의 중복 실행을 막을 필요가 있는 프로그램은 뮤텍스를 이용하여 처리할 수 있다. App 클래스내의 InitInstance()함수내에 가장 첫라인에 다음 코드를 추가한다. HANDLE hMutexOneInstance = ::CreateMutex(NULL, TRUE, _T("")); if(hMutexOneInstance!=NULL && ::GetLastError() == ERROR_ALREADY_EXISTS) exit(1);
조이스틱 컨트롤 에뮬레이션 로봇을 수동으로 조종할 수 있는 방법은 많이 있다. PC를 사용한다면, 키보드, 마우스, 조이스틱등등... 이밖에도 블루투스같은 통신이나 무선랜을 이용하여 수동제어 하는 방법들이 있다. 실제 마우스로 조종을 하지만, 조이스틱과 같은 UI를 가진 조종 프로그램이 있다면 어떨까.. 실제로 많은 개발자들은 핵심적인 기능구현에 많은 시간을 투자한다. 사실 그게 맞다. 하지만 기능구현과 더불어 중요한것이 바로 GUI이다. 화려한 GUI를 요구하는 시스템은 분명 아닐것이라는 가정하에, GUI는 단순히 보여주는 그 이상의 기능을 해야한다. 로봇이나 컴퓨터가 사람에게 어떠한 정보를 전달 해 줄 수 있는 매개체가 무엇이겠는가... 사운드, 모니터뿐 아니겠는가... 최대한 사용자는 소프트웨어를 사용하기 쉬워야 하고, 복잡..
[CODE 바로가기] 리스트컨트롤(ListCtrl) Row Index 얻어오기 리스트컨트롤(Listctrl)의 Row의 index를 얻어오는 코드. 내가 선택한 줄이 몇번째 줄인가를 얻어와야 해당 라인의 각 컬럼에 속한 값들을 얻어올 수 있다. void CTestDlg::OnNMDblclkStatusLst(NMHDR *pNMHDR, LRESULT *pResult) { //LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast(pNMHDR); // TODO: Add your control notification handler code here NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; int itemindex = pNMListView->iItem; *pResult = 0; } 위 코드는 리스트컨트롤의 ..
이것은 누구의 손일까..? 국내 최초의 안드로이드.. 에버(EveR)의 손이다.. 가까이서봐도 사람 손처럼 피부의 질감이..@_@! 등촌동 SBS공개홀에서 촬영한 '스타킹'이라는 프로에 출연한 EveR.
한글의 종성에 따른 TTS 문장변화 외국도 그렇겠지만 본인이 보기에 우리나라에서 만든 엔터테인먼트로봇의 70%이상이 TTS를 채택하여 사용하고 있다. 로봇에서 TTS(Text To Speech)를 쓰는것은 상황에 따라 로봇이 음성으로 표현을 하기위한것이다. 뭐, TTS가 억양이나 말뜻을 강조하기 위한 엑센트에 약한것이 사실이기때문에, 예쁜 목소리를 가진 사람이 녹음하여 플레이하는 경우도 있다. 사실 로봇이 더욱더 사람같아 진다고 느끼는 사람이 있는 반면에, 사람처럼 생기지도 않은 로봇이 사람처럼 자연스러운 목소리를 낸다는 것에 더 부자연스러움을 느끼는 사람도 적지않다. 즉, 오히려 로봇은 로봇 다워야 한다는 사람도 많이 봤다. TTS와 더불어 음성인식도 많이 사용한다. 단어나 문장을 인식하여 적절한 대답을 찾아 TTS로 알려주는 것이 이제..
로봇 전문 잡지 'Servo' Magazine 미국 로봇 전문잡지를 소개하고자 한다. 본인도 이런 잡지가 있었는지 몰랐다가 얼마전에 알았는데, Microsoft잡지처럼 내용도 아주 좋다. 우리나라에도 로봇 잡지가 있긴하지만, 컨텐츠 보다는 절반광고에 제품소개에 너무 치우쳐져 있는것 같아 아쉬워서... 일단 관심있으신 분은 방문을 해보길 바랍니다. URL : http://www.servomagazine.com 구독을 원하는 분은 홈페이지에서 신청할 수 있으며, 온라인,오프라인 구독 모두 가능하다고 한다. 가격은.. US - One Year $24.95 US - Two Year $45.95 US - Three Year $65.95 Canada - One Year $31.95 Canada - Two Year $59.95 Canada - Three Year..