Main Content

rosinit

ROS 네트워크에 연결

R2019b 이후

설명

예제

rosinit는 MATLAB® 디폴트 이름으로 전역 ROS 노드를 시작하고 localhost 및 포트 11311에서 실행되는 ROS master에 연결을 시도합니다. 전역 ROS 노드가 ROS master에 연결할 수 없는 경우 rosinit는 MATLAB에서 ROS master, ROS 파라미터 서버, rosout 기록 노드로 구성된 ROS core도 시작합니다.

참고

ROS 네트워크에 처음 연결할 때 Python을 설치하고 설정해야 합니다.

  • R2020b에서 R2021b 버전까지는 Python® 2.7을 설치합니다.

  • R2022a 버전 이상은 Python 3.9를 설치합니다.

MATLAB에서 Python 버전을 확인하고 ROS Toolbox와 함께 사용하도록 구성하려면 ROS Toolbox 시스템 요구 사항 항목을 참조하십시오.

예제

rosinit(hostname)hostname에 지정된 호스트 이름 또는 IP 주소로 ROS master에 연결을 시도합니다. 이 구문은 11311을 디폴트 포트 번호로 사용합니다.

rosinit(hostname,port)hostname에 지정된 호스트 이름 또는 IP 주소와 port에 지정된 포트 번호로 연결을 시도합니다.

rosinit(URI)는 지정된 리소스 식별자 URI(예: "http://192.168.1.1:11311")로 ROS master에 연결을 시도합니다.

예제

rosinit(___,Name,Value)는 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 제공합니다.

MATLAB에서 대부분의 ROS 관련 작업에 rosinit가 선행되어야 하는 이유는 다음과 같습니다.

  • ROS 네트워크와 통신하려면 ROS master에 연결된 ROS 노드가 필요합니다.

  • 기본적으로 MATLAB의 ROS 함수는 전역 ROS 노드에서 연산을 수행하거나 전역 ROS 노드에 종속된 객체에서 연산을 수행합니다.

예를 들어, rosinit를 사용하여 전역 ROS 노드를 생성한 후 전역 ROS 노드에서 토픽을 서브스크라이브할 수 있습니다. ROS 네트워크의 다른 노드가 해당 토픽에 대한 메시지를 퍼블리시하면 전역 ROS 노드가 메시지를 수신합니다.

전역 ROS 노드가 이미 존재한다면 rosinit는 새로운 인수들을 기반으로 전역 ROS 노드를 다시 시작합니다.

고급 ROS 네트워크의 경우 Node 객체를 사용하여 여러 ROS 노드 또는 ROS master에 연결할 수 있습니다.

예제

모두 축소

rosinit
Launching ROS Core...
Done in 0.80585 seconds.
Initializing ROS master on http://172.30.179.62:50023.
Initializing global node /matlab_global_node_64506 with NodeURI http://dcc423213glnxa64:37599/ and MasterURI http://localhost:50023.

마쳤으면 ROS 네트워크를 종료합니다.

rosshutdown
Shutting down global node /matlab_global_node_64506 with NodeURI http://dcc423213glnxa64:37599/ and MasterURI http://localhost:50023.
Shutting down ROS master on http://172.30.179.62:50023.
rosinit('192.168.17.128')
Initializing global node /matlab_global_node_57409 with NodeURI http://192.168.17.1:57782/

마쳤으면 ROS 네트워크를 종료합니다.

rosshutdown
Shutting down global node /matlab_global_node_57409 with NodeURI http://192.168.17.1:57782/
rosinit('192.168.17.128', 'NodeHost','192.168.17.1','NodeName','/test_node')
Initializing global node /test_node with NodeURI http://192.168.17.1:57633/

마쳤으면 ROS 네트워크를 종료합니다.

rosshutdown
Shutting down global node /test_node with NodeURI http://192.168.17.1:57633/

입력 인수

모두 축소

호스트 이름 또는 IP 주소로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

ROS master에 연결하기 위해 사용되는 포트 번호로, 숫자형 스칼라로 지정됩니다.

ROS master의 URI로, string형 스칼라 또는 문자형 벡터로 지정됩니다. URI의 표준 형식은 http://ipaddress:port 또는 http://hostname:port입니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 버전에서는 쉼표를 사용하여 각 이름과 값을 구분하고 따옴표로 Name을 묶으십시오.

예: "NodeHost","192.168.1.1"

노드가 ROS 네트워크에 자신을 알리는 호스트 이름 또는 IP 주소로, "NodeHost"와 함께 문자형 벡터가 쉼표로 구분되어 지정됩니다.

예: "comp-home"

전역 노드 이름으로, "NodeName"과 함께 문자형 벡터가 쉼표로 구분되어 지정됩니다. rosinit를 통해 생성된 노드는 이 이름으로 ROS 네트워크에 등록됩니다.

예: "NodeName","/test_node"

버전 내역

R2019b에 개발됨