임베디드랜드



[로봇 연결하기 04] 간단한 로봇 조종하기 완성

 

작성자: Microsoft Robotics Group 김영준 수석 (yjoonkim@microsoft.com)

 

이전 강좌에 이어서 이번 강좌에서는 이전 강좌에서 완성한 다이어그램이 시뮬레이션 로봇을 연결하는 작업을 소개합니다. 시뮬레이션 로봇을 연결하는 것과 실제 로봇을 연결하는 작업은 동일하며, 일단, 먼저 시뮬레이션 로봇을 연결하는 작업으로 설명을 하도록 하겠습니다.

 

이미 시뮬레이션 로봇을 연결하는 작업은 로봇 연결하기 1번과 2번 강좌에서 소개를 하였기 때문에, 아마도 로봇 연결하기 강좌 1 ~ 3 까지 터득한 개발자 분께서는 이번 강좌 없이도 스스로 로봇을 제어하는 로직을 구현할 수 있을 것으로 예상을 합니다.

 

자 먼저, 로봇을 연결하기 전에 아래와 같이 Merge 액티버티를 추가하여 값을 한 개의 액티버티를 통해서 전달이 되도록 합니다.

 

 

사용자 삽입 이미지

그림 1

 

이미 이전 단계에서 각 Join 액티버티들의 변수 이름을 위의 4가지 경우에 있어서 모두 Left Right 이름으로 전달이 되도록 하였기 때문에, Merge 액티버티를 통과한 값들은 항상 Left Right 이름으로 전달이 됩니다.

 

자 그 다음 작업으로 이제 로봇 연결하기 강좌 1에서 소개하였던 SimulatedGenericDifferentialDrive 액티버티를 추가한 후 Merge 액티버티와 연결합니다.

 

 

사용자 삽입 이미지

그림 2

 

이 때, Connections 창이 실행되면 아래와 같이 SetDrivePower를 선택합니다.

 

사용자 삽입 이미지

그림 3

 

또한 Data Connections 창에서는 아래와 같이 각각 Left Right 값을 선택합니다.

 

 

사용자 삽입 이미지

그림 4

 

그 다음 작업은 아마도 굳이 설명을 드리지 않아도 여러분이 잘 알아서 할 수 있는 작업입니다. 바로 SimulatedGenericDifferentialDrive 액티버티를 선택한 후, Configuration에서 Manifest를 지정해 주는 작업입니다.

 

이미 앞의 강좌에서 많이 설명을 하였으므로, 이번 강좌에서는 P3DX 로봇을 선택한 결과를 보여주도록 하겠습니다. SimulatedGenericDifferentialDrive 액티버티를 마우스로 선택한 후 우측의 Properties 창에서 Use a Manifest 항목을 선택합니다. 그리고 Import 버튼을 클릭하여 아래와 같이 MobileRobots.P3DX…. 로봇을 선택합니다.

 

 

사용자 삽입 이미지

그림 5

 

선택된 결과는 아래와 같습니다.

 

사용자 삽입 이미지

그림 6

 

자 이제 실행시켜 봅니다. 실행 후에는 아래와 같은 버튼 창과 로봇이 보이는 시뮬레이션 창이 표시됩니다. 아래의 버튼을 클릭하여 로봇을 조종해 보시기 바랍니다.

 

 

사용자 삽입 이미지

그림 7

 

사용자 삽입 이미지

그림 8

 

위의 예에서는 회전할 때 로봇이 좀 빠르게 움직이는 감이 없지 않기 때문에, Left Right 버튼에 대해 값을 아래와 같이 0.5에서 0.2의 크기로 수정한 다면, 좀더 부드러운 제어가 가능할 것입니다.

 

 

사용자 삽입 이미지

그림 9

Posted by suvisor