Blog | Tag | Local | Guest | Login | Write |  RSS

그동안 VPL만 주구장창 했군요.-_-;;;

정작 로봇은 보여드리지도 않고...;;

-_-;;




오늘은 로봇을 직접 조종할 수 있는 시뮬레이션 모드에 대해서 설명하겠습니다.

레고 마인드스톰 NXT로봇을 조종할 수 있게 하도록합니다.

음..

만들어져 있는 로봇을 시뮬레이션 하는 것은 쉽습니다.

먼저 VPL을 실행시키고 Diagram에 Simple Dashboard 와 Simulated Generic Differential Drive Activity를 추가합니다.

그 둘을 연결시킬 필요는 없습니다. 다만 SimulatedGenericDifferentialDrive Activity의 Config 정보만 수정하여주면 됩니다.


정보를 수정하기 위해  SimulatedGenericDifferentialDrive Activity를 클릭하여 주시고 화면 오른쪽에 보시면 Properities 창이 보일겁니다.

거기에서 두번째 항목인 Configuration을 보시면 선택가능한 항목들이 있는데 거기서 Use a manifest를 선택합니다.

선택하시면 아래에 Manifest를 선택할 수 있는 콤보박스가 생성됩니다.



Properities에서 import 버튼을 클릭하면 SimulatedGenericDifferentialDrive을 지원하는 서비스 목록들이 표시되는데, 거기에서 LEGO.NXT.Tribot.Simulation.manifest.xml을 선택합니다.



그러면 VPL에서 더 이상 선택할 것은 없습니다.

그리고 실행을 시켜줍니다. 그러면 윈도우 창이 두 개 뜰겁니다.

하나는 Simpledashboard가 실행된 화면이고, 하나는 시뮬레이션 실행화면입니다.

시뮬레이션 실행 화면에 보시면 LEGO NXT Tribot이 보일겁니다.




SimpleDashboard에서 시뮬레이션 로봇에 연결하고 제어해야 합니다. 그러기 위해서는 오른쪽 상단에 있는 Machine : 입력박스에 "localhost"를 입력하고 Connect합니다.



그러면 아래의 Sevice Directory 아래에 (LegoNXTMotorBase) /simulated... 라고 표시 된 항목이 추가 됩니다.


그 생성된 항목을 더블클릭하시면, 왼쪽 Differential Drive에 있는 Motor : 부분이 Motor : On 으로 변경됩니다.



그리고 그 윗 부분의 Drive 버튼을 클릭하고, 그 상태에서 위의 동그라미의 십자선 표시 그 부분이 조이스틱 역할을 하는데 그 것을 마우스로 클릭하며 움직여 보시면, 로봇이 시뮬레이션 화면 안에서 원하는 움직임 대로 움직이는 것을 볼 수 있습니다.


움직여서 장애물 옆으로 옮겨간 모습입니다.


카메라 화면 시점을 움직이고 싶으시면, 시뮬레이션 화면을 클릭하시고 마우스로 옮기면 상하좌우로 회전하고, 키보드의 화살표 키를 누르시면 앞뒤옆 등으로 움직입니다.

단순히 Activity 두 개만을 추가해서 이렇게 로봇을 시뮬레이션 상에서 제어 가능한데, 물론 LEGO NXT 말고도 다른 기본적으로 제공하는 로봇들을 제어가능합니다.