목록Robotics (32)
Data Analysis for Investment & Control
신호처리 시간에 배우는 필터 중에서 활용도가 높은 필터 중에 하나는 FIR 필터이다. 구현이 비교적 간단하다고 알려져 있으며 IIR 필터에 비해 안정성이 높다. 이번 시간에는 Matlab에 내장되어 있는 필터 설계 툴을 사용하여 이 FIR 필터를 설계하는 방법을 알아보도록 하겠다. 노이즈가 포함된 신호 필터 효과를 검증하기 위해 샘플 신호를 생성해 보도록 하겠다. 샘플 신호는 원본 신호에 노이즈를 첨가하여 생성하는데, 원본 신호의 Amplitude는 2, 주파수 역시 2Hz로 선정하였다. 노이즈 신호는 두 가지로 하나는 저주파 노이즈, 다른 하나는 고주파 노이즈를 생성하여 원본 신호에 더해주었다. 다음은 원본 신호와 노이즈 함수를 나타낸다. 여기서 f_n1 = 24Hz, f_n2 = 0.2Hz의 주파수를..
소개 및 수식 유도 스미스 예측기는 시간 지연을 가지는 시스템을 제어하기 위한 예측 제어기로 Otto J. M. Smith라는 사람이 1957년에 발명하였다. 시간 지연을 가지는 Closed-Loop 제어 시스템에서 스미스 예측기를 추가하게 되면 아래와 같은 블록도로 표현할 수 있다. 여기서 C는 제어기의 전달함수이며, G는 플랜트의 전달함수이다. 스미스 예측기는 플랜트 전달함수 G의 추정 식을, 그리고 시간 지연량을 조합하여 피드백하는 방식으로 시간 지연 요소로 기인하는 불안정성을 보상한다. 위의 블록도를 수식화 하면 다음과 같다. 여기서 W에 대해 정리하면, 정리한 W를 위의 식에 대입하면, 즉, 스미스 예측기로 인해 제어의 불확실성 요소는 상쇄되고 시간지연 성분만 남게 된다. 따라서 제어 시스템이 ..
칼만필터(Kalman Filter)는 노이즈가 포함되어 있는 선형 역학 시스템의 상태를 추적하는 필터로 루돌프 칼만이라는 사람에 의해 개발되었다. 칼만필터는 신호처리, 로봇 공학 등의 여러 분야에 사용되며, 매우 효율적인 성능으로 널리 쓰이고 있다. 여기에서는 칼만 필터의 수식 유도 과정에 대해 Gaussian Probability Density Function 관점에서 설명한다. ※ 내용상 잘못된 부분이나 수식 오류 등이 있는 경우에는 지적해 주시면 감사하겠습니다. 2017.05.03 Update
Copying Sections from Flash to RAM - Copying the Interrupt Vectors(non-DSP/BIOD projects only) 이 글은 TI에서 제공하고 있는 문서 "Running an Application from Internal Flash Memory on the TMS320F28xxx DSP" (문서 번호 SPRA958I)를 참고하여 작성된 것임을 알려드립니다. Perpheral Interrupt Expansion(PIE) 모듈은 F28xxx 디바이스의 인터럽트 요청을 관리합니다. 전원이 켜지면, 모든 인터럽트 벡터들은 비휘발성 메모리(예를들어, Flash)에 위치하게 되는데, 코드의 디바이스 초기화 과정에서일부분 PIEVECT RAM에 복사가 됩니다. P..
1985년 IEEE에서 Floating-point 표준을 처음 만들어 공표한 이후로 23년이 지난 2008년 새로운 형태의 Floating-point format이 만들어져 발표되었습니다. 기존의 IEEE754-1985 규약이 이진(binary) 기반의 표현 방법이었다면, IEEE754-2008 규약은 십진(decimal) 기반으로 종전의 표현 방법에 비해 수의 표현 범위가 넓어졌으며, 십진수 형태의 실수로 바로 변환되기 때문에 별도의 계산 과정이 불필요하게 됩니다. IEEE754-1985 규약에 정의된 포맷은 32bit와 64bit로 나눌 수 있는데, 32bit를 기준으로 설명을 하면, 최상위 bit(MSB)는 부호(sign), 그 다음 8bit는 지수부(exponent), 나머지 23bit는 가수부(..
어느덧 공학자의 길을 선택한지 10년이 넘어가고 있습니다. 특히나 로봇 공학을 선택하게 되면서 다른 학문에 비해 다양한 분야의 지식을 다루어야 하는 점 때문에, 모르던 것도 이것저것 찾아서 하게 되는 습관이 조금은 들여진 것 같습니다. 어떤 일이든 마찬가지 겠지만, 로봇 분야도 처음 시작이 어렵습니다. 어디서 부터 어떻게 시작해야 할지 감이 잡히지 않아 시행착오도 많이 겪게되고, 그로 인해 쉽게 포기하는 일도 생기게 되는 것 같습니다. 여기서 설명하게 될 DSP 개발환경을 꾸미는 일 또한 그렇죠. TI의 DSP 시리즈는 꽤나 강력한 프로세서지만, 한국에는 아직 제대로된 개발 서적도 없고, 사용하는 법도 쉽지 않습니다. 따라서, ATmega 128과 같은 8비트 MCU는 쉽게 시작할 수 있지만, DSP는..
드디어 TMS320F28335 DSP를 가지고 제어보드를 완성하는 시간입니다. 주문했던 PCB는 이미 오래전에 도착했지만, 필요한 부품을 주문하는데 상당히 오래 걸려서 이제서야 완성시켰습니다. 사이즈로 크지 않고, 들어가는 부품 수가 많은 것도 아니었지만, 1608 사이즈 칩저항, 칩캐패시터를 비롯한 여러 SMD 부품들을 실장해서 기판 몇 장 만드는데, 피곤을 느끼는 걸 보면, 땜쟁이 체질은 아닌가 봅니다. 보드가 완성되어 전원과 JTAG에 연결한 모습입니다. 엔코더 커넥터 2개와 RS232, CAN 통신을 위한 커넥터 그리고, 모터 제어를 위해 따로 빼놓은 10pin box 커넥터가 전면에 배치되어 있습니다. 원래 Box형 커넥터를 저렇게 튀어나오게 붙일 생각은 아니었지만, PCB를 주문해서 막상 받아..
1. 로봇산업 현황 (시장규모) 국내 로봇시장은 8,957억원(‘08년)으로 지속 성장 추세 (전년대비 성장률 18.8%) 2008년에는 개인서비스용 로봇 신제품 출시 및 제조업용 로봇 생산 증가로 예년 수준의 성장세 회복 -> 2007년의 경우 경제여건 악화 및 히트로봇상품의 부재로 제조분야 2.2%, 개인서비스분야 9.2% 등 전체 4.8%의 성장에 그침 -> 규모는 작지만 서비스로봇 및 로봇부분품의 경우 고성장 추세 유지 (산업구조) 로봇전문기업은 총 187개이며 매출액 50억원 미만의 업체가 전체의 85.6%를 차지하는 등 중소기업 위주의 산업구조 2008년 평균매출액 44.3억원, 평균 종업원수 33명 수준이며, 어려운 여건 속에서도 연구개발 투자 1,135억원(20.6%) 지속 증가 대기업은 ..
파이프라인은 프로세서가 명령어 수행을 효율적으로 하기 위한 매커니즘이다. 명령어가 수행되는 동안 다음에 수행될 명령어가 해석되고 그 다음에 해석될 명령어가 레지스터에 패치되는 일련의 과정을 통해 프로세서의 동작 속도를 향상시켜준다. 단순한 버전의 프로세서에는 4단계 파이프라인 구조를 가지고 있다. 1. Fetch는 프로그램 메모리에서 명령어를 로드한다. 2. Decode는 Instruction Register의 명령어를 해석한다. 3. Execute는 명령어를 처리한다. 4. Write-Back은 처리된 결과를 레지스터 또는 데이터 메모리에 저장한다. 명령어는 순차적으로 놓이게 된다. 첫 번째 cycle에서는 LD 명령어가 Fetch 단계에 놓인다. 두 번째 cycle에서는 Fetch 단계에 있던 LD ..
DSP 제어보드의 설계가 거의 끝나가고 있다. 제어보드를 사용해 모터를 제어하기 위해서는 드라이버 모듈을 설계해야 하는데, 예전에 학교에 있을 때에는 간단하게 DC 모터 드라이버를 만들때, L298이나 LMD18200 같은 덩치 큰 드라이버 칩을 사용했었다. 그래도 별도의 FET를 붙일 필요가 없었기 때문에 회로 구성은 상당히 단순하다. 반도체 기술이 지속적으로 발전하고 있고, 모터 드라이버 IC도 많은 진화를 하고 있다. 모터 제어용 DSP인 C2000계열로 유명한 TI(Texas Instruments)에 잘 찾아보면 모터 드라이버 IC도 좋은 제품이 있지 않을까 하는 생각에 TI 홈페이지를 뒤적거리다가 DRV8402라는 녀석을 발견했다. 상당히 작은 크기에 비교적 대용량의 전류를 제어할 수 있는 놈이..