이미 소장하고 있다면 판매해 보세요.
|
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 사이클 외에도 모든 토픽을 구독하는 것은 나머지 시스템의 성능에 큰 영향을 미친다. 특히, 적어도 하나의 활성화된 구독자(영상 처리 파이프라인에서 흔함)가 없는 한 특정 결과를 계산하지 않는 노드에게는 더 많은 영향을 미친다. ---p.414 |