플래닝 Scene 모니터#

플래닝 Scene#

플래닝 Scene은 로봇 주변 세계의 표현과 로봇 자체의 상태를 저장하는 데 사용되는 객체입니다.

planning_scene 객체의 내부 상태는 일반적으로 스레드 안전한 방식으로 상태를 읽고 쓸 수 있게 해주는 planning_scene_monitor 컴포넌트에 의해 유지됩니다.

플래닝 Scene 모니터 아키텍처

월드 지오메트리 모니터#

월드 지오메트리 모니터는 LIDAR나 깊이 카메라와 같은 로봇의 센서와 사용자 입력에서 얻은 정보를 사용하여 월드 지오메트리를 구축합니다.

월드 지오메트리 모니터는 아래에 설명된 occupancy map monitor를 사용하여 로봇 주변 환경의 3D 표현을 구축하고, 객체 정보를 추가하기 위해 planning_scene 토픽의 정보로 이를 보강합니다.

3D 인식#

MoveIt에서 3D 인식은 occupancy map monitor에 의해 처리됩니다.

점유 지도 모니터는 위 그림에 표시된 것처럼 플러그인 아키텍처를 사용하여 다양한 종류의 센서 입력을 처리합니다.

특히 MoveIt은 두 가지 유형의 입력을 처리하는 내장 지원을 제공합니다:

  • 포인트 클라우드: PointCloudOccupancyMapUpdater 플러그인에서 처리합니다.

  • 깊이 이미지: DepthImageOccupancyMapUpdater 플러그인에서 처리합니다.

점유 지도 모니터에 플러그인으로 자신만의 업데이터 유형을 추가할 수 있습니다.

Octomap#

점유 지도 모니터는 Octomap을 사용하여 환경의 점유 지도를 유지 관리합니다.

Octomap은 실제로 개별 셀에 대한 확률 정보를 인코딩할 수 있지만, 이 정보는 현재 MoveIt에서 사용되지 않습니다.

Octomap은 MoveIt이 사용하는 충돌 감지 라이브러리인 FCL에 직접 전달될 수 있습니다.

깊이 이미지 점유 지도 업데이터는 자체 셀프 필터를 포함합니다. 즉, 깊이 맵에서 로봇의 보이는 부분을 제거합니다. 이 작업을 수행하기 위해 로봇에 대한 현재 정보(로봇 상태)를 사용합니다.