알라딘

헤더배너
상품평점 help

분류

이름:배진호

최근작
2022년 8월 <ROS 로보틱스 프로그래밍 3/e>

라즈베리 파이와 슈퍼컴퓨팅

새로운 개념을 이해하는 가장 효과적인 학습 방법 중의 하나는 실습을 통한 구현과 동작 원리의 분석을 통한 이해라고 생각한다. 이 책은 분산 처리와 과학 프로그래밍을 쉽게 실습할 수 있는 가이드북이다. 저가의 라즈베리 파이를 활용해 오픈 소스로 분산 처리를 구현하기 때문이다. 개인적으로 분산 처리에 관심을 두게 된 것은 연산 부하에 대한 해결책을 찾으면서부터다. 단일코어로 처리할 수 있는 연산에는 한계가 있을 수밖에 없기 때문에 연산 부하가 큰 프로그래밍을 빨리 처리하는 데는 분산 처리가 그 해결책이다. 하지만 문제는 학습 및 구현에 드는 시간과 돈이다. 가장 간단한 분산 처리를 구현하는 데에도 2개 이상의 클러스터가 필요하다. 비싼 비용을 들여 하드웨어를 준비해도 프로그램 구현은 또 다른 차원의 도전이다. 저자는 최근 주목 받고 있는 저가의 라즈베리 파이를 클러스터로 활용했다. 소프트웨어 측면에서는 파이썬, MPI, MPI4PY 조합을 활용해 분산 처리를 구현했다. 초보자가 이해하기 쉽고, 사용하기에도 편리하기 때문이다. 또한 라즈베리 파이를 사용해 과학 프로그래밍을 수행한다. 강의와 책을 통해 지루하게 배웠을 수도 있는 선형대수, 행렬 연산, 신호 처리, 영상 처리 등의 개념을 매트랩 같은 고가의 툴을 사용하지 않고도 공짜로 구현해볼 수 있다는 것은 더없이 좋은 기회라고 생각한다. 이는 학생뿐 아니라 새롭게 개념을 익힐 필요가 있는 연구자들에게도 많은 도움을 줄 것이다. 이 책에서 다루고 있는 과학프로그래밍 파이썬 라이브러리는 scipy, numpy, matplotlib 등이다. 다른 책과 달리 주피터(Jupyter)라는 고급 웹 기반 툴을 사용한 실습을 소개한다. 주피터는 파이썬뿐 아니라 R과 Julia를 사용해도 인터랙티브 코딩이 가능하다. 또한 분산 처리도 지원하하므로 이 책에서 다뤘던 주제들을 수행해보기 좋은 플랫폼이라고 생각한다. 쉬운 용어를 바탕으로 저술됐기 때문에 관련 분야의 기초 개념만 갖고 있어도 내용을 이해하는 데는 무리가 없을 것이다. 직접 시스템을 구현해보고 그 동작 원리를 파악하면서 분산 처리 및 과학 프로그래밍을 이해하길 바란다.

ROS 로보틱스 프로그래밍

2016 다보스 포럼의 주제를 한 단어로 요약하자면 '4차 산업혁명'이다. 이 책은 그 4차 산업혁명의 핵심 기술 중의 하나인 로봇 기술을 설명한다. 로봇을 전공하는 사람들과 로봇 기술을 습득하려는 사람들에게 이제 필수적이 될 ROS(Robot Operating System)에 관한 개념들을 실제 소스 코드의 해설과 함께 기술함으로써 독자들의 학습 시간을 효과적으로 줄여줄 것이라 생각된다. 전통적인 로봇 기술자들에게는 많은 기반 지식이 필요했다. 기계 공학과 컴퓨터 공학의 하드웨어 기술에서 IT기술이 접목된 소프트웨어 기술까지 관련 개념을 두루 이해해야 했을 뿐만 아니라, 실제 구현까지 할 수 있어야 했다. 하지만 바야흐로 오픈소스 하드웨어와 소프트웨어가 확산된 시대가 도래하였다. 사람들이 필요한 지식을 빠르고 저비용으로 접할 수 있는 기회가 확산됐고, 이제는 로봇 기술에 대한 진입장벽이 그 이전에 비해 확실히 낮아진 것이 사실이다. 이 책은 로봇 기술의 가장 대중적인 오픈소스 소프트웨어 플랫폼인 ROS의 기본 개념과 고급 개념들을 기술하고, 그를 오픈소스 하드웨어인 아두이노와 라즈베리파이에 적용할 수 있는 인터페이스를 함께 기술한다. 저자는 실무에서 ROS를 이용하여 로봇을 제작한 경험을 바탕으로, 로봇 시뮬레이션과 머신 비전 기술에 특히 집중해 이 책을 집필하였다. 이런 내용 바탕에 로보틱스에서 대표적인 주제인 7-DOF(Degree of Freedom) 로봇 팔과 SLAM(Simultaneous Localization and Mapping)을 디자인하는 내용을 더함으로써, 독자들은 해당 로봇 알고리즘을 자신의 로봇에 구현할 수 있는 능력을 배양할 수 있을 것이다. 로봇팔의 경우는 제조업계에서 자동화에 필수적인 주제 중의 하나며, SLAM의 경우 구글 자동차로 대변되는 자율주행 자동차의 기반 기술이다. 이 책에서 역자가 인상 깊게 읽은 한 문장은 '바퀴의 모양을 새로 발명할 필요가 없다'는 것이다. 로봇의 알고리즘을 구현하려고 할 때, 이미 최적의 형태로 구현되어 있는 알고리즘이 ROS에 무수히 존재하는데, 그를 이용할 생각하지 않고 관련 기능에 대한 새로운 코드를 작성하려고 하는 태도에 대한 언급이었다. 물론 필요에 따라 원형 이외의 바퀴 모양을 새로 발명할 필요는 있다. 하지만, 모방은 창조의 어머니라는 말이 있듯이, 심지어 새로운 바퀴 형태를 개발하려 할 때에도 기존의 최적 형태의 바퀴 모양을 참고해 그를 분석하는 선행 연구가 필요하다. 이제 4차 산업혁명의 시대가 도래함으로 ROS는 로봇을 개발하려는 사람들에게 필수적인 요소가 될 것임이 자명하다. 이 책이 ROS를 습득하는 시간을 줄여줄 효과적인 매체라 생각해서 이 책의 번역을 결심하였다. 고급 개발자들이야 기반 지식과 다양한 매체의 검색 능력을 바탕으로 빨리 로봇을 개발할 수 있지만, 관련 기술이 익숙하지 않은 사람들은 시행착오로 인해 시간을 허비하기 때문에 쉽게 따라 하며 핵심 개념을 이해할 수 있는 가이드북이 필요하다. 효용가치를 생각했을 때, 이 책이 연구자들 및 개발자들, 심지어 로봇에 관심 있는 일반인들에게도 ROS 및 로봇 기술 접근에 대한 진입장벽을 낮춰, 국내 로봇 연구 개발 환경의 활성화에 조금의 기여라도 할 수 있기를 바란다.

ROS 로보틱스 프로그래밍 3/e

ROS는 오픈소스 프로젝트로 로봇 및 자율주행 차량 개발에 걸리는 시간을 획기적으로 줄여주는 프레임워크다. 개발에 필요한 다양한 문서가 잘 정리돼 공유되고 있다. 이 책은 ROS를 활용한 저자의 개발 경험을 바탕으로 수많은 ROS 문서 중 개발에 꼭 필요한 내용으로 구성됐다는 데에 효용성이 있다. 로봇 기술의 가장 대중적인 오픈소스 프레임워크인 ROS의 기본 개념부터 고급 개념들을 기술하고 오픈소스 하드웨어인 아두이노와 라즈베리파이에 적용할 수 있는 인터페이스를 함께 기술한다. 로보틱스의 대표 연구 주제인 자율주행 로봇과 7-DOF 로봇 팔을 개발하는 데 필요한 내용 대부분을 다룬다. 이를 통해 독자는 다양한 로봇 제어 알고리듬을 자신의 로봇에 구현할 수 있는 능력을 배양할 수 있다. "바퀴의 모양을 새로 발명할 필요는 없다." 이미 다양한 형태로 구현돼 있는 알고리듬들이 ROS 생태계에 무수히 존재하는데, 이를 이용하지 않고 새롭게 개발할 필요가 있을까? 물론 필요에 따라 새로운 형태를 개발해야 할 수도 있다. 하지만 '모방은 창조의 어머니'라는 말이 있듯이 새로운 형태를 개발할 때도 기존 형태를 참고해 분석하는 선행 연구가 필요한 게 사실이다. ROS는 비단 로봇 개발에만 활용되는 것이 아니라 자율주행 차량 및 IoT 등 로봇 기술을 활용하려는 다양한 애플리케이션에 적용할 수 있다. 이 책이 연구자 또는 개발자, 심지어 로봇에 관심 있는 일반인에게도 로봇 개발에 대한 진입 장벽을 낮춰 국내 로봇 연구 개발 환경의 활성화에 조금이라도 이바지했으면 하는 바람이다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자