반응형

1. Prerequisites

우선 간단한 시뮬레이터를 사용하기 위해 아래 코드를 입력한다.

$ sudo apt-get install ros-<버전이름>-ros-tutorials
(버전이름으로 melodic, kinetic 등을 사용)

 

 

2. Quick Overview of Graph Concepts

* nodes: 실행가능한 요소로 ROS에서 다른 노드들과 통신을 위해 사용된다.

* Messages: 토픽을 publish, subscribing 함에 있어 전달되는 ROS 데이터의 타입이다.

* Topics: 노드들은 토픽에 대한 메시지를 publish 하거나 subscribe할 수 있다.

* Master: 노드들이 서로를 찾을 수 있도록 한다.

* rosout: stdout/stderr 역할을 수행

* roscore: Master + rosout + parameter server 수행

 

 

3. Nodes

ROS 패키지 안의 노드들은 실행 가능한 파일들보다 적다. ROS에서 노드들은 ROS client library를 통해

서로 통신하게 되고 노드들은 Topic에 publish(send message) 혹은 subscribe(receive message) 수행.

 

 

 

4. Client Libraries

ROS client libraries는 각각 다른 언어로 작성된 노드들이 서로 통신할 수 있도록 한다.

* rospy = python client library

* roscpp = c++ client library

 

 

 

5. Roscore

ROS를 사용할때 가장먼저 시작되어야 할 부분으로 roscore을 실행하면 다음과 같은 결과를 확인할 수 있다.

 

 

6. Using rosnode

새로운 터미널을 열어 roscore을 실행시킨 후 rosnode를 입력하면 roscore가 무슨 일을 하는지 확인해볼 수 있다.

 

$ rosnode list  를 입력하면

/ rosout  이라는 출력을 확인할 수 있다.

 

이는 현재 하나의 노드(rosout 노드)가 실행중임을 의미한다. 해당 노드에 대한 자세한 정보를 확인하고 싶으면

아래 명령어를 입력한다.

 

이제 그럼 조금 더 다양한 노드들을 사용해보자.

 

 

 

7. Using rosrun

rosrun은 패키지 안의 노드를 바로 실행시킨다.

예를들어

 

위의 명령어를 입력하면 turtlesim 패키지 안의 turtlesim_node 가 실행된다.

이런 거북이가 보이게 되는데 이때 rosnode list를 통해 노드들을 확인해보면 아래와 같다.

 

 

반응형

'ROS > ROS Wiki' 카테고리의 다른 글

Using rqt_console and roslaunch  (0) 2021.01.05
Understanding ROS Services and Parameters  (0) 2021.01.05
Understanding ROS Topics  (0) 2021.01.04
Building a ROS Package  (0) 2020.12.31
Creating a ROS Package  (0) 2020.12.31

+ Recent posts