서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
파이썬 로보틱스 (acorn+PACKT 시리즈,파이썬, ROS, OpenCV를 사용해 자율 주행 로봇 만들기,Learning Robotics using Python)
저자 : 렌틴 조셉
출판사 : 에이콘출판
출판년 : 2016
정가 : 30000, ISBN : 9788960778610
책소개
더 이상 우리의 일상에서 로봇이 없는 삶을 생각할 수 없다. 로봇을 만드는 일은 하드웨어 부분이건 소프트웨어 부분이건 생각만큼 단순하지 않다. 하지만 파이썬을 활용하면 다양한 기능을 제공하는 로봇을 비교적 쉽게 만들 수 있다.
이 책은 파이썬, 로봇 OS(ROS), OpenCV 등을 활용해서 시각 알고리즘으로 주변을 인식하고, 자율적으로 주행하면서 사용자와 음성으로 대화할 수 있는 인공지능 로봇을 만드는 과정을 보여주는 소개서다. 하드웨어 설계, 시뮬레이션, 부품 선택 및 펌웨어 코딩, 주행에 필요한 기본적인 물리 지식, 로봇 운영체제 활용, 음성 인식과 합성을 통한 사용자 상호작용, OpenCV를 활용한 영상 처리 등에 대해 배우면서 로봇 제작 기초를 단단하게 다질 수 있다.
목차
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 설치와 작업
__연습문제
__요약