ROS2 Tutorial (Basic)
  • 교육 안내
  • ROS2 개요
  • ROS2 환경 구성
  • turtlesim, ROS2 rqt
  • 노드(Node) 이해하기
  • 토픽(Topic) 이해하기
  • 서비스(Service) 이해하기
  • 파라메터(Parameter) 이해하기
  • 액션(Action) 이해하기
  • rqt_console 을 이용해 로그 보기
  • 노드 실행하기(launch)
  • 데이터 기록 및 재생
  • ROS2 프로그래밍 시작
  • 작업공간 만들기
  • 패키지 만들기
  • 간단한 게시자와 구독자 노드 만들기
  • 간단한 서비스 및 클라이언트 작성
  • 사용자 정의 msg 및 srv 파일 생성
  • 사용자 정의 인터페이스 구현
  • 파라메터 사용하기
  • 문제 식별에 ros2doctor 사용하기
Powered by GitBook
On this page
  • 개요
  • 실습
  • Turtlesim 노드 제어

Was this helpful?

Export as PDF

노드 실행하기(launch)

저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo

개요

대부분의 소개 자습서에서는 실행하는 모든 새 노드에 대해 새 터미널을 열었습니다. 점점 더 많은 노드가 동시에 실행되는 더 복잡한 시스템을 만들면 터미널을 열고 구성 세부 정보를 다시 입력하는 것이 지루해집니다.

시작 파일을 사용하면 ROS 2 노드를 포함하는 여러 실행 파일을 동시에 시작하고 구성할 수 있습니다.

ros2 launch 명령 으로 단일 시작 파일을 실행하면 전체 시스템(모든 노드 및 해당 구성)이 한 번에 시작됩니다.

실습

새 터미널을 열고 다음을 실행합니다.

ros2 launch turtlesim multisim.launch.py

이 명령은 다음 시작 파일을 실행합니다.

# turtlesim/launch/multisim.launch.py

from launch import LaunchDescription
import launch_ros.actions

def generate_launch_description():
    return LaunchDescription([
        launch_ros.actions.Node(
            namespace= "turtlesim1", package='turtlesim', executable='turtlesim_node', output='screen'),
        launch_ros.actions.Node(
            namespace= "turtlesim2", package='turtlesim', executable='turtlesim_node', output='screen'),
    ])
메모

위의 실행 파일은 Python으로 작성되었지만 XML 및 YAML을 사용하여 실행 파일을 만들 수도 있습니다. Using Python, XML, and YAML for ROS 2 Launch Files 에서 다양한 ROS 2 실행 형식을 비교할 수 있습니다 .

그러면 두 개의 turtlesim 노드가 실행됩니다.

Turtlesim 노드 제어

이제 이러한 노드가 실행 중이므로 다른 ROS 2 노드처럼 제어할 수 있습니다. 예를 들어 두 개의 추가 터미널을 열고 다음 명령을 실행하여 거북이가 반대 방향으로 운전하도록 할 수 있습니다.

두 번째 터미널에서:

ros2 topic pub  /turtlesim1/turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

세 번째 터미널에서:

ros2 topic pub  /turtlesim2/turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: -1.8}}"

이 명령을 실행하면 다음과 같은 내용이 표시됩니다.

Previousrqt_console 을 이용해 로그 보기Next데이터 기록 및 재생

Last updated 1 year ago

Was this helpful?