turtlesim, ROS2 rqt
저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo
개요
Turtlesim은 ROS2 학습을 위한 경량 시뮬레이터입니다. ROS2가 가장 기본적인 수준에서 수행하는 작업을 설명하여 나중에 실제 로봇 또는 로봇 시뮬레이션으로 수행할 작업에 대한 아이디어를 제공합니다.
ROS2 도구는 사용자가 ROS 시스템을 관리하고, 점검하고, 상호 작용하는 방법입니다. 시스템 및 해당 작업의 다양한 측면을 대상으로 하는 여러 명령을 지원합니다. 이를 사용하여 노드를 시작하고, 매개변수를 설정하고, 주제를 듣는 등의 작업을 할 수 있습니다. ROS2 도구는 핵심 ROS2 설치의 일부입니다.
rqt는 ROS2용 그래픽 사용자 인터페이스(GUI) 도구입니다. rqt에서 수행되는 모든 작업은 명령줄에서 수행할 수 있지만 rqt는 ROS2 요소를 조작하는 보다 사용자 친화적인 방법을 제공합니다.
이 튜토리얼은 노드, 토픽 및 서비스와 같은 핵심 ROS2 개념을 다룹니다. 이러한 모든 개념은 이후 자습서에서 자세히 설명합니다. 지금은 단순히 도구를 설정하고 그에 대한 느낌을 얻을 것입니다.
실습
1. Turtlesim 설치
ROS 2 배포판용 turtlesim 패키지를 설치합니다.
패키지가 설치되었는지 확인합니다.
위의 명령은 Turtlesim의 실행 파일 목록을 반환해야 합니다.
2. Turtlesim 실행
터미널의 명령 아래에서 거북이의 이름과 그것이 생성된 좌표를 볼 수 있습니다.
3. Turtlesim 사용
새 터미널을 열고 ROS 2를 다시 소싱합니다.
이제 새 노드를 실행하여 첫 번째 노드에서 거북이를 제어합니다.
이 시점에서 세 개의 창이 열려 있어야 합니다: 터미널 실행 turtlesim_node
, 터미널 실행 turtle_teleop_key
및 Turtlesim 창. turtlesim 창을 볼 수 있도록 이러한 창을 배열하고, 또한 turtle_teleop_key
turtlesim에서 거북이를 제어할 수 있도록 터미널이 활성화되도록 합니다.
거북이를 제어하려면 키보드의 화살표 키를 사용하십시오. 지금까지 따라온 경로를 그리기 위해 부착된 "펜"을 사용하여 화면 주위를 이동합니다.
list
각 명령의 하위 명령을 사용하여 노드 및 관련 항목, 서비스 및 작업을 볼 수 있습니다 .
4. rqt 설치
rqt를 실행하려면:
5. rqt 사용
rqt를 처음 실행하면 창이 비어 있습니다. 상단의 메뉴 표시줄에서 Plugins > Services > Service Caller를 선택하기만 하면 됩니다
서비스 드롭다운 목록 왼쪽에 있는 새로 고침 버튼을 사용하여 Turtlesim 노드의 모든 서비스를 사용할 수 있는지 확인하십시오.
서비스 드롭다운 목록을 클릭하여 turtlesim의 서비스를 보고 /spawn
서비스를 선택합니다.
5.1 스폰 서비스 사용해보기
rqt를 사용하여 서비스를 호출해 봅시다 /spawn
. /spawn
Turtlesim 창에서 또 다른 거북이를 생성할 이름에서 추측할 수 있습니다 .
Expressionturtle2
열 에서 빈 작은따옴표 사이를 두 번 클릭하여 새 거북이에 와 같은 고유한 이름을 지정합니다 . 이 표현식은 name 값에 해당 하고 string 유형임을 알 수 있습니다 .
다음으로 새 거북이를 생성할 유효한 좌표(예: 및 )를 입력합니다 .x = 1.0 y = 1.0
5.2 set_pen 서비스 사용해보기
스폰하려면 rqt 창의 오른쪽 상단에 있는 call 버튼을 클릭하여 turtle2
서비스를 호출해야 합니다 .
서비스 호출이 성공하면 x 및 y 에 대해 입력한 좌표에서 새 거북이(역시 임의 디자인으로) 생성되는 것을 볼 수 있습니다 .
rqt에서 서비스 목록을 새로 고치면 /turtle2/...
/turtle1/...
.
0에서 255 사이의 r , g 및 b 값은 펜을 turtle1
그리는 색상을 설정하고 너비는 선의 두께를 설정합니다.
뚜렷한 빨간색 선으로 그리 려면 rturtle1
값을 255로, 너비 값을 5로 변경하세요. 값을 업데이트한 후 서비스를 호출하는 것을 잊지 마세요.
가 실행되고 있는 터미널로 돌아와 turtle_teleop_key
화살표 키를 누르면 turtle1
의 펜이 변경된 것을 확인할 수 있습니다.
아마도 움직일 방법이 없다는 것을 알아차렸을 것입니다. turtle2
에 대한 teleop 노드가 없기 때문입니다.
6. 리매핑
turtle2
를 제어하려면 두 번째 teleop 노드가 필요합니다. 그러나 이전과 동일한 명령을 실행하려고 하면 cmd_vel 토픽을
다시 매핑해야 합니다.
새 터미널에서 ROS 2를 소싱하고 다음을 실행합니다.
이제 turtle2
터미널이 활성화되어 있을 때 turtle2를 이동할 수 있습니다.
7. turtlesim 종료하기
시뮬레이션을 중지하려면 종료키를미널에 입력 합니다 .
Ctrl + C
Last updated
Was this helpful?