2020 하계모각코 6회차

ROS(Robot Operating System) 공부(2)

지난 모각코 시간에 이어, 오늘은 메타 OS인 ROS가 가지는 명령어들을 일부 알아보았습니다.

https://robertchoi.gitbook.io/ros/build

https://rocknz.tistory.com/entry/ROS-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C

지난 시간에 실행되는 최소 단위의 프로세서가 노드라고 하였습니다. 노드와 노드 사이의 통신은 마스터(Master)를 통해 이루어 지는데, 이 마스터는 노드 사이의 통신을 서포트합니다.

마스터가 없으면 ROS 노드와 노드 사이의 메시지를 통신할 수 없습니다.

이렇게 중요한 마스터를 호출하는 명령어가 ‘roscore’ 입니다.

다음으로 노드를 실행시키는 명령어는 ‘rosrun’ 입니다.

‘rosrun’ 명령어가 단일 노드를 실행시키는 명령어라면, ‘roslaunch’는 노드를 여러 개 실행할 수 있으며 실행 시 실행 옵션을 설정하여 실행할 수 있는 명령어입니다.

지난 시간에 노드들을 모아둔 노드들의 집합을 패키지라고 하였습니다. 지정한 ROS 패키지의 디렉토리로 이동하는 명령어는 ‘roscd’ 입니다.

다음으로 실행중인 토픽을 확인하는 명령어가 ‘rostopic’ 입니다. 마찬가지로 ROS 서비스 정보를 확인하는 명령어가 ‘rosservice’, ROS 노드 정보를 확인하는 명령어가 ‘rosnode’ 입니다.

이어 마지막으로 실행중인 노드들과 토픽, 서비스 등의 메시지를 그래프로 나타내 가시적으로 확인하게 해주는 명령어는 ‘rqt_graph’ 입니다.

http://wiki.ros.org/rqt_graph

http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics

https://m.blog.naver.com/PostView.nhn?blogId=sigsaly&logNo=221001027522&proxyReferer=https:%2F%2Fwww.google.com%2F

과제 중 마지막 문제가 주어진 소스 코드를 rqt_graph 명령어를 사용하여 그래프로 나타났을 때 어떻게 나타날지 그리는 과제였는데 인터넷 검색을 해봐도 예시는 굉장히 한정적으로 느껴졌고 이해가 잘 가질 않았습니다.주어진 소스코드는 Subscriber 만 나와있는 것 같아 여러 자료를 찾아봤는데도 어떻게 그려야할 지 감이 잡히지 않아 상당한 어려움을 겪었습니다.

우여곡절 끝에 자율주행 경진대회 과제를 모두 제출하였고, 이번 모각코도 마치게 되었습니다.

태그:

업데이트:

댓글남기기