장바구니 담기 close

장바구니에 상품을 담았습니다.

ROS 로봇 프로그래밍

ROS 로봇 프로그래밍

  • 표윤석
  • |
  • 루비페이퍼
  • |
  • 2017-08-18 출간
  • |
  • 482페이지
  • |
  • 189 X 241 X 23 mm /990g
  • |
  • ISBN 9791186710180
판매가

32,000원

즉시할인가

28,800

카드할인

0원(즉시할인 0%)

적립금

1,600원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
28,800

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




이 책은 국내에 ROS를 처음 소개했던 "ROS 로봇 프로그래밍(표윤석 저, 2015)"의 개정증보판입니다. 로봇 전문가이자 ROS 에반젤리스트인 표윤석 박사를 필두로 ROS 공식 로봇 플랫폼 "터틀봇3" 개발자들이 뭉쳐서 더욱 풍성해진 내용으로 독자 여러분을 만납니다. 이 책은 ROS를 기반으로 로봇 프로그래밍을 배우려는 대학/대학원생이나, 실무에서 ROS를 도입하려는 로봇공학 실무자, 소프트웨어 개발자에게 최적의 길잡이가 될 수 있습니다.

◆ ROS 로봇 프로그래밍" 개정증보판에 추가된 내용
- ROS의 최신 LTS(Long Term Support) 버전인 Kinetic Kame 채택
- 임베디드 시스템에서 ROS를 활용하기 위한 OpenCR 내용 추가
- ROS 공식 모바일 로봇 플랫폼 "터틀봇3" 내용 추가
- 서비스 로봇 개발을 위한 예제 추가
- 안드로이드 앱 개발을 위한 ROS Java 내용 추가
- 매니퓰레이션 도구 MoveIt! 내용 추가 및 실전 예제용 OpenManipulator 내용 추가
- 3차원 시뮬레이터 Gazebo를 이용한 SLAM, 내비게이션, 매니퓰레이션에 대한 실전 예제 추가


목차


1장 로봇 소프트웨어 플랫폼
1.1. 플랫폼의 구성 요소
1.2. 로봇 소프트웨어 플랫폼
1.3. 로봇 소프트웨어 플랫폼의 필요성
1.4. 로봇 소프트웨어 플랫폼이 가져올 미래

2장 로봇 운영체제 ROS
2.1. ROS 소개
2.2. 메타 운영체제
2.3. ROS의 목적
2.4. ROS의 구성
2.5. ROS의 생태계
2.6. ROS의 역사
2.7. ROS 버전
2.7.1. 버전 규칙
2.7.2. 버전 주기
2.7.3. 버전 선택

3장 ROS 개발환경 구축
3.1. ROS 설치
3.1.1. 일반 설치
3.1.2. 간단 설치
3.2. ROS 개발환경
3.2.1. ROS 환경설정
3.2.2. 통합 개발환경(IDE)
3.3. ROS 동작 테스트

4장 ROS의 중요 콘셉트
4.1. ROS 용어 정리
4.2. 메시지 통신
4.2.1. 토픽(topic)
4.2.2. 서비스(service)
4.2.3. 액션(action)
4.2.4. 파라미터(parameter)
4.2.5. 메시지 통신의 흐름
4.3. 메시지
4.3.1. msg 파일
4.3.2. srv 파일
4.3.3. action 파일
4.4. 네임(name)
4.5. 좌표변환(TF)
4.6. 클라이언트 라이브러리
4.7. 이기종 디바이스 간의 통신
4.8. 파일 시스템
4.8.1. 파일 구성
4.8.2. 설치 폴더
4.8.3. 작업 폴더
4.9. 빌드 시스템
4.9.1. 패키지 생성
4.9.2. 패키지 설정 파일(package.xml) 수정
4.9.3. 빌드 설정 파일(CMakeLists.txt) 수정
4.9.4. 소스 코드 작성
4.9.5. 패키지 빌드
4.9.6. 노드 실행

5장 ROS 명령어
5.1. ROS 명령어 정리
5.2. ROS 쉘 명령어
5.2.1. roscd: ROS 디렉터리 이동
5.2.2. rosls: ROS 파일 목록
5.2.3. rosed: ROS 편집 명령어
5.3. ROS 실행 명령어
5.3.1. roscore: roscore 실행
5.3.2. rosrun: ROS 노드 실행
5.3.3. roslaunch: ROS 노드 여럿 실행
5.3.4. rosclean: ROS 로그 검사 및 삭제
5.4. ROS 정보 명령어
5.4.1. 노드 실행
5.4.2. rosnode: ROS 노드
5.4.3. rostopic: ROS 토픽
5.4.4. rosservice: ROS 서비스
5.4.5. rosparam: ROS 파라미터
5.4.6. rosmsg: ROS 메시지 정보
5.4.7. rossrv: ROS 서비스 정보
5.4.8. rosbag: ROS 로그 정보
5.5. ROS catkin 명령어
5.6. ROS 패키지 명령어

6장 ROS 도구
6.1. 3차원 시각화 도구(RViz)
6.1.1. RViz 설치 및 실행
6.1.2. RViz 화면 구성
6.1.3. RViz 디스플레이
6.2. ROS GUI 개발 도구(rqt)
6.2.1. rqt 설치 및 실행
6.2.2. rqt 플러그인
6.2.3. rqt_image_view
6.2.4. rqt_graph
6.2.5. rqt_plot
6.2.6. rqt_bag

7장 ROS 기본 프로그래밍
7.1. ROS 프로그래밍 전에 알아둬야 할 사항
7.1.1. 표준 단위
7.1.2. 좌표 표현 방식
7.1.3. 프로그래밍 규칙
7.2. 퍼블리셔와 서브스크라이버 노드 작성 및 실행
7.2.1. 패키지 생성
7.2.2. 패키지 설정 파일(package.xml) 수정
7.2.3. 빌드 설정 파일(CMakeLists.txt) 수정
7.2.4. 메시지 파일 작성
7.2.5. 퍼블리셔 노드 작성
7.2.6. 서브스크라이버 노드 작성
7.2.7. 노드 빌드
7.2.8. 퍼블리셔 실행
7.2.9. 서브스크라이버 실행
7.2.10. 실행된 노드들의 통신 상태 확인
7.3. 서비스 서버와 클라이언트 노드 작성 및 실행
7.3.1. 패키지 생성
7.3.2. 패키지 설정 파일(package.xml) 수정
7.3.3. 빌드 설정 파일(CMakeLists.txt) 수정
7.3.4. 서비스 파일 작성
7.3.5. 서비스 서버 노드 작성
7.3.6. 서비스 클라이언트 노드 작성
7.3.7. 노드 빌드
7.3.8. 서비스 서버 실행
7.3.9. 서비스 클라이언트 실행
7.3.10. rosservice call 명령어 사용 방법
7.3.11. GUI 도구인 Service Caller 사용 방법
7.4. 액션 서버와 클라이언트 노드 작성 및 실행
7.4.1. 패키지 생성
7.4.2. 패키지 설정 파일(package.xml) 수정
7.4.3. 빌드 설정 파일(CMakeLists.txt) 수정
7.4.4. 액션 파일 작성
7.4.5. 액션 서버 노드 작성
7.4.6. 액션 클라이언트 노드 작성
7.4.7. 노드 빌드
7.4.8. 액션 서버 실행
7.4.9. 액션 클라이언트 실행
7.5. 파라미터 사용법
7.5.1. 파라미터를 활용한 노드 작성
7.5.2. 파라미터 설정
7.5.3. 파라미터 읽기
7.5.4. 노드 빌드 및 실행
7.5.5. 파라미터 목록 보기
7.5.6. 파라미터 사용 예
7.6. roslaunch 사용법
7.6.1. roslaunch의 활용
7.6.2. Launch 태그

8장 로봇, 센서, 모터
8.1. 로봇 패키지
8.2. 센서 패키지
8.2.1. 센서의 종류
8.2.2. 센서 패키지의 분류
8.3. 카메라
8.3.1. USB 카메라 관련 패키지
8.3.2. USB 카메라 테스트
8.3.3. 이미지 정보 확인
8.3.4. 원격으로 이미지 전송
8.3.5. 메라 캘리브레이션
8.4. 심도 카메라(Depth Camera)
8.4.1. Depth Camera의 종류
8.4.2. Depth Camera 테스트
8.4.3. Point Cloud Data의 시각화
8.4.4. Point Cloud Data 관련 라이브러리
8.5. 레이저 거리 센서
8.5.1. LDS 센서의 거리 측정 원리
8.5.2. LDS 테스트
8.5.3. LDS 거릿값의 시각화
8.5.4. LDS 활용
8.6. 모터 패키지
8.7. 다이나믹셀
8.8. 공개 패키지 사용법
8.8.1. 패키지 검색
8.8.2. 의존성 패키지 설치
8.8.3. 패키지 설치
8.8.4. 패키지 실행

9장 임베디드 시스템
9.1. OpenCR
9.1.1. 특징
9.1.2. 보드 사양
9.1.3. 개발환경 구축
9.1.4. OpenCR 예제
9.2. rosserial
9.2.1. rosserial server
9.2.2. rosserial client
9.2.3. rosserial 프로토콜
9.2.4. rosserial 제약사항
9.2.5. rosserial 설치
9.2.6. rosserial 예제
9.3. 터틀봇3 펌웨어
9.3.1. 터틀봇3 버거 펌웨어
9.3.2. 터틀봇3 와플 펌웨어
9.3.3. 터틀봇3 설정 펌웨어


10장 모바일 로봇
10.1. ROS 지원 로봇
10.2. 터틀봇 시리즈
10.3. 터틀봇3 하드웨어
10.4. 터틀봇3 소프트웨어
10.5. 터틀봇3 개발환경
10.6. 터틀봇3 원격 제어
10.6.1. 터틀봇3 조종하기
10.6.2. 터틀봇3 시각화
10.7. 터틀봇3 토픽
10.7.1. 서브스크라이브 토픽
10.7.2. 서브스크라이브 토픽으로 로봇 제어
10.7.3. 퍼블리시 토픽
10.7.4. 퍼블리시 토픽으로 로봇 상태 파악
10.8. RViz를 이용한 터틀봇3 시뮬레이션
10.8.1. 시뮬레이션
10.8.2. 가상 로봇 실행
10.8.3. Odometry와 TF
10.9. Gazebo를 이용한 터틀봇3 시뮬레이션
10.9.1. 시뮬레이터 Gazebo
10.9.2. 가상 로봇 실행
10.9.3. 가상 SLAM과 내비게이션

11장 SLAM과 내비게이션
11.1. 내비게이션과 구성 요소
11.1.1. 모바일 로봇의 내비게이션
11.1.2. 지도
11.1.3. 로봇 자세 계측/추청 기능
11.1.4. 벽, 물체 등 장애물 계측 기능
11.1.5. 최적 경로 계산 및 주행 기능
11.2. SLAM 실습편
11.2.1. SLAM을 위한 로봇 하드웨어 제약사항
11.2.2. SLAM의 계측 대상 환경
11.2.3. SLAM을 위한 ROS 패키지
11.2.4. SLAM 실행
11.2.5. 미리 준비된 bag 파일을 이용한 SLAM
11.3. SLAM 응용편
11.3.1. 지도
11.3.2. SLAM에 필요한 정보
11.3.3. SLAM의 처리 과정
11.3.4. 좌표 변환(TF)
11.3.5. turtlebot3_slam 패키지
11.4. SLAM 이론편
11.4.1. SLAM
11.4.2. 다양한 위치 추정(localization) 방법론
11.5. 내비게이션 실습편
11.5.1. 내비게이션을 위한 ROS 패키지
11.5.2. 내비게이션 실행
11.6. 내비게이션 응용편
11.6.1. 내비게이션
11.6.2. 내비게이션에 필요한 정보
11.6.3. turtlebot3_navigation의 각 노드 및 토픽 상태
11.6.4. turtlebot3_navigation 설정
11.6.5. turtlebot3_navigation 세부 파라미터 설정
11.7. 내비게이션 이론편
11.7.1. Costmap
11.7.2. AMCL
11.7.3. Dynamic Window Approach(DWA)

12장 서비스 로봇
12.1. 배달 서비스 로봇
12.2. 배달 서비스 로봇의 구성
12.2.1. 시스템 구성
12.2.2. 시스템 설계
12.2.3. 서비스 코어 노드
12.2.4. 서비스 마스터 노드
12.2.5. 서비스 슬레이브 노드
12.3. ROS Java를 이용한 안드로이드 태블릿 PC 프로그래밍

13장 매니퓰레이터
13.1. 매니퓰레이터 소개
13.1.1. 매니퓰레이터 구조 및 제어
13.1.2. 매니퓰레이터와 ROS
13.2. OpenManipulator 모델링 및 시뮬레이션
13.2.1. OpenManipulator
13.2.2. 매니퓰레이터 모델링
13.2.3. Gazebo 설정
13.3. MoveIt!
13.3.1. move_group
13.3.2. MoveIt! Setup Assistant
13.3.3. Gazebo 시뮬레이션
13.4. 실제 플랫폼에 적용하기
13.4.1. OpenManipulator 준비 및 제어
13.4.2. OpenManipulator with TurtleBot3 Waffle

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.