우선 구글에서 mingw를 검색해 나오는 sourceforge에서 download를 해주고, 실행파일을 클릭해 설치 과정을 진행한다. 제일 마지막 폴더에 파일들이 흩뿌려지므로, 폴더 하나를 마지막 단에 하나를 만들어줘서 설치되는 파일들을 감쌌다. 다 되면 Step2가 완료되고 Continue가 활성화된다. 그것을 누르면 아래와 같은 화면이 뜬다. mingw 에서 제공하는 컴파일러중 내가 사용할 언어 관련 필요한 컴파일러를 선택하여 설치하는 과정이다. c++개발을 할 것이므로 mingw-developer-toolkit, mingw32-base, mingw32-gcc-g++, msys-base를 선택.
분류 전체보기
vscode 에서 c++ 개발 시작! 나처럼 파이썬을 기본으로 입문한 사람들에게 vscode는 파이참과 함께 가장 인기가 많은 느껴지곤 한다. 파이참과 비교를 했을때, 뭔가 설정할 부분이 많고 잘못 건드리면 툭하고 에러가 나는 어려운 에디터라고 생각이 들었다. 하지만 연구를 진행하며 리눅스에서 c++로 개발을 연습해야할 일이 생겨 공부를 했다. vscode는 실행을 하기 위해 몇가지 json 파일(c_cpp_properties.json: 에디팅에 관한 설정, tasks.json: 툴에 관한 설정, launch.json: 실행에 관한 설정)을 작성해야한다. 셋 다 영역이 모호하다는 느낌이 강하게 들며, 실제로 결국엔 동일한 뜻의 내용을 적을 때가 많다. 꼭 해야하나 싶지만, 보통 이걸 애매하게 했다간 오류..
행동: ./Monocular/mono_euroc ../Vocabulary/ORBvoc.txt ./Monocular/EuRoC.yaml ../DataSets/EuRoC/MH01/ ./Monocular/EuRoC_TimeStamps/MH01.txt 예상된 결과: ORB3_SLAM Example 데이터 실행 결과: ./Monocular/mono_euroc: error while loading shared libraries: libpango_display.so: cannot open shared object file: No such file or directory 원인: (base) ict-526@ict526-MS-7D32:~$ ldd ./src/ORB_SLAM3/Examples/Monocula/mono_eur..
Photometry(Optics, 광학) 빛을 측정하는 학문인데, 사람의 눈에 받아들여지는 밝기의 정도로 빛을 측정한다. 따라서 전자기파 중에도 오직 가시광선만을 측정한다. 광학의 일부분으로 보는게 맞는 것 같다. 처음에는 이게 과학적으로 측정이 가능한가 의심이 들었다. 한편, 이와 반대되는 개념이 있으며, 우리의 상식에 맞는 학문이 있다. Radiometry 전자기파의 절대적인 에너지 크기를측정하는 기술들의 집합이다. 모든 종류의 전자기파를 측정하며, 전자기파 방사의 세기를 측정한다. 분포(distribution of radiation's power)를 주로 측정한다. IR(적외선, Infrared)을 측정하는 용어로도 쓰인다. Photometry에서 빛을 측정하는 법 현대 Photometry에서는 파..
gdb로 orbslam 코드를 디버깅하려고 하는데, 파일 주소를 저장한 vector 컨테이너의 사이즈가 -11로 초기화된 상태인 거를 발견했다. vector 구성요소 하나하나를 조회하는 디버깅을 하려면 다음과 같은 명령어를 쳐야한다. pvector 혹은 print *(your_vector._M_impl._M_start)@your_vector_size 인데, 아래 것은 오류가 난다. 디버깅을 하며 왜그런지 확인하고, 내가 원하는 대로 벡터 구성요소를 확인해보자. 0. gdb 명령어로 실행파일이 디버깅 가능한 상태로 빌드해놓은 상태여야 한다(앞선 포스트 참고). 1. 디버깅 시작 2. main 함수(또는 원하는 지점)에 브레이킹 포인트 지정, 그리고 레이아웃을 보기 편하게 바꾼다. b *main layout..
custom data 를 실행하기 위해 소스코드를 수정하고 있다. 파일 경로가 문제가 일어나고 잇는데, 원인을 파악하기 위해 Linux 환경에서 gdb를 이용한 디버깅을 진행하고 있다. 1. orb slam3의 cmakelists.txt 위에 debug 모드로 컴파일 할 것을 명령해야 한다. cmake_minimum_required(VERSION 2.8) project(ORB_SLAM3) IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE Debug) # >> Release를 Debug로 바꿔주었다. ENDIF() MESSAGE("Build type: " ${CMAKE_BUILD_TYPE}) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3"..
DSO SLAM 설치시에는 주로 두가지 에러가 떴었다. opencv, pangolin 설치 순서상으론 opencv 를 설치하므로 이거 에러를 먼저 해결해야될 것 같지만, 수정해야할 소스코드가 적으니 그냥 opencv4를 쓰고 나중에 빌드 먼저 시도하고 난 에러를 수정하는 방법을 택했다. 1. Pangolin 설치 Pangolin은 git repository에서는 설치하는게 간단해 보인다. 그런데, 나중에 dso slam 빌드 명령어 결과(cmake ..)를 자세히 보면 could not found Pangolin 이라는 상태가 표시될 수도 있다. 그거는 Pangolin이 빌드는 되었는데, 설치가 안된 상황이라고 봐야한다. 원인은 자세히 모르겠으나, Pangolin repository에서 v0.6 을 받아..
c++에서 gdb를 쓰기위해서는 빌드단계에서 -g flag를 넣어준 상태로 빌드가 되어있어야 한다. 안했다면, 다시 빌드해주면 도니다. 나는 cmake를 사용하는 프로젝트였기에, 아래의 방법을 활용할 것이다. If you want to build for debug (including source information, i.e. -g) when compiling, use cmake -DCMAKE_BUILD_TYPE=Debug If you want to build a release build, you can use cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo https://stackoverflow.com/questions/10005982/how-do-you-set-gdb-debug..
https://github.com/tum-vision/LDSO GitHub - tum-vision/LDSO: DSO with SIM(3) pose graph optimization and loop closure DSO with SIM(3) pose graph optimization and loop closure - GitHub - tum-vision/LDSO: DSO with SIM(3) pose graph optimization and loop closure github.com https://github.com/tum-vision/online_photometric_calibration GitHub - tum-vision/online_photometric_calibration: Implementation..
https://www.vuzix.com/products/vuzix-blade-smart-glasses-upgraded Vuzix Blade Upgraded Smart Glasses Discover the Vuzix Blade Upgraded smart glasses: Market-leading AR technology with certified eye protection. www.vuzix.com 현대건설에서 무인드론을 통해 얻은 데이터를 품질점검, 공정확인을 하기위해 현장 근무자와 본사 관계자가 실시간으로 동일한 장면을 보면서 회의할 수 있는 체계를 개발했다. https://www.hankyung.com/realestate/article/202112029777e 현대건설, 무인드론·스마트글래스로 건설현..