본문 바로가기

도서 소개

ROS로 배우는 로봇 프로그래밍

이 책은 현재 절판입니다. 그간 읽어주신 독자님들께 감사의 말씀을 드립니다.

개정판이 나오면 계약을 진행해 보겠습니다.

 

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 / 로봇 프로그래밍 / 파이썬 / 자율주행 / 로봇 팔 / 이동 로봇

분야 프로그래밍 / 로봇

관련 사이트
관련 포스트
관련 시리즈
관련 도서
■ (관련 시리즈 참조)
관련 파일 다운로드
강의보조 자료
교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com
■ 본문의 그림과 표
샘플 PDF(차례, 옮긴이 머리말, 지은이 소개, 배타리더 후기, 이 책에 대하여 1장 '서론', 2장 '준비 사항')
정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)
도서구매 사이트(가나다순)

 

도서 소개

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