레이블이 점유 격자 지도인 게시물을 표시합니다. 모든 게시물 표시
레이블이 점유 격자 지도인 게시물을 표시합니다. 모든 게시물 표시

2014년 10월 1일 수요일

Rsimulator

github에서 Rsimulator 보기


Rsimulator 소개

 Rsimulator는 Visual studio 2010, C++, opencv 기반으로 만들어진 이동 로봇 시뮬레이터입니다.

라이센스

 Rsimulator는 GPL을 따릅니다.(GPL 한글 번역 전문)

 기업, 학교, 개인이 마음대로 개작하고 재배포해도 좋지만, 개작된 소프트웨어의 소스코드는 GPL에 따라 공개되어야 하고 Rsimluator를 사용했다는 것을 밝혀야 합니다.. Rsimulator를 공공의 목적으로 공개하는 이유이기도 합니다.

기능 명세

  • 로봇 설정(두 개의 바퀴와 하나의 캐스터)
  • 장애물 환경 디자인(사각형, 원형, 직선 등)
  • 초음파, 레이저 센서 스캔 시뮬레이션
  • 점유 격자 지도 작성 시뮬레이션
  • 전역 경로 계획 시뮬레이션
  • 지역 경로 계획 시뮬레이션
  • UKF SLAM 시뮬레이션

소스 다운로드 방법

 git에 대해 익숙하신 분은 본 글 상단의 링크를 참고하시면 됩니다.

 처음이신 분은 본 글 상단의 링크를 통해 Rsimulator git을 fork하고

 github for windows를 통해 clone을 받으시면 됩니다.

간단 사용 방법

 처음 화면에 몇 개의 원이 뿌려져 있습니다. 랜덤하게 생성된 35의 점(랜드마크 입니다.) r 키로 적당한 크기의 로봇의 생성시키고 space bar를 누르면 정해진 궤적을 따라가면서 SLAM을 수행합니다.
 왼쪽 메뉴의 DT, VFF, VFH를 선택하면 로봇이 다르게 반응합니다. 자세한 설명서는 시간이 허락하면 작성할 계획입니다.

시뮬레이터 개선 계획

  현재는 없습니다. 다만, 본 프로그램을 사용하시는 분이 좋은 아이디어를 바탕으로 개선한 내용을 github에 pull하고 싶으시다면 적극 환영합니다. 공동으로 작업하고 싶은 의향도 있습니다. 그것이 공중 소프트웨어의 본질이라고 생각합니다.

시뮬레이터 실행 화면






2014년 8월 19일 화요일

점유 격자 지도(Occupancy grid)

Occupancy grid mapping

점유 격자 지도

 이동 로봇의 지도 작성에 대해 관심을 가지기 시작한 시절(1980년대 후반)에는 현재보다 센서와 프로세서의 성능이 현저히 낮았다. 센서들은 물리적인 모델을 잘 따라오지 못했고, 바퀴의 인코더로부터 얻을 수 있는 오도메트리(Odometry) 정보는 그 불확실성을 더하게 만들었다.

 그러한 상황에서 확률 기반의 지도 작성 방법을 가장 이상적으로 적용할 수 있는 현실적인 방법이었을 것이다. 여기서 다시 한 번 베이지안 추론 방법이 적용된다.



 각 셀의 점유 확률을 구하는 것이 목적이며, 사전 정보가 없는 미확인 지역에 대해서는 0.5의 사전 확률로 채운다. 그림에서 보인 것은 초음파 센서의 확률 모델인데, 이것이 현재 로봇 위치에서 취득된 값에 대한 우도(Likelihood)가 된다. 초음파 센서는 편각 15도를 가지는 원뿔형태로 방사되는 특징을 가지고 있다. 그러므로 초음파 센서가 인식한 거리는 방사각 만큼의 불확실성을 가지고 있다는 의미가 있다.

이미지 원본: www.frc.ri.cmu.edu

 Metric mapping은 실제 거리 정보에 대해 알고 있으므로 경로 계획에도 중요한 자산이 된다.