[목 차]
CHAPTER 1 로봇 H/W 프로그래밍 I
===================================
1 로봇 구성 요소 살펴보기
2 micro-ROS 개발 환경 구성하기
아두이노 IDE 설치하기
ESP32 보드 패키지 설치하기
micro-ROS 라이브러리 설치하기
ESP32 업로드 테스트하기
전자 부품 테스트하기
3 로봇 조립하기
전체 부품 살펴보기
모터 조립하기
바퀴 장착하기
인코더 연결하기
부품 장착하기
라이다 장착하기
카메라 및 보드 장착하기
전원 연결하기
메인 보드 살펴보기
제어 핀 살펴보기
4 LED로 PWM 이해하기
LED 켜고 끄기 확인하기
LED 켜고 끄기 간격 줄여보기
LED 켜고 끄기를 밝기로 느껴보기
LED 어둡게 하기
LED 밝게 하기
5 PWM 모듈로 LED 밝기 제어하기
주파수 조절로 LED 켜고 끄기 반복해 보기
LED 켜고 끄기 간격 줄여보기
LED 켜기 끄기를 밝기로 느껴보기
LED 밝게 하기
6 PWM으로 모터 속도 제어하기
DC 모터 이해하기
dc_test_c
dc_test_cpp
dc_4_test_cpp
dc_pwm_test_c
dc_pwm_test_cpp
dc_4_pwm_test_cpp
7 Encoder로 모터 회전량 측정하기
Encoder 이해하기
enc_test_c
enc_test_cpp
enc_4_test_cpp
8 배터리 전압 측정하기
9 Wi-Fi 신호 세기 측정하기
10 micros 함수로 루프 주기 제어하기
===================================
CHAPTER 2 ROS2 프로그래밍 I
===================================
1 ROS2의 이해
ROS2 개요
ROS2의 핵심 구성 요소
micro-ROS Agent
2 ROS2 개발 환경 구성하기
WSL 설치하기
Docker 설치하기
VcXsrv 설치하기
VS Code 설치하기
Gimp 설치하기
Docker 컨테이너 구동하기
micro-ROS agent 설치하기
.bashrc 설정하기
Docker 컨테이너 다중 접속하기
ros2 패키지 설치하기
핫스팟 활성화하기
3 Twist 기반 로봇 제어 프로그래밍
(Arduino) Twist 메시지 구독 노드 구현하기
(Linux) Twist 메시지 발행 노드 구현하기
Twist 토픽 통신 실습하기
Twist → RPM 변환 로직 구현하기
teleop_twist_keyboard.py 구현하기
실제 로봇 제어해 보기
4 Odometry·TF2·Joint State 기반 로봇 상태 프로그래밍
(Arduino) 원시 Telemetry 발행 노드 분석하기
(Linux) 원시 Telemetry 구독 노드 구현하기
Odom · TF · Joint States 발행 노드 구현하기
5 LaserScan 기반 로봇 센서 프로그래밍
(Arduino) 원시 LaserScan 발행 노드 분석하기
(Linux) LaserScan 발행 노드 구현하기
===================================
CHAPTER 3 ROS2 프로그래밍 II
===================================
1 URDF의 이해
URDF 개요
URDF 문법 살펴보기
2 URDF로 로봇 구조 정의하기
base_link 만들고 chassis_joint 연결하기
chassis 추가하기
wheel_joint 추가하기
wheel 추가하기
laser_joint, laser_frame 추가하기
controller_joint, controller_frame 추가하기
camera_joint, camera_link 추가하기
camera_optical_joint, camera_link_optical 추가하기
base_footprint_joint, base_footprint 추가하기
3 로봇 Telemetry 토픽 시뮬레이션
로봇 구동하고 micro_ros_agent 연결하기
TF2 토픽 시뮬레이션
Joint State 토픽 시뮬레이션
Odometry 토픽 시뮬레이션
LaserScan 토픽 시뮬레이션
4 ROS2 패키지 생성 및 launch 파일 작성
myros_ws 워크스페이스 생성하기
myrosbot_one 패키지 생성하기
setup.py 수정하여 패키지 정보 반영하기
rsp.launch.py 파일 작성하기
패키지 빌드 및 설치하기(colcon build)
robot_visualization.launch.py 파일 작성 및 실행하기
robot_bringup.launch.py 파일 작성 및 실행하기
===================================
CHAPTER 4 SLAM & Nav2 활용하기
===================================
1 SLAM으로 맵 그리기
SLAM 개요
Nav2 + SLAM Toolbox로 맵 생성하기
GIMP로 저장한 맵 수정하기
slam_with_nav2.launch.py 파일 작성하기
save_map.launch.py 파일 작성하기
패키지 빌드 및 테스트하기(colcon build)
2 Nav2로 자율주행 실습하기
Nav2 개요
nav2_bringup으로 자율주행하기
[WayPoint] 설정으로 다중 목표점 자율주행하기
nav2_with_map.launch.py 파일 작성하기
3 탐사 플래너로 맵 자동 완성하기
탐사 플래너 개요
탐사 플래너 설치하기
explore_lite로 자동 맵 완성하기
explore_lite의 역할 이해하기
explore_navigation.launch.py 파일 작성하기
4 탐사 상태 제어하기
===================================
CHAPTER 5 ROS2 영상 처리 프로그래밍
===================================
1 MJPEG 기반 영상 스트리밍과 ROS2 연동
(Arduino) ESP32Cam 영상 스트리밍 분석하기
카메라 전원선 연결하기
(Linux) MJPEG Viewer 구현하기
(Linux) Camera 영상 발행 노드 구현하기
LiDAR 기반 로봇 시스템과 카메라 기능 연동하기
full_system_bringup.launch.py 파일 작성하기
2 카메라 기반 객체 인식과 추적
공 추적을 위한 비전 패키지 설치
실시간 카메라 기반 공 추적 실습
3 미션 상태 제어하기
공 추적 멈춤 토픽 구독하기
공 정면 정지 이벤트 토픽 발행하기
4 멀티 모달 AI API 기반 카메라 장면 이해
Gemini API로 카메라 장면 설명하기
OpenAI API로 카메라 장면 설명하기
===================================
부록 Vibe Coding 프로젝트와 로봇 H/W 프로그래밍 고급
===================================
부록 1 Vibe Coding 프로젝트: 화성 탐사선 보물찾기
1 탐사 상태 제어하기
2 탐사 미션 상태 전환하기
3 mission_manager 생성하기
4 (Vibe Coding) 미션 탐사 로봇 프로젝트
부록 2 로봇 H/W 프로그래밍 고급
1 PID 제어로 모터 속도 정밀 제어하기
PID 원리 이해하기
PID 제어하기
2 IMU로 방향 측정하기
3 LiDAR로 거리 측정하기
LiDAR 개요
LiDAR 패킷 살펴보기
LiDAR 읽기
LiDAR 주요 파일 살펴보기
이 책을 읽고 어떤 느낌을 받으셨나요?
리뷰를 남기고 다른 독자들과 함께 공유해보세요.
안내 열기구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!