주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

ros2node

지정된 네트워크에 ROS 2 노드 만들기

설명

ros2node 객체는 ROS 2 노드를 나타내며, 이를 사용하여 ROS 2 네트워크 내의 나머지 노드들과 통신할 수 있습니다. publisher와 subscriber를 만들려면 노드를 먼저 만들어야 합니다.

생성

설명

node = ros2node(Name)은 지정된 Name을 갖는 ROS 2 노드를 초기화합니다. ROS_DOMAIN_ID 환경 변수에 의해 달리 지정되지 않는 한, 이 노드는 도메인 ID 0으로 지정된 네트워크에 있는 노드입니다.

RMW_IMPLEMENTATION 환경 변수에 의해 달리 지정되지 않는 한, 노드는 기본적으로 'rmw_fastrtps_cpp' ROS 미들웨어(RMW) 구현을 사용합니다. RMW_IMPLEMENTATION 객체를 만들기 전에 ros2node 환경 변수를 설정합니다. 예를 들어 setenv('RMW_IMPLEMENTATION','rmw_cyclonedds_cpp')는 RMW 구현을 'rmw_cyclonedds_cpp'로 설정합니다. RMW 구현에 대한 자세한 내용은 Switching Between ROS Middleware Implementations 항목을 참조하십시오.

예제

node = ros2node(Name,ID)는 이름이 Name인 ROS 2 노드를 초기화하고 도메인 ID를 사용하는 네트워크에 연결합니다.

예제

node = ros2node(___,Parameters=params)는 위에 열거된 구문의 인수를 사용하면서, 이름-값 인수 Parameters를 사용해 노드를 시작하면서 선언할 파라미터를 지정합니다. params는 파라미터를 필드로 포함하는 구조체로 지정합니다. params의 각 파라미터는 스칼라이거나 uint8, int64, logical, string, char 또는 double 데이터형으로 구성된 배열일 수 있습니다.

예제

입력 인수

모두 확장

ROS 2 네트워크에 있는 노드의 이름입니다.

참고

ROS 1에서는 노드 이름이 고유하며, 따라서 동일한 이름의 노드가 새로 시작될 때는 기존 노드를 종료시켜서 이름의 고유성을 유지합니다. ROS 2에서는 노드 이름의 고유성이 강제되지 않습니다. 새로운 노드를 생성할 때 기존 노드를 나열하려면 ros2 함수를 사용하십시오.

ROS 2 네트워크의 도메인 ID입니다.

데이터형: double

속성

모두 확장

읽기 전용 속성입니다.

ROS 2 네트워크에 있는 노드의 이름입니다.

예: "/node_1"

데이터형: char

읽기 전용 속성입니다.

ROS 2 네트워크의 도메인 ID로, 0과 232 사이의 음이 아닌 정수 스칼라로 지정됩니다.

예: 2

데이터형: double

객체 함수

deleteRemove reference to ROS 2 node
getParameterGet value of parameter declared in ROS 2 node
setParameterSet value of parameter declared in ROS 2 node

예제

모두 축소

디폴트 ROS 2 네트워크에서 노드 '/node_1_default'를 초기화합니다.

node1 = ros2node('node_1_default')
node1 = 
  ros2node with properties:

    Name: '/node_1_default'
      ID: 0

도메인 2로 식별된 ROS 2 네트워크에서 노드 '/node_2_specified'를 초기화합니다.

node2 = ros2node('node_2_specified', 2)
node2 = 
  ros2node with properties:

    Name: '/node_2_specified'
      ID: 2

ROS 2 노드에 대한 모든 파라미터를 포함하는 구조체를 만듭니다.

nodeParams.my_double = 2.0;
nodeParams.my_namespace.my_int = int64(1);
nodeParams.my_double_array = [1.1 2.2 3.3];
nodeParams.my_string = "Keyparams";

ROS 2 노드를 만들고 nodeParams를 파라미터로 지정합니다.

node1 = ros2node("/node1",Parameters=nodeParams);

파라미터 my_double을 새 값으로 설정합니다.

setParameter(node1,"my_double",5.2);

파라미터 my_double의 새 값을 가져옵니다.

doubleValue = getParameter(node1,"my_double")
doubleValue = 
5.2000

확장 기능

모두 확장

버전 내역

R2019b에 개발됨