roscore를 실행해 봅시다


터미널을 실행하고, roscore를 실행해 봅시다.

이전 개념설명에서 노드를 실행하기 위해선 반드시 master가 필요하다고 하였습니다. roscore는 master, rosout, parameter server를 동시에 실행해 줍니다.

$ roscore 
... logging to /home/byeongkyu/.ros/log/21fb620a-a800-11ea-9d0f-00e18c79612a/roslaunch-byeongkyu-XPS-15-9570-12628.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server <http://byeongkyu-XPS-15-9570:39705/>
ros_comm version 1.14.5

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.5

NODES

auto-starting new master
process[master]: started with pid [12648]
ROS_MASTER_URI=http://byeongkyu-XPS-15-9570:11311/

setting /run_id to 21fb620a-a800-11ea-9d0f-00e18c79612a
process[rosout-1]: started with pid [12659]
started core service [/rosout]

원래는 각 언어별 tutorial용 패키지를 설치해야 하지만, ros-melodic-desktop-full을 설치하면 이미 설치되어 있을겁니다.

Node를 실행해 봅시다.


roscore를 실행한 상태에서, 터미널을 하나 더 실행하고 다음과 같이 입력합니다.

$ rosrun roscpp_tutorials talker
[ INFO] [1591453178.734187896]: hello world 0
[ INFO] [1591453178.834246343]: hello world 1
[ INFO] [1591453178.934399239]: hello world 2
[ INFO] [1591453179.034471362]: hello world 3
[ INFO] [1591453179.134447388]: hello world 4
[ INFO] [1591453179.234447849]: hello world 5

현재 talker라는 실행 파일이 실행되었습니다. 이제 노드 하나가 실행되고 있는 상태입니다.

노드를 실행하기 위해선 rosrun이라는 명령을 사용했습니다.

$ rosrun -h
Usage: rosrun [--prefix cmd] [--debug] PACKAGE EXECUTABLE [ARGS]
rosrun will locate PACKAGE and try to find
an executable named EXECUTABLE in the PACKAGE tree.
If it finds it, it will run it with ARGS.

실행되고 있는 노드를 종료하려면? ⇒ 해당 터미널에서 ctrl+c를 눌러줍니다.

Command tools related with nodes

노드와 관련한 여러가지 도구들이 존재합니다. 노드가 실행된 상태에서, 터미널을 하나 더 열고 다음의 명령어들을 실행해봅시다.