Don't Worry, Be Happy 😛
#robotics#ros2#ros#python#cpp#projects

ROS2 노드와 데이터

ros2 run <특정 패키지 <특정 노드

#10. 노드와 데이터 통신


목차


#정의

이름정의예시
노드(Node)최소 단위의 실행 가능한 프로세스영상 출력 카메라 드라이버 노드 필터링하는 필터 노드, 영상 특징점 추출 노드, 물건 검출 노드, 검출 위치로 로봇 경로 만드는 노드
메시지(Message)노드 사이 주고 받는 입출력 데이터(Integer, Floating point, Boolean, String)토픽(Topic), 서비스(Service), 액션(Action), 파라미어(Parameter)

#Node 실행 : ros2 run

#노드 실행

ros2 run <특정 패키지> <특정 노드>

$ ros2 run turtlesim turtlesim_node
$ ros2 run turtlesim turtle_teleop_key

#노드 그래프 보기 : (동작중인 노드 확인)

rqt_graph

#노드 목록 : (동작중인 node list 보기)

ros2 node list

$ ros2 node list

// 결과
/rqt_gui_py_node_28168
/teleop_turtle
/turtlesim

#노드명 변경 실행 : 같은 노드 일시

! 동일 노드 복수개 실행시, 같은이름으로 실행 된다. → 노드명 변경 권장

$ ros2 run turtlesim turtlesim_node __node:=new_turtle
// new_turtle 이라는 노드 생성 (재할당)

#노드 정보 : ros2 node info

ros2 node info <node_name>

$ ros2 node info /teleop_turtle

//결과
/teleop_turtle
  Subscribers:
    /parameter_events: rcl_interfaces/msg/ParameterEvent
  Publishers:
    /parameter_events: rcl_interfaces/msg/ParameterEvent
    /rosout: rcl_interfaces/msg/Log
    /turtle1/cmd_vel: geometry_msgs/msg/Twist
  Service Servers:
    /teleop_turtle/describe_parameters: rcl_interfaces/srv/DescribeParameters
    /teleop_turtle/get_parameter_types: rcl_interfaces/srv/GetParameterTypes
    /teleop_turtle/get_parameters: rcl_interfaces/srv/GetParameters
    /teleop_turtle/list_parameters: rcl_interfaces/srv/ListParameters
    /teleop_turtle/set_parameters: rcl_interfaces/srv/SetParameters
    /teleop_turtle/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically
  Service Clients:

  Action Servers:

  Action Clients:
    /turtle1/rotate_absolute: turtlesim/action/RotateAbsolute

Share this post