ROS 로봇 프로그래밍
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
책 소개
이 책이 속한 분야
- 국내도서 > 컴퓨터/IT > 컴퓨터공학 > 마이크로프로세서 > 마이크로로봇
- 국내도서 > 컴퓨터/IT > 프로그래밍 언어 > 프로그래밍일반
- 국내도서 > 컴퓨터/IT > 대학교재
- 국내도서 > 대학교재 > 컴퓨터
또한, ROS 기본 프로그래밍뿐만 아니라 ROS 패키지를 이용하여 각종 카메라와 센서, 모터 등에 접근하는 방법을 익히고, 터틀봇3을 이용하여 자율주행의 핵심 기술인 SLAM과 내비게이션을 학습합니다. 그리고 OpenCR을 활용한 임베디드 시스템과 배달 로봇, 매니퓰레이터와 같은 실전에서 활용할 수 있는 예제도 다룹니다. 저자는 이러한 플랫폼을 직접 개발함으로써 깊이 있는 이론 설명과 실습 예제를 제공할 수 있었습니다.
작가정보
대표 저자 표윤석은 로보티즈 연구원으로 오픈 소스 팀의 팀장을 맡고 있으며 오픈 소스 기반의 서비스 로봇을 위한 지원 시스템을 연구개발 중이다. 로봇은 우리에게 무엇인가에 대해 항상 고민하며 우리 생활에 더 가까이 갈 수 있도록 노력하고 있다. 광운대학교 전자공학과 학부를 졸업한 후 한국과학기술연구원에서 근무했었고 일본 규슈 대학에서 정보지능공학 전공으로 석사 및 박사학위를 받았다. 로봇신문사, 무선모형, 월간로봇, ROBOCON MAGAZINE과 같은 신문, 잡지에 글을 기고하는 등 기술 공유를 좋아한다. 로봇에 대한 꿈을 가진 이들과 함께 이야기 나누는 것을 즐기며 '로봇공학을 위한 열린 모임' 로열모 및 오픈 로보틱스를 지향하는 '오픈 소스 로봇 기술 공유 커뮤니티(WWW.OROCA.ORG)'에서 공개 강좌와 공개 프로젝트를 진행하고 있다. 항상 일을 벌이는 것을 즐기기에 로봇 및 ROS 관련 강연, 세미나, 튜토리얼, 전시회 등을 통해 이 책의 독자들을 꼭 어디선가 볼 수 있기를 기대해 본다.
저자(글) 조한철
저자 조한철은 로보티즈에서 로봇의 제어기와 펌웨어 개발 업무를 담당하고 있다. LG CNS에서 ATM의 펌웨어 개발업무를 했었고 프로그래밍과 로봇에 관심이 많다. 중학생 시절 마이크로마우스 로봇 대회를 참관한 것이 계기가 되어 지금까지 로봇과 관련된 기술을 공부하고 공유하는 것을 즐기고 있다. 특히 하드웨어를 제어하는 펌웨어와 FPGA 활용에 매력을 느끼고 이와 관련된 로봇과 작품 활동을 하고 있다. 기술은 공유될 때 더욱 발전할 수 있다고 생각하며, 나이가 들어 노인이 되어서도 납땜하고 프로그래밍 하는 삶을 꿈꾸고 있다.
저자(글) 정려운
저자 정려운은 로보티즈 연구원으로 자율 주행 시스템 및 액츄에이터 애플리케이션을 연구개발 중이다. 인간이 서로를 보완하지 못하는 부분을 로봇의 존재가치라 생각하며, 로봇 연구개발에도 이를 반영하기 위해 노력하고 있다. 와세다대학 전기정보생명공학과에서 학사, 석사학위를 받았다. ROBOCON MAGAZINE에 기고하는 한편, 대규모 로봇 대회인 R-Biz Challenge의 자율주행 대회를 담당하였다. 현재 '오픈 소스 로봇기술 공유 커뮤니티(WWW.OROCA.ORG)'에서 자율주행 로봇 연구개발 프로젝트를 진행하고 있다.
저자(글) 임태훈
저자 임태훈은 로보티즈 연구원으로 오픈 소스팀에서 TurtleBot3와 OpenManipulator 개발 그리고 얼굴을 담당하고 있다. 창조는 다양한 경험과 폭넓은 지식이라는 신념을 가지고 여행과 독서 그리고 다양한 분야의 사람들과의 대화를 즐긴다. 많은 사람들에게 색다른 경험과 보편적 감동을 전달할 수 있는 로봇 개발을 목표로 하고 있으며 영화, 전시, 미디어 등 각 분야의 전문가들과의 콜라보레이션을 통해 그 꿈을 실현하고자 한다. 2016년부터 오로카에서 'LookSo in Film' 모임을 진행하고 있으며 노잼 각본가 그리고 소프트웨어 엔지니어 역할을 맡고 있다.
목차
- 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
출판사 서평
이 책은 국내에 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, 내비게이션, 매니퓰레이션에 대한 실전 예제 추가
기본정보
ISBN | 9791186710180 ( 1186710187 ) | ||
---|---|---|---|
발행(출시)일자 | 2017년 08월 18일 | ||
쪽수 | 482쪽 | ||
크기 |
189 * 241
* 23
mm
/ 990 g
|
||
총권수 | 1권 | ||
이 책의 개정정보 |
가장 최근에 출시된 개정판입니다.
구판보기
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립