48일차 - Particle Filter, 파티클 리샘플링, Resampling Wheel
파티클 리샘플링 생각했던 것보단 어렵겠지만, 시작해봅시다. 한 번 만들어 놓으면 이후에 어떤 파티클 필터 시스템에서도 사용할 수 있습니다. 여기 3개의 값(x, y, orientation)을 가지는 N 개의 파티클이 있습니다. 또한 N 개의 weights가 있죠. weights를 w1, ..., wN으로 표기하고, 이를 모두 합한 값을 W라고 표기하겠습니다. weights를 노말라이즈 하는 과정은 이전에 Histogram Filter에서 했던 것과 비슷합니다. 노말라이즈 된 weights를 a1, ..., aN으로 표기하겠습니다. a1 = w1 / W 고로 sum(a1, ..., aN) = 1이 됩니다. 이렇게 노말라이즈 된 weights를 사용하여 다시 파티클을 그립니다. a2가 크다면 여러 번 그리고..
더보기
44일차 - OpenManipulator MoveIt! 패키지 생성하기
MoveIt? MoveIt!은 매니퓰레이터를 위한 통합 라이브러리입니다. 모션 플래닝을 위한 빠른 역기구학 해석, 매니퓰레이션을 위한 고급 알고리즘, 로봇 핸드 제어, 동역학, 제어기 등 다양한 기능을 제공하고 있으며, URDF와 SRDF를 통해 로봇에 대한 정보를 입력 받습니다. RViz 플러그인 형태의 GUI 툴을 제공하기 때문에 학습이 쉬우며, C++ 기반 move_group interface, Python 기반 move_commander, RViz Motion Planning Plugin 이외에도 OMPL, KDL, FCL, RRT 등 다양한 오픈소스 기반 라이브러리를 제공합니다. MoveIt! 구조 MoveIt!에는 SPA(Sensing-Plan-Action) 기능이 모두 갖춰져 있습니다. 센싱..
더보기