머리말
이 책이 이야기하는 대상 독자
들어가며
환경설정
1. 터미널
1.1 화면 분할이 되는 터미널의 필요성
1.2 기본 터미널 사용해보기
1.3 Terminator
1.4 Tilix
2. 편집기
2.1 Sublime Text의 설치
2.2 Sublime Text 사용해보기
3. ROS 설치
3.1 ROS Galactic 버전 설치 페이지 찾기
3.2 Set Locale
3.3 Setup Sources
3.3 Install ROS2 packages
3.4 ROS2 설치 확인하기
4. 마무리
터미널과 bashrc 그리고 리눅스 익숙해지기
1. 이 장의 목적
2. Ubuntu의 폴더 관련 기본 명령
2.1 폴더를 하나 만들어 볼가요 ? mkdir
2.2 폴더를 이동해 몰가요 ? cd
2.3 삭제 명령 = rm
3. bashrc
3.1 Shell 쉘
3.2 .bashrc
3.3 .bashrc에 명령 입력해 두기
4. .bashrc에서 alias 설정
4.1 alias 설정
4.2 galactic 설정을 alias로 지정하기
4.3 source ~/.bashrc도 alias로 지정하기
5. ROS2 도메일 설정
6. 마무리
ROS2 기본 명령 익히기
1. 이 장의 목적
2. Turtlesim 설치와 실행
3. 다시 강조하는 setup.bash 환경
4. ROS Node
5. ROS Service
5.1 Service의 개념
5.2 ros2 service list
5.3 ros2 service type
5.4 service definition
5.5 Mobile Robot 소개
5.6 서비스를 호출하는 방법 service call
5.7 namespace
5.8 spawn
6. ROS Topic
6.1 Topic의 개념
6.2 ros2 topic list
6.3 ros2 topic type
6.4 ros2 topic info
6.5 토픽을 사용하기 위해 메시지 타
이 책 한 권이면 다 된다고 하는 말은 아니다. 저자인 내가 독자분들에게 하고자 하는 말은 ‘이렇게 배우면 좀 더 쉽지 않을까요?’라는 것이다. 수학의 한 분야라면 한 권이면 다 되는책이 중요하겠지만, 전체 인원이 가늠도 안 되는 사람들이 참여해서 다양한 패키지를 공유하는 ROS라는 생태계에 그렇게 접근할 수 있다고 생각하지 않는다. 또한, 우리에게는 ‘표윤석’ 박사라는 매우 뛰어난 ROS 전도사가 계셔서 그분의 책과 자료를 통해 ROS2의 기본적인 동작 원리 등을 알 수 있다. 그래서 내가 수업 때 즐겨 접근하는 방식대로 이 책을 기술했다. - 저자의 말 중에서
저는 아주 예전부터 로봇을 공부하고 개발도 했습니다. 처음에는 학생으로서 공부를 했고, 작은 규모의 교육용 로봇부터 판매 가격이 십몇억 원이나 되는 복강경 수술용 로봇의 개발까지 참여했습니다. 제가 관심을 가진 분야는 정말 많지만, 실제 개발에 참여하기는 쉽지 않았습니다. 그런데 어쩌다 보니 블록 코딩을 하는 교육용 로봇, 폭발물 제거용 로봇, 중심을 잡고 사람의 이동을 도와주는 밸런싱 로봇의 일종인 스케이트 로봇, 3D 프린터, 딥러닝을 이용한 다양한 프로젝트까지도 도전했습니다. 그런 제가 로봇을 개발하든 사용하든 언제나 편하게 기능을 구현할 수 있도록 도움을 준 친구가 ROS(Robot Operating System입니다. 물론 처음부터 ROS를 사용한 건 아닙니다. 제가 ROS의 존재를 안 것은 2012년 경이지만, 실제 ROS를 공부하면서 사용하게 된 것은 몇 년 후이고, ROS를 이용해서 로봇 SW를 개발한 것은 또 그로부터 몇 년 후입니다. ROS를 사용해본 후에 ‘아! 이 좋은 도구를 더 일찍 사용했더라면, 정말 편했을 텐데’라고 후회했습니다.
최근 저는 다양한 형태의 교육 과정에 참여해서 로봇과 딥러닝을 전파하고 있습니다. 또한 훌륭한 책이나 자료를 통해 여러 장소에서 학생들에게 잘 전달하려 애쓰고 있습니다. 그러다가 로봇의 기능을 배우고, 로봇 개발을 위해 ROS를 학습하려