인공지능 자율주행 RC카 체험하고 코딩하기 WITH 라즈베리파이

고객평점
저자서민우
출판사항앤써북, 발행일:2022/04/05
형태사항p.264 46배판:26
매장위치자연과학부(B2) , 재고문의 : 051-816-9500
ISBN9791185553955 [소득공제]
판매가격 18,000원   16,200원  (인터넷할인가:10%)
포인트 810점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

<인공지능 자율주행 RC카로 체험하고 코딩하기 with 라즈베리파이> 책은 인공지능 자율주행을 짧은 시간에 체험할 수 있으며 원한다면 인공지능 자율주행 자동차의 내부를 직접 코딩하며 인공지능과 관련된 공부를 심도있게 수행할 수 있습니다.

책은 크게 인공지능 자율주행 자동차 체험하기와 인공지능 자율주행 자동차 코딩하기로 구성되어 있습니다.


Chapter 01에서는 자율주행 자동차에 대해 알아보고 딥러닝 기반의 인공지능 자율주행 RC카인 동키카를 시뮬레이터를 통해 체험해 봅니다. 이 과정에서 인공지능 학습의 전체적인 흐름을 이해해 봅니다.


Chapter 02에서는 인공지능 자율주행 RC카 개발 환경을 구성하고 직접 제작한 RC카를 이용하여 인공지능 자율주행 RC카 체험을 해 봅니다. RC카와 카메라를 이용하여 데이터를 수집하고, 수집한 데이터를 CNN 인공 신경망을 통해 학습시키고, 학습된 CNN 인공 신경망을 이용하여 자율주행을 수행하는 단계로 체험해 봅니다.


Chapter 03에서는 자율주행 RC카 구동을 위해 필요한 라즈베리파이 파이썬 패키지의 사용법을 익혀봅니다. 먼저 디버깅을 위한 print 함수를 살펴보고, 다음으로 모터 제어를 위한 GPIO와 PWM의 원리를 공부하여 DC 모터를 제어해 봅니다. 또, 인공지능 학습시 필요한 라벨 데이터를 생성할 라인트레이서 센서를 공부합니다. 마지막으로 프로그램이 원활하게 돌아가게 하기 위해 쓰레드와 메시지 큐에 대해 공부합니다.


Chapter 04에서는 인공지능 자율주행 RC카를 구성하는 카메라 동영상 송수신, WiFi 통신, 인공지능 관련된 소스를 하나하나 살펴보면서 그 원리를 이해하고 응용할 수 있도록 합니다. 구체적으로 TCP/IP 네트워크 통신을 공부하고, 통신을 이용하여 카메라 영상과 센서 데이터를 주고 받아봅니다. 통신을 통해 수집한 영상과 센서 데이터를 이용하여 CNN 인공 신경망 학습을 수행하고 학습된 CNN 인공 신경망을 이용하여 자율주행을 수행해 봅니다.


부록에서는 파이썬 조이스틱 프로그램을 구현하고 조이스틱 프로그램을 이용하여 RC카를 조종하고 데이터를 수집하는 방법을 소개합니다.


※ 이 책의 예제 소스파일 다운로드 방법은 3쪽을 참조하고, 책을 보면서 궁금한 사항의 질의응답 방법은 4쪽을 참조합니다.

※ 이 책의 실습 준비물은 5~6쪽 인공지능 자율주행 RC카 조립 방법 44~65쪽을 참조합니다.


자동차는 인공지능을 학습하기에 아주 좋은 조건을 제공합니다. 인공지능 학습에 필요한 데이터 수집이 용이하기 때문입니다. 예를 들어, 이 책에서는 RC카를 5분 정도 주행하여 4000장의 사진 데이터를 모아줍니다. 4000장의 데이터를 독자 여러분이 직접 모으려면 많은 노력이 필요할 것입니다. 또한, RC카 자제가 학습에 흥미를 더해주는 요소가 되어 인공지능을 공부하는데 재미를 더해줍니다.


<인공지능 자율주행 RC카로 체험하고 코딩하기 with 라즈베리파이> 책은 동키카와 인공지능 자율주행 자동차(RC카)를 통해 재미있게 인공지능을 체험할 수 있고, 조금 더 깊이 있는 인공지능 내용도 배울 수 있는 지침서가 될 것입니다. 

작가 소개

서민우

현) 코코랩스(http://www.kocolabs.co.kr/) 대표

MDS 아카데미 Cortex-M3/M4, 드론, 리눅스 교육

대한상공회의소 서울기술교육센터 출강

LG 전자 신입사원 C/C++ 교육

SK 하이닉스 RTOS 교육

삼성전자 리눅스 드라이버/RTOS 교육

Xilinx FPGA/HDL 교육

ETRI verilogHDL 교육

숭실대 아두이노 IoT 교육

국민대 Cortex-M3 교육


[저서]

한 권으로 끝내는 파이썬 아두이노 입문+실전(종합편) (2021. 9 앤써북)

아두이노로 코딩하며 배우는 딥러닝 (2021. 06 앤써북)

ESP32 아두이노 드론 만들고 직접 코딩으로 PID 제어하기 (2021. 02 앤써북)

아두이노 자율주행 RC카 만들고 직접 코딩하기(2020. 12 앤써북)

진짜 코딩하며 배우는 파이썬(2020. 07 앤써북)

아두이노 드론 만들고 날리고 직접 코딩하기(2020. 03 앤써북)

마이크로비트로 배우는 파이썬(2020. 02 앤써북)

아두이노 배우면서 사물 인터넷(IoT) 직접 코딩하기(2019. 07 앤써북)

한 권으로 끝내는 아두이노 입문 + 실전(종합편)(2019. 02 앤써북)

아두이노 사용자를 위한 라즈베리 파이 드론 만들고 직접 코딩하기 (2018. 07 앤써북)

아두이노 드론 만들고 코딩하고 날리기 입문(2017. 03 앤써북) 외 다수

목 차

CHAPTER 01 인공지능 자율주행 자동차 체험하기 1

01_ 자율주행 자동차의 이해

01_1 자율주행 자동차 기술

01_2 자율주행 자동차와 모터

01_3 인공지능 자율주행 RC카 살펴보기

DonkeyCar(동키카)

DeepPiCar(딥파이카)

DeepRacer(딥레이서)


02_ 인공지능 자율주행 RC카 DIY하기

02_1 반 완제품으로 만들기

전자부품

레고부품

02_2 시제품으로 만들기

02_3 3D 프린터로 만들기


03_ 동키카 체험하기

03_1 Windows 동키카 설치하기

파이썬 설치하기

Git 설치하기

관리자 권한으로 cmd 실행하기

동키카 패키지 설치하기

03_2동키카 시뮬레이터 설치하기

동키카 설치하기

동키카 시뮬레이터 설치하기

03_3동키카 시뮬레이터 설정하기

03_4 동키카 시뮬레이터 실행하기

03_5 동키카 조종하기

03_6 수집된 데이터 확인하기

03_7 동키카 학습시키기

03_8 동키카 자율주행 시키기

03_9 동키카 CNN 소스 확인하기


04_ 인공지능 자율주행 RC카 조립하기

04_1 부품 살펴보기

전자 부품

레고 부품

도로용 테이프와 고무줄

04_2인공지능 자율주행 RC카 조립하기

RC카 몸체부 조립하기

카메라 라즈베리파이부 조립하기

DC 모터선 연결하기

라인트레이서 센서부 조립하기

배터리 장착하기



CHAPTER 02 인공지능 자율주행 자동차 체험하기 2

01_ 인공지능 자율주행 RC카 살펴보기

01_1 라즈베리파이 개요

01_2 라즈베리파이 4와 라즈베리파이 3 비교하기

01_3 라즈베리파이 하드웨어 특징

01_4 라즈베리파이 RC카 쉴드 살펴보기


02_ 자율주행 RC카 개발 환경 구성하기

02_1 윈도우 10 모바일 핫스팟 설정하기

02_2 라즈베리파이 이미지 설치하기

micro SD 카드 준비하기

라즈베리파이 이미지 다운로드

Raspberry Pi Imager 설치

02_3라즈베리파이 이미지 설치

SSH와 WiFi 설정하기

02_4 라즈베리파이 부팅하기

02_5 SSH 원격 접속하기

putty 프로그램 설치하기

라즈베리파이 원격 접속하기

02_6 삼바 서버 설치하기

삼바 설치하기

삼바 서버 설정하기

삼바 접속하기

02_7 파이썬 편집기 설치하기

02_8 원격으로 실습하기

실습 디렉터리 만들기

파일 생성하기

파이썬 프로그램 작성하기

파이썬 프로그램 실행하기

02_9카메라 설정하기

카메라 활성화하기

python3-opencv 설치

라즈베리파이에 gstreamer설치하기

윈도우에 gstreamer 설치하기

gstreamer 테스트하기


03_ 인공지능 자율주행 RC카 체험하기

03_1 주행 도로 만들기

03_2 라인트레이서로 주행 테스트하기

03_3 데이터 수집하기

03_4 CNN 인공 신경망 학습하기

03_5 CNN 인공지능 자율주행하기



CHAPTER 03 인공지능 자율주행 자동차 코딩하기 1

01_ print 함수

01_1 print

01_2 while

01_3 try~except

01_4 time.sleep

01_5 문자열, 숫자 출력하기

01_6 형식 문자열 사용하기

01_7 정수, 실수 출력하기

01_8 str.format 함수 사용해 보기


02_ Rpi.GPIO.output 함수

02_1 LED 켜고 끄기

LED 켜기

LED 끄기

02_2 LED 점멸 반복해보기

02_3 LED 점멸 간격 줄여보기

02_4 LED 점멸을 밝기로 느껴보기

02_5 LED 밝기 변경해 보기

LED 어둡게 해보기

LED 밝게 해보기

02_6LED 밝기 조절해보기


03_ Rpi.GPIO.PWM 모듈

03_1 LED 점멸 반복해 보기

03_2 LED 점멸 간격 줄여 보기

03_3 LED 점멸을 밝기로 느껴 보기

03_4 LED 밝기 100단계 조절해 보기


04_ 모터 제어하기

04_1 오른쪽 앞바퀴 전진 코딩하기

04_2 오른쪽 앞바퀴 후진 코딩하기

04_3 전진 후진 속도 기준 통일하기

04_4 전진 후진 속도 보정하기

04_5 전체 바퀴 전진 후진 코딩하기

for문 일반화하기

오른쪽 뒤 바퀴 추가하기

왼쪽 뒤 바퀴 추가히기

왼쪽 앞바퀴 추가하기

04_6모터 드라이버 살펴보기

전진 후진 테스트하기

좌회전 우회전 테스트하기


05_ 적외선 송수신 센서로 검정 선 감지하기

05_1 적외선 송수신 센서 테스트 코딩하기

05_2 자동차 주행 원격 제어하기


06_ threading.Thread 클래스

06_1 쓰레드 생성하기

06_2 쓰레드로 LED 점멸 반복해 보기


07_ 메시지 큐 통신

07_1 주 루틴과 쓰레드 간 메시지 큐 통신하기



CHAPTER 04 인공지능 자율주행 자동차 코딩하기 2

01_ 네트워크 통신 수행하기

01_1 카메라 서버 프로그램 작성하기

01_2 카메라 서버에 접속해 보기

01_3 카메라 서버에 명령 보내기

라즈베리파이 카메라 서버에서 명령 기다리기

라즈베리파이 카메라 명령 보내기

01_4 카메라 서버로부터 데이터 받기

PC 카메라 클라이언트로 데이터 보내기

PC 카메라 클라이언트에서 데이터 받기


02_ 카메라 영상 주고 받기

02_1 카메라 영상 보내기

02_2 카메라 영상 받기

02_3 frame rate 측정하기


03_ 라인트레이서 센서 데이터 주고 받기

03_1 라인트레이서 센서 데이터 보내기

03_2 라인트레이서 센서 데이터 받기


04_ 모터 제어 명령 주고 받기

04_1 모터 제어 명령 받기

04_2 모터 제어 명령 보내기


05_ RC카 주행 원격 제어하기


06_ 데이터 수집하기


07_ CNN 인공지능 학습하기

07_1 수집한 데이터 불러오기

07_2 수집한 이미지 출력해 보기

07_3 훈련, 검증, 시험 데이터 분리하기

07_4 인공 신경망 학습시키기

07_5 시험 데이터로 확인해 보기


08_ CNN 인공지능 자율주행하기 1


09_ CNN 인공지능 자율주행하기 2



CHAPTER 05 인공지능 자율주행 자동차 코딩하기 2

01_ 파이썬 조이스틱 코딩하기

01_1 조이스틱 모듈 살펴보기

01_2 조이스틱 테스트하기

조이스틱 위치값 얻어오기

RC카 방향값 얻어오기


02_ video joystick 코딩하기


03_ 조이스틱 모터 제어 명령 주고 받기

03_1 조이스틱 모터 제어 명령 받기

03_2 조이스틱 모터 제어 명령 보내기


04_ 자동차 주행 원격 제어하기


05_ 데이터 수집하기

역자 소개


01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우