ROS 로보틱스 프로그래밍 : 북윈도
리뷰 0 위시 120

ROS 로보틱스 프로그래밍 요약정보 및 구매

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

상품 선택옵션 0 개, 추가옵션 0 개

출판사 에이콘출판
저자 렌틴 조셉
ISBN 9788960779587 (896077958X)
정가 40,000원
판매가 36,000원(10% 할인)
배송비 무료배송
포인트 정책 설명문 닫기

00포인트

포인트 정책 설명문 출력

선택된 옵션

관심상품

상품 정보

사은품
상품 기본설명
4차 산업혁명 시대의 핵심 기술, 로봇 프로그래밍
상품 상세설명
ROS 고급 가이드북!

『ROS 로보틱스 프로그래밍』은 로보틱스의 고급 개념과 ROS를 사용해 프로그래밍하는 방법을 다루는 책이다. ROS 무브잇! 모션 계획 라이브러리와 ROS 내비게이션 스택을 이용해 복잡한 로봇 모델을 빌드하고, 시뮬레이하며, 실제 로봇과 인터페이스하는 방법을 보여준다. 로봇의 필수 구성요소 중 하나는 비전 센서이며, 한 장을 할애해 비전 센서, 비전 센서와 ROS와의 인터페이스, 비전 센서의 프로그래밍을 다룬다. 이 책은 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의 쓰임
__연습문제
__요약
출판사 서평
★ 요약 ★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에서 발생하는 문제 해결 팁을 알려준다.★ 지은이의 말 ★이 책은 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 및 로봇 기술 접근에 대한 진입장벽을 낮춰, 국내 로봇 연구 개발 환경의 활성화에 조금의 기여라도 할 수 있기를 바란다.
상품 정보 고시
도서명 ROS 로보틱스 프로그래밍
저자 렌틴 조셉
출판사 에이콘출판
ISBN 9788960779587 (896077958X)
쪽수 540
출간일 2017-02-07
사이즈 188 * 235 * 33 mm /1257g
목차 또는 책소개 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의 쓰임
__연습문제
__요약
상품 정보 고시
도서명 상품페이지 참고
저자 상품페이지 참고
출판사 상품페이지 참고
크기 상품페이지 참고
쪽수 상품페이지 참고
제품구성 상품페이지 참고
출간일 상품페이지 참고
목차 또는 책소개 상품페이지 참고
배송공지

사용후기

회원리뷰 총 0개

사용후기가 없습니다.

상품문의

등록된 상품문의

상품문의 총 0개

상품문의가 없습니다.

교환/반품

[반품/교환방법]
마이페이지> 주문배송조회 > 반품/교환신청 또는 고객센터 (070-4680-5689)로 문의 바랍니다.

[반품주소]
- 도로명 : (10882) 경기도 파주시 산남로 62-20 (산남동)
- 지번 : (10882) 경기도 파주시 산남동 305-21

[반품/교환가능 기간]
변심반품의 경우 수령 후 14일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

[반품/교환비용]
단순 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담

[반품/교환 불가 사유]
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
(단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
예) 화장품, 식품, 가전제품(악세서리 포함) 등
- 복제가 가능한 상품 등의 포장을 훼손한 경우
예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
* (1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시
‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)

[상품 품절]
공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.

[소비자 피해보상, 환불지연에 따른 배상]
- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됩니다.
- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함.

회원로그인

오늘 본 상품

  • ROS 로보틱스 프로그래밍
    ROS 로보틱스 프
    36,000