• LIO-SAM 101

    Why LIO-SAM? 필자가 factor-graph 기반으로 코드 + 논문이 잘 되어 있는 것을 찾아 헤매다 발견한 것이 LIO-SAM 논문이다. 해당 논문을 통하여 gtsam을 어떻게 활용하는지, 수식을 어떻게 코드화시키는 지 배우는 것이 목표이다. LIO-SAM Installing Issues All installation is conducted under the environment of ubuntu 18.04, gcc 7.5.0, gtsam 4.0.3 *** make error /usr/bin/ld cannot find -lBoost::timer Add find_package(Boost REQUIRED COMPONENTS timer) into the CMakeLists of LIO-SAM catkin_make fail - No rule to make target ‘/usr/lib/*/libGL.so’ 이 경우에는 주로 이미 system에 존재하는 libGL.so의 링크를 찾지 못해 발생하는 이슈일 확률이 크다. 다음과 같은 방안으로 이를 해결하자. find -name libGL.* cd {path} sudo ln -sf libGL.so.1.0.0 libGL.so 이는 symbolic link를 만들어주는 코드이다. map_optimization-process died Error 이 경우는 gtsam 4.0.2 version 이외의 gtsam library에 의해 꼬였을 수 있다. local의 모든 gtsam을 제거하고 반드시 4.0.2 version으로 다시 깔도록 하자. LIO-SAM Concept LiDAR Factors 이 LiDAR Factor는 sensor frequency가 높으므로, 다음과 같은 알고리즘을 이용하여 graph의 sparsity를 최대한 유지한다. (1) 현재 내 pose와 전 pose의 차이가 특정 threshold 이상일 때만 lidar factor를 추가 (2) Subkeyframe으로 voxel map을 만든다. (3) Scan-matching 알고리즘을 이용하여 voxel map과 현재 selected keyframe LiDAR feature를 매칭한다. (4) Matched LiDAR feature와 voxel map의 간극을 최소화할 수 있는 optimizing pose T_{i+1}을 찾는다. while if diff(T_{i+1}, T_i) > th Build voxel map with sub-keyframes. <br> Match new LiDAR feature to pre-existent voxel map. <br> Optimize the pose at the keyframe with the objective function of minimizing distance between voxel map and new feature
  • What is factor Graph?

  • GNN Study

  • How to use jekyll library easily(1)?

    This blog is built soley dependent on Jekyll. This post refers to following pages https://iingang.github.io/posts/windows-github-set/ From installing Jekyll to using Jekyll. 지금부터 이어지는 내용은 Window x64 기준으로 Jekyll을 사용하는 법을 서술한 내용이다. What is Jekyll(지킬)? Jekyll은 text 파일을 기반으로 정적 웹페이지를 만들 수 있는 서비스이다. Ruby 기반으로 실행되며, github page(github.io)와 연동이 잘 된다는 장점이 있다. 일반적으로 markdown 기반의 post를 배포한다. How to install Jekyll? Jekyll은 기본적으로 ruby, ruby-rails에 dependent하다. 버전의 안정성을 위하여 Ruby 2.6.0을 선정하는 것을 추천한다. 다음의 블로그를 참고하여 설치를 진행하였다. Ruby installer로 설치 (v. 2.6.0) Ruby install이 완료되었다면, "Start command with Ruby Script 를 열어 다음과 같은 명령어를 입력한다. (gem은 python의 pip와 비슷한 기능을 하는 놈이라고 생각하면 된다.) gem install jekyll gem install minima gem install bundler gem install jekyll-feed gem install tzinfo-data 위의 과정이 완료되었다면 다음을 입력한다. jekyll -v jekyll version이 제대로 표시되었다면 설치가 완료된 것이다. Install Jekyll Jekyll Theme Download Jekyll의 또다른 장점은 bootstrap과 같이 이미 예쁘게 짜여진 template을 제공한다는 점이다. Jekyll Theme Page에 가서 마음에 드는 theme을 골라보자. 마음에 드는 theme의 github page에 방문한 후 url을 복사한다. 개인 github repository에서 {user_name}.github.io의 repository를 생성한다. 이 때 import your project to github을 눌러서, 1에서 복사한 url을 붙여넣는다. Begin Import를 하면, github이 해당 repository를 만들기 위한 optimizing 과정을 거친다. {user_name}.github.io 도메인에 해당 홈페이지가 나타나는 것을 확인한다. *** Customize your blog 위에서 설정한 repository의 url을 기반으로 git clone을 받는다. {username}.github.io의 폴더가 나타날 것이다. 해당 폴더로 이동 cd {username}.github.io 다음 명령어를 순차적으로 실행 gem install tzinfo gem install tzinfo-data bundle install bundle update bundle install bundle update는 GemLock 안에 써져 있는 내용을 기반으로 새로운 GemLock을 만들어내는 과정이다. 다음 명령어를 실행하여 로컬 홈페이지를 열자 bundle exec jekyll s http://127.0.0.1:4000으로 접속 Reflect change to your domain github commit 후 push를 하면 당신의 도메인에 로컬에서 진행한 변경사항들이 반영된다.
  • Edit Tip

    Edit Main Page index.html이 homepage의 역할을 함. 다음은 index.html의 내용 --- layout: home --- 즉, _layouts folder의 home.html을 살펴보면 된다. Each folder’s role _layouts : 기본적인 page의 layout을 지정해주는 folder home.html: 메인화면 layout page.html: post.html: 블로그 포스팅 layout default.html: 모든 layout에서 상속되는 layout (navigation bar, table content 설정) _includes: 기본적인 layout에서 각 part를 module화시켜놓은 것. footer.html: head.html: sidebar-toc.html: table of contents 띄워주는 module toc.html: table of contents 알짜배기 module sidebar.html: 이름과 프로필 사진 띄워주는 module _posts: 포스트 글들 (기본적으로 markdown language 기반이어야 함.) _assets: css 파일 => 홈페이지 디자인 파일 img 파일 _data navigation.yml: 네비게이션 바 메뉴 등록 social.yml : twitter, github 등의 링크
  • Favorite commands to maintain your blog

    This command lines are fundamental steps to maintain your blogs. Completely for future-wonsuhk. Run local host to see the result of your edit on editor. cd {your_root_blog_dir} bundle exec jekyll s Specialty of markdown in jekyll % comment % % endcomment % Hyperlink Check out the Jekyll docs for more info on how to get the most out of Jekyll. File all bugs/feature requests at Jekyll’s GitHub repo. If you have questions, you can ask them on Jekyll Talk.
  • Welcome To Jekyll

    You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.
  • This post demonstrates post content styles

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce bibendum neque eget nunc mattis eu sollicitudin enim tincidunt. Vestibulum lacus tortor, ultricies id dignissim ac, bibendum in velit.
  • My Example Post

    Eos eu docendi tractatos sapientem, brute option menandri in vix, quando vivendo accommodare te ius. Nec melius fastidii constituam id, viderer theophrastus ad sit, hinc semper periculis cum id. Noluisse postulant assentior est in, no choro sadipscing repudiandae vix. Vis in euismod delenit dignissim. Ex quod nostrum sit, suas decore animal id ius, nobis solet detracto quo te.
  • Task Item List

    This post tests the style of a task item list.
  • 1