책 소개
[파이썬으로 구현하는 AI 자율주행 자동차 with 아두이노 자동차 만들기] 책의 핵심은 이미지 처리를 통해 자율주행을 구현하는 방법을 파이썬 코드를 사용하여 설명하며, 이를 이해 및 습득하고, 실제 자율주행 자동차를 구현해보며 인공지능을 이해하고 활용하는 것입니다.
이 책은 크게 두 부분으로 나누어져 있습니다.
첫 번째, PC에서 파이썬을 사용하여 자율주행 자동차를 만드는 과정을 다룹니다.
이 챕터에서는 파이썬 코드를 사용하여 인공지능을 어떻게 적용하며, 영상 처리를 어떻게 수행하는지에 대한 학습이 이루어집니다.
두 번째, 아두이노를 활용하여 웹을 통한 영상 스트리밍 및 원격 조종이 가능한 자동차를 만드는 것이 목표입니다.
이 과정에서 아두이노를 이용한 웹 서버 구축, 모터 제어, OLED 등에 대한 학습이 이루어지며, 최종적으로는 웹을 통해 조종 가능한 자동차를 제작합니다.
이 책을 통해 직접 인공지능 자율주행 자동차를 만들어보며 인공지능을 이해하고 자연스럽게 파이썬과 아두이노의 지식을 습득할 수 있게 됩니다.
예제 소스 코드, 저자에게 질문하는 방법은 “4~5쪽” 앤써북 독자지원센터의 책 전용 게시판을 참고합니다.
이 책의 실습 키트와 구성 부품 안내와 구매처는 6, 15쪽을 참고합니다.
[파이썬으로 구현하는 AI 자율주행 자동차 with 아두이노 자동차 만들기] 책은 인공지능 자율주행 자동차를 만들며 인공지능을 이해하고 자연스럽게 파이썬과 아두이노를 습득할 수 있도록 구성되었습니다.
이 책의 목표는 파이썬 코드를 통해 이미지 처리로 자율주행을 구현하는 방법을 이해하고 습득하며, 실제 자율주행 자동차를 구현해보며 인공지능을 이해하고 활용하는 것입니다. 이 책의 실습 동작 결과는 동영상으로 확인할 수 있도록 QR코드를 제공합니다.
이 책은 다음과 같이 크게 2개 과정으로 구성되었고, 과정1과 과정2는 목적에 맞게 선택적으로 접근하면 효율적으로 학습할 수 있습니다.
과정1 파이썬 코드를 사용하여 AI 인공지능 자율주행 자동차 만들기
- 1단계 : AI 자율주행 자동차 만들고 웹서버로 조종하기
- 2단계 : 파이썬 기초 익히기
- 3단계 : OpenCV를 활용한 자동차 조종하기
- 4단계 : 인공지능 자율주행 자동차 만들기
- 5단계 : OpenCV 자율주행 자동차 만들기
- 6단계 : 인공지능 객체 검출하여 자율주행하기
과정2 아두이노를 활용하여 웹을 통한 영상 스트리밍 및 원격 조종 자동차 만들기
- 1단계 : 아두이노 자동차 개발환경 구성
- 2단계 : 아두이노 자동차 기능 테스트
- 3단계 : 웹서버로 조종하는 자동차 만들기
작가 소개
장문철
현) 미랩 대표
현) 다두이노(www.daduino.co.kr) 대표
전) 부천대학 정보통신과 겸임교수
(강의)
파이썬, 아두이노, 인공지능, AI 자율주행 자동차, 사물인터넷, 아두이노 드론, 라즈베리파이, 라즈베리파이 드론, ARM mbed 외
(저서)
만들면서 배우는 라즈베리파이 5와 40개의 작품들 (2024. 03 앤써북)
마이크로 파이썬을 활용해 사물인터넷(IoT) 프로젝트 만들기 with ESP32 (2024. 02 앤써북)
업무와 일상을 업 시키는 16가지 생성형 AI 활용(2024. 01 앤써북)
파이썬으로 구현하는 AI 자율주행 자동차 with 아두이노 자동차 만들기 (2023. 11 앤써북)
한권으로 끝내는 파이썬과 아두이노로 52개 작품만들기 (2023. 07 앤써북)
챗GPT 실전 활용 보고서 (2023. 07 앤써북)챗GPT & AI를 활용한 인공지능 그림 그리기 실전 (2023. 05 앤써북)
챗GPT를 활용한 40가지 파이썬 프로그램 만들기 (2023. 04 앤써북)
챗GPT를 활용한 아두이노 입문 (2023. 04 앤써북)
모두가 할 수 있는 인공지능으로 그림 그리기 (2023. 03 앤써북)
ChatGPT가 직접 쓴 챗GPT 입문 (2022. 11 앤써북)
업무에 바로 활용하는 SSS급 일잘러를 위한 파이썬과 40개의 작품들 (2023. 11 앤써북)
만들면서 배우는 아두이노 IoT 사물인터넷과 40개의 작품들 (2023. 08 앤써북)
아두이노 자동차의 모든 것 아두이노, 메이커, C언어, 자동차 (2022. 06 앤써북)
만들면서 배우는 파이썬과 40개의 작품들(2022. 02 앤써북)
만들면서 배우는 라즈베리파이와 40개의 작품들(2021. 09 앤써북)
AI 인공지능 자율주행 자동차(2021. 08 앤써북)
모두가 할 수 있는 앱 인벤터로 11개 인공지능 앱 만들기(2021. 06 앤써북)
만들면서 배우는 아두이노와 40개의 작품들(2021. 03 앤써북)
아두이노와 앱인벤터 입문+실전(종합편)(2020. 11 앤써북)
다두블럭으로 만들고 엔트리로 코딩하기(2017. 09 앤써북)
목 차
CHAPTER 01 자율주행 자동차 시작
01 자율주행 자동차란
02 AI 자동차 조립하기
- 구성품 리스트
- 조립하기
- 아두이노 AI 자동차 부위 명칭
- 각 부위에 따른 명칭
- 자동차 웹으로 접속하여 조종하기
CHAPTER 02 개발환경구성 및 파이썬 기초 문법 익히기
01 파이썬이란
02 파이썬 언어의 특징 및 장점
03 파이썬 개발환경 구성
04 아나콘다 다운로드 및 설치
05 VS Code(비주얼스튜디오코드) 다운로드 및 설치
06 VS Code(비주얼스튜디오코드)에 유용한 기능 설치
07 파이썬 기초 문법
(1) print
(2) input
(3) 변수 - 숫자형, 문자형, 소수점형, BOOL형
(4) 자료형 - 리스트, 튜플, 디셔너리, set
(5) 연산 - 사칙연산, 논리연산, 비교연산
(6) 조건문
(7) 반복문 - while, for 반복문
(8) 오류 및 예외처리
(9) 함수
(10) 클래스
(11) 주석
(12) import
(13) 변수의 범위
CHAPTER 03 OpenCV를 활용한 자동차 조종하기
01 작업영역 폴더 추가하기
02 OpenCV로 자동차 영상 받기
- 자율주행 자동차 영상 스트리밍 데이터 확인
- 영상 프트리밍 데이터 OpenCV를 이용하여 영상 출력
- 이미지의 아랫부분 1/2만 잘라 출력하기
- 이미지의 사이즈를 224×224로 조절
03 OpenCV로 자동차 조종하기
- OpenCV를 이용한 키보드 값 확인
- 키보드 값에 따른 조건문 추가
- 조종 기능을 추가하여 자동차 조종하기
CHAPTER 04 인공지능 자율주행 자동차 만들기
01 트랙 만들기
02 주행 이미지 데이터 수집하기
- 폴터 생성하고 이미지 1장 저장하기
- 주행 이미지 저장하기
- 주행 데이터 모으기
03 수집된 데이터 학습하기
04 학습데이터 적용하여 자율주행
- 티처블머신의 예측 예제코드로 확인하기
- 쓰레드를 이용하여 영상 수신부와 분리
- 경로 예측
- 자율주행
- 95% 이상일 때만 조종하여 성능 높이기
- 주요 변경 사항
CHAPTER 05 OpenCV를 자율주행 자동차 만들기
- 라이브러리 설치
01 OpenCV로 영상처리 하기
- 자동차의 영상을 OpenCV를 이용하여 출력하기
- 색상 필터링으로 검정색 선 추출
- 영상처리를 통한 무게 중심 찾기
02 OpenCV로 자율주행하기
- 영상처리를 통한 자율주행 완성
- 쓰레드를 이용하여 자율주행 성능 높이기
CHAPTER 06 인공지능 객체 검출하여 자율주행하기
- 라이브러리 설치
- 객체 이미지 인쇄하기
01 Yolo를 이용한 객체 검출하기
- yolov5 기본 모델 사용해서 객체 검출하기
02 새로운 객체를 라벨링하여 추가하기
- 버튼을 눌러 이미지 저장하기
- Yolov5 모델 라벨링하기
- Yolov5 모델 학습하기
- 학습한 객체 검출하기
- 쓰레드 사용하여 객체 검출
03 객체 탐지를 자율주행에 구현하기
- 자율주행과 객체 검출 동시에 사용하기
- 자율주행에 객체 검출 결과 반영하기
CHAPTER 07 아두이노 자동차 개발환경 구성
01 아두이노란?
- 아두이노란 무엇인가?
- 우리는 아두이노를 어떻게 동작 시키는가?
- 아두이노로 무엇을 만들 수 있나?
- 왜 세계 여러 사람이 아두이노를 사용하는가?
- 인공지능과 아두이의 만남
- 아두이노 보드 종류
02 아두이노 설치하기
03 아두이노에 ESP32 개발환경 구성하기
CHAPTER 08 아두이노 자동차 기능 테스트
- 아두이노 코드 폴더 구조
01 LED 테스트
- 2초마다 LED를 깜빡이는 코드
- LED의 밝기를 점점 밝게하는 코드
- map 함수 사용 밝기를 점점 밝게하는 코드
02 시리얼통신
- 시리얼통신으로 1초마다 hello 전송
- 시리얼통신으로 1초마다 hello 전송 줄바꿈
- 통신속도 변경
- 통신으로 응답하기
- 통신으로 LED 밝기조절
03 모터 구동하기
- 모터를 정방향으로 동작
- 자동차를 전진, 후진, 좌회전, 우회전으로 동작
- 자동차의 이동 방향을 함수를 사용하여 간결하게 수정
04 OLED 테스트
- 라이브러리 설치
- OLED를 테스트하는 코드
- OLED와 모터를 같이 사용하기
05 EEPROM 테스트
- EPROM에 데이터 쓰기
- EPROM에 데이터 읽기
- EPROM에 랜덤한 이름 부여하기
06 WIFI 접속
CHAPTER 09 웹 서버로 조종하는 자동차 만들기
01 라이브러리 설치
02 웹서버로 조종하는 자동차 최종 코드 작성하기
03 코드 설명
역자 소개
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |