2010년 7월 30일 금요일

작업 현황

opros 프로젝트에 많은 것을 포함 했다.
wxWidgets, QT4, openGL, OpenCV, boost, RCF, emss, MRPT, ace,

하지만 아직 많이 모자르다.

여기에 orocos, ros, openRTM의 리소스를 컴포넌트화 해야 한다.

너무나 할께 많다. 그리고 현재 머리가 멍하다.
차근차근 하자!!


2010년 7월 26일 월요일

QT pro확장자 파일을 Cmake로 변환하기

CMake 모듈에서 QT관련 함수를 많이 제공하는 것 같다.
이 함수를 이용해서 *pro의 qt 프로젝트 파일을 변경하는 작업을 해야 한다.
그 다음에 emss를 msvc 프로젝트로 옮기고 이것을 opros 빌드에 포함시키는 작업을 해야한다.
그러면 emss의 알고리즘과 GUI와 Qt를 opros 컴포넌트화 하는데 쉽게 개발 할 수 있다.

기간은 단 하루다. !!!


MRPT 보고

MRPT를 분석 해서 각각의 화면을 컴포넌트화 하는데 문제없이 진행되었다.
다음으로는 MRPT의 알고리즘을 컴포넌트화 해야 하는데 기본 지식없이는 불가능 할 것 같다.
소스 코드를 이해하려면 시행 착오 및 공부를 많이 해야 한다.


2010년 7월 11일 일요일

wxGLCanvas 링크 에러 문제

mrpt-source-dir/INSTALL_COMPILE.html 문서를 보면 알 수 있다.

내용인즉

#define wxUSE_GLCANVAS       1 
mrpt를static 으로 하려면
wxWidgets를 Debug/Release로 컴파일 하고 
mrpt를 dll로 하려면
wxWidgets를 Dll Debug/Dll Release로 컴파일 한다. 

2010년 7월 6일 화요일

Install list on new notebook

0. ubuntu 9.10 USB driver로 인스톨
1. sudo apt-get install build-essential cmake subversion
2. opencv2.1.0 download & install
3. wxWidgets 2.8.11 download & install
4. ACE framework 5.8.0 download & install
sudo apt-get install libssl-dev
5. orocos-rtt-1.10.3 download & install
6. sudo apt-get install libboost1.38-dev
7. mrpt-0.9.0 download & install
sudo apt-get install libgl1-mesa-dev(opengl) : mesa?
sudo apt-get install libglu-dev (openglu)
8. opros-oce 1.5.4 download & install
다사 download

apt로 하면 간단히 끝내지만 ACE같은 경우에는 코어 버전과 안맞는지 에러가 발생 한다.
그래서 안정적으로 하려면 이렇게 재컴파일 해야 한다.
 $ sudo apt-get install build-essential cmake libwxgtk2.8-dev \    libwxbase2.8-dbg libwxgtk2.8-dbg libftdi-dev libglut3-dev \    libhighgui-dev
위의 설치 추가

Add --with-opengl option on install wxWidgets

MRPT 분석

MRPT를 분석 중에 있다.
괜찮다 !!
문제는 GPL이다.
욜라 무션 GPL 하지만 어쩌랴
모든 변수, 로직, 함수명 ... 다 변경하기에는 시간이 너무 많이 걸린다.
나중에 오픈할걸 예상하고 적용해야 겠다.

core부분의 hardware쪽 라이브러리를 보고 있다.
지금 사용하고 있는 hardware를 적용하기 위해서는 이부분을 완벽히 이해하고 있어야 한다.



degree fitting curve

p1 = 4.088 (-2.889, 11.07)
p2 = -45.35 (-106.2, 15.47)
p3 = 208.7 (-1.841, 419.2)
p4 = -512.5 (-880.1, -144.9)
p5 = 716.8 (378.4, 1055)
p6 = -560.3 (-714.5, -406.1)
p7 = 217.5 (190.7, 244.4)

x = distance

f(x) = p1*x^6 + p2*x^5 + p3*x^4 + p4*x^3 + p5*x^2 + p6*x + p7


2010년 7월 3일 토요일

베타를 위한 컴포넌트 제작기

알파 패키기는 단순하다.
하지만 베타 패키지는 단순하지가 않다.
GUI를 많이 필료로 하고, 알고리즘 또한 필료하다.
MRPT라는 툴킷을 찾았다. opencv, wxWidget를 쓴다.
라이선스는 GPL이다.
우선 MRPT를 재컴파일 해야 한다. wxWidget이 걸린다.

win32 configuration를 제공하지 않고 build에서 바이너리로 제공한다.
configuration를 통해서 설정할 게 wxCanvas이다.
우선 강제로 프로젝트에 재정의 했다.
그리고 재컴파일 한후
MRPT에서 APP쪽에 강제로 xx_gl.lib, xx_avd.lib를 포함 시켜야 한다.
wxCanvas와 wxGrid때문이다.


지금 빌드가 진행 중이다. 오늘 까지 빌드는 완성해야 하는데 .... 할 수 있을까 걱정이다.
emss -> MRPT로 우선순위가 변경 되었다.


emss framework

icreate roomba를 이용한 framework를 찾았다.
시뮬레이션 및 GUI, 알고리즘을 컴포넌트 제작에 도움이 될 것같아 컴파일 해보기로 했다.
모두 QT로 구성되어 있다. 오프로스 컴포너트로 하기 위해서는 MSVC에서 컴파일 되어야 한다.
열라 오래 걸린다. mingw는 바이너리가 있어 그냥 설치하고 QCreate를 통해 개발 하면 되는데 MSVC를 이용하려니 컴파일시간이 몇시간 걸린다.
configuration -> nmake 에러나면 nmake ...clean -> configuration 하면 된다.
그리고 프로젝트를 열러서 빌드, 끝

further

emss with opros하려면 qt를 opros에 적용하거나 socket이나 IPC를 써서 서로 통신 해야 한다.
emss에서 TCP/UDP App를 제공하시만 로직 안으로 들어가기에는 부족하다. 그래서
결론은

interaction for qt 컴포넌트를 만들어 emss framework와 통신하기로 했다.