ROS로 배우는 로봇 프로그래밍
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

작가정보
저자(글) 모건 퀴글리
저자 모건 퀴글리(Morgan Quigley)는 로봇 운영체제(ROS)를 개발하고 운영하는 오픈 소스 로봇공학 재단(Open Source Robotics Foundation, OSRF)의 공동 창립자다. 그의 주된 연구 분야는 로봇 소프트웨어 시스템, 오픈 소스 소프트웨어 및 펌웨어, 임베디드 시스템 설계, 기계공학 및 센서 설계 등이다.
저자(글) 브라이언 저키
저자 브라이언 저키(Brian Gerkey)는 OSRF의 공동 창립자이자 CEO다. 로봇공학 연구 및 교육 분야에서 가장 널리 쓰이는 로봇 소프트웨어 플랫폼 중 하나를 개발하고 배포하였다. 또한 오픈 소스 플레이어 프로젝트(Player Project)의 설립 및 책임 개발자이며, 널리 쓰이는 로봇 시뮬레이션과 개발 도구를 운영하고 있다.
저자(글) 윌리엄 D. 스마트
저자 윌리엄 D. 스마트(William D. Smart)는 오리건 주립 대학 부교수로서 로봇공학 과정을 강의하고 있다. 그의 관심 연구 분야는 이동 로봇공학, 기계학습, 인간-로봇 상호작용 및 로봇공학과 법률 관계이며, 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
책 속으로
두 저자가 ROS를 직접 개발한 분들이어서 ROS에 정통할 것이라는 믿음에서 비롯된 것이지만, 그것보다도 다음과 같은 특징 때문입니다. 이 책은 비교적 배우기 쉽고 문법이 간결한 파이썬 코드를 사용하고 있으므로 ROS의 기본 개념과 도구에 대해 더 잘 이해할 수 있습니다. 책에서는 다양한 로봇 사례도 소개하고 있는데, 대부분 실제 로봇이 아닌 컴퓨터 시뮬레이션만으로도 동작시킬 수 있습니다. 물론, 실제 로봇을 구동시키는 기쁨에 비할 바는 아니겠지만, 이 책을 마칠 때쯤에는 로봇을 직접 만들어 보고 싶은 충동에 휩싸일지도 모르겠습니다.
-옮긴이 머리말 중에서
개발자가 책임질 수 있는 가장 보람 있는 (때로는 좌절할지라도) 로봇공학 프로젝트 중 하나는 자신만의 로봇을 만드는 것이다. 훌륭한 로봇이 이미 많이 존재하지만 자신만의 요구에 맞지 않을 때도 있다. 또는 아마도 특별한 로봇을 설계하고 제작하는 경험을 가지고 싶을 때도 있다. 이유야 어쨌건, 일단 놀랄 만한 전용 로봇을 제작한다면 그것을 ROS로 제어하기 위해 어떻게 해야 할까?
_288쪽
물론, 구축한 시스템을 좀 더 사용해 보면 토터스봇의 주행이 완벽하지 않다는 것을 알게 될 것이다. 방문을 항상 통과하지는 못하거나 가끔 길을 잃고 (위치 추정을 잘못하게 되고) 때때로는 정지할 수도 있다. 다음 단계는 주행 스택에 대한 문서를 찾아보고 개발한 로봇에 좀 더 주의 깊게 환경설정을 하는 것이다. 이 장에서 사용한 각 노드는 amcl의 잡음 모델에서 move_base의 가속 제한과 계획 한계까지 아주 많은 환경설정 선택 사항을 제공한다. 그동안 의존했던 기본 환경설정과 예제 환경설정은 작동하는 시스템을 만들기에 충분하였지만, 각 로봇은 진짜로 확실한 주행 성능을 가지기 위하여 몇몇 매개변수의 조율이 필요하다.
_329쪽
노드의 기본 로거 수준은 rospy.INFO인데, 이는 적어도 rospy.INFO와 같거나 그 이상의 강도를 가지는 메시지가 출력, 로깅되고 발행될 것임을 뜻한다. 그 결과, 기본적으로 rospy.DEBUG 메시지는 보이지 않게 된다. 사실상 rospy.logdebug()는 아무것도 하지 않는다. 이는 컴파일러나 다른 도구의 디버그 모드와 같다고 생각할 수 있다. 상세한 디버그 정보가 필요할 때 볼 수 있는 것은 중요하지만, 대부분의 경우 부수적인 출력에 주의를 빼앗기거나 디버그 메시지를 생성하는 데 따르는 성능 불이익을 초래하고 싶지는 않을 것이다. ROS에서 불이익은 화면에 출력하고, 파일에 쓰고, /rosout으로 발행하는 데 필요한 시간을 뜻한다. 디버그 메시지의 경우 이러한 일이 기본적으로 일어나지 않으므로 이들 메시지를 보려고 요청하지 않는 한 시스템에 아무런 영향도 끼치지 않고 코드 내에 rospy.logdebug()를 자유롭게 사용할 수 있다.
_395쪽
ROS 시스템 내의 모든 데이터를 기록하려면 rosbag record ?a를 실행한다. 그러나 큰 규모의 시스템에서 아주 많은 양의 데이터를 쉽게 로깅할 수 있으므로 이 선택 사항을 사용할 때는 조심해야 한다. rosbag record 자신이 소요하는 디스크 공간과 CPU 사이클 외에도 모든 토픽을 구독하는 것은 나머지 시스템의 성능에 큰 영향을 미친다. 특히, 적어도 하나의 활성화된 구독자(영상 처리 파이프라인에서 흔함)가 없는 한 특정 결과를 계산하지 않는 노드에게는 더 많은 영향을 미친다.
_414쪽
출판사 서평
ROS 개발자가 직접 알려주는 로봇 프로그래밍 노하우!
ROS의 메커니즘과 로봇을 제어하기 위해 그 메커니즘을 활용하는 방법을 명쾌하게 소개한다!
기발한 로봇 응용프로그램을 개발하고 싶었지만, 지도 구축이나 객체 인식 시스템을 작성하는 방
법을 몰라 포기한 적은 없는가? 이는 여러분만 그런 것이 아니며, 그렇다고 도움의 손길이 전혀 없는 것도 아니다. 실제 사례를 로봇 운영체제(ROS) 커뮤니티의 가치 있는 지식과 결합한 이 실용적인 책은 로봇 프로그래밍과 관련된 유용한 레시피를 제공한다.
로봇공학을 전공하는 학생부터 전문 로봇공학자, 나아가 로봇 애호가 모두를 만족시키는 이 책의
레시피에는 ROS 오픈 소스 라이브러리와 도구를 사용한 완벽한 해법이 들어 있다. 레시피대로만 따라 해도 작업을 완수하는 방법뿐만 아니라 다른 작업과 재결합하는 방법도 배울 수 있다. 더군다나 파이썬을 다룰 줄 안다면 지금 바로 시작할 수 있다.
이 책의 주요 내용
■ 핵심 ROS 개념, 도구 및 패턴을 포함한 기본 원리
■ ROS의 강력한 패키지를 사용하여 더욱 복잡한 행동을 수행하는 로봇 프로그래밍
■ 로봇에 지각과 주행 능력을 쉽게 추가하는 방법
■ 자신만의 센서, 액추에이터, 소프트웨어 라이브러리 그리고 ROS 생태계 속 로봇의 모든 것
■ ROS 도구와 커뮤니티 자원 사용 방법
■ 로봇 행동 디버깅
■ ROS에서 C++를 사용하는 방법
기본정보
ISBN | 9791185890753 ( 1185890750 ) | ||
---|---|---|---|
발행(출시)일자 | 2017년 03월 31일 | ||
쪽수 | 468쪽 | ||
크기 |
190 * 247
* 26
mm
/ 927 g
|
||
총권수 | 1권 | ||
시리즈명 |
제이펍의 로봇 시리즈
|
||
원서명/저자명 | Programming Robots with ROS/Morgan Quigley, Brian Gerkey, William D. Smart |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립