이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
ROS 2로 시작하는 로봇 프로그래밍
베스트
IT 모바일 top100 4주
가격
32,000원
10 28,800
YES포인트?
1,600원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 상품의 시리즈 2

이 상품의 시리즈 알림신청
뷰타입 변경

이 상품의 태그

책소개

목차

1부 ROS 2 소개
1장 ROS 2 소개
__1.1. 로봇 개발을 위한 툴
__1.2. 메타 운영체제
__1.3. ROS의 목적
__1.4. ROS의 구성
__1.5. ROS의 역사
__1.6. ROS 버전
__1.7. 버전 주기
__1.8. 버전 선택
2장 ROS 2 기반 로봇 개발에 필요한 정보
__2.1. 커뮤니티 중심의 개발 문화
__2.2. 즐겨찾는 ROS 2 정보 및 개발 자료
__2.3. ROS 커뮤니티 게시판
__2.4. ROS 문서
__2.5. ROS 2 소스코드
__2.6. ROS 2 패키지 배포 현황
__2.7. ROS 질의응답
__2.8. 기타
3장 ROS 2 개발환경 구축
__3.1. 개발환경
__3.2. 기본 운영체제 설치
__3.3. 로봇 운영체제 설치
__3.4. ROS 개발 툴 설치
__3.5. ROS 2 빌드 테스트
__3.6. Run commands 설정
__3.7. 통합 개발환경(IDE) 설치
__3.8. ROS 2 삭제
4장 왜? ROS 2로 가야하는가?
__4.1. 왜? ROS 2로 가야하는가?
__4.2. 대세는 이제 ROS 2!
5장 ROS 2의 중요 콘셉트
__5.1. Why ROS 2?
6장 ROS 1과 2의 차이점으로 알아보는 ROS 2의 특징
__6.1. ROS 2 개발의 필요성
__6.2. ROS 1과 ROS 2의 차이점
__6.3. ROS 2의 특징
7장 ROS 2와 DDS
__7.1. ROS 2와 DDS
__7.2. DDS란?
__7.3. DDS의 특징
__7.4. ROS에서의 사용법
8장 DDS의 QoS
__8.1. DDS의 서비스 품질(QoS, Quality of Service)
__8.2. QoS의 종류
__8.3. ROS 2에서 사용되는 QoS 옵션
__8.4. rmw_qos_profile 사용과 유저 QoS 프로파일 사용
__8.5. QoS 테스트
9장 패키지 설치와 노드 실행
__9.1. Turtlesim 패키지 설치
__9.2. Turtlesim이란?
__9.3. Turtlesim 패키지와 노드
__9.4. Turtlesim 패키지의 노드 실행
__9.5. 노드, 토픽, 서비스, 액션의 조회
__9.6. rqt_graph로 보는 노드와 토픽의 그래프 뷰
10장 ROS 2 노드와 데이터 통신
__10.1. 노드와 메시지 통신
__10.2. 노드 실행(ros2 run)
__10.3. 노드 목록(ros2 node list)
__10.4. 노드 정보(ros2 node info)
11장 ROS 2 토픽
__11.1. 토픽
__11.2. 토픽 목록 확인(ros2 topic list)
__11.3. 토픽 정보 확인(ros2 topic info)
__11.4. 토픽 내용 확인(ros2 topic echo)
__11.5. 토픽 대역폭 확인(ros2 topic bw)
__11.6. 토픽 주기 확인(ros2 topic hz)
__11.7. 토픽 지연 시간 확인(ros2 topic delay)
__11.8. 토픽 퍼블리시(ros2 topic pub)
__11.9. bag 기록(ros2 bag record)
__11.10. bag 정보(ros2 bag info)
__11.11. bag 재생(ros2 bag play)
12장 ROS 2 서비스
__12.1. 서비스
__12.2. 서비스 목록 확인(ros2 service list)
__12.3. 서비스 형태 확인(ros2 service type)
__12.4. 서비스 찾기(ros2 service find)
__12.5. 서비스 요청(ros2 service call)
13장 ROS 2 액션
__13.1. 액션
__13.2. 액션 서버 및 클라이언트
__13.3. 노드 정보(ros2 node info)
__13.4. 액션 목록(ros2 action list -t)
__13.5. 액션 정보(ros2 action info)
__13.6. 액션 목표(action goal) 전달
14장 ROS 2 인터페이스
__14.1. ROS 2 인터페이스
__14.2. 메시지 인터페이스(Message interface, msg)
__14.3. 서비스 인터페이스(Service interface, srv)
__14.4. 액션 인터페이스(Action interface, action)
15장 ROS 2 토픽/서비스/액션 정리 및 비교
__15.1. 토픽, 서비스, 액션 비교
16장 ROS 2 파라미터
__16.1. 파라미터
__16.2. 파라미터 목록 확인(ros2 param list)
__16.3. 파라미터 내용 확인(ros2 param describe)
__16.4. 파라미터 읽기(ros2 param get)
__16.5. 파라미터 쓰기(ros2 param set)
__16.6. 파라미터 저장(ros2 param dump)
__16.7. 파라미터 삭제(ros2 param delete)
17장 ROS 2 도구와 CLI 명령어
__17.1. ROS 도구
__17.2. ROS 2 CLI 명령어
__17.3. ROS 2 CLI 사용법
__17.4. ROS 2 CLI 종류와 각 sub-verbs의 기능
__17.5. 지속 개발되고 있는 ROS 2 CLI
18장 ROS 2 GUI 개발을 위한 RQt
__18.1. ROS의 종합 GUI 툴 RQt
__18.2. RQt 프레임워크
__18.3. RQt 설치 및 실행
__18.4. RQt 플러그인의 종류
__18.5. RQt 사용 예시
__18.6. ROS의 CLI 툴과 GUI 툴
19장 ROS 2의 표준 단위
__19.1. ROS 2의 표준 단위의 필요성
__19.2. ROS 2의 표준 단위
__19.3. ROS 2의 표준 단위 사용
20장 ROS 2의 좌표 표현
__20.1. ROS 2의 좌표 표현 통일의 필요성
__20.2. 좌표 표현의 기본 규칙
__20.3. 좌표 표현의 축 방향(Axis Orientation) 규칙
__20.4. 좌표 표현의 회전 표현 규칙
21장 ROS 2의 시간
__21.1. 시계(Clock)와 시간(Time)
__21.2. 시간 추상화(Time Abstractions)
__21.3. Time API
22장 ROS 2의 파일 시스템
__22.1. 파일 시스템
__22.2. 패키지와 메타패키지
__22.3. 바이너리 설치와 소스코드 설치
__22.4. 기본 설치 폴더와 사용자 작업 폴더
23장 ROS 2의 빌드 시스템과 빌드 툴
__23.1. 빌드 시스템과 빌드 툴
__23.2. 빌드 시스템(Build system)
__23.3. 빌드 툴(Build tools)
__23.4. 패키지 생성
__23.5. 패키지 빌드
__23.6. 빌드 시스템에 필요한 부가 기능
24장 ROS 2의 패키지 파일
__24.1. 패키지 파일
__24.2. 패키지 설정 파일(package.xml)
__24.3. 빌드 설정 파일(CMakeLists.txt)
__24.4. 파이썬 패키지 설정 파일(setup.py)
__24.5. 파이썬 패키지 환경설정 파일(setup.cfg)
__24.6. RQt 플러그인 설정 파일(plugin.xml)
__24.7. 패키지 변경로그 파일(CHANGELOG.rst)
__24.8. 라이선스 파일(LICENSE)
__24.9. 패키지 설명 파일(README.md)


2부 ROS 2 기본 프로그래밍
1장 ROS 프로그래밍 규칙(코드 스타일)
__1.1. 코드 스타일 가이드
__1.2. 기본 이름 규칙
__1.3. C++ Style
__1.4. Python Style
__1.5. 다른 언어
2장 ROS 프로그래밍 기초(파이썬)
__2.1. ROS의 Hello World, rclpy 버전
__2.2. 패키지 생성
__2.3. 패키지 설정
__2.4. 퍼블리셔 노드 작성
__2.5. 서브스크라이버 노드 작성
__2.6. 빌드
__2.7. 실행
3장 ROS 프로그래밍 기초(C++)
__3.1. ROS의 Hello World, rclcpp버전
__3.2. 패키지 생성
__3.3. 패키지 설정
__3.4. 퍼블리셔 노드 작성
__3.5. 서브스크라이버 노드 작성
__3.6. 빌드
__3.7. 실행
4장 ROS 2 Tips
__4.1. 설정 스크립트(setup script)
__4.2. setup.bash vs local_setup.bash
__4.3. colcon_cd
__4.4. ROS_DOMAIN_ID vs Namespace
__4.5. colcon과 vcstool 명령어 자동 완성 기능 추가
5장 토픽, 서비스, 액션 인터페이스
__5.1. ROS 2 인터페이스(Interface) 신규 작성
__5.2. 인터페이스 패키지 만들기
__5.3. 패키지 설정 파일(package.xml)
__5.4. 빌드 설정 파일(CMakeLists.txt)
__5.5. 빌드하기
6장 ROS 2 패키지 설계(파이썬)
__6.1. 패키지 설계
__6.2. 노드 작성
__6.3. 패키지 설정 파일(package.xml)
__6.4. 파이썬 패키지 설정 파일(setup.py)
__6.5. 소스코드 내려받기 및 빌드
__6.6. 실행
7장 토픽 프로그래밍(파이썬)
__7.1. 토픽
__7.2. 토픽 퍼블리셔 코드
__7.3. 토픽 서브스크라이버 코드
__7.4. 노드 실행 코드
8장 서비스 프로그래밍(파이썬)
__8.1. 서비스
__8.2. 서비스 서버 코드
__8.3. 서비스 클라이언트 코드
__8.4. 노드 실행 코드
9장 액션 프로그래밍(파이썬)
__9.1. 액션
__9.2. 액션 서버 코드
__9.3. 액션 클라이언트 코드
__9.4. 노드 실행 코드
10장 파라미터 프로그래밍(파이썬)
__10.1. 파라미터
__10.2. 파라미터 설정
__10.3. 파라미터 사용 방법(CLI)
__10.4. 파라미터 사용 방법(서비스 클라이언트)
__10.5. 기본 파라미터 설정 방법
11장 실행 인자 프로그래밍(파이썬)
__11.1. 실행 인자
__11.2. ROS 2에서의 실행 인자 처리
__11.3. 실행 인자의 구문 해석
__12장 ROS 2 패키지 설계(C++)
__12.1. 패키지 설계
__12.2. 노드 작성
__12.3. 패키지 설정 파일(package.xml)
__12.4. 빌드 설정 파일(CMakeLists.txt)
__12.5. 소스코드 내려받기 및 빌드
__12.6. 실행
13장 토픽 프로그래밍(C++)
__13.1. 토픽
__13.2. 토픽 퍼블리셔 코드
__13.3. 토픽 서브스크라이버 코드
__13.4. 노드 실행 코드
14장 서비스 프로그래밍(C++)
__14.1. 서비스
__14.2. 서비스 서버 코드
__14.3. 서비스 클라이언트 코드
__14.4. 노드 실행 코드
15장 액션 프로그래밍(C++)
__15.1. 액션
__15.2. 액션 서버 코드
__15.3. 액션 클라이언트 코드
__15.4. 노드 실행 코드
16장 파라미터 프로그래밍(C++)
__16.1. 파라미터
__16.2. 파라미터 서버와 초기화
__16.3. 파라미터 클라이언트
17장 실행 인자 프로그래밍(C++)
__17.1. 실행 인자
__17.2. 실행 인자 코드
__17.3. ROS 2 파라미터와 실행 인자
18장 런치 프로그래밍(파이썬, C++)
__18.1. ROS 2 Launch System
__18.2. launch 작성
__18.3. 패키지 빌드

3부 ROS 2 심화 프로그래밍
1장 Logging
__1.1. 로그(Log)
__1.2. 로그 설정
__1.3. 예제 코드
2장 ROS 2 CLI
__2.1. ROS 2 CLI
__2.2. ROS 2 CLI 실습
__2.3. ROS 2 CLI의 빠른 실행
__2.4. CLI 명령어에서 ROS arguments 사용하기
__2.5. 신규 ROS 2 CLI 작성 방법
3장 Intra-process communication
__3.1. ROS Node와 Nodelets
__3.2. Intra-proces communication
__3.3. 데모 코드
4장 QoS
__4.1. QoS(Quality of Service)
__4.2. Topic, Service, Action의 QoS 설정
__4.3. QoS 실습
__4.4. 유용한 QoS 예제
5장 Component
__5.1. 정적 링킹과 동적 링킹
__5.2. 동적 로딩과 ROS 2 Component
__5.3. 데모 코드
__5.4. 실행 방법
6장 RQt plugin
__6.1. RQt
__6.2. RQt 플러그인(RQt plugin)
__6.3. RQt 개발환경
__6.4. RQt 플러그인 작성 순서
__6.5. RQt 예제의 구성
__6.6. RQt 예제 UI 살펴보기
__6.7. RQt 예제 설정 파일 살펴보기
__6.8. RQt 예제 소스코드 살펴보기
__6.9. RQt 플러그인 예제 실행
__6.10. 다른 노드와 RQt 플러그인 연동 예제 실행
7장 Lifecycle
__7.1. 노드 관리
__7.2. Lifecycle
__7.3. 데모 코드
8장 Security
__8.1. ROS 2의 보안(Security)
__8.2. SROS2(Secure Robot Operating System 2)
__8.3. ROS 2의 인증, 액세스 제어, 암호화 기능
__8.4. 보안 vs 성능
__8.5. ROS 2 Robotic Systems Threat Model
9장 Real-time
__9.1. Real-time의 정의
__9.2. Real-time에 대한 배경 지식
__9.3. ROS 2 Real-time
__9.4. 데모 코드

저자 소개 2

저는 로봇을 만들고, 로봇을 가르치고, 로봇과 함께 살아가는 로봇공학자입니다. 어린 시절 만화와 영화 속 로봇을 보며 "저걸 진짜로 만들 수 있을까?"를 상상하던 아이였고, 학창 시절 보았던 드라마 〈카이스트〉 속 로봇 동아리 장면에 마음을 빼앗겨 "나도 대학에 가면 로봇을 만들어 봐야지"라고 다짐했습니다. 그리고 그 다짐을 정말로 이뤘습니다. 광운대학교 전자공학과에 입학해 제어공학을 복수 전공했고, 학부 시절 로봇 동아리 'RO:BIT'을 창단해 친구들과 밤을 새우며 로봇 대회에 도전했습니다. 이후 한국과학기술연구원(KIST)을 거쳐 일본 규슈대학에서 정보지능공학 전공으로
저는 로봇을 만들고, 로봇을 가르치고, 로봇과 함께 살아가는 로봇공학자입니다. 어린 시절 만화와 영화 속 로봇을 보며 "저걸 진짜로 만들 수 있을까?"를 상상하던 아이였고, 학창 시절 보았던 드라마 〈카이스트〉 속 로봇 동아리 장면에 마음을 빼앗겨 "나도 대학에 가면 로봇을 만들어 봐야지"라고 다짐했습니다. 그리고 그 다짐을 정말로 이뤘습니다.

광운대학교 전자공학과에 입학해 제어공학을 복수 전공했고, 학부 시절 로봇 동아리 'RO:BIT'을 창단해 친구들과 밤을 새우며 로봇 대회에 도전했습니다. 이후 한국과학기술연구원(KIST)을 거쳐 일본 규슈대학에서 정보지능공학 전공으로 석사와 박사 학위를 받았고, 지금은 로보티즈에서 사람의 일을 돕는 휴머노이드 로봇을 만들고 있습니다. 제가 만든 로봇을 보고 아이들이 환하게 웃으며 손을 흔들어 줄 때, 저는 가장 행복합니다.

작은 호기심 하나가 질문이 되고, 질문이 공부가 되고, 그 공부가 마침내 진짜 로봇을 만들어 냅니다. 그리고 그 로봇이 우리 삶의 힘든 일을 대신할 때, 비로소 세상에 필요한 로봇이 된다고 믿습니다. 그래서 이 책을 통해 다음 세대의 로봇공학자들을 만나기를 기다리고 있습니다.

표윤석의 다른 상품

저자 임태훈은 로봇을 개발하고 이를 이용한 서비스를 고민하는 소프트웨어 개발자이다. 2008년 겨울 〈아이언맨〉(2008)을 통해 로봇에 대한 꿈을 키웠고, 광운대학교 로봇학부와 광주과학기술원 기계공학부 석사를 거치며 인간 사회와 함께할 수 있는 로봇을 개발하기 위한 지식과 경험을 쌓았다. 로보티즈에서 〈TurtleBot3〉(2017)와〈OpenMANIPULATOR〉(2019) 프로젝트의 메인 소프트웨어 개발자로 일했고, 그 경험을 바탕으로 〈ROS 로봇 프로그래밍〉(2017) 공저자로 참여했다. 미디어아트 작가들과 여러 협업 전시를 진행했고, 〈Play on AI〉(2020)
저자 임태훈은 로봇을 개발하고 이를 이용한 서비스를 고민하는 소프트웨어 개발자이다. 2008년 겨울 〈아이언맨〉(2008)을 통해 로봇에 대한 꿈을 키웠고, 광운대학교 로봇학부와 광주과학기술원 기계공학부 석사를 거치며 인간 사회와 함께할 수 있는 로봇을 개발하기 위한 지식과 경험을 쌓았다.
로보티즈에서 〈TurtleBot3〉(2017)와〈OpenMANIPULATOR〉(2019) 프로젝트의 메인 소프트웨어 개발자로 일했고, 그 경험을 바탕으로 〈ROS 로봇 프로그래밍〉(2017) 공저자로 참여했다. 미디어아트 작가들과 여러 협업 전시를 진행했고, 〈Play on AI〉(2020) 전시에 작가로 참여했다.

품목정보

발행일
2021년 08월 05일
쪽수, 무게, 크기
636쪽 | 188*240*35mm
ISBN13
9791186710722

출판사 리뷰

이 책에서 다루는 내용

- ROS란 무엇인가?
- ROS 2의 중요 콘셉트와 특징, 토픽, 서비스, 액션, 파라미터, 빌드 시스템 소개 등
- ROS 2 기본 프로그래밍(코드 스타일부터 토픽, 서비스, 액션, 파라미터 등 기초 프로그래밍 학습)
- ROS 2 심화 프로그래밍(로깅, CLI, GUI, QoS, Component, Life cycle, Security 등 ROS 2의 고급 기능 학습)

독자 한마디

ROS에 대한 공부를 한다면 꼭 읽어야 할 책 1순위! ROS 1에 이어 ROS 2에 대해서 잘 정리하여 이해할 수 있는 이 책이 탄생하기까지 저자들의 노고에 감사드립니다. - 김재훈 -

자료가 별로 없고 어려워서 ROS를 공부하기 정말 힘들었는데, 한 줄기 빛이 되었던 강좌였습니다 감사합니다! - 정민재 -

한국 오픈소스 로봇 소프트웨어 개발의 문익점인 표윤석 박사님의 두 번째 목화씨, ROS 2 로봇 프로그래밍! 정말 기대됩니다. - 정환석 -
리뷰 총점 10.0
한줄평 총점 9.5

클린봇이 부적절한 글을 감지 중입니다.

설정

사락 별점0

혜택 및 유의사항

첫번째 별점을 남겨주세요.

첫번째 밑줄을 남겨주세요.

선택한 상품 권 원
28,800원
총 1개 28,800원