이 책은 현재 절판입니다. 그간 읽어주신 독자님들께 감사의 말씀을 드립니다.
개정판이 나오면 계약을 진행해 보겠습니다.
ROS 개발자가 직접 알려주는 로봇 프로그래밍 노하우!
ROS의 메커니즘과 로봇을 제어하기 위해 그 메커니즘을 활용하는 방법을 명쾌하게 소개한다!
출판사 제이펍
원출판사 O’REILLY
원서명 Programming Robots with ROS(원서 ISBN: 9781449323899)
저자명 모건 퀴글리, 브라이언 저키, 윌리엄 D. 스마트
역자명 김성우, 이종민
출판일 2017년 3월 31일
페이지 468쪽
시리즈 I♥Robot 10
판 형 46배판변형(188*245*23)
제 본 무선(soft cover)
정 가 34,000원
ISBN 979-11-85890-75-3 (93000)
키워드 ROS / 로봇 프로그래밍 / 파이썬 / 자율주행 / 로봇 팔 / 이동 로봇
분야 프로그래밍 / 로봇
도서 소개
ROS 개발자가 직접 알려주는 로봇 프로그래밍 노하우!
ROS의 메커니즘과 로봇을 제어하기 위해 그 메커니즘을 활용하는 방법을 명쾌하게 소개한다!
기발한 로봇 응용프로그램을 개발하고 싶었지만, 지도 구축이나 객체 인식 시스템을 작성하는 방
법을 몰라 포기한 적은 없는가? 이는 여러분만 그런 것이 아니며, 그렇다고 도움의 손길이 전혀 없는 것도 아니다. 실제 사례를 로봇 운영체제(ROS) 커뮤니티의 가치 있는 지식과 결합한 이 실용적인 책은 로봇 프로그래밍과 관련된 유용한 레시피를 제공한다.
로봇공학을 전공하는 학생부터 전문 로봇공학자, 나아가 로봇 애호가 모두를 만족시키는 이 책의
레시피에는 ROS 오픈 소스 라이브러리와 도구를 사용한 완벽한 해법이 들어 있다. 레시피대로만 따라 해도 작업을 완수하는 방법뿐만 아니라 다른 작업과 재결합하는 방법도 배울 수 있다. 더군다나 파이썬을 다룰 줄 안다면 지금 바로 시작할 수 있다.
이 책의 주요 내용
■ 핵심 ROS 개념, 도구 및 패턴을 포함한 기본 원리
■ ROS의 강력한 패키지를 사용하여 더욱 복잡한 행동을 수행하는 로봇 프로그래밍
■ 로봇에 지각과 주행 능력을 쉽게 추가하는 방법
■ 자신만의 센서, 액추에이터, 소프트웨어 라이브러리 그리고 ROS 생태계 속 로봇의 모든 것
■ ROS 도구와 커뮤니티 자원 사용 방법
■ 로봇 행동 디버깅
■ ROS에서 C++를 사용하는 방법
저자 소개
모건 퀴글리(Morgan Quigley)
모건 퀴글리는 로봇 운영체제(ROS)를 개발하고 운영하는 오픈 소스 로봇공학 재단(Open Source Robotics Foundation, OSRF)의 공동 창립자다. 그의 주된 연구 분야는 로봇 소프트웨어 시스템, 오픈 소스 소프트웨어 및 펌웨어, 임베디드 시스템 설계, 기계공학 및 센서 설계 등이다.
브라이언 저키(Brian Gerkey)
브라이언 저키는 OSRF의 공동 창립자이자 CEO다. 로봇공학 연구 및 교육 분야에서 가장 널리 쓰이는 로봇 소프트웨어 플랫폼 중 하나를 개발하고 배포하였다. 또한 오픈 소스 플레이어 프로젝트(Player Project)의 설립 및 책임 개발자이며, 널리 쓰이는 로봇 시뮬레이션과 개발 도구를 운영하고 있다.
윌리엄 D. 스마트(William D. Smart)
윌리엄 D. 스마트는 오리건 주립 대학 부교수로서 로봇공학 과정을 강의하고 있다. 그의 관심 연구 분야는 이동 로봇공학, 기계학습, 인간-로봇 상호작용 및 로봇공학과 법률 관계이며, 20년 이상 로봇 관련 소프트웨어를 만들었음에도 여전히 활발한 연구와 개발을 하고 있다.
역자 소개
김성우
한국과학기술원(KAIST) 전기 및 전자공학 학사와 동(同)대학원 석사 및 박사 학위를 취득하였다. 이후 한국전자통신연구원(ETRI)에서 선임연구원으로 근무하였으며, 현재는 동의대학교 컴퓨터소프트웨어공학과 교수로 재직 중이다. 저서로는 《사물인터넷을 품은 라즈베리 파이》(2016), 《임베디드 리눅스 프로그래밍》(2011), 《리눅스 프로그래밍 입문》(2010) 등이 있다.
이종민
경북대학교 컴퓨터공학과를 졸업하고, 한국과학기술원(KAIST) 전산학과 석사와 박사 학위를 취득하였다. 삼성전자 통신연구소 및 무선사업부 책임연구원으로 근무하였으며, 현재는 동의대학교 컴퓨터소프트웨어공학과 교수로 재직 중이다. 객체지향 분석 및 설계, GPU 병렬 처리 시스템, 네트워크 프로토콜에 관심이 많으며, ICT 산업종사자 및 SW 개발자를 위한 TOPCIT 전문위원과 SP 품질인증 심사원으로 활동 중이다.
차례
PART I 기본 원리
CHAPTER 1 서론 3
간략한 발자취 4
개발 철학 5
설치 6
요약 8
CHAPTER 2 준비 사항 9
ROS 그래프 9
roscore 11
캣킨, 작업 공간 및 ROS 패키지 13
rosrun 18
이름, 이름공간과 재사상 23
roslaunch 25
탭 키 27
tf: 좌표 변환 28
요약 31
CHAPTER 3 토픽 32
토픽 발행 33
토픽 구독 38
래치된 토픽 41
사용자 메시지 자료형 정의 42
발행자와 구독자 결합 51
요약 52
CHAPTER 4 서비스 53
서비스 정의 54
서비스 구현 57
서비스 사용 60
요약 63
CHAPTER 5 액션 64
액션 정의 65
기본 액션 서버 구현 68
액션 사용 72
보다 복잡한 액션 서버 구현 73
보다 복잡한 액션 사용 77
요약 80
CHAPTER 6 로봇과 시뮬레이터 82
서브시스템 82
완전한 로봇 94
시뮬레이터 98
요약 102
CHAPTER 7 원더-봇 103
패키지 생성 103
센서 데이터 읽기 107
감지와 구동: 원더-봇! 111
요약 113
PART II ROS를 사용한 이동
CHAPTER 8 텔레옵-봇 117
개발 패턴 118
키보드 구동기 119
운동 생성기 120
매개변수 서버 126
속도 경사 129
구동시키자! 133
rviz 134
요약 141
CHAPTER 9 세계 지도 구축 142
ROS의 지도 143
rosbag를 이용한 데이터 기록 146
지도 구축 148
지도 서버 시작과 지도 보기 155
요약 158
CHAPTER 10 주행 159
지도에서 로봇 위치 추정 159
ROS 주행 스택 사용 164
코드를 사용한 주행 169
요약 171
CHAPTER 11 체스-봇 172
관절, 링크와 기구학 사슬 173
성공하기 위한 핵심 178
시뮬레이션된 R2의 설치와 실행 179
명령행으로부터 R2 이동하기 183
체스판 주위에서 R2 움직이기 185
손 조작 187
체스판 모델링 190
유명한 체스 게임 재생 194
요약 197
PART III 지각과 행동
CHAPTER 12 팔로우-봇 201
영상 획득 202
선 감지 209
선 따라가기 215
요약 217
CHAPTER 13 순찰에 관하여 218
간단한 순찰 218
상태 기계 220
smach를 이용한 상태 기계 정의 222
상태 기계를 사용한 순찰 231
요약 234
CHAPTER 14 스톡룸-봇 235
창고 시뮬레이션 235
수납통으로 구동하기 249
물품 집기 253
요약 266
PART IV ROS 미지원 장치 활용
CHAPTER 15 ROS 미지원 센서와 액추에이터 271
ROS 미지원 센서 추가 271
ROS 미지원 액추에이터 추가 280
요약 287
CHAPTER 16 자신만의 이동 로봇 1 288
토터스봇 288
ROS 메시지 인터페이스 290
하드웨어 구동기 293
로봇 모델링: URDF 294
가제보에서의 시뮬레이션 302
요약 310
CHAPTER 17 자신만의 이동 로봇 2 311
변환 검증 311
레이저 센서 추가 316
주행 스택 환경설정 320
주행 중인 로봇의 위치 추정과 제어를 위한 rviz 사용 326
요약 329
CHAPTER 18 자신만의 로봇 팔 330
쿠거봇 330
ROS 메시지 인터페이스 332
하드웨어 구동기 333
로봇 모델링: URDF 334
가제보에서의 시뮬레이션 339
변환 검증 348
무브잇 설정 352
목표를 보내기 위한 rviz 사용 356
요약 358
CHAPTER 19 소프트웨어 라이브러리 추가 360
로봇이 말하게 하기: pyttsx 361
요약 369
PART V 비결과 요령
CHAPTER 20 도구 373
마스터와 친구: roscore 373
매개변수: rosparam 375
파일시스템 이동: roscd 377
노드 시작: rosrun 377
다중 노드 실행: roslaunch 378
다중 노드 시스템의 테스팅: rostest 382
내부 관찰: rosnode, rostopic, rosmsg, rosservice, rossrv 385
요약 390
CHAPTER 21 로봇 행위 디버깅 391
로그 메시지: /rosout과 rqt_console 391
노드, 토픽 및 연결: rqt_graph와 rosnode 400
센서 융합: rviz 409
데이터 그리기: rqt_plot 410
데이터 로깅과 분석: rosbag과 rqt_bag 412
요약 417
CHAPTER 22 ROS 커뮤니티: 온라인 자원 418
예의범절 418
ROS 위키 419
ROS Answers 420
추적기(버그와 기능 요청) 422
메일링 목록과 특별 관심 그룹 422
코드 찾기와 공유 423
요약 424
CHAPTER 23 ROS에서의 C++ 사용 425
언제 C(또는 다른 언어)를 사용해야 하는가? 426
캣킨을 사용한 C++ 빌드 426
파이썬에서 C++로의 변환(그리고 그 반대) 429
요약 436
찾아보기 438
'도서 소개' 카테고리의 다른 글
프로그래머처럼 생각하라: 문제 해결을 위한 모델 기반 사고법 (0) | 2017.04.27 |
---|---|
러닝 스칼라 (2) | 2017.04.19 |
처음 만나는 파이썬 (0) | 2017.04.04 |
서버/인프라 엔지니어를 위한 DevOps (0) | 2017.03.23 |
안드로이드 게임 개발의 정석 (2) | 2017.03.13 |