ROS2 혼자공부하는 로봇SW 직접 만들고 코딩하자 - 로봇을 공부하는 사람들의 필독서 ROS2
민형기 지음 / 잇플ITPLE / 2022년 9월
평점 :
장바구니담기


이 글에는 스포일러가 포함되어 있습니다.

 

 

멀게만 느껴졌던 기술들이 점점 발전함을 경험한다. 몇년 전부터 주변에 키오스크가 나타나기 시작하더니, 식당에선 서빙로봇이 음식이 갖다주고, 휴게소에서는 바리스타 로봇이 커피를 만들어준다. 그리고 일부 지역이지만 배달 로봇이 배달을 한다. 공항에는 로봇이 안내를 하고, 치킨 집에서 닭을 튀기는 로봇이 있는가 하면, 공장자동화의 중심에도 로봇이 크게 기여하고 있다. 그동안은 단순히 반복하는 일을 하는 로봇만 생각했는데, 이세돌을 이긴 알파고와 같이 인간사고를 모방하는 딥러닝이 가능하기까지는 SW 의 발전이 그 중심에 있었다.

이 책의 저자 민형기 박사는 딥러닝과 데이터 사이언스 관련된 프로젝트를 다양하게 경험했다. 교육용 로봇, 복강경 수술용 로봇, 폭발물 제거용 로봇, 스케이트 로봇, 3D 프린터 등에 참여했고, 그 과정에서 접했던 도구가 ROS(Robot Operating System) 였다. 이 책에는 ROS 사용을 위한 환경설정에서 부터 기본 사용법까지의 내용을 다룬다.

PC에 linux OS 일종인 Ubuntu(우분투) 20.04 영어버전을 설치하고, 기본 터미널 외에 Terminator, Tilix 터미널을 설치한다. 그리고 문서 편집기인 Sublime Text를 설치하고, Sublime Text 편집기의 기본적인 사용방법을 알려준다. 여기까지 진행한 후 ROS Galactic 버전을 설치하고, ROS2 업데이트 진행한다. 터미널을 2개 띄우고 테스트를 진행하는데, 한쪽 터미널은 talker, 나머지 터미널은 listener 를 실행한다. talker가 listener 로 전송되는 개념이다. 2장에서는 우분투OS 기본 명령어와 linux bash shell에서의 환경설정, ROS2 설정등을 다룬다. 3장에서는 본격적인 ROS2 명령어를 익히는데, 서비스, 토픽, 액션, 디버그의 기능을 배울 수 있다. turtlesim 패키지 설치도 포함되어 있다.

 

 

 

 

 

 

ROS의 Service 는 Client/Server 개념과 동일해 보인다. Client가 Server에게 요청을 하면, Server는 요청에 대한 응답을 하는 방식이다. 어떤 Service 를 어떻게 호출하는지를 다룬다. Topic은 발행과 구독의 개념이다. Service 는 요청하고 응답받는 쌍방양 통신이었다면, Topic은 발행하고, Node에서는 구독(일방적으로 받기)만 하는 것이다. 다음 장에선 파이썬을 설치해서 topic, service 를 실습한다. ROS2에서 활용하기 위해 파이썬 클래스 부분을 학습하는 부분이 추가로 있었고, 액션 서버 사용, 파라미터 사용방법 실습, 디버그까지 학습할 수 있는 내용이 있다.

오래 전이지만 노트북에 리눅스를 설치하다가 문제가 생긴 일이 있어, 리눅스를 설치할 수가 없었다. 우분투는 설치가 쉽다고 하는데 직접 실습해보지 못한게 아쉽다. 이 책은 ROS2를 사용하기 위해 설치부터 실습까지 자세히 가르쳐주는 교육자료이다. ROS2를 사용해보고 싶고, 관심이 있는 분들이라면 이 책이 좋은 교육자료가 되어 줄 것이다.

​​

< 이 리뷰는 출판사로부터 도서만을 제공받아 주관적으로 작성하였습니다 >  

 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo