혼자서 만드는 모바일 로봇 (아두이노와 ROS2를 이용한 모바일 로봇 설계)

혼자서 만드는 모바일 로봇 (아두이노와 ROS2를 이용한 모바일 로봇 설계)

$20.71
Description
이 책은 총 여섯개의 장으로 구성되어 있습니다. 첫 번째 장에서는 모바일 로봇과 ROS2의 기본 개념을 다루어 로봇 개발을 위한 기초를 쌓습니다. 두 번째 장에서는 ROS2 개발 환경 구축을 안내하며, WSL2 및 우분투 설치부터 VS Code 설정, ROS2 설치까지 실습 중심으로 설명합니다. 세 번째 장에서는 ROS2의 핵심 기능과 명령줄 도구를 학습합니다. 노드, 토픽, 서비스, 파라미터, 액션 등 ROS2의 주요 개념을 예제와 함께 익힙니다. 네 번째 장에서는 ESP32 기반 모바일 로봇 제작을 진행합니다. ESP32-CAM 설정, 모터·센서 제어, 프레임 제작과 조립 등 실제 로봇 제작 과정을 담고 있습니다. 다섯 번째 장에서는 ROS2 파이썬 클라이언트 라이브러리를 활용해 ROS2 노드를 작성하고, 워크스페이스 구성과 launch 파일 작성 등 소프트웨어 개발 방법을 배우게 됩니다. 여섯 번째 장에서는 micro-ROS 프로그래밍을 통해 마이크로컨트롤러와 ROS2를 연동하여 실전 로봇 시스템을 완성하는 방법을 학습합니다.
저자

최영림

ㆍIT교육컨텐츠크리에이터
ㆍ임베디드시스템,AI로봇윤리,심리기반전자시스템등개발자
ㆍ동아대학교전자공학과박사
ㆍ현)동아대학교소프트웨어혁신센터SW교수

목차

저자소개 4

1장.모바일로봇과로봇운영체제 9
1.1모바일로봇 9
1.2모바일로봇의종류 9
1.3모바일로봇의구성요소 11
1.4로봇운영체제 12
1.5ROS생태계 13
1.6로봇청소기개발의예 13
1.7ROS는일종의통신구조 14
1.8ROS의역사 15
1.9ROS1과ROS2의차이점 16
1.10ROS2지원우분투버전 16
1.11ROS2패키지 17
1.12필요한사전지식 17

2장.ROS2개발환경설치 19
2.1윈도우에서ROS2설치방법 19
2.2WSL2및우분투22.04설치 21
2.3WSL2에서우분투를여는방법 24
2.4VisualStudioCode설치 26
2.5VSCode확장설치 27
2.6ROS2설치 30

3장.ROS2명령줄도구 35
3.1Turtlesim,ros2,사용하기 35
3.2노드이해하기 42
3.3토픽이해하기 47
3.4서비스이해하기 61
3.5파라미터이해하기 67
3.6액션이해하기 72
3.7rqt_console로로그확인 79
3.8launch파일을이용하여노드한번에실행 82
3.9데이터기록및재생 84

4장.ESP32기반모바일로봇제작 89
4.1ESP32-CAM모듈 89
4.2아두이노개발환경구축 94
4.3아두이노라이브러리설치 97
4.4ArduinoIDE에서탭사용 97
4.5카메라스트리밍 99
4.6모터제어 106
4.7초음파센서로거리측정 116
4.8로봇프레임제작 124
4.9모바일로봇조립 125
4.10ModbusTCP기반로봇프로그래밍 131
4.11입출력테스트프로그램 137

5장.rclpy를이용한로봇프로그래밍 143
5.1ROS2워크스페이스생성 144
5.2패키지생성 145
5.3turtle_controller노드작성 147
5.4setup.py수정 150
5.5빌드및실행 150
5.6예제소스코드분석 151
5.7sensor_actuator노드작성 155
5.8teleop노드작성 161
5.9turtle노드작성 168
5.10auto노드작성 185
5.11다시빌드및ros2run을통한실행 190
5.12launch파일작성 191

6장.ROS2개발환경설치 193
6.1micro-ROS 193
6.2micro-ROS설치 196
6.3micro-ROS버전의sensor_actuator노드작성 199
6.4실행 205
6.5launch파일작성 205

출판사 서평

ㆍ이책에서다루는내용
전체적인흐름을이해하고,최소한의지식을바탕으로모바일로봇을만들어보는데집중하였습니다.엔코더없는DC모터가아닌서보모터로채택하거나,라이터센서를장착하면좀더재미있는프로젝트를진행하지않았을까라는아쉬움은있습니다.모든코드에세세한설명을덧붙이지못한점은다소아쉽지만,최대한읽기쉽고이해하기쉬운형태로코드를구성하였습니다.
ROS2의진정한가치는이책에서다룬모바일로봇을넘어서,보다복잡한시스템으로확장될때더욱빛을발합니다.예를들어,SLAM을활용해로봇이스스로주변환경을인지하고지도를작성하는기술은자율주행,서비스로봇,드론등다양한분야에서이미핵심기술로자리잡고있습니다.여러분이앞으로이러한기술들을직접구현해보고,센서데이터를다루며로봇이세계를이해하도록만드는과정을경험해보길바랍니다.
또한휴머노이드로봇이나4족보행로봇같은복합구조의로봇플랫폼역시ROS2를기반으로급격히발전하고있습니다.관절제어,균형유지,실시간시스템과의조화등해결해야할문제는많지만,그만큼도전의재미도큽니다.
ROS2의모듈화된구조와강력한통신프레임워크는이러한로봇들의다중센서처리,모션계획,고난도제어알고리즘을구현하는데큰힘이됩니다.