CHOU

[MSRDS] Simulation Tutorial 따라해 보기 본문

Tech/Microsoft Products

[MSRDS] Simulation Tutorial 따라해 보기

chobabo 2009. 4. 21. 10:31

 기존에 로봇을 개발할 때 순서를 크게 생각해 보면, 로봇이 수행하려는 목적을 계획-> 설계-> 개발-> 디버그-> 완성 이 정도로 생각할 수 있습니다. 이때 디버그 과정에서 하드웨어 변경이 필요하게 되는 경우 개발 비용의 증가를 피할 수 없게 됩니다. 따라서 가상의 환경을 실세계와 비슷하게(되도록이면 똑같게) 만든 후 그 속에서 로봇을 개발하면 하드웨어 변경 등과 같은 비용 증가를 막을 수 있게 됩니다. 결국 MSRDS는 이런 목적을 달성하기 위한 소프트웨어 인데.. 가상환경 구축 및 로봇의 엔티티 추가 방법, 모터 또는 센서 등의 디바이스 작동 방법 등을 배우기 위해 시뮬레이션 튜토리얼을 따라해 보면서 이해해 보겠습니다^^.


시뮬레이션을 실행하기 위해서는 기본적으로 추가해야할 dll 파일들이 있는데 이런 dll 파일들은 MSRDS 설치폴더 아래 bin 폴더 안에 있습니다. 아래의 참조 항목들은 copy local property -> false 로 되어 있어야 합니다.

1> RoboticsCommon.dll - PhysicalModel namespace를 포함하고 있으며, 물리적인 로봇 속성을 모델링하기 위한 공통 값들이 정의되어 있습니다.

2> PhysicsEngine.dll - Native physics engine dll에 대한 Managed C++ 랩퍼입니다.

3> SimulationCommon.dll - 공통 타입들이 정의되어 있습니다.

4> SimulationEngine.dll - 랜더링 엔진, 시뮬레이션 상태 관리와 서비스 앞 단 처리를 수행합니다.

5> SimulationEngine.Proxy.dll - 시뮬레이션 엔진 상태의 Proxy이며 엔진이 파트너 서비스로 호출될 때 사용됩니다.



 기본적으로 시뮬레이션 튜토리얼은 자신의 MSRDS 설치폴더 아래 samples/SimulationTutorials 에 1-5 까지 예제가 들어 있습니다. MSRDS 네이버 공식카페( http://cafe.naver.com/msrskorea )에 김영준 수석님 께서 올려주신 시뮬레이션 튜토리얼 예제를 보면서 이 소스를 함께 실행해 보면 이해하기가 수월한 것 같습니다.


 
설명이 워낙에 잘 되어 있어서 튜토리얼과 문서를 병행해서 예제를 이해하면 이해하는데 별 어려움은 없는거 같습니다. 튜토리얼 문서에도 나와 있지만, 엔티티를 추가하기전에 반드시 평지와 같은 대지를 먼저 추가해 줘야 엔티티가 떨어지지 않는다는 사실만 유의하면 프로그래밍 하는데 큰 어려움은 없는것 같습니다.






 튜토리얼 1을 실행해 보면 다음과 같은 화면이 나오게 되는데, 정말 오래된 비디오 카드가 아닌 이상에야 왠만하면 시뮬레이션을 다 돌릴수 있는거 같습니다^^. 튜토리얼은 5부 까지 있는데 설명이 워낙 잘되어 있어서 제 블로그에는 설명서 첨부파일만 올리도록 하겠습니다. 다만 가끔 안되는 부분이 나오는데 그 부분은 네이버 카페에 답변이 많이 올라와 있으니 그 부분을 참고 하시면 될 듯 합니다.



오늘까지 기본적인 MSRDS 기능을 대부분 알아봤기 때문에 다음 부터는 본격적으로 어떻게 서비스를 구성하고 개발할 것인가에 대해 생각해보고 말씀드리도록 하겠습니다. 연구실에 있는 Pioneer 3DX를 이용해도 좋을거 같고, 기존에 있는 로봇을 MSRDS를 이용하여 시뮬레이션 해보는거도 좋을거 같고.. 좀 더 생각해봐야 할 문제이기는 하지만.. 방향을 잡는대로 글 올리도록 하겠습니다 ㅋㅋㅋ.



첨부파일

1. 시뮬레이션 튜토리얼 및 사용자 가이드