간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (28,800원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (32,400원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (33,480원)
(최대할인 3만원 / 3만원 이상 결제)
Close

ROS 로보틱스 프로그래밍 : 4차 산업혁명 시대의 핵심 기술, 로봇 프로그래밍

원제 : Mastering ROS for Robotics Programming
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 18
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

할인혜택
적립혜택자동적립
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 사은품(9)

책소개

4차 산업혁명 시대의 로봇 기술 구현에 필요한 고급 ROS 가이드 북이다.

이 책을 통해 ROS를 활용한 로봇 시뮬레이션, 머신 비전을 배울 수 있을 뿐만 아니라, 로보틱스의 대표적인 주제인 7-DOF(Degree of Freedom) 로봇 팔과 SLAM(Simultaneous Localization and Mapping)과
AMCL(Adaptive Monte Carlo Localization)을 활용한 이동 로봇의 자율 내비게이션을 디자인할 수 있다. 즉 기초적인 가이드북보다 더욱 실용적인 주제를 접할 수 있다.
따라서 ROS를 활용해 실용적으로 고급 로봇 알고리즘을 구현하고자 하는 독자들에게는 최적의 도서가 될 것이다.

출판사 서평

[이 책에서 다루는 내용 ]
- 7-DOF 로봇 팔과 차륜 구동 로봇의 로봇 모델 생성
- 무브잇! 패키지를 활용한 7-DOF 로봇 팔의 모션 계획
- SLAM과 AMCL을 활용한 차륜 구동 로봇의 자율 내비게이션
- 플러그인 립, ROS 노드렛, 가제보 플러그인의 심화 학습
- 아두이노와 같은 I/O 보드, 센서, 액추에이터와 ROS의 인터페이스
- ABB의 활용과 유니버셜 로봇 팔 시뮬레이션
- 최신 ROS 버전을 활용한 ROS 프레임워크 탐색

[이 책의 대상 독자 ]
열정적인 로보틱스 지지자거나 ROS를 사용해 로봇 애플리케이션 생성에 관해 더 배우고 싶어하는 연구자라면, 이 책은 바로 당신을 위한 책이다. ROS와 GNU/Linux, C++ 프로그래밍의 기본 지식을 갖추고, ROS의 고급 특징을 탐색하고자 하는 프로그래머들에게 좋을 것이다.

[이 책의 구성 ]
1장, 'ROS와 패키지 관리 소개'에서는 ROS의 핵심 개념을 이해하기 위한 설명과 ROS 패키지(package)를 이용한 작업 방법을 설명한다.
2장, 'ROS 3D 로봇 모델링 작업 작업'에서는 두 종류의 로봇 설계를 다룬다. 하나는 7 자유도(seven-DOF, Degree of Freedom) 매니퓰레이터(manipulator)고, 다른 하나는 차륜형 로봇(differential drive robot)이다.
3장, 'ROS와 가제보를 활용한 로봇 시뮬레이션'에서는 7 자유도 로봇 팔과 차륜형 로봇, 가제보(Gazebo)에서 로봇 조인트를 조작하는 데 도움을 주는 ROS 컨트롤러(controllers)를 설명한다.
4장, 'ROS 무브잇!과 내비게이션 스택 활용'에서는 ROS 무브잇!(MoveIt!)과 내비게이션 스택(Navigation Stack)을 사용해 별도로 설치하지 않아도 바로 사용할 수 있는 기능인 로봇 매니퓰레이션을 로봇 자율 내비게이션(autonomous navigation)과 인터페이스하는 방법을 알아본다.
5장, '플러그인립, 노드렛, 가제보 플러그인 활용'에서는 ROS의 고급 개념을 보여주는데, ROS 플러그인립(pluginlib)과 노드렛(nodelets), 가제보 플러그인(Gazebo plugins)이다. 이 장에서는 각 개념들의 기능과 응용을 살펴보고, 작동을 시연하기 위한 예제를 실행해본다.
6장, 'ROS 컨트롤러와 시각화 플러그인 생성'에서는 PR2 로봇과 그와 유사한 로봇을 위한 기본 ROS 컨트롤러를 사용하는 방법을 보여준다. 컨트롤러를 생성한 뒤 가제보의 PR2 시뮬레이션을 이용해 컨트롤러를 구동해본다.
7장, 'ROS와 I/O 보드, 센서, 액추에이터 인터페이싱'에서는 센서와 액추에이터와 같은 하드웨어 요소들과 ROS 간의 인터페이스를 다룬다. 아두이노나 라즈베리 파이(Raspberry Pi), 오드로이드C1(Odroid-C1) 같은 I/O 보드를 사용하는 센서와 ROS 간의 인터페이스를 살펴본다.
8장, 'ROS와 OpenCV, PCL을 활용한 비전 센서 프로그래밍'에서는 다양한 비전 센서와 ROS 간의 인터페이스 방법, 오픈소스 컴퓨터 비전(Open-CV)과 포인트 클라우드 라이브러리(PCL, Point Cloud Library)와 같은 라이브러리를 사용해 인터페이스 프로그래밍을 하는 방법을 다룬다.
9장, 'ROS 환경에서 차륜 구동 이동 로봇 하드웨어의 구축과 인터페이싱'에서는 차륜 구동으로 설정된 자율 이동 로봇 하드웨어를 구축하고, 그 하드웨어와 ROS 간 통신을 구현하는 데 도움을 주는 방법을 알아본다.
10장, 'ROS-무브잇!의 고급 기능'에서는 충돌 회피, 3D 센서를 이용한 주변 인지와 환경 파악, 물체 선별, 특정 위치에 두기와 같은 무브잇!의 기능을 설명한다. 그리고 로봇 매니퓰레이터 하드웨어와 무브잇! 간의 인터페이싱을 살펴본다.
11장, '산업용 로봇을 위한 ROS'에서는 ROS 인더스트리얼 패키지(ROS-Industrial Package)를 이해하고 설치해본다. 산업용 로봇의 무브잇! IKFast 플러그인을 개발하는 방법을 알아본다.
12장, 'ROS 환경에서 트러블슈팅과 최적 실행 방법'에서는 이클립스 통합 개발 환경(Eclipse IDE)에서 ROS 개발환경을 설정하는 방법과 ROS에서 최적 실행, ROS에서 발생하는 문제 해결 팁을 알려준다.

목차

1장. ROS와 패키지 관리 소개
ROS를 배워야 하는 이유
로봇을 위한 ROS를 선호하는 이유
로봇을 위한 ROS를 선호하지 않는 이유
ROS 파일 시스템 레벨의 이해
ROS 패키지
ROS 메타 패키지
ROS 메시지
ROS 서비스
ROS 연산 그래프 레벨의 이해
ROS 노드의 이해
ROS 메시지
ROS 토픽
ROS 서비스
ROS 백
ROS 마스터의 이해
ROS 파라미터 사용
ROS 커뮤니티 레벨의 이해
ROS를 시작하기 위한 전제조건은 무엇인가?
ROS 마스터와 ROS 파라미터 서버의 구동
Roscore 명령어 결과의 체크
ROS 패키지 생성
ROS 토픽의 활용
ROS 노드 생성
빌딩 노드
커스텀 msg와 srv 파일의 추가
ROS 서비스의 활용
ROS 액션립의 활용
ROS 액션 서버와 클라이언트의 빌딩
런치 파일 생성
토픽, 서비스, 액션립의 응용
ROS 패키지 유지 관리
커스텀 ROS 패키지 배포
배포를 위한 ROS 패키지의 준비
커스텀 패키지의 배포
커스텀 ROS 패키지를 위한 위키 페이지 제작
연습문제
요약

2장. ROS에서 3D 로봇 모델링 작업
로봇 모델링을 위한 ROS 패키지
URDF를 활용한 로봇 모델링의 이해
로봇 디스크립션을 위한 ROS 패키지의 생성
최초의 커스텀 URDF 모델 생성
URDF 파일 해설
RViz에서 로봇 3D 모델의 시각화
팬 조인트와 틸트 조인트의 상호작용
물리적인 특징과 충돌 특성을 URDF 모델에 추가
xacro를 활용한 로봇 모델링의 이해
프로퍼티의 사용
수학적 표현의 사용
매크로의 사용
xacro에서 URDF로의 변환
7-DOF 로봇 매니퓰레이터에 대한 로봇 디스크립션 생성
로봇 팔 사양
조인트 타입
7-DOF 팔의 xacro 모델 상세 해설
상수의 사용
매크로의 사용
다른 xacro 파일의 포함
링크에서 메시의 사용
로봇 집게를 사용한 작업
RViz에서 7-DOF 로봇 팔 보기
조인트 상태 퍼블리셔의 이해
로봇 상태 퍼블리셔의 이해
차륜 구동 모바일 로봇을 위한 로봇 디스크립션 생성
연습문제
요약

3장. ROS와 가제보를 활용한 로봇 시뮬레이션
가제보와 ROS를 활용한 로봇 팔의 시뮬레이션
가제보를 위한 로봇 팔 시뮬레이션 모델
가제보 로봇 모델에 색과 질감 추가
로봇을 구동하기 위한 transmission 태그의 추가
gazebo_ros_control 플러그인의 추가
가제보에 3D 비전 센서 추가
Xtion Pro를 장착한 로봇 팔의 시뮬레이션
3D 센서 데이터의 시각화
가제보에서 ROS 컨트롤러를 활용한 로봇 조인트 동작
ros_control 패키지의 이해
ROS 컨트롤러와 하드웨어 인터페이스의 다양한 타입
ROS 컨트롤러가 가제보와 상호작용하는 방법
조인트 상태 컨트롤러와 조인트 위치 컨트롤러의 로봇 팔에 대한 인터페이싱
가제보와 함께 ROS 컨트롤러 실행
로봇 조인트의 구동
가제보에서 차륜 이동 로봇의 시뮬레이션
가제보에 레이저 스캐너 추가
가제보에서 모바일 로봇의 이동
런치 파일에서 조인트 상태 퍼블리셔의 추가
ROS teleop 노드의 추가
연습문제
요약

4장. ROS 무브잇!과 내비게이션 스택 활용
무브잇! 설치
무브잇! 구조
The move_group node
무브잇!을 사용한 모션 계획
모션 계획 요청 어댑터
무브잇! 플래닝 씬
무브잇! 기구학 처리
무브잇! 충돌 체크 기능
설정 마법사 툴을 사용한 무브잇! 환경 설정 패키지의 생성
1단계 - 환경 설정 마법사 툴의 실행
2단계 - 자기 충돌 매트릭스의 생성
3단계 - 가상 조인트의 추가
4단계 - 플래닝 그룹의 추가
5단계 - 로봇 자세 추가
6단계 - 로봇 엔드 이펙터 설정
7단계 - 패시브 조인트의 추가
8단계 - 환경 설정 파일의 생성
무브잇! 환경 설정 패키지를 사용한 RViz에서 로봇의 모션 계획
RViz MotionPlanning 플러그인의 사용
무브잇! 환경 설정 패키지와 가제보의 인터페이스
1단계 - 무브잇!을 위한 컨트롤러 환경 설정 파일의 작성
2단계 - 컨트롤러 런치 파일의 생성
3단계 - 가제보를 위한 컨트롤러 환경 설정 파일 생성
4단계 - 가제보 궤적 컨트롤러를 위한 런치 파일의 생성
5단계 - 가제보-무브잇! 인터페이스의 디버그
ROS 내비게이션 스택의 이해
ROS 내비게이션 하드웨어 요구 사항
내비게이션 패키지로의 작업
move_base 노드의 이해
내비게이션 스택의 작동
지도상에서의 위치 설정
목표와 경로를 보내기
충돌 복귀 동작
속도 명령어 보내기
ROS 내비게이션 스택의 설치
SLAM을 사용한 지도의 생성
gmapping을 위한 런치 파일의 생성
차륜 구동 로봇에 관한 SLAM의 실행
AMCL과 정적 지도를 사용한 자율 내비게이션의 구현
AMCL 런치 파일의 생성
연습문제
요약

5장. 플러그인립, 노드렛, 가제보 플러그인 활용
플러그인립의 이해
플러그인립을 사용한 계산기 애플리케이션을 위한 플러그인의 생성
pluginlib_calculator 패키지를 이용한 작업
1단계 - calculator_base 헤더 파일의 생성
2단계 - calculator_plugins 헤더 파일의 생성
3단계 - calculator_plugins.cpp를 사용한 플러그인의 내보내기
4단계 - calculator_loader.cpp를 사용한 플러그인 로더의 실행
5단계 - 플러그인 디스크립션 파일의 생성- calculator_plugins.xml
6단계 - ROS 패키지 시스템에 플러그인 등록
7단계 - CmakeLists.txt 파일의 수정
8단계 - 패키지에서 플러그인의 리스트 조회
9단계 - 플러그인 로더의 실행
ROS 노드렛의 이해
노드렛의 생성
1단계 - 노드렛을 위한 패키지의 생성
2단계 - hello_world.cpp 노드렛의 생성
3단계 - hello_world.cpp의 상세 해설
4단계 - 플러그인 디스크립션 파일의 생성
5단계 - package.xml로 내보내기 태크 추가
6단계 - CMakeLists.txt 수정
7단계 - 노드렛의 빌딩과 실행
8단계 - 노드렛을 위한 런치 파일의 생성
가제보 플러그인의 이해
기본 월드 플러그인의 생성
연습문제
요약

6장. ROS 컨트롤러와 시각화 플러그인 생성
pr2_mechanism 패키지의 이해
pr2_controller_interface 패키지
Controller의 초기화
ROS 컨트롤러의 시작
ROS 컨트롤러 업데이트
컨트롤러 정지
pr2_controller_manager
ROS에서 기본 리얼 타임 조인트 컨트롤러의 작성
1단계 - 컨트롤러 패키지의 생성
2단계 - 컨트롤러 헤더 파일의 생성
3단계 - 컨트롤러 소스 파일의 생성
4단계 - 컨트롤러 소스 파일의 상세 해설
5단계 - 플러그인 디스크립션 파일의 생성
6단계 - package.xml 업데이트
7단계 - CMakeList.txt 업데이트
8단계 - 컨트롤러 빌딩
9단계 - 컨트롤러 환경 설정 파일 작성
10단계 - 컨트롤러를 위한 런치 파일의 작성
11단계 - 가제보에서 PR2 시뮬레이션과 함께 컨트롤러 실행
ros_control 패키지의 이해
ROS 시각화 툴(RViz)과 그 플러그인의 이해
Displays 패널
RViz 툴바
Views
Time 패널
Dockable 패널
원격 조종을 위한 RViz 플러그인의 작성
RViz 플러그인 빌딩의 방법론
1단계 - Rviz 플러그인 패키지의 생성
2단계 - RViz 플러그인 헤더 파일의 생성
3단계 - RViz 플러그인 정의의 생성
4단계 - 플러그인 디스크립션 파일의 생성
5단계 - package.xml에서 내보내기 태그 추가
6단계 - CMakeLists.txt의 수정
7단계 - 플러그인의 빌드와 불러오기
연습문제
요약

7장. ROS와 I/O 보드, 센서, 액추에이터 인터페이싱
아두이노-ROS 인터페이스 이해
아두이노-ROS 인터페이스는 무엇인가?
ROS에서 rosserial 패키지의 이해
Ubuntu 14.04/15.04에 rosserial 패키지 설치
ROS - 아두이노 퍼블리셔와 서브스크라이버 예제
아두이노-ROS, 예제 - LED 깜박임과 버튼 누름
아두이노-ROS, 예제 - 가속도계 ADXL 335
아두이노-ROS, 예제 - 초음파 거리 센서
초음파 거리 센서를 사용해 거리를 알기 위한 관계식
아두이노-ROS, 예제 - 측량 정보 퍼블리셔
Non-Arduino 보드와 ROS의 인터페이스
오드로이드와 라즈베리 파이 2에 관한 ROS 설정
OS 이미지를 오드로이드와 라즈베리 파이 2에 설치하는 방법
윈도우에서 설치
리눅스에서 설치
PC에서 오드로이드와 라즈베리 파이 2로 연결
오드로이드와 라즈베리 파이 2에 대한 이더넷 핫스팟의 구성
오드로이드에 Wiring Pi 설치
라즈베리 파이 2에 Wiring Pi 설치
오드로이드와 라즈베리 파이 2의 ROS를 사용한 LED 깜박임
오드로이드와 라즈베리 파이 2에서 ROS를 사용한 누름 버튼 + LED 깜박임
오드로이드에서 LED 깜박임 실행
오드로이드에서 버튼 다루기와 LED 깜박임 실행
라즈베리 파이 2에서 LED 깜박임 실행
다이나믹셀 액추에이터와 ROS의 인터페이스
연습문제
요약

8장. ROS와 OpenCV, PCL을 활용한 비전 센서 프로그래밍
ROS - OpenCV 인터페이싱 패키지의 이해
ROS - PCL 인터페이싱 패키지의 이해
ROS 퍼셉션의 설치
ROS에서 USB 웹캠 인터페이스
ROS 카메라 캘리브레이션
cv_bridge를 이용한 ROS와 OpenCV 사이의 이미지 변환
ROS와 OpenCV를 이용한 영상 처리
1단계-실험을 위한 ROS 패키지의 생성
2단계-소스 파일의 생성
3단계-코드의 해설
4단계- CMakeLists.txt 파일의 수정
5단계- 예제의 빌딩과 실행
ROS에서 Kinect와 Asus Xtion Pro의 인터페이스
Intel Real Sense 카메라와 ROS의 인터페이스
레이저 스캔 패키지에 대한 포인트 클라우드의 활용
ROS에서 Hokuyo 레이저의 인터페이스
ROS에서 Velodne LIDAR의 인터페이스
포인트 클라우드 데이터의 활용
포인트 클라우드를 퍼블리시하는 방법
포인트 클라우드를 서브스크라이브하고 처리하는 방법
포인트 클라우드 데이터를 PCD 파일로 작성
PCD 파일로부터 포인트 클라우드를 읽고 퍼블리시하기
ROS를 사용한 오드로이드로부터의 스트리밍 웹캠
연습문제
요약

9장. ROS환경에서 차륜 구동 이동 로봇 하드웨어의 구축과 인터페이싱
쳇봇 소개 - DIY 모바일 로봇과 그의 하드웨어 환경 설정
Energia IDE를 활용한 쳇봇 펌웨어 플래시 메모리 쓰기
LaunchPad에서 PC로 직렬 데이터 전송 프로토콜
PC에서 LaunchPad로 직렬 데이터 전송 프로토콜
ROS에 관한 쳇봇 인터페이스 패키지 논의
엔코더 틱으로부터 거리 측량의 연산
ROS twist 메시지로부터 모터 속도의 연산
C++ 노드를 사용한 로봇의 독립 런치 파일의 실행
쳇봇을 위한 내비게이션 스택의 환경 설정
내비게이션 스택 패키지의 환경 설정
local_costmap과 global_costmap의 공통 환경 설정
전역 코스트 맵 파라미터들의 환경 설정
지역 코스트 맵 파라미터 환경 설정
베이스 지역 플래너 파라미터의 환경 설정
DWA 지역 플래너 파라미터 환경 설정
move_base 노드 파라미터의 환경 설정
AMCL의 이해
내비게이션 스택으로 작업하기 위한 RViz의 이해
2D Pose Estimate 버튼
파티클 클라우드의 시각화
2D Nav Goal 버튼
정적 지도의 표시
로봇 풋프린트의 표시
전역과 지역 코스트 맵의 표현
전역 계획, 지역 계획, 플래너 계획의 표현
현재 목표
내비게이션 스택을 사용한 장애물 회피
쳇봇 시뮬레이션의 활용
가제보에서 가상 공간의 구축
가제보 모델 폴더에 모델 파일 추가
ROS 노드에서 내비게이션 스택으로 목표 위치 보내기
연습문제
요약

10장. ROS-무브잇!의 고급 기능
move_group C++ API를 활용한 로봇 팔의 모션 계획
MoveIt! C++API를 활용한 임의 경로에 관한 모션 계획
MoveIt! C++ API를 활용한 커스텀 경로의 모션 계획
무브잇!을 활용하여 로봇 팔에서 충돌 체크
무브잇!에서 충돌 객체의 추가
플래닝 씬으로부터 충돌 객체의 제거
무브잇! API를 활용한 셀프 충돌 체크
무브잇!과 가제보를 사용한 인식의 활용
무브잇!을 사용한 물체 잡기
무브잇!을 사용해 물체를 집어 원하는 위치로 옮기는 작업의 수행
무브잇!에서 그랩 테이블과 그랩 객체의 생성
가제보와 실제 로봇에서 물체를 집어 원하는 곳으로 옮기는 작업
로봇 하드웨어 인터페이싱을 위한 다이나믹셀 ROS 서보 컨트롤러의 이해
다이나믹셀 서보
다이나믹셀-ROS 인터페이스
로봇 팔에 기반한 7-DOF 다이나믹셀과 ROS 무브잇!의 인터페이스
COOL arm 로봇을 위한 컨트롤러 패키지의 생성
COOL arm의 무브잇! 환경 설정
연습문제
요약

11장. 산업용 로봇을 위한 ROS
ROS-인더스트리얼 패키지의 이해
ROS-인더스트리얼의 목표
ROS-인더스트리얼 - 간단한 역사
ROS-인더스트리얼의 이점
ROS-인더스트리얼 패키지의 설치
ROS-인더스트리얼 패키지의 블록 다이어그램
산업용 로봇을 위한 URDF의 생성
산업용 로봇을 위한 무브잇! 환경 설정
무브잇! 환경 설정 파일의 업데이트
무브잇! 환경 설정의 테스트
유니버셜 로봇 팔의 ROS-인더스트리얼 패키지 설치
유니버셜 로봇의 ROS 인터페이스 설치
유니버셜 로봇 팔의 무브잇! 환경 설정 이해
ABB 로봇의 무브잇! 환경 설정의 활용
ROS-인더스트리얼 로봇 지원 패키지의 이해
RViz에서 ABB 로봇 모델의 시각화
ROS-인더스트리얼 로봇 클라이언트 패키지
산업용 로봇 클라이언트 노드의 디자인
ROS-인더스트리얼 로봇 드라이버 패키지
무브잇! IKPast 플러그인의 이해
ABB-IRB6640 로봇에 대한 무브잇! IKFast 플러그인의 생성
무브잇! IKFast 플러그인의 개발을 위한 사전요구 사항
오픈레이브와 IKFast 모듈
무브잇! IKFast
무브잇! IKFast 패키지의 설치
Ubuntu 14.04.3에 오픈레이브 설치
오픈레이브로 작업하기 위한 로봇의 COLLADA 파일 생성
IRB 6640 로봇을 위한 IKFast CPP 파일의 생성
무브잇! IKFast 플러그인의 생성
연습문제
요약

12장. ROS환경에서 트러블슈팅과 최적 실행방법
Ubuntu 14.04.3에 이클립스 IDE 설정
이클립스 IDE에서 ROS 개발 환경 설정
이클립스 IDE에서 전역 설정
이클립스 IDE를 위한 ROS 컴파일러 스크립트
이클립스에 ROS 캣킨 패키지를 추가
이클립스에서 run ROS 노드에 run configurations 추가
ROS에서 최적 실행
ROS C++ 코딩 스타일 가이드
ROS에서 사용된 표준 명명 규약
코드 라이선스 규약
ROS 코드 포맷
ROS 코드 문서
콘솔 결과
ROS 패키지에서 최적 실행
ROS에서 중요한 틀러블슈팅 팁
roswtf의 쓰임
연습문제
요약

본문중에서

이 책은 ROS의 고급 가이드북으로 이미 ROS 기본 지식이 있는 독자들에게 매우 적합하다. ROS는 로보틱스 기업과 대학, 연구기관에서 로봇 모델을 디자인하고, 빌드(build)하며, 시뮬레이션하고 그 모델을 실제 하드웨어로 인터페이스하는 데 폭넓게 이용된다. 또한 ROS는 이제 로봇 엔지니어에게 필수 사항이다. 이 책은 독자가 ROS의 지식을 획득하도록 도움을 주며, 대화형 예제를 이용해 독자의 ROS 스킬을 단련하도록 도움을 줄 수 있다. 고급 가이드지만 먼저 기본 개념을 다질 수 있도록 1장에서 ROS의 개념을 설명한다. ROS 입문자도 기본을 익힌 뒤 이 책을 시작할 수 있을 것이다. 주로 ROS의 고급 개념에 초점을 두는데, 그 개념들은 ROS 내비게이션 스택(Navigation stack), ROS 무브잇!(MoveIt!), ROS 플러그인(plugins), 노드렛(nodelets), 컨트롤러(controllers), ROS 인더스트리얼(Industrial)과 같은 것들이다.
하드웨어에 상관없이 예제를 실행해볼 수 있다. 하지만 일부 절에서 I/O 보드, 비전 센서, 액추에이터(Actuator)와 ROS 간의 인터페이싱을 볼 수 있다. 이 하드웨어를 실행하려면 주변기기를 구매해야 한다.
이 책은 ROS에 대한 소개로 시작해, ROS에서 시뮬레이션과 시각화를 위해 로봇 모델을 빌드하는 방법을 살펴본다. 가제보(Gazebo)를 활용한 로봇 시뮬레이션 이후에, 로봇과 ROS의 내비게이션 스택, 무브잇!에 연결하는 방법을 볼 수 있을 것이다. 이 외에도 ROS 플러그인, 컨트롤러, 노드렛, I/O 보드, 비전 센서와의 인터페이싱을 볼 수 있다. 마지막으로 ROS 인더스트리얼과 문제점 해결 방법, ROS 추천 실행 방법을 확인할 수 있다.
(/ 지은이의 말 중에서)

2016 다보스 포럼의 주제를 한 단어로 요약하자면 '4차 산업혁명'이다. 이 책은 그 4차 산업혁명의 핵심 기술 중의 하나인 로봇 기술을 설명한다. 로봇을 전공하는 사람들과 로봇 기술을 습득하려는 사람들에게 이제 필수적이 될 ROS(Robot Operating System)에 관한 개념들을 실제 소스 코드의 해설과 함께 기술함으로써 독자들의 학습 시간을 효과적으로 줄여줄 것이라 생각된다.
전통적인 로봇 기술자들에게는 많은 기반 지식이 필요했다. 기계 공학과 컴퓨터 공학의 하드웨어 기술에서 IT기술이 접목된 소프트웨어 기술까지 관련 개념을 두루 이해해야 했을 뿐만 아니라, 실제 구현까지 할 수 있어야 했다. 하지만 바야흐로 오픈소스 하드웨어와 소프트웨어가 확산된 시대가 도래하였다. 사람들이 필요한 지식을 빠르고 저비용으로 접할 수 있는 기회가 확산됐고, 이제는 로봇 기술에 대한 진입장벽이 그 이전에 비해 확실히 낮아진 것이 사실이다.
이 책은 로봇 기술의 가장 대중적인 오픈소스 소프트웨어 플랫폼인 ROS의 기본 개념과 고급 개념들을 기술하고, 그를 오픈소스 하드웨어인 아두이노와 라즈베리파이에 적용할 수 있는 인터페이스를 함께 기술한다. 저자는 실무에서 ROS를 이용하여 로봇을 제작한 경험을 바탕으로, 로봇 시뮬레이션과 머신 비전 기술에 특히 집중해 이 책을 집필하였다. 이런 내용 바탕에 로보틱스에서 대표적인 주제인 7-DOF(Degree of Freedom) 로봇 팔과 SLAM(Simultaneous Localization and Mapping)을 디자인하는 내용을 더함으로써, 독자들은 해당 로봇 알고리즘을 자신의 로봇에 구현할 수 있는 능력을 배양할 수 있을 것이다. 로봇팔의 경우는 제조업계에서 자동화에 필수적인 주제 중의 하나며, SLAM의 경우 구글 자동차로 대변되는 자율주행 자동차의 기반 기술이다.
이 책에서 역자가 인상 깊게 읽은 한 문장은 '바퀴의 모양을 새로 발명할 필요가 없다'는 것이다. 로봇의 알고리즘을 구현하려고 할 때, 이미 최적의 형태로 구현되어 있는 알고리즘이 ROS에 무수히 존재하는데, 그를 이용할 생각하지 않고 관련 기능에 대한 새로운 코드를 작성하려고 하는 태도에 대한 언급이었다. 물론 필요에 따라 원형 이외의 바퀴 모양을 새로 발명할 필요는 있다. 하지만, 모방은 창조의 어머니라는 말이 있듯이, 심지어 새로운 바퀴 형태를 개발하려 할 때에도 기존의 최적 형태의 바퀴 모양을 참고해 그를 분석하는 선행 연구가 필요하다.
이제 4차 산업혁명의 시대가 도래함으로 ROS는 로봇을 개발하려는 사람들에게 필수적인 요소가 될 것임이 자명하다. 이 책이 ROS를 습득하는 시간을 줄여줄 효과적인 매체라 생각해서 이 책의 번역을 결심하였다. 고급 개발자들이야 기반 지식과 다양한 매체의 검색 능력을 바탕으로 빨리 로봇을 개발할 수 있지만, 관련 기술이 익숙하지 않은 사람들은 시행착오로 인해 시간을 허비하기 때문에 쉽게 따라 하며 핵심 개념을 이해할 수 있는 가이드북이 필요하다. 효용가치를 생각했을 때, 이 책이 연구자들 및 개발자들, 심지어 로봇에 관심 있는 일반인들에게도 ROS 및 로봇 기술 접근에 대한 진입장벽을 낮춰, 국내 로봇 연구 개발 환경의 활성화에 조금의 기여라도 할 수 있기를 바란다.
(/ 옮긴이의 말 중에서)

저자소개

렌틴 조셉(Lentin Joseph) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

전자 공학자이자 로봇 광이며 기계 비전 전문가면서, 임베디드 시스템 프로그래머고, 인도 큐보틱스 랩스(Qbotics Labs)의 CEO다(www.qboticslabs.com). 케랄라(Kerala)의 Science and Technology(FISAT)에서 전자공학 및 통신 엔지니어링 석사를 취득했다. 졸업 엔지니어링 프로젝트에서 사람과 상호작용할 수 있는 소셜 로봇을 만들었다. 프로젝트는 성공적이었으며, 영상 및 인쇄 매체에서도 언급됐다. 로봇의 주 기능은 인간과 의사소통하면서 지능적으로 대답하는 것이었다. 이미지 처리 기능도 들어있어서 안면, 움직임, 색 등을 감지할 수 있었다. 전체 프로젝트

펼쳐보기

저자의 다른책

전체보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

웨이브엠 책임 연구원으로, 물류 로봇의 자율 주행 애플리케이션과 펌웨어 연구 개발 업무를 담당하고 있다. 서울과학기술대학원에서 기계설계로봇공학 석사 학위, 로즈헐맨공과대학(Rose-hulman Institute of Tech)에서 레이저공학 석사 학위를 받았다. 새로운 것을 배우고, 문제를 해결했을 때의 성취감에 매료돼 공학에 빠져들었다. 역서로는 에이콘출판사에서 출판한 『ROS 로보틱스 프로그래밍』(2017)이 있다.

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용