Top

[C/C++, MATLAB을 이용한]
임베디드 컨트롤 시스템

  • 원서명Embedded Control Systems in C/C++ (ISBN 1578201276)
  • 지은이Jim Ledin
  • 옮긴이배의성
  • ISBN : 9798989975501
  • 33,000원
  • 2004년 10월 19일 펴냄
  • 페이퍼백 | 245쪽 | 190*255mm
  • 시리즈 : 임베디드 시스템

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/control-system)


[ 책 소개 ]

프로그래밍 언어 내장형 시스템


제어 시스템에 대한 검증된 설계 기법을 고급 수학을 배우지 않고도 구현한다. 이 책에서는 모든 수준의 독자들에게 효율적인 단계별 접근법을 통해 적합한 제어 시스템 설계 기법들을 제공한다.
수학 공식의 유도를 생략함으로써, 제어 시스템 공학에 대한 배경 지식이 없는 개발자도 이와 같은 기법들에 쉽게 접근할 수 있다. 고급 기법을 위해서 이책은 MATLAB과 그 toolbox를 어떻게 이용할 것인지에 대해 다룬다.

- PID 제어를 이용한 제어 시스템의 구현
- 선형 시불변 플랜트 모델의 구성
- root locus와 Bode 다이어그램을 이용한 설계
- 극점 배치를 이용한 설계
- 선형 이차 안정기와 Kalman필터를 이용한 최적 설계 기법
- 이산 시간 부동 소수점 및 고정 소수점 제어기를 C/C++로 구현하고 시험하는 방법
- limiter 같은 비선형 요소를 제어기 설계에 추가하는 방법


제어 시스템(control system)을 설계하는 일은 어려운 일이다. 이러한 설계를 `잘` 수행하기 위해서 독자는 미적분학(calculus)과 동적 시스템(dynamic system)의 수학적 이론, 그리고 제어 시스템의 설계 알고리즘을 이해해야만 했다. 하지만 최근의 제어 시스템 설계 소프트웨어의 발달로 인해, 제어 엔지니어가 아닌 일반적인 프로그래머도 사용하기 쉬운 패키지 프로그램을 이용하여 설계를 할 수 있게 되었다.
이 책에서 소개된 방법들을 이용하면, 임베디드 시스템(embedded systems) 개발자는 훌륭한 성능 특성을 가지는 제어 시스템을 설계할 수 있게 될 것이다. 제어 이론에 관한 배경지식이 없는 독자가 책의 내용에 손쉽게 접근할 수 있도록, 수학 공식의 유도는 생략하고, 책에서는 반복 실험을 통한 튜닝 과정부터 고급 최적 제어 알고리즘에 관한 내용까지 다룬다.

고급 알고리즘의 경우 가장 적절한 제어 시스템 설계 소프트웨어, MATLAB®과 MATLAB의 Toolbox를 어떻게 적용할 것인가를 보여준다. Toolbox는 MATLAB의 add-on으로, 특수한 목적에 사용할 수 있도록 MATLAB의 기능을 확장시켜준다. 여기서 주로 다룰 Toolbox는 Control System Toolbox며, System Identification Toolbox와 Simulink, SimMechanics등을 포함한 다른 Toolbox들도 다뤘다.


[ CD-ROM ]

동봉된 CD-ROM에는 제어기 설계뿐만 아니라 효율적인 C/C++ 제어기 소스코드를 생성할 수 있는 완전하고 재사용 가능한 MATLAB 루틴이 수록되어 있으며, 특수한 제어 문제에 신속하게 적용할 수 있는 많은 예제도 수록하고 있다.

저자/역자 소개

<저자 소개>

Jim Ledin
은 캘리포니아에서 활동하고 있는 전기 전문 엔지니어이다.
그는 Ledin Engineering의 사장이며, 이 컨설팅 회사는 복잡한 내장형 시스템의 개발 및 시험에 대한 공학적인 지원을 제공한다. 그는 20여년 동안 시스템 시뮬레이션 분야에서 일해왔으며, 미 해군 Air Warfare 센터에서 전략 미사일 시스템의 realtime-hardware-in-the-loop(HIL)의 주 개발자다.
그는 내장형 시스템 학회의 정규 사로서 활동하고 있으며, Embedded Systems Programming Magazine과 Dr.Dobb’s Journal에도 투고를 하고 Simulation Engineering (CMPbooks)을 저술했다.


<저자 서문>

제어 시스템(control system)을 설계하는 일은 어려운 일이다. 이러한 설계를 ‘잘’ 수행하기 위해서 독자는 미적분학(calculus)과 동적 시스템(dynamic system)의 수학적 이론, 그리고 제어 시스템의 설계 알고리즘을 이해해야만 한다.
만약 독자가 위와 같은 지식이 전무한 상태에서 제어 시스템 설계를 해야 하는 프로젝트에 참여하게 된다면 어떻게 해야 할 것인가?

저자는 위의 질문에 대한 대답으로 이 책을 썼다. 최근의 제어 시스템 설계 소프트웨어의 발달로 인해, 제어 엔지니어가 아닌 일반적인 프로그래머도 사용하기 쉬운 패키지 프로그램을 이용하여 설계를 할 수 있게 되었다.
이 책에서 소개한 방법을 활용하면, 임베디드 시스템(embedded systems) 개발자는 훌륭한 성능 특성을 지닌 제어 시스템을 설계할 수 있게 될 것이다. 제어 이론에 관한 배경지식이 없는 독자라도 책의 내용에 손쉽게 접근할 수 있도록, 수학 공식의 유도는 생략하였고, 책에서는 반복 실험을 통한 튜닝 과정부터 고급 최적 제어 알고리즘에 관한 내용까지 다룬다.

몇몇 제어 이론은 복잡한 수학적 원리를 바탕으로 하고 있지만, 그러한 원리를 적용하는 일은 그다지 어렵지 않다. 독자(또는 사용자)는 어떤 방법을 시스템에 적용했을 때 필요한 입력이 무엇인지를 이해하고, 그 입력을 적합한 형태로 바꾸어 주기만 하면 된다. 설계된 제어기(controller)가 만족할 만한 성능을 내지 못할 경우, 성능을 향상시킬 수 있도록 입력들을 조정하는 방안들을 제공하였다. 이 책의 내용을 바탕으로 하여 설계를 할 경우, 수학적인 뒷받침이 부족하기 때문에 이러한 이론적인 부족함을 보완하기 위하여 완성된 제어 시스템을 철저하게 테스트해야만 한다.

고급 알고리즘의 경우, 이 책은 가장 적절한 제어 시스템 설계 소프트웨어, MATLAB짋과 MATLAB의 Toolbox를 어떻게 적용할 것인가를 보여준다. Toolbox는 MATLAB의 add-on으로, 특수한 목적에 사용할 수 있도록 MATLAB의 기능을 확장시켜준다. 여기서 주로 다룰 Toolbox는 Control System Toolbox며, System Identification Toolbox와 Simulink, SimMechanics등을 포함한 다른 Toolbox들도 다뤘다.


<역자 소개>

배의성 bwses2@snu.ac.kr
현대 모비스 에어백 실험 장치 프로젝트참여
서울대학교 공과 대학 기계항공학부 졸업
동 대학교 동 대학원 재학 중


<역자 서문>

제어 공학은 그 특성상 거의 모든 공학 분야와 연관돼 있기 때문에, 제어 분야의 전공자가 아니더라도 공학도라면 어느 정도는 그 개념에 대해서 잘 알아둘 필요가 있다고 생각한다. (역자의 전공도 항공기 설계다.)

그동안 학교에서 원서로 공부하면서 공식·비공식적인 전공 번역서들을 봐왔는데, 번역서들이 원문의 뜻을 제대로 살리지 못하는 경우가 많았다. 그래서 역자도 전공 서적을 읽을 때 느꼈던 부족한 점들을 염두에 두고 번역을 하였으며, 가능하면 원문의 뜻을 손상시키지 않는 범위에서 뜻이 잘 전달될 수 있도록 많은 노력을 기울였다.

번역하는 동안 한 가지 아쉬운 점이 있었다면, '용어'의 문제다. 항공분야 및 전기/전자 분야를 제외하면 제대로 된 용어집이 정립이 안된 경우가 많다. 그래서 이전에 번역되었던 전공 서적을 참고 할 수 밖에 없었는데, 원문은 같은 단어인데도 서로 다르게 번역된 경우까지 있어서 선택의 어려움이 많다. 그래서 이 책에서는 주요 단어에 대해서는 영어를 병기하였으며, 자세한 내용은 책 뒷부분의 용어해설을 참조하면 된다.

이 책은 요즘 많이 각광받고 있는 임베디드 프로세서와 관련된 MATLAB과 C를 다루고 있다. 주로 MATLAB을 이용하여 어떻게 설계 과정을 진행하는가에 대해 다루고 있으며, 고전 기법인 근궤적법 부터 최적설계 기법 및 시뮬레이션 기법까지 폭넓게 다루고 있기 때문에, 제어 공학에 대한 수업을 들은 적이 있는 사람이라면 흥미를 가지고 접근할 수 있을 것이다. 복잡한 공식의 유도는 생략돼 있지만, 예제 위주로 구성이 잘 되어있기 때문에 쉽게, 그리고 빨리 공부할 수 있는 장점이 있다.

언제나 함께 하시는 하나님과, 항상 옆에서 지켜봐 주신 우리 부모님, 가족들, 그리고 나에게 공부할 길을 열어주신 이동호 교수님, 옆에서 같이 격려해 준 연구실의 선후배님들, 그리고 C에게도 감사의 말을 전한다.

지난 겨울부터 가장 더운 올 여름까지, 게으름뱅이며 변덕쟁이 역자의 원고 때문에 고생이 많으셨던 에이콘 출판사 여러분과 이 책이 나오기까지 많은 도움을 주신 전영화 선생님께 감사드린다.

목차

목차
  • 제어 시스템의 기초
    • 1.1개 괄
    • 1.21장의 목표
    • 1.3피드백 제어 시스템
    • 1.3.1개회로 제어와 피드백 제어의 비교
    • 1.4플랜트의 특성
    • 1.4.1선형 시스템과 비선형 시스템
    • 1.4.2선형 시스템의 정의
    • 1.4.3시간 지연
    • 1.4.4연속 시간 시스템과 이산 시간 시스템
    • 1.4.5입·출력 개수
    • 1.5제어기의 구조와 설계 변수
    • 1.6블록 다이어그램
    • 1.6.1선형 시스템의 블록 다이어그램 대수
    • 1.7성능 사양
    • 1.8시스템 안정성
    • 1.9제어 시스템의 테스트
    • 1.10컴퓨터를 이용한 제어 시스템 설계
    • 1.11정 리
    • 1.12연 습 문 제
    • 1.13해답
    • 1.14관련 서적
  • PID 제어
    • 2.1개 괄
    • 2.22장의 목표
    • 2.3PID 제어
    • 2.3.1비례 제어
    • 2.3.2비례-미분 제어
    • 2.3.3비례-적분 제어
    • 2.3.4비례-적분-미분 제어
    • 2.3.5PID 제어와 액츄에이터 포화
    • 2.4C/C++를 이용한 PID 제어기의 구현
    • 2.5정리
    • 2.6연습문제
    • 2.7해답
    • 2.8관련 서적
  • 플랜트 모델
    • 3.1개 괄
    • 3.23장의 목표 _
    • 3.3선형 시불변 플랜트 모델
    • 3.3.1전달 함수 표현
    • 3.3.2주파수 응답 형식
    • 3.3.3상태-공간 표현
    • 3.4시간 지연
    • 3.5선형 모델의 안정성
    • 3.6모델 개발 방법
    • 3.6.1물리학에 기초한 모델링
    • 3.6.2비선형 모델의 선형화
    • 3.7시스템 식별 기법
    • 3.7.1실험 계획
    • 3.7.2데이터 수집
    • 3.7.3시스템 식별 모델 고안
    • 3.8정 리
    • 3.9연습문제
    • 3.10해답
    • 3.11관련서적
  • 제어 시스템 설계의 정통 기법
    • 4.1개 괄
    • 4.24장의 목표
    • 4.3근궤적 설계
    • 4.3.1극점 위치의 제약
    • 4.3.2극점 소거
    • 4.3.3적분기의 추가
    • 4.3.4Lead와 Lag 보상기
    • 4.3.5근궤적법의 요약
    • 4.4Bode 설계 기법
    • 4.4.1상 여유(phase margin)와 이득 여유(gain margin)
    • 4.5정리
    • 4.6연습문제
    • 4.7해답
    • 4.8관련 서적
  • 극점 배치
    • 5.1개괄
    • 5.25장의 목표
    • 5.3극점 배치의 개념
    • 5.4가제어성
    • 5.5가관측성
    • 5.6극점 배치를 이용한 제어 설계
    • 5.7상태 추정
    • 5.8피드포워드 제어 이득
    • 5.9관측기와 제어기의 결합
    • 5.10적분 제어
    • 5.11정 리
    • 5.12연습문제
    • 5.13해답
  • 최적 제어
    • 6.1개 괄
    • 6.26장의 목표
    • 6.3최적 제어의 개념
    • 6.4선형 이차 안정기의 설계
    • 6.5Kalman 상태 추정
    • 6.6관측기와 제어기의 결합
    • 6.7정 리
    • 6.8연습문제
    • 6.9해답
    • 6.10관련 서적
  • MIMO 시스템
    • 7.1개 괄
    • 7.27장의 목표
    • 7.3MIMO 제어기 설계의 어려움
    • 7.4정 리
    • 7.5연 습 문 제
    • 7.6해답
    • 7.7관련 서적
  • 이산 시간 시스템과 고정 소수점 수학
    • 8.1개 괄 _
    • 8.28장의 목표
    • 8.3차분 방정식
    • 8.4이산화 기법
    • 8.5샘플링 주기의 선택
    • 8.6고정 소수점 수학
    • 8.6.1이산 시간 모델을 고정 소수점 형식으로 변환
    • 8.7C/C++를 이용한 제어 시스템의 구현
    • 8.8정리
    • 8.9연 습 문 제
    • 8.10해 답
    • 8.11관련서적
  • 제어 시스템의 통합과 시험
    • 9.1개 괄
    • 9.29장의 목표
    • 9.3비선형 제어기 요소
    • 9.4Gain Scheduling
    • 9.5임베디드 시스템상에서 제어기 구현
    • 9.5.1Pad?근사법
    • 9.5.2제어기 초기 조건
    • 9.5.3멀티 태스킹 운영 체제
    • 9.6제어 시스템 테스트 기법
    • 9.6.1시스템 시뮬레이션
    • 9.6.2동작 테스트
    • 9.7정 리
    • 9.8연 습 문 제
    • 9.9해 답
    • 9.10관련 서적
  • 총정리 및 설계 예제
    • 10.1개 괄
    • 10.210장의 목표
    • 10.3제어 시스템 설계 방법
    • 10.3.1PID 제어 - 2장
    • 10.3.2근궤적 설계 - 4장
    • 10.3.3Bode 설계 - 4장
    • 10.3.4극점 배치 - 5장
    • 10.3.5최적 제어 - 6장
    • 10.4헬리콥터 시스템
    • 10.5헬리콥터 모델
    • 10.6헬리콥터 제어기 설계
    • 10.6.1모델 차수 줄이기
    • 10.6.2모델 차수 줄이기
    • 10.7C++를 이용한 제어기 구현
    • 10.8시스템 시험
    • 10.9정 리
    • 10.10연 습 문 제
    • 10.11해답
    • 관련서적
  • 용어 해설

도서 오류 신고

도서 오류 신고

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

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

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