혼자서 만드는 모바일 로봇(방구석 개발자 5)
아두이노와 ROS2를 이용한 모바일 로봇 설계
Regular price
$20.22
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
ㆍ 이 책에서 다루는 내용
전체적인 흐름을 이해하고, 최소한의 지식을 바탕으로 모바일 로봇을 만들어보는 데 집중하였습니다. 엔코더 없는 DC 모터가 아닌 서보모터로 채택하거나, 라이터 센서를 장착하면 좀더 재미있는 프로젝트를 진행하지 않았을까 라는 아쉬움은 있습니다. 모든 코드에 세세한 설명을 덧붙이지 못한 점은 다소 아쉽지만, 최대한 읽기 쉽고 이해하기 쉬운 형태로 코드를 구성하였습니다.
ROS2의 진정한 가치는 이 책에서 다룬 모바일 로봇을 넘어서, 보다 복잡한 시스템으로 확장될 때 더욱 빛을 발합니다. 예를 들어, SLAM을 활용해 로봇이 스스로 주변 환경을 인지하고 지도를 작성하는 기술은 자율주행, 서비스 로봇, 드론 등 다양한 분야에서 이미 핵심 기술로 자리잡고 있습니다. 여러분이 앞으로 이러한 기술들을 직접 구현해 보고, 센서 데이터를 다루며 로봇이 세계를 이해하도록 만드는 과정을 경험해보길 바랍니다.
또한 휴머노이드 로봇이나 4족보행 로봇 같은 복합 구조의 로봇 플랫폼 역시 ROS2를 기반으로 급격히 발전하고 있습니다. 관절 제어, 균형 유지, 실시간 시스템과의 조화 등 해결해야 할 문제는 많지만, 그만큼 도전의 재미도 큽니다.
ROS2의 모듈화된 구조와 강력한 통신 프레임워크는 이러한 로봇들의 다중 센서 처리, 모션 계획, 고난도 제어 알고리즘을 구현하는 데 큰 힘이 됩니다.
전체적인 흐름을 이해하고, 최소한의 지식을 바탕으로 모바일 로봇을 만들어보는 데 집중하였습니다. 엔코더 없는 DC 모터가 아닌 서보모터로 채택하거나, 라이터 센서를 장착하면 좀더 재미있는 프로젝트를 진행하지 않았을까 라는 아쉬움은 있습니다. 모든 코드에 세세한 설명을 덧붙이지 못한 점은 다소 아쉽지만, 최대한 읽기 쉽고 이해하기 쉬운 형태로 코드를 구성하였습니다.
ROS2의 진정한 가치는 이 책에서 다룬 모바일 로봇을 넘어서, 보다 복잡한 시스템으로 확장될 때 더욱 빛을 발합니다. 예를 들어, SLAM을 활용해 로봇이 스스로 주변 환경을 인지하고 지도를 작성하는 기술은 자율주행, 서비스 로봇, 드론 등 다양한 분야에서 이미 핵심 기술로 자리잡고 있습니다. 여러분이 앞으로 이러한 기술들을 직접 구현해 보고, 센서 데이터를 다루며 로봇이 세계를 이해하도록 만드는 과정을 경험해보길 바랍니다.
또한 휴머노이드 로봇이나 4족보행 로봇 같은 복합 구조의 로봇 플랫폼 역시 ROS2를 기반으로 급격히 발전하고 있습니다. 관절 제어, 균형 유지, 실시간 시스템과의 조화 등 해결해야 할 문제는 많지만, 그만큼 도전의 재미도 큽니다.
ROS2의 모듈화된 구조와 강력한 통신 프레임워크는 이러한 로봇들의 다중 센서 처리, 모션 계획, 고난도 제어 알고리즘을 구현하는 데 큰 힘이 됩니다.
목차
목차
저자소개 4
1장. 모바일 로봇과 로봇운영체제 9
1.1 모바일 로봇 9
1.2 모바일 로봇의 종류 9
1.3 모바일 로봇의 구성요소 11
1.4 로봇운영체제 12
1.5 ROS 생태계 13
1.6 로봇청소기 개발의 예 13
1.7 ROS는 일종의 통신 구조 14
1.8 ROS의 역사 15
1.9 ROS1과 ROS2의 차이점 16
1.10 ROS2 지원 우분투 버전 16
1.11 ROS2 패키지 17
1.12 필요한 사전지식 17
2장. ROS2 개발환경 설치 19
2.1 윈도우에서 ROS2 설치방법 19
2.2 WSL2 및 우분투 22.04설치 21
2.3 WSL2에서 우분투를 여는 방법 24
2.4 Visual Studio Code 설치 26
2.5 VS Code 확장설치 27
2.6 ROS2 설치 30
3장. ROS2 명령줄 도구 35
3.1 Turtlesim, ros2, 사용하기 35
3.2 노드 이해하기 42
3.3 토픽 이해하기 47
3.4 서비스 이해하기 61
3.5 파라미터 이해하기 67
3.6 액션 이해하기 72
3.7 rqt_console로 로그 확인 79
3.8 launch 파일을 이용하여 노드 한번에 실행 82
3.9 데이터 기록 및 재생 84
4장. ESP32기반 모바일 로봇 제작 89
4.1 ESP32-CAM 모듈 89
4.2 아두이노 개발환경 구축 94
4.3 아두이노 라이브러리 설치 97
4.4 Arduino IDE에서 탭 사용 97
4.5 카메라 스트리밍 99
4.6 모터 제어 106
4.7 초음파 센서로 거리측정 116
4.8 로봇 프레임 제작 124
4.9 모바일 로봇 조립 125
4.10 ModbusTCP 기반 로봇 프로그래밍 131
4.11 입출력 테스트 프로그램 137
5장. rclpy를 이용한 로봇프로그래밍 143
5.1 ROS2 워크스페이스 생성 144
5.2 패키지 생성 145
5.3 turtle_controller 노드 작성 147
5.4 setup.py 수정 150
5.5 빌드 및 실행 150
5.6 예제 소스코드 분석 151
5.7 sensor_actuator 노드 작성 155
5.8 teleop 노드 작성 161
5.9 turtle 노드 작성 168
5.10 auto 노드 작성 185
5.11 다시 빌드 및 ros2 run을 통한 실행 190
5.12 launch 파일 작성 191
6장. ROS2 개발환경 설치 193
6.1 micro-ROS 193
6.2 micro-ROS 설치 196
6.3 micro-ROS 버전의 sensor_actuator 노드 작성 199
6.4 실행 205
6.5 launch 파일 작성 205
1장. 모바일 로봇과 로봇운영체제 9
1.1 모바일 로봇 9
1.2 모바일 로봇의 종류 9
1.3 모바일 로봇의 구성요소 11
1.4 로봇운영체제 12
1.5 ROS 생태계 13
1.6 로봇청소기 개발의 예 13
1.7 ROS는 일종의 통신 구조 14
1.8 ROS의 역사 15
1.9 ROS1과 ROS2의 차이점 16
1.10 ROS2 지원 우분투 버전 16
1.11 ROS2 패키지 17
1.12 필요한 사전지식 17
2장. ROS2 개발환경 설치 19
2.1 윈도우에서 ROS2 설치방법 19
2.2 WSL2 및 우분투 22.04설치 21
2.3 WSL2에서 우분투를 여는 방법 24
2.4 Visual Studio Code 설치 26
2.5 VS Code 확장설치 27
2.6 ROS2 설치 30
3장. ROS2 명령줄 도구 35
3.1 Turtlesim, ros2, 사용하기 35
3.2 노드 이해하기 42
3.3 토픽 이해하기 47
3.4 서비스 이해하기 61
3.5 파라미터 이해하기 67
3.6 액션 이해하기 72
3.7 rqt_console로 로그 확인 79
3.8 launch 파일을 이용하여 노드 한번에 실행 82
3.9 데이터 기록 및 재생 84
4장. ESP32기반 모바일 로봇 제작 89
4.1 ESP32-CAM 모듈 89
4.2 아두이노 개발환경 구축 94
4.3 아두이노 라이브러리 설치 97
4.4 Arduino IDE에서 탭 사용 97
4.5 카메라 스트리밍 99
4.6 모터 제어 106
4.7 초음파 센서로 거리측정 116
4.8 로봇 프레임 제작 124
4.9 모바일 로봇 조립 125
4.10 ModbusTCP 기반 로봇 프로그래밍 131
4.11 입출력 테스트 프로그램 137
5장. rclpy를 이용한 로봇프로그래밍 143
5.1 ROS2 워크스페이스 생성 144
5.2 패키지 생성 145
5.3 turtle_controller 노드 작성 147
5.4 setup.py 수정 150
5.5 빌드 및 실행 150
5.6 예제 소스코드 분석 151
5.7 sensor_actuator 노드 작성 155
5.8 teleop 노드 작성 161
5.9 turtle 노드 작성 168
5.10 auto 노드 작성 185
5.11 다시 빌드 및 ros2 run을 통한 실행 190
5.12 launch 파일 작성 191
6장. ROS2 개발환경 설치 193
6.1 micro-ROS 193
6.2 micro-ROS 설치 196
6.3 micro-ROS 버전의 sensor_actuator 노드 작성 199
6.4 실행 205
6.5 launch 파일 작성 205
저자
저자
최영림
ㆍ IT 교육 컨텐츠 크리에이터
ㆍ 임베디드 시스템, AI로봇윤리, 심리기반 전자 시스템 등 개발자
ㆍ 동아대학교 전자공학과 박사
ㆍ 현) 동아대학교 소프트웨어혁신센터 SW교수
ㆍ 임베디드 시스템, AI로봇윤리, 심리기반 전자 시스템 등 개발자
ㆍ 동아대학교 전자공학과 박사
ㆍ 현) 동아대학교 소프트웨어혁신센터 SW교수
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

