Top

로보틱스 알고리듬 [중고등학생을 위한 입문서]

  • 원서명Elements of Robotics (ISBN 9783319625324)
  • 지은이모르데하이 벤 아리(Mordechai Ben-Ari), 프란체스코 몬다다(Francesco Mondada)
  • 옮긴이김동현
  • ISBN : 9791161757254
  • 30,000원
  • 2023년 03월 17일 펴냄
  • 페이퍼백 | 380쪽 | 155*235mm
  • 시리즈 : 데이터 과학

책 소개

요약

중고등학생과 대학교 1학년을 대상으로 로봇 알고리듬과 로봇 알고리듬에 대한 수학적, 물리적 원리를 중점적으로 다룬다. 초반부에서는 자율 모바일 로봇의 기초 개념인 센서, 반응성 동작, 유한 상태 기계, 모션과 주행기록계, 제어에 대해 설명하고 후반부에서는 장애물 회피, 로컬화, 매핑, 퍼지 논리, 이미지 처리, 인공 신경망, 머신러닝, 군집 로봇, 로봇 팔의 기구학 등 심화된 로봇 알고리듬을 설명한다. 또한 알고리듬을 실제로 교육용 로봇에서 구현하도록 100개 이상의 활동을 제공한다.

이 책에서 다루는 내용

다양한 종류의 로봇과 로봇을 제작할 때 사용하는 요소도 개략적으로 다루지만 주행 기록계와 피드백 제어와 같이 간단한 로봇 알고리듬에서부터 로컬화, 매핑, 이미지 처리, 머신러닝, 군집 로봇과 같이 심화된 로봇 알고리듬을 집중적으로 다룬다. 이때 알고리듬을 구체적으로 계산을 할 수 있도록 간략화된 상황을 제시하고 현실적인 활동을 통해 살펴본다. 학생들은 이런 간략화된 상황을 학습함으로써 심화된 로보틱스를 배울 준비가 될 것이다

이 책의 대상 독자

이 책은 중고등학생과 대학교 1학년인 중간 연령을 대상으로 하며 로봇 알고리듬과 로봇 알고리듬에 대한 수학적, 물리적 원리를 중점적으로 다룬다. 시행착오 이상의 것을 다루고 있지만, 학생들이 이 책만으로 실제 환경에서 작업을 수행할 수 있는 로봇과 알고리듬을 설계하거나 만들 수 있다고 생각하지는 않는다. 또한 알고리듬에서 심화된 수학과 공학은 필요에 의해 간략화해 나타냈지만, 개념과 로봇 알고리듬을 배우고 이해할 수 있으며 대학교나 대학원 수준으로 로봇을 공부할 교두보가 될 수 있을 것이라고 생각한다.

이 책의 구성

1장에서는 로봇의 분야에 대한 개요와 일반 로봇, 알고리듬을 설명할 때 사용하는 의사 코드를 알아본다. 2장에서 6장까지는 자율 모바일 로봇의 기초 개념인 센서, 반응성 동작, 유한 상태 기계(finite state machine), 모션과 주행기록계, 제어를 설명한다. 7장에서 16장까지는 심화된 로봇 알고리듬인 장애물 회피, 로컬화, 매핑, 퍼지 논리, 이미지 처리, 인공 신경망, 머신러닝, 군집 로봇, 로봇 팔의 기구학에 대해 알아본다. 구체적인 개요는 1.8절에서 확인할 수 있다.

상세 이미지

저자/역자 소개

지은이의 말

로봇은 현재 활발히 연구되고 있고 그 중요성이 매년 증가하고 있다. 또한 유치원생부터 대학원생까지 다양한 학생이 즐길 수 있는 주제기도 하다. 로봇을 배우는 목적은 연령대에 따라 다른데, 어린 아이들에게는 로봇이 교육용 장난감이고 중고등학생에게는 로봇이 STEM(과학(Science), 기술(Technology), 공학(Engineering), 수학(Mathematics))을 공부하는 동기가 될 수 있다. 대학교 저학년은 로봇을 통해 지금껏 배운 물리학, 수학, 컴퓨터공학을 실용적인 공학 프로젝트에 적용할 수 있고, 고학년과 대학원생은 로보틱스 분야에서 경력을 쌓으려고 한다.
요즘에는 교육용 로봇이 많이 출시되고 있다. 로봇의 형태나 기능에 상관없이 과학적, 공학적 원리와 알고리듬은 동일하다. 따라서 이 책에서는 특정한 로봇을 사용하진 않는다. 1장에서는 차동 구동이 되고 책상이나 바닥의 표시를 감지하는 지면 센서뿐 아니라 물체까지의 방향과 거리를 감지하는 센서가 있는 일반 로봇을 정의한다. 이런 정의는 광범위하기 때문에 여러분이 어느 교육용 로봇에서도 대부분의 알고리듬을 구현할 수 있을 것이다. 구현된 알고리듬의 성능은 플랫폼에 따라 다를 수 있지만, 로봇의 원리를 학습하고 이론적인 알고리듬을 실제 로봇의 동작으로 어떻게 만드는지 배울 수 있다.
비슷한 이유로 이 책에서는 특정 프로그래밍 언어를 사용하지 않고 알고리듬을 설명한다. 이는 플랫폼마다 다른 프로그래밍 언어를 사용할 뿐 아니라 교육용 로봇은 텍스트 프로그래밍과 블록이나 상태를 사용하는 비주얼 프로그래밍과 같은 다른 방식을 사용하기 때문이다. 따라서 알고리듬을 의사 코드(pseudocode)로 표현했고, 의사 코드를 실제 사용하는 로봇 환경에 맞춰 프로그래밍 언어로 구현하도록 한다.
이 책에는 많은 활동이 있으며, 대부분의 활동은 알고리듬을 구현하고 동작을 확인하도록 한다. 하지만 여러분이 사용하는 로봇이 모든 활동을 수행하지 못할 수도 있다. 각자의 로봇에 맞춰 자유롭게 변형해 적용하길 바란다.

지은이 소개

모르데하이 벤 아리(Mordechai Ben-Ari)

바이츠만 과학 연구소의 과학교육과에 재직 중이며 『Mathematical Logic for Computer Science』(Springer, 2021)를 비롯한 여러 교재를 저술했다. ACM(Association for Computing Machinery)에서 우수 교육자(Distinguished Educator)로 선정됐으며, 컴퓨터공학 교육에 크게 기여한 공로로 ACM/SIGCSE 상을 수상했다.

프란체스코 몬다다(Francesco Mondada)

로잔 연방 공과대학교의 로봇 시스템 연구소에 몸담고 있으며 수천 개의 학교에서 사용하는 여러 가지 연구 및 교육용 모바일 로봇을 공동 설계했다. 라트시스상(Latsis Prize)과 크레디트 스위스(Credit Suisse) 최고 교육자상 등 여러 상을 수상했다.

옮긴이의 말

로봇이 정형화된 공장에서 벗어나 걷고 뛸 정도로 제어 기술이 고도화됐습니다. 또한 딥러닝의 발전에 힘입어 지능을 갖추고 있으므로 로봇이 우리 생활 전반에 스며들 날이 머지않았다고 생각합니다. 다만 로봇은 전자, 기계, 컴퓨터, 수학 전반에 걸쳐 있는 광범위한 공학이므로 연구실에서도 혼자만의 힘으로 연구를 진행하기가 어렵습니다. 이 책은 로봇의 기본적인 요소부터 시작해 로봇의 기초가 되는 알고리듬을 거쳐 최근 화두가 되고 있는 머신러닝과 인공 신경망에 이르기까지 다양한 주제를 다룹니다. 이론적인 내용뿐 아니라 실제 수행할 수 있는 활동이 곁들여져 있기 때문에 구체적으로 학습할 수 있습니다. 이 책을 통해 독자 여러분이 ‘로봇을 문화로’라는 목표를 갖고 있는 저와 함께 이 길을 걷는 동료가 된다면 더할 나위 없겠습니다.
2022년 미국 라스베이거스의 소비자 가전 전시회(CES)에서 연구실 로봇의 아바타 기술을 전시하고 돌아오던 중에 공항에서 받았던 에이콘출판사의 번역 제안 메일이 떠오릅니다. 일면식도 없고 번역이 처음인 저를 믿고 맡겨주신 에이콘출판사에 감사의 말씀을 드립니다. 마지막으로, 로봇을 마음껏 연구하도록 지원해주시는 박재흥 교수님과 무조건적인 응원을 해주는 우리 가족, 새로운 시도를 항상 장려하고 도전하게 해주는 채영이에게 고마움을 전합니다.

옮긴이 소개

김동현

성균관대학교 기계공학과를 수석 졸업한 후 서울대학교 지능정보융합학과 동적로봇시스템 연구실(DYROS)에서 석박사 통합 과정을 밟고 있다. 딥러닝 및 강화 학습을 로봇에 적극적으로 적용하고 있으며 딥러닝을 이용한 로봇의 안전한 사용, 아바타 로봇, 휴머노이드 강화 학습 보행 등에 대한 연구/개발을 진행했다. 최근에는 연구실에서 자체 제작한 휴머노이드 도깨비(TOCABI)에 강화 학습을 적용하는 연구를 집중적으로 진행하고 있다. 서울대학교 로봇 부트 캠프와 로봇 스쿨의 강사로 활동했으며 로봇공학개론, 로봇-환경 상호 작용 동역학 및 제어 수업의 조교를 담당했다.

목차

목차
  • 1장. 로봇과 로봇의 적용 분야
  • 1.1 로봇의 분류
  • 1.2 산업용 로봇
  • 1.3 자율 주행 로봇
  • 1.4 휴머노이드 로봇
  • 1.5 교육용 로봇
  • 1.6 일반 로봇
  • 1.6.1 차동 구동
  • 1.6.2 근접 센서
  • 1.6.3 지면 센서
  • 1.6.4 임베디드 컴퓨터
  • 1.7 알고리듬 형식화
  • 1.8 책의 개요
  • 1.9 요약
  • 1.10 추가 자료
  • 참고 문헌

  • 2장. 센서
  • 2.1 센서의 분류
  • 2.2 거리 센서
  • 2.2.1 초음파 거리 센서
  • 2.2.2 적외선 근접 센서
  • 2.2.3 광학 거리 센서
  • 2.2.4 삼각측량 센서
  • 2.2.5 레이저 스캐너
  • 2.3 카메라
  • 2.4 기타 센서
  • 2.5 센서 범위, 해상도, 정밀도, 정확도
  • 2.6 비선형성
  • 2.6.1 선형 센서
  • 2.6.2 비선형 센서 변환
  • 2.7 요약
  • 2.8 추가 자료
  • 참고 문헌

  • 3장. 반응성 동작
  • 3.1 브라이텐베르크 차량
  • 3.2 물체 감지에 대한 반응
  • 3.3 반응과 회전
  • 3.4 라인 팔로잉
  • 3.4.1 두 개의 지면 센서를 이용한 라인 팔로잉
  • 3.4.2 한 개의 센서만을 이용한 라인 팔로잉
  • 3.4.3 그라데이션 없는 라인 팔로잉
  • 3.5 브라이텐베르크 차량
  • 3.6 요약
  • 3.7 추가 자료
  • 참고 문헌

  • 4장. 유한 상태 기계
  • 4.1 상태 기계
  • 4.2 상태를 이용한 반응성 동작
  • 4.3 탐색과 접근
  • 4.4 유한 상태 기계 구현
  • 4.5 요약
  • 4.6 추가 자료
  • 참고 문헌

  • 5장. 로봇 모션과 주행기록계
  • 5.1 거리, 속도, 시간
  • 5.2 속도 변화로 인한 가속도
  • 5.3 분할된 선분에서 연속적인 모션으로의 변환
  • 5.4 주행기록계를 이용한 내비게이션
  • 5.5 직선에서의 주행기록계
  • 5.6 회전할 때의 주행기록계
  • 5.7 주행기록계 오차
  • 5.8 휠 엔코더
  • 5.9 관성 내비게이션 시스템
  • 5.9.1 가속도계
  • 5.9.2 자이로스코프
  • 5.9.3 적용 사례
  • 5.10 자유도와 구동기의 수
  • 5.11 구동기의 수와 자유도의 상대적 차이
  • 5.12 홀로노믹과 비홀로노믹
  • 5.13 요약
  • 5.14 추가 자료
  • 참고 문헌

  • 6장. 제어
  • 6.1 제어 모델
  • 6.1.1 개루프 제어
  • 6.1.2 폐루프 제어
  • 6.1.3 제어 알고리듬 주기
  • 6.2 온-오프 제어
  • 6.3 비례 제어기
  • 6.4 비례-적분 제어기
  • 6.5 비례-적분-미분 제어기
  • 6.6 요약
  • 6.7 추가 자료
  • 참고 문헌

  • 7장. 로컬 내비게이션: 장애물 회피
  • 7.1 장애물 회피
  • 7.1.1 벽 따라가기
  • 7.1.2 방향을 알고 벽 따라가기
  • 7.1.3 프레지 알고리듬
  • 7.2 코드 표시를 읽으며 라인 팔로잉
  • 7.3 먹이를 찾는 개미 군집
  • 7.4 개미 움직임의 확률론적 모델
  • 7.5 경로 찾기 알고리듬의 유한 상태 기계
  • 7.6 요약
  • 7.7 추가 자료
  • 참고 문헌

  • 8장. 로컬화
  • 8.1 랜드마크
  • 8.2 위치가 알려진 물체로 위치 구하기
  • 8.2.1 각도와 거리를 이용해 위치 구하기
  • 8.2.2 삼각측량법을 이용해 위치 구하기
  • 8.3 GPS
  • 8.4 확률론적 로컬화
  • 8.4.1 확실성을 늘리는 센싱
  • 8.4.2 센서 불확실성
  • 8.5 움직임의 불확실성
  • 8.6 요약
  • 8.7 추가 자료
  • 참고 문헌

  • 9장. 매핑
  • 9.1 이산 지도와 연속 지도
  • 9.2 격자 지도 셀의 정보
  • 9.3 경계 알고리듬으로 탐색하며 지도 만들기
  • 9.3.1 점유 확률을 나타낸 격자 지도
  • 9.3.2 경계 알고리듬
  • 9.3.3 경계 알고리듬에서의 우선순위
  • 9.4 환경 정보를 이용한 지도 제작
  • 9.5 슬램 알고리듬의 예시
  • 9.6 슬램 알고리듬 적용하기
  • 9.7 슬램 알고리듬 형식화
  • 9.8 요약
  • 9.9 추가 자료
  • 참고 문헌

  • 10장. 지도를 이용한 내비게이션
  • 10.1 격자 지도에서의 데이크스트라 알고리듬
  • 10.1.1 비용이 일정한 경우의 데이크스트라 알고리듬
  • 10.1.2 비용이 다양한 경우의 데이크스트라 알고리듬
  • 10.2 연속 지도에서의 데이크스트라 알고리듬
  • 10.3 A* 알고리듬을 이용한 경로 계획
  • 10.4 경로 추종과 장애물 회피
  • 10.5 요약
  • 10.6 추가 자료
  • 참고 문헌

  • 11장. 퍼지 논리 제어
  • 11.1 퍼지화
  • 11.2 규칙 적용
  • 11.3 역퍼지화
  • 11.4 요약
  • 11.5 추가 자료
  • 참고 문헌

  • 12장. 이미지 처리
  • 12.1 이미지 획득
  • 12.2 디지털 이미지 처리 개요
  • 12.3 이미지 향상
  • 12.3.1 공간 필터
  • 12.3.2 히스토그램 조작
  • 12.4 윤곽선 검출
  • 12.5 모서리 검출
  • 12.6 얼룩 검출
  • 12.7 요약
  • 12.8 추가 자료
  • 참고 문헌

  • 13장. 인공 신경망
  • 13.1 생물학적 신경계
  • 13.2 인공 신경망
  • 13.3 인공 신경망으로 브라이텐베르크 차량 구현하기
  • 13.4 인공 신경망 구조
  • 13.4.1 다층 구조
  • 13.4.2 메모리
  • 13.4.3 공간 필터
  • 13.5 학습
  • 13.5.1 학습 알고리듬의 분류
  • 13.5.2 헤비안 규칙을 이용한 인공 신경망 학습
  • 13.6 요약
  • 13.7 추가 자료
  • 참고 문헌

  • 14장. 머신러닝
  • 14.1 두 가지 색 분류하기
  • 14.1.1 평균을 이용한 판별 기준
  • 14.1.2 평균과 분산을 이용한 판별 기준
  • 14.1.3 색 구별 학습 알고리듬
  • 14.2 선형 판별 분석
  • 14.2.1 선형 판별 분석을 사용하는 이유
  • 14.2.2 선형 판별 기준
  • 14.2.3 선형 판별을 위한 점 정하기
  • 14.2.4 기울기 구하기
  • 14.2.5 선형 판별 예시
  • 14.2.6 판별 기준의 성능 비교하기
  • 14.2.7 선형 판별 분석을 이용한 활동
  • 14.3 선형 판별의 일반화
  • 14.4 퍼셉트론
  • 14.4.1 기울기 감지
  • 14.4.2 퍼셉트론을 이용한 분류
  • 14.4.3 퍼셉트론 학습
  • 14.4.4 예제
  • 14.4.5 퍼셉트론 매개변수 조절
  • 14.5 요약
  • 14.6 추가 자료
  • 참고 문헌

  • 15장. 군집 로봇
  • 151 로봇 협업 구현 방법
  • 15.2.1 직접적 통신
  • 15.2.2 간접적 통신
  • 15.2.3 벌 군집 알고리듬
  • 15.2.4 ASSISIbf 프로젝트에서의 벌 군집 알고리듬
  • 15.3 물리적 상호 작용을 통한 군집 로봇
  • 15.3.1 물리적인 작업 협업
  • 15.3.2 여러 로봇의 힘 합치기
  • 15.3.3 가림 기반 집단 밀기
  • 15.4 요약
  • 15.5 추가 자료
  • 참고 문헌

  • 16장. 로봇 팔의 기구학
  • 16.1 정기구학
  • 16.2 역기구학
  • 16.3 회전
  • 16.3.1 벡터 회전
  • 16.3.2 좌표계 회전
  • 16.3.3 한 좌표계의 벡터를 다른 좌표계로 변환하기
  • 16.4 좌표계 회전과 평행이동
  • 16.5 3차원 회전 맛보기
  • 16.5.1 세 축을 중심으로 하는 회전
  • 16.5.2 오른손 법칙
  • 16.5.3 3차원 회전 행렬
  • 16.5.4 여러 번의 회전
  • 16.5.5 오일러 각
  • 16.5.6 서로 다른 오일러 각 회전의 경우의 수
  • 16.6 3차원 변환에서의 심화 주제
  • 16.7 요약
  • 16.8 추가 자료
  • 참고 문헌

  • 부록 A. 측정 단위

  • 부록 B. 수식 유도와 튜토리얼
  • B.1 조건부 확률과 베이즈 정리
  • B.2 정규화
  • B.3 평균과 분산
  • B.4 공분산
  • B.5 벡터와 행렬의 곱
  • B.6 삼각형 하단 사다리꼴의 면적

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.178 : 그림 8.2 - Triangulation 누락]