본문 바로가기

Robotics

(367)
동적으로 로딩된 shared library에서 메인 프로그램에 포함된 함수의 호출 방법 linux에서 shared library를 만들고 그 라이브러리에서 메인 프로그램의 일부 기능들을 사용해야 할 경우가 발생하였다. 참고 : http://stackoverflow.com/questions/17081131/how-to-call-a-function-in-the-main-program-from-a-dynamically-loaded-shared-libr -Wl, --export-dynamic 옵션을 이용하는 방법도 있다는 것.(난 몰랐네..)
ubuntu 13.10 + eclipse(kepler) + boost 1.55.0 설치 및 사용 1. Ubuntu 13.10에 boost c++ library 1.55.0 설치 방법 [참고] http://cccob.blogspot.kr/2013/09/boost-1304-boost-153.html 1.53.0 버젼과 설치방법이 다르지는 않으니.. 위 블로그 내용을 참조. 2. Eclipse Kepler에 boost 설정 (1) 일단 본인은 1.54.0버젼 부터 추가된 boost.log 를 사용하려고 한다. 이클립스에서 c++ 프로젝트를 생성하고 cpp 파일에 다음 샘플 코드를 추가했다. #include #include #include #include namespace logging = boost::log;using namespace std;void SetFilter() { logging::core::..
valgrind를 이용한 c++ 메모리 누수(memory leak) 검사 방법 현재 본인의 개발 환경은 아래와 같다. 개발환경 : Eclipse CDT, GCC 프로그램을 구성하고 컴파일과 링크의 오류가 없어서 잘 동작하고 있는것만 같은 프로그램에서..반드시 체크해야 할 부분이 메모리 누수이다.동적으로 메모리를 할당하고 해제하는 과정에서 제대로 처리를 하지 못해서 발생하거나, 사용하는 특정 라이브러리 자체에서 발생하고 있거나, 변수 캐스팅 오류등 다양한 원인에 의해서 프로그램이 종료될때 메모리를 제대로 시스템에 반환하지 못할경우에 어떤일이 발생할지 알수가 없게된다. 이번에 사용해본것은 valgrind라는 프로그램이다. 설치는 $ sudo apt-get install valgrind 로 하면 되고, 사용하는 방법은 실행 프로그램을 만들고, 실행을 아래와 같이 하면 된다. $ valg..
STL map에서 insert와 [] operator 사용시 주의사항 보통 map을 사용할때, insert 보다는 간편하게 [] operator를 사용했다. Scott Meyers의 'Effective STL'이라는 책을 보니 "map에 추가를 할 때는 insert를, 이미 저장된 데이터의 갱신은 [] operator가 더 효율적"이라고 한다. 참고. ex) map testmap;testmap.insert(map::value_type(k, v)).first->second = v; //k=key, v=value 또는 testmap.insert(pair(k,v));
ubuntu 13.10에서 GPU Lockup이 발생할때. ubuntu 13.10을 설치하고, gnome을 설치했다. 이게 가끔씩 GPU Lockup이 발생하면서 먹통이 된다. 구글링을 해보니, 적당한 해결방법을 알려준다. $ sudo apt-get install nvidia-current 로 nvidia 그래픽 드라이버를 설치하면 된단다.. ubuntu를 최초에 설치하면 그래픽 드라이버가 호환되는 다른 드라이버로 설치되어 있는데, 이것을 적당한 Nvidia 드라이버 패키지를 설치하는 것으로 교체가 되면, 괜찮아 진단다.
Leap motion 구입 작년(2012년) 12월에 pre-order를 걸어놓고 오기만을 기다렸는데.. 딱 8개월후에 결제 confirm메일이 한번 오더니, fedex로 배송이 되어 엊그제 도착. 간단하게 번들 프로그램 한번 돌려보고는 다시 구석으로 팽개쳐졌다. 이유는, KINECT가 처음 나왔을때의 그 임팩트만큼 LEAP MOTION 디바이가 가지지 못했다. 그리고, 무엇보다 아직도 RAW데이터를 확인할 수 없다는 것. 디바이스에서 손가락의 위치를 잡아내기는 잘 잡아내는데, 정작 궁금한 RAW데이터는 뽑아 낼 수가 없다는 것이다.. KINECT나 WII MOTE가 그러한 것처럼, 의도하지는 않았지만 누군가의 HACK과 번뜩이는 아이디어가 자동적으로 나와주기를 바라는 것일까..
NHK에서 지난달에 방송했던 로봇관련 다큐멘터리입니다. 유튜브에 전편이 올라와있네요. 재미있습니다. 로봇혁명, 기계가 인간을 능가할 것인가?
구글도 Deep Learning의 발전을 기대하고 있다.. 몇년전부터였던가.. Deep learning에 대한 관심과 그 가능성에 대한 이야기가 부쩍이나 많아 진듯하다.. 글쎄.. 이런 것을 접하게 된것도 2년정도밖에 안되었지만.. 2년전에도 이런 이야기는 많이 들었지만, 겉으로 들어나는것보다 학회나 연구소같은 연구집단에서는 뭔가 앞으로 새로운 결과를 내어줄 수 있는 부분으로 크게 기대하고 있는것은 분명한것 같다.구글이 항상 투자를 해서 성공을 했던것은 아니지만, 많은 가능성이 있는 곳에 지원을 한다는 것은 전혀 이례적이지 않다. 앞으로 계속 추적하고 연구해 볼만한 것이 아닐까 생각해본다.