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와 통신하기로 했다.

2010년 6월 25일 금요일

작업 1

while(1)
while(1)
// 센서값읽고 해상 사항이 맞음 면 break;
end

while(1)
// 로봇 이동하고 break;
end
end

Degree 계산1


Deg_d = 45;
Deg_d += Deg_s;
Deg_s1 = Deg_s;
while(1)
Deg_s = source.object();
if( Deg_d > 360 )
if( Deg_s+1/Deg_s1 == 0 )
if( Deg_s > Deg_d-360)
break; // 45deg complete!!
else
if( Deg_s >= Deg_d )
break; // 45deg complete!!

Deg_d = -45
Deg_d += Deg_s;
Deg_s1 = Deg_s;
if( Deg_s1 == 0 ) Deg_s1++;
while(1)
Deg_s = source.object();
if( Deg_d <= 0 )
if( Deg_s/Deg_s1 > 1)
if( Deg_s <>
break; // -45deg complete!!
else
if( Deg_s <= Deg_d)
break; // -45deg complete!!


2010년 6월 24일 목요일

ubuntu에서 ACE사용

ubuntu에서 sudo apt-get install libACE*로 설치해서 사용하면 라이브러리 dump에러가 발생한다.
꼭 다운로드 후 build/.../configuration 로 설치 하자.


인텔 컴파일러 사용

intel compiler를 구매 했다. 백만원
boost도 이 컴파일러로 해야 navigation를 오프로스 컴포넌트로 사용 할 수 있다.

gazebo 설치하기

navigation 시뮬레이션으로 gazebo를 설치 하려 했지만 3d engine쪽에 문제가 있어
ROS용 gazebo ubuntu 바이너리를 가지고 설치 했다.
하지만 윈도우에서 손쉽게 통신 하기에는 무리가 있어 gazebo도 후보에서 단락됐다.