스크랩

구간

파이썬 로보틱스 - acorn+PACKT 시리즈 파이썬, ROS, OpenCV를 사용해 자율 주행 로봇 만들기

원제 : Learning Robotics using Python

렌틴 조셉 저 | 오현석 역 | 에이콘출판 | 2016년 05월

미리보기 북트리

정가
$60.00
판매가
$43.74 (27%↓) 최저가 보상
적립금
$0.87 (2%P)

품절된 상품입니다.

이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.

북카트 바로구매 위시리스트

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960778610 / 344쪽 188 x 235 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ 로보틱스의 핵심 개념과 용어 ■ LibreCAD나 블렌더(Blender) 등의 프리웨어를 활용해 로봇의 2차원과 3차원 도면 제작 ■ ROS와 가제보(Gazebo)를 사용한 로봇 시뮬?레이션 ■ 요구사항에 맞춰 로봇 하드웨어를 만드는 방법 ■ 액추에이터(actuator)의 종류 및 액추에이터를 로봇에 연결하는 방법 ■ 다양한 로봇 센서를 로봇에 연결하는 방법 ■ OpenCV, OpenNI, PCL 등의 프로그램 설치 및, 2차원/3차원 비주얼 데이터 처리 방법 ■ 파이썬을 활용한 음... ★ 이 책에서 다루는 내용 ★ ■ 로보틱스의 핵심 개념과 용어 ■ LibreCAD나 블렌더(Blender) 등의 프리웨어를 활용해 로봇의 2차원과 3차원 도면 제작 ■ ROS와 가제보(Gazebo)를 사용한 로봇 시뮬레이션 ■ 요구사항에 맞춰 로봇 하드웨어를 만드는 방법 ■ 액추에이터(actuator)의 종류 및 액추에이터를 로봇에 연결하는 방법 ■ 다양한 로봇 센서를 로봇에 연결하는 방법 ■ OpenCV, OpenNI, PCL 등의 프로그램 설치 및, 2차원/3차원 비주얼 데이터 처리 방법 ■ 파이썬을 활용한 음성 인식과 합성 ■ 파이썬을 활용해 인공지능을 로봇에 적용 ■ Qt와 파이썬을 이용한 로봇 제어 GUI 제작 ■ 로봇의 교정과 테스트 ★ 이 책의 대상 독자 ★ 서비스 로보틱스 영역을 탐구해 보려는 기업가, 로봇에 더 많은 기능을 추가하고 싶은 전문가, 로보틱스에 대해 더 많이 탐구하고 싶은 연구자, 로보틱스를 배우고 싶어하는 학생이나 로보틱스에 흥미가 있는 사람에게 좋은 동반자가 될 것이다. 이 책은 누구나 쉽게 이해할 수 있도록 한 단계씩 차례대로 설명한다. ★ 이 책의 구성 ★ 1장, ‘로보틱스 소개’에서는 로보틱스의 기본 개념과 용어를 소개한다. 이 장은 로보틱스를 처음 시작하는 초보자를 위한 내용이다. 2장, ‘서비스 로봇의 기계적 설계’에서는 LibreCAD와 블렌더(Blender)(무료 소프트웨어)를 사용해 로봇을 2D와 3D로 설계하는 방법을 알아본다. 또한 3D 모델을 구축하기 위해 파이썬에서 블렌더 파이썬 API를 사용하는 방법도 살펴본다. 3장, ‘ROS와 가제보를 사용한 로봇 시뮬레이션’에서는 가제보와 ROS를 사용해 서비스 로봇을 시뮬레이션하는 과정을 알아본다. 4장, ‘세프봇 하드웨어 설계’에서는 블록 다이어그램과 세프봇을 만드는 데 필요한 하드웨어 부품 등 로봇의 하드웨어 설계에 대해 설명한다. 5장, ‘로보틱 액추에이터와 바퀴 인코더 사용’에서는 로봇 액추에이터(actuator)와 바퀴 인코더를 티바 C 런치패드(Tiva C Launchpad)를 사용해 연결하는 방법을 알아본다. 또한 다이나믹셀(dynamixel)과 같은 고성능 스마트 액추에이터도 설명한다. 6장, ‘로봇 센서 사용’에서는 초음파 센서, IR 근접 센서, IMU를 티바 C 런치패드와 연결하는 방법을 설명한다. 7장, ‘파이썬과 ROS를 사용한 비전 센서 프로그래밍’에서는 OpenCV, OpenNI, PCL 라이브러리를 소개하고, ROS와 이들을 연결하는 방법과 파이썬을 사용해 프로그래밍하는 방법을 설명한다. 8장, ‘파이썬과 ROS를 사용한 음성 인식과 합성’에서는 다양한 라이브러리를 사용한 음성 인식과 합성, 파이썬을 통해 이러한 라이브러리를 ROS와 연결하는 방법에 대해 알아본다. 9장, ‘파이썬으로 세프봇에 인공지능 적용’에서는 채터봇(ChatterBot)을 만드는 방법을 소개한다. 이를 활용해 로봇의 상호작용 수준을 더 높일 수 있다. 10장, ‘세프봇 하드웨어 통합 및 파이썬을 사용해 ROS와 연결’에서는 완전한 하드웨어를 조립하는 방법과 필수적인 소프트웨어 부분에 대해 설명한다. 이 장은 주로 서비스 로봇의 자율 내비게이션과 ROS와 파이썬을 사용해 자율 주행을 프로그래밍하는 방법에 대해 알아본다. 11장, ‘Qt와 파이썬을 사용한 로봇의 GUI 설계’에서는 전형적인 식당에서 로봇을 운용하는 일반 사용자를 대상으로 하는 GUI 제작 방법을 살펴본다. Qt와 PyQt 파이썬 래퍼를 사용해 GUI를 만든다. 12장, ‘세프봇 교정 및 테스트’는 마지막 부분으로, 로봇을 교정하고 테스트하는 방법을 소개한다.

저자 소개

  • 구분 : 저서
    이름 : 렌틴 조셉
    국적 : 기타
    직업 :
    분류 : 과학/공학 저자 , 기타
    인기지수 [21]
    작가상세보기 관심작가 등록/신간알림 받기
    [최근저서]전체보기
저자이자 사업가며, 전자공학자, 로보틱스(Robotics) 열광자, 머신 비전(Machine Vision) 전문가, 임베디드 프로그래머, 인도에 있는 큐보틱스 랩(Qbotics Labs)(http://www.qboticslabs.com)의 창업자 겸 경영자다. 케랄라(Kerala) 주에 있는 연방과학기술대학(FISAT, the Federal Institute of Science and Technology)에서 전자공학과 통신 공학으로 학사학위를 받았다. 졸업하는 해의 마지막 공학 프로젝트에서 사람들과 상호작용할 수 있는 사회 로봇을 만들었다. 그 프로젝트는 큰 성공을 거두었고 많은 영상 보도매체에 언급되었다. 이 로봇의 주요 특징은 사람들과 의사소통할 수 있고, 지능적으로 반응하며, 얼굴의 움직임이나 색 검출(detection)과 같은 영상처리(Image processing) 능력을 가지고 있다는 것이다. 전체 프로젝트는 파이썬 프로그래밍 언어를 사용해 수행했다. 로보틱스와 영상 처리, 파이썬에 대한 관심은 그 프로젝트에서 시작됐다.
졸업 후, 3년 동안 로보틱스와 영상처리 분야에 주력하는 스타트업에서 일했다. 그 기간 동안 로봇운영체제(ROS, Robot Operating System), V-REP, Actin(로봇 시뮬레이션 툴) 같은 로보틱스 소프트웨어 플랫폼과 OpenCV, OpenNI, PCL 같은 영상처리 라이브러리를 배웠다. 또한 3차원 로봇 설계와 아두이노(Arduino), Tiva 런치패드 기반의 임베디드 프로그래밍에 대한 지식이 있다.
직장 생활을 시작한 지 3년 후 큐보틱스 랩이라는 회사를 창업했는데, 주로 로보틱스, 머신 비전과 같은 영역에 속한 위대한 제품을 만드는 연구에 집중하고 있다. 개인 웹 페이지(http://www.lentinjoseph.com)와 테크노랩즈(Technolabsz)라는 기술 블로그(http://www.technolabsz.com)를 운영하며, 작업물을 기술 블로그에 개제하고 있다. 또한 인도에서 열리는 PyCon2013에서 ‘Learning Robotics using Python’이라는 주제로 발표도 했다.
렌틴은 『파이썬 로보틱스』(에이콘, 2015)의 저자다. 이 책은 ROS와 OpenCV를 이용해 자율 주행 로봇을 만드는 것에 관한 책이다. 그 책은 ICRA 2015에서 소개됐고 ROS 블로그와 로보허브(Robohub), OpenCV, 파이썬 웹사이트, 관련된 다양한 포럼에서 다뤄졌다.
ICRA 2015 챌린지, HRATC(http://www2.isr.uc.pt/~embedded/events/HRATC2015/Welcome.html)의 결승 진출자이기도 하다.

역자 소개

KAIST에서 전산학 학사와 석사 학위(프로그래밍 언어 연구실)를 취득했다. 삼성메디슨, 비트앤펄스 등에서 UI 개발자와 개발 팀장을 지냈고, 현재 호주 JNF Soft에서 C++/풀스택 개발자 및 컨설턴트로 일하고 있다. 매일 두 시간씩 번역과 저술을 통해 조금이나마 동료 프로그래머들에게 도움을 주고자 노력하고 있다. 웹이나 모바일 등의 분야에서 값 중심 프로그래밍을 통해 오류 발생 가능성이 적으면서 유지 보수가 편한 프로그램을 작성하는 방법과 이를 지원하는 여러 도구를 만드는 일에 관심이 많다. 최근에는 CEF를 기반으로 웹 프론트엔드와 C++ 백엔드를 결합한 흥미로운 프로젝트를 진행 중이며, 함수형 리액티브 프로그래밍을 자바스크립트와 C++에 적용해 좀 더 편하면서 오류도 적은 코드를 생산해내는 방법을 찾으려고 고민 중이다.
『코어 파이썬 애플리케이션 프로그래밍 Third Edition』(에이콘, 2014), 『함수형 파이썬 프로그래밍』 (에이콘, 2017), 『Programming in Scala 3/e』(에이콘, 2017), 『함수형 반응형 프로그래밍』(한빛미디어, 2017), 『Akka 코딩 공작소』(길벗, 2017) 등을 비롯한 십여 권 이상의 책을 번역했다.

머리말

★ 지은이의 말 ★

이 책은 주로 자율 이동 로봇을 아무런 준비 없이 처음부터 만드는 방법과 그 로봇을 파이썬으로 프로그래밍하는 것에 초점을 맞춘 12개의 장으로 구성되어 있다. 이 책에서 언급한 로봇은 서비스 로봇으로, 집, 호텔, 식당 등에서 음식을 서비스하는 데 쓰일 수 있다. 처음부터 끝까지 이 책은 이 로봇을 만드는 법을 단계별로 설명한다. 로보틱스의 기본 개념부터 시작해 로봇에 대한 3D 모델링과 시뮬레이션까지 살펴본다. 로봇을 시뮬레이션하는 데 성공하고 나면, 제대로 자율 주행할 수 있는 로봇 프로토타입을 만들 때 필요한 여러 가지 하드웨어 구성요소에 대해 알아본다.
이 로봇의 소프트웨어 부분은 주로 파이썬 프로그래밍 언어와 로봇 운영체제(ROS, Robot Operating System), OpenCV 등의 프레임워크로 이뤄졌다. 여러분이 로봇의 설계 관점부터 로봇의 UI에 이르기까지, 파이썬을 활용하는 것을 모두 이해할 수 있도록 노력했다. 가제보(Gazebo) 시뮬레이터는 로봇과 OpenCV, OpenNI 등의 기계 비전 라이브러리를 시뮬레이션하기 위해 사용한다. PCL을 사용해 로봇의 2D와 3D 데이터를 처리한다. 각 장에는 이러한 내용을 응용하기 위해 필요한 만큼의 이론도 함께 구성했다. 이 책은 로봇에 대해 열정이 넘치는 로봇 분야의 여러 전문가들의 감수를 거쳤다


★ 옮긴이의 말 ★

1990년 초, DC 모터를 사용한 마이크로 마우스가 스무드 턴(smooth turn)을 하면서 미로를 찾아가는 모습을 지켜보면서 환호성과 탄성을 질렀던 기억이 난다. 오늘날에는 반제품의 마이크로 마우스에 코딩만 하면 얼마든지 로봇 프로그래밍을 즐길 수 있고, 레고 마인드스톰 등 다양한 제품을 사용해 여러 가지 로봇을 만들고 실험해 볼 수 있다.
그렇지만, 역시 로봇이 가지는 매력은 내 손으로 움직이는 어떤 존재를 만들고, 그 존재에 내가 작성한 코드를 집어 넣어서 생명을 불어 넣고, 그 존재가 실제 현실에서 움직이는 것을 본다는 점에 있다. 게다가 로봇 제어는 전자, 통신, 기계, 전산 등이 모두 집약된 종합 예술이다.
로봇을 만드는 전 과정을 배우기 위해서는 직접 로봇을 만들어보는 것이 가장 좋을 것이다. 이 책은 계획, 설계, 도면 작성부터 기계/전자적인 부품의 선택 및 로봇 제작까지 하드웨어 부분과, 그 위에 올라가는 운영체제(ROS)와 제어를 위한 컨트롤러에 들어갈 펌웨어, 실제 제어를 담당하는 로직에 이르기까지 로봇의 모든 부분을 직접 만들면서 내부를 들여다볼 수 있게 만든 책이다. 또한, 사용자 경험을 향상시키기 위한 음성 인식이나 합성, 자율 주행 알고리즘, 시각 알고리즘 등에 이르기까지 재미있는 로봇을 만들 때 필요한 여러 가지 기술을 로봇을 직접 만들면서 배울 수 있다.
이 책이 로봇에 관심이 많은 여러 독자들에게 좋은 출발점이 될 수 있기를 바라며, 여러분도 재미있는 로봇의 세계에 깊이 빠져들게 되길 빈다.

목차

목차
1장. 로보틱스 소개
__로봇이란 무엇인가?
____‘로봇’ 단어의 역사
____로봇의 현대적 정의
__로봇은 어디에서 왔는가?
__로봇의 내부에는 어떤 것이 들어 있나?
____물리적 본체
____센서
____이펙터
____컨트롤러
__로봇을 어떻게 만들 수 있나?
____반응형 제어
____계층형(심의) 제어
____하이브리드 제어
__요약
2장. 서비스 로봇의 기계적 설계
__서비스 로봇의 요구사항
__로봇의 운동 메커니즘
____모터와 바퀴의 선택
____설계 요약
____로봇 샤시 설계
__LibreCAD, 블렌더, 메시랩 설치
____LibreCAD 설치
____블렌더 설치
____메시랩 설치
__LibreCAD를 사용해 로봇에 대한 2차원 CAD 그리기
____밑판 설계
____밑판 기둥 설계
____바퀴, 모터, 모터 클램프 설계
____캐스터 바퀴 설계
____중간판 설계
____윗판 설계
__블렌더를 사용해 로봇에 대한 3차원 모델 작업
____블렌더에서 파이썬 스크립트 사용
____블렌더 파이썬 API 소개
____로봇 모델의 파이썬 스크립트
__연습문제
__요약
3장. ROS와 가제보를 사용한 로봇 시뮬레이션
__로봇 시뮬레이션의 이해
____로봇의 수학적 모델
____ROS와 가제보 소개
____우분투 14.04.2에 ROS 인디고 설치
____호텔 환경에서 세프봇과 터틀봇 시뮬레이션
__연습문제
__요약
4장. 세프봇 하드웨어
__세프봇 하드웨어의 사양
__로봇의 블록 다이어그램
____모터와 인코더
____모터 드라이버
____내장 컨트롤러 보드
____초음파 센서
____관성 측정 유닛
____키넥트
____중앙 처리 장치
____스피커/마이크
____파워 서플라이/배터리
__세프봇 하드웨어의 동작
__연습문제
__요약
5장. 로보틱 액추에이터와 바퀴 인코더 사용
__DC 기어 모터와 티바 C 런치패드의 연결
____차동 바퀴 로봇
____에너지아 IDE 설치
____인터페이싱 코드
__직교 인코더와 티바 C 런치패드의 연결
____인코더 데이터 처리
____직교 인코더 인터페이싱 코드
__다이나믹셀 액추에이터 사용
__연습문제
__요약
6장. 로봇 센서 사용
__초음파 거리 센서 사용
____HC-SR04를 티바 C 런치패드와 연결
__IR 근접 센서 사용
__관성 측정 유닛 사용
____관성을 사용한 내비게이션
____MPU 6050과 티바 C 런치패드 연결
____에너지아의 처리 코드
__에너지아의 DMP 지원을 사용해서 MPU 6050을 런치패드에 연결
__연습문제
__요약
7장. 파이썬과 ROS를 사용한 비전 센서 프로그래밍
__로보틱 비전 센서와 이미지 처리 라이브러리 목록
__OpenCV, OpenNI, PCL 소개
____OpenCV란 무엇인가?
____OpenNI란 무엇인가?
____PCL이란 무엇인가?
__ROS. OpenCV, OpenNI로 키넥트 프로그래밍
____OpenNI 드라이버를 시작하는 방법
____OpenCV에 대한 ROS 인터페이스
__ROS. OpenCV, OpenNI로 포인트 클라우드 다루기
____장치를 열고 포인트 클라우드 생성
__포인터 클라우드를 레이저 스캔 데이터로 변환
__ROS와 키넥트로 SLAM 활용
__연습문제
__요약
8장. 파이썬과 ROS를 사용한 음성 인식과 합성
__음성 인식의 이해
____음성 인식 시스템 블록 다이어그램
____음성 인식 라이브러리
____윈도우 스피치 SDK
____음성 합성
____음성 합성 라이브러리
__우분투 14.04.2에서 파이썬을 사용해 음성 인식과 합성
____포켓 스핑크스 설정 및 우분투 14.04.2에 파이썬 바인딩 설치
____우분투 14.0.2에서 포켓 스핑크스 파이썬 바인딩 사용
____출력
__우분투 14.04.2에서 포켓 스핑크스, G스트리머, 파이썬을 사용한 실시간 음성 인식
__우분투 14.04.2에서 파이썬과 줄리우스를 사용한 음성 인식
____줄리우스 음성 인식기와 파이썬 모듈 설치
____파이썬 줄리우스 클라이언트 코드
____포켓 스핑크스와 줄리우스를 활용해 음성 인식 정확도 향상시키기
____우분투 14.04.2에 e스피크와 페스티발 설정
__윈도우에서 파이썬을 사용한 음성 인식과 합성
____스피치 SDK 설치
__ROS 인디고와 파이썬을 사용해 음성 인식
____ROS 인디고에 pocketsphinx 패키지 설치
__ROS 인디고와 파이썬을 사용해 음성 합성
__연습문제
__요약
9장. 파이썬으로 세프봇에 인공지능 적용
__세프봇 의사소통 시스템의 블록 다이어그램
__AIML 소개
____AIML 태그 소개
__PyAIML 소개
____우분투 14.04.2에 PyAIML 설치
____소스 코드로부터 PyAIML 설치
__AIML과 파이썬으로 작업
____명령행 인자로부터 AIML 파일 적재
__A.L.I.C.E. AIML 파일로 작업
____AIML 파일을 메모리에 적재
____AIML 파일을 적재하고 브레인 파일에 저장
____AIML과 브레인 파일을 적재하고 bootstrap 메소드 사용
__PyAIML과 ROS 통합
____aiml_server.py
____aiml_client.py
____aiml_tts_client.py
____aiml_speech_recog_client.py
____start_chat.launch
____start_tts_chat.launch
____start_speech_chat.launch
__연습문제
__요약
10장. 세프봇 하드웨어 통합 및 파이썬을 사용해 ROS와 연결
__세프봇 하드웨어 조립
__세프봇 PC 설정 및 세프봇 ROS 패키지 설정
__세프봇 센서를 티바 C 런치패드와 연결
____세프봇의 임베디드 코드
__세프봇을 위한 ROS 파이썬 드라이버 작성
__세프봇 ROS 시작 파일 이해
__세프봇 파이썬 노드와 시작 파일 사용
____방의 지도를 작성하기 위해 ROS에서 SLAM 사용
____ROS 지역화와 내비게이션 사용
__연습문제
__요약
11장 Qt와 파이썬을 사용한 로봇의 GUI 설계
__우분투 14.04.2 LTS에 Qt 설치
__Qt의 파이썬 바인딩으로 작업
____PyQt
____PySide
__PyQt와 PySide로 작업
____Qt 디자이너 소개
____Qt 시그널과 슬롯
____UI 파일을 파이썬 코드로 변환
____PyQt 코드에 슬롯 정의 추가
____Hello World GUI 애플리케이션 실행
__세프봇 제어 GUI로 작업
____우분투 14.04.2 LTS에 rqt 설치와 작업
__연습문제
__요약
12장 세프봇 교정 및 테스트
__ROS를 사용한 Xbox 키넥트 교정
____키넥트 RGB 카메라 교정
____키넥트 IR 카메라 교정
__바퀴 이동 거리 교정
____바퀴 이동 거리의 오류 분석
____오류 수정
__MPU 6050 교정
__GUI를 사용해 로봇 테스트
____ROS 내비게이션의 장점과 단점
__연습문제
__요약

top