본문 바로가기

전체 글

[SLAM] g2o - Alternative Parameterizations 논문 섹션 리뷰 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/894277280931917/ 본 포스트에서는 g2o 논문의 여러 섹션 중 "B. Alternative Parameterizations" 부분을 리뷰한다. 해당 부분은 A Tutorial on Graph-Based SLAM 논문에서 "C. Least Squares on a Manifold" 부분을 봐야 정확한 이해가 가능해서 해당 부분을 코드와 같이 리뷰한.. 더보기
[SLAM] g2o example 코드 리뷰 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/943685952657716/ 본 포스트에서는 g2o example 폴더에 있는 예제 코드를 리뷰한다. 예제 코드를 통해 g2o 코드를 사용하여 최적화하는 방법을 익힐 수 있다. data_fitting/circle_fit 위와 같은 초록색 점들의 분포가 있을 때, 해당 데이터를 가장 잘 표현하는 원의 중점과 반지름을 구하시오. (정답: 회색 점선) This.. 더보기
[SLAM] Visual LiDAR Odometry and Mapping (V-LOAM) 논문 리뷰 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/862881467404832/ 본 포스트는 DEMO와 LOAM의 저자가 ICRA 2015에 게재한 논문인 "Visual-Lidar Odometry and Mapping: Low-Drift, Robust, and Fast" (V-LOAM) 논문을 리뷰한 포스팅이다. 해당 논문은 사실 상 DEMO + LOAM = V-LOAM과 같이 두 알고리즘을 퓨전한 논문이.. 더보기
[SLAM] Depth Enhanced Monocular Odometry (DEMO) 논문 리뷰 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/858942477798731/ 본 논문은 LOAM의 저자가 작성한 visual odometry 관련 논문이고 IROS 2014에 게재되었다. 해당 논문에서 설명하는 DEMO는 추후 LOAM과 결합하여 V-LOAM이 된다. 최근 Image + Depth가 있는 상태에서 visual odometry를 계산하는 방법들이 많이 연구되고 있다. 하지만 depth가 .. 더보기
[SLAM] Direct Sparse Odometry (DSO) 논문 및 코드 리뷰 (2) 4. Keyframes4.1. Inverse Depth UpdateTo be added4.2. Immature Point ActivationTo be added4.3. Sliding Window Optimization4.3.1. Error Function Formulation특정 프레임이 키프레임으로 결정되면 sliding window 내부의 키프레임들과 새로운 키프레임 사이에 에러함수를 업데이트해야 한다. 이 때, 키프레임 뿐만 아니라 이와 연결되어 있는 맵 상의 포인트들까지 같이 최적화하는 Local Bundle Adjustment (LBA)를 수행한다. 주목할 점은 하나의 맵포인트가 두 개의 키프레임(host, target)과 연결되어 최적화된다는 점이다. 여기서 host 키프레임은 해당 맵포인트를.. 더보기
[SLAM] Direct Sparse Odometry (DSO) 논문 및 코드 리뷰 (1) 본 포스트에서는 direct method 기반의 VO 알고리즘으로 유명한 DSO 논문을 리뷰한다. DSO 코드를 분석하면서 논문에서는 생략된 디테일한 부분들이 굉장히 많다는 것을 알게되었고 이미 잘 정리된 다른 분들의 자료를 참고하여 수식 유도부터 코드 리뷰까지 포함하는 정리본을 작성하게 되었다. 1. Initialization1.1 Calibrationdirect method는 밝기오차를 최적화하여 카메라의 포즈를 추정하기 때문에 이미지의 밝기 차이에 민감하다. SLAM에서 주로 사용하는 머신비전 카메라는 일반적으로 이미지의 밝기 변화에 따라 노출시간을 자동으로 조절하므로(auto exposure) 노출시간에 따른 밝기 변화가 심한 경우 direct method는 정상적으로 작동하지 않을 수 있다. 아.. 더보기
[SLAM] Lidar Odometry And Mapping (LOAM) 논문 리뷰 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/809268749432771/ 본 논문은 6자유도 ($x,y,z,\theta_x, \theta_y, \theta_z$) 공간에서 2-axis LiDAR 센서가 생성하는 데이터로 Odometry와 Mapping을 실시간으로 계산하는 SLAM 알고리즘을 제안하였다. 기존의 방법들은 주로 offline에서 loop closure를 활용해 drift를 최소화한 3.. 더보기
[SLAM] Feature-based와 Direct method VO 개념 비교 본 포스트는 공부 목적으로 작성하였습니다. 혹시 보시는 도중 잘못된 부분이나 개선할 부분이 있다면 댓글이나 메일주시면 확인 후 수정하도록 하겠습니다. 해당 포스트는 앞서 pdf 파일로 정리했던 자료를 포스팅한 글입니다. 자세한 내용은 다음 링크를 통해 확인해주세요. https://www.facebook.com/groups/slamkr/permalink/1043277826031861/ 해당 포스트는 visual odometry 알고리즘에서 포즈를 계산하는 대표적인 두가지 방법인 feature-based와 direct method의 차이점에 대해 설명한다. feature-based는 ORB SLAM2 코드를 참조하여 작성하였고 direct method는 DSO 코드를 참조하여 작성하였다. 두 방법 모두 처음.. 더보기
WMIC 명령어를 활용한 시스템 분석 - 여러가지 명령어들 1 WMIC 명령어 1.1 os 관련 정보 출력 (간략하게) wmic os list brief /format:list 정보를 html 형식으로 출력해서 확인한다 wmic /output:osinfo.html os get /format:hform 시스템을 종료하거나 리부팅한다 wmic os where "status='ok'" call shutdown wmic os where "status='ok'" call reboot OS의 속성을 확인할 수 있다 (컬럼) wmic os get /? 1.2 cpu 관련 정보 출력 (간략하게) wmic cpu list brief /format:list 1.3 logicaldist 관련 정보를 확인한다 wmic logicaldisk where drivetype=3 get na.. 더보기
Powershell 명령어를 활용한 시스템 분석 - 여러가지 명령어들 1 Powershell 명령어 본 포스팅에 사용한 파워쉘 버전은 5.1버전이다. 1.1 Get-… 1.1.1 Get-Process 프로세스 정보를 확인한다 (gps) get-process [s] 로 시작하는 모든 프로세스를 확인한다 get-process [s]* 어떤 프로세스가 700개 이상의 핸들을 점유하고 있는 지 확인한다 get-process | where handles -gt 700 | sort cpu -descending workingset 메모리가 100M 이상인 프로세스를 확인한다 get-process | where-object {$_.workingset -gt 100mb} | sort pm -descending 프로세스 중 마지막 10개만 정렬해서 htm 문서화한다 get-process |.. 더보기
cmd 명령어를 활용한 시스템 분석 - 여러가지 명령어들 1 cmd 명령어 모든 cmd 명령어는 Windows + R키나 cmd 명령창에서 실행하실 수 있다. 추가적으로 sysinternals 와 nirsoft 명령어 목록도 포스팅에 작성하였다. 1.1 .msc 1.1.1 eventvwr.msc(이벤트뷰어) 1.1.2 gpedit.msc(로컬 그룹 정책 설정) 1.1.3 secpol.msc(로컬 보안 설정) 1.1.4 wmimgmt.msc(WMI 관리자) 1.1.5 certlm.msc (인증서관리자 - 로컬컴퓨터) 1.1.6 certmgr.msc(인증서관리자 - 현재사용자) 1.1.7 fsmgmt.msc(공유폴더) 1.1.8 lusrmgr.msc(로컬 사용자 및 그룹) 1.1.9 printmanagement.msc(프린터 관리) 1.1.10 wf.msc(방화벽.. 더보기
VPython 예제10 - 2자유도 반한정계 스프링-질량 애니메이션 1 문제 위의 조건을 바탕으로 2자유도 반한정계 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 2 코드 from vpython import * # 7.6.2 from math import * #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 생성합니다 scene.center = vector(0,0,0) scene.width = 800 scene.height = 300 # 2개의 물체를 생성합니다. 거리는 5m 간격으로 일정합니다 block1 = box(pos=v.. 더보기
VPython 예제9 - 2자유도 스프링-질량계 애니메이션 (2) 1 문제 위의 조건을 바탕으로 2자유도 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 단, 중력에 의한 평형상태를 x1 = 5m, x2 = 10m 로 보고 중력의 영향을 무시한다. 2 코드 # code from https://www.youtube.com/watch?v=c3tX_qReGIM from vpython import * # 7.6.2 #----------------------------------------------------------------- # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 화면 객체를 생성합니다. background 색과 카메라 center 포인트를 설정한.. 더보기
VPython 예제8 - 2자유도 스프링-질량계 애니메이션 1 문제 위의 조건을 바탕으로 2자유도 스프링-질량계의 움직임을 애니메이션화하는 코드를 작성하시오. 단, 마찰력은 무시한다. 2 코드 # code from https://youtu.be/H8CzQtx9vds from vpython import * # 7.6.2 from math import * #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 생성합니다 scene.center = vector(0,0,0) scene.width = 800 scene.height = 300 # 2.. 더보기
VPython 예제7 - 공의 자유낙하 애니메이션 (free-fall) (2) 1 문제 위의 조건을 바탕으로 공의 자유낙하운동을 애니메이션화하는 코드를 작성하고 공의 x,v,a를 시간에 따라 그래프로 표현하는 코드를 작성하시오. 이 때, 공은 완전탄성충돌을 한다. 2 코드 # code from http://tcjd71.wixsite.com/vpython/blank-1 from vpython import * # 7.6.2 #------------------------------------------------------------------ # 그래픽 그려주는 코드 #------------------------------------------------------------------ # 그래픽창을 설정하는 코드 # scene.range = (5,5,5) scene.center = .. 더보기