●4강
https://www.youtube.com/watch?v=skqzz_xQQXg&list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw&index=4
ROS의 기본 개념에 대해서 알려주는 강의였다. 키워드와 내용을 간략하게 정리해보면
●Keyword
-Node, Package, Message(Topic, Service, Action), Parameter, Master(Roscore) Publisher, Subscriber, Server, Client, Name
-XMLRPC, TCPROS
-roscore, rosrun
●Summary
1. ROS의 핵심 동작 방법은 노드 간의 메시지 통신이다. 이때 메시지 통신의 종류에는 Topic, Service, Action이 있다. 90%는 토픽이다.
2. Topic은 연속성, 단방향, Service는 1회성, 양방향, Action은 Service + 실행 중 피드백 이 특징이다.
3. 메시지는 정수(int), 부동소수점(float), 불(bool) 등의 type, vetor3(float 3개)같이 여러 메시지를 가진 type, 배열 등이 있다.
4. 마스터(ROSCORE)는 노드들의 정보 취합, 노드간 메시지 통신 서버 관리, 파라미터 관리의 역할을 한다. ROS에서 꼭 1회 이상 실행되어 있어야 한다.
5. roscore로 마스터를, rosrun 패키지이름 노드 이름으로 노드를 실행시킨다.
이 정도가 오늘 배운 것 중 중요한 내용인 거 같다. 물론 이거 이상으로 자세한 내용을 알려주셨는데 다 쓰는 건 무리다.
앞으로 ROS 강의는 이런식으로 블로그에 요점 정리를 짧게 올리는 식으로 할 예정이다.
keyword 두번째 줄의 XMLRPC, TCPROS는 중요한 내용은 아니고 그냥 나에게 새로운 개념이라서 넣었다.
둘 다 통신 관련 용어인데 마스터와 노드가 처음에 노드 정보 전달과 메시지 통신 준비 과정에서는 XMLRPC라는 비교적 간단한 통신방식으로 정보를 전달하고 이후 본격적인 메시지 통신에서는 TCPROS 방식을 이용한다고 한다.
다른 강의에서 본격적으로 다룰 예정이지만 살짝 알려주신 것도 있었는데 Name과 좌표변환(TF, tranform)이다.
그중 로봇의 각 조인트 사이의 관계도를 그래픽으로 보여주면서 그 사이의 상대 좌표를 보여주는 좌표변환 부분은 딱 내가 관심 있는 robot locomotion에 유용하게 써먹을 거라는 생각이 들었다.
근데 예상은 하고 있었지만 강의는 C++기반으로 진행한다고 하셨다. 내심 파이썬 기반으로 알려주시려나 기대하고 있었는데.....
C++을 아예 모르는 것은 아니니까 강의를 따라가고 실습을 할 때 파이썬 버전으로도 연습해봐야겠다는 생각이 든다.
rospy 관련 블로그나 wiki도 많이 찾아봐야겠다.
===============================================================================
정확한 정보 전달보단 공부 겸 기록에 초점을 둔 글입니다.
틀린 내용이 있을 수 있습니다.
틀린 내용이나 다른 문제가 있으면 댓글에 남겨주시면 감사하겠습니다. : )
===============================================================================
'팀 프로젝트' 카테고리의 다른 글
C-2345 자세 제어 4족보행 로봇 #6 (ROS 7강-2 Python으로 topic, service) (0) | 2021.08.20 |
---|---|
C-2345 자세 제어 4족보행 로봇 #5 (ROS 7강-1 C++로 topic, service, parameter ) (0) | 2021.08.18 |
C-2345 자세 제어 4족보행 로봇 #4 (ROS 5,6강-Rviz, RQT, Gazebo) (0) | 2021.08.13 |
C-2345 자세 제어 4족보행 로봇 #2 (ROS 입문/1~3강) (0) | 2021.08.08 |
C-2345 자세 제어 4족보행 로봇 #1 (0) | 2021.08.08 |