ros topic(3)
-
[ ROS ] ROS를 이해해보자 #3
0. 머리말 지난 번에는 Topic을 주고 받는 Publisher와 Subscriber를 소개하였으며, Topic을 이용한 통신 방식에 대한 특징들도 알아보았다. 이번에는 직접 코드를 적용해서 경험해보도록 하자. 앞선 글에서 짤막한 코드만으로는 Publisher와 Subscriber를 사용하기에 어려울 수 있다고 생각하여 같이 해보는 글을 준비했다. 시작에 앞서, 나는 Ubuntu 18.04, ROS Melodic을 사용했다. 그리고, 이 글은 ROS wiki의 튜토리얼(C++)을 기반으로 진행했다. 1. 다운로드 우선, 아래의 커맨드를 통해 워크 스페이스(e.g. catkin_ws)를 만들고 그 안에 있는 src 폴더에 튜토리얼 패키지를 다운로드해주자. catkin_ws인 워크 스페이스의 이름은 원하는..
2021.04.28 -
[ ROS ] ROS를 이해해보자 #2
Node들이 서로 Topic을 주고 받을 수 있게 하는 객체들은 Publisher와 Subscriber이다. 0. 머리말 지난 번 'ROS를 이해해보자 #1'에서는 ROS가 어떠한 장점(프로세스 간 송수신)을 지니고 있는지 알아보았다. 개인적으로는, ROS가 왜 쓰이는지 파악하는게 ROS의 정의를 읽는 것보다 ROS를 이해하는데 더 도움된다고 생각한다. 그래서, 첫 글에서는 ROS의 장점에 대해 알아보고, 독자로 하여금 ROS를 왜 사용하는지 자연스럽게 이해시켜주고 싶었다. ROS를 사용해보고 싶은 사람에게, 어떤 목적으로 쓰는 지 알려주면 목적에 맞는 ROS의 도구들을 잘 찾고 활용할 것 같아서.. 나는 무턱대고 인터넷에 돌아다니는 튜토리얼과 형식적인 정의들을 보며 ROS를 시작했으나, 매우 비효율적이..
2021.03.18 -
[ ROS ] ROS를 이해해보자 #1
로봇이 복잡하고 다양한 기능을 수행하기 위해서는, 여러 종류의 데이터와 이를 처리할 수 있는 프로세스들이 필요하다. 0. 머리말 이 글은 ROS가 무엇인지 설명하는 글이다. 초보자들을 위해 쉽게 설명해보겠다. 내가 처음 ROS를 접했을 때, 생소한 용어들로 인해 ROS를 이해하기 어려웠던게 생생하다. ROS를 처음 배우기 시작하는 사람들에게 도움이 되었으면 하는 바람에서 이것저것 써본다. 사실은 내가 아직도 잘 모르고 있는 것 같아서 공부하려고 쓰는거다.. 우선, ROS를 위키백과에서는 뭐라고 설명하는지 보자. 로봇 운영체제 (ROS,Robot Operating System)는 로봇 응용 프로그램을 개발할 때 필요한 하드웨어 추상화, 하위 디바이스 제어, 일반적으로 사용되는 기능의 구현, 프로세스간의 메..
2021.03.17