배너
닫기

테크노트

배너

모듈형 로봇 플랫폼 - 캐슬

  • 등록 2013.09.26 17:32:44
URL복사

모듈형 로봇 플랫폼 - 캐슬

새로운 모듈형 로봇 플랫폼인 캐슬(C.A.ST.L.E)은 STM32 마이크로컨트롤러 기반의 기존 평가 보드와 로봇 애플리케이션의 특정 기능들에 특화된 신제품 보드로 구성되어 있다. 이 보드는 컴팩트하고 유연하며 관리가 쉽고 비용 효율성이 우수한 자동화 시스템, 나아가 로봇공학 보급에 도움이 되는 강력한 평가 도구로 사용되기 위해 제작되었다.

새로운 모듈형 플랫폼이 개발되면서 로봇공학을 좀더 스마트한 방식으로 접근하려는 경향이 커지고 있다. 이는 로봇공학이 잠재력을 갖고 있기 때문만이 아니라 전자공학, 자동화, 제어, 컴퓨터 과학 및 기계전자공학 등의 다양한 분야에도 큰 영향력을 미치고 있기 때문이다.
여기서는 일련의 평가 보드를 활용하여 좀 더 도전적이고 목표지향적으로 접근해 본다. 이를 통해 로봇 공학의 세계를 소개하고, 젊은 엔지니어들의 시야을 넓혀 기존의 교육 틀을 벗어난 새로운 모험을 시작하도록 독려할 수 있게 되기를 바란다. 이 보드들은 사용 편이성, 콤팩트함, 유연성 및 신뢰성 등의 단순한 특징들과 함께 비용 효율적이라는 것이 특징이며, 평가 보드로 개별 사용되거나 여러 구조들이 조립된 모듈형으로도 활용될 수 있다. 이러한 방식들도 캐슬(C.A.ST.L.E. ; Control & Automation ST Ladder Electronics)로 불리며, 로봇의 특정 기능을 수행하는 솔루션들이 은하계처럼 움직인다. STM32VLDISCOVERY라는 코디네이터 역할의 플랫폼 주위를 중심으로 솔루션들이 돌아가기 때문이다.
일반적으로 로봇 시스템이라고 하면 감지(Sense), 생각(Think), 동작(Move)이라는 세 개의 주요 행동 부분을 개발하는 것으로 생각되어 왔다.
캐슬 플랫폼에서는 STM32VLDISCOVERY가 ‘생각’을 담당하며, 다른 두 개의 행동(감지, 동작)은 다음 개발 단계에서 인식 및 완료된다. 각각의 캐슬 로봇 모듈은 특정 기능(모터 드라이버, 센서, 외부 통신 등)을 갖고 있으며 그림 1과 같이 공통 통신 버스를 통해 STM32VLDISCOVERY로 연결될 수 있다.



그리고 전용 펌웨어도 현재 개발 중인데, 라이브러리들은 모두 오픈 소스 코드 및 무료 실시간 운영시스템(Real Time Operative System)에 기반을 두고 있으므로 업그레이드나 새로운 기능을 추가하기 쉽다.

플랫폼에 대한 기술

기본 아키텍처는 그림 2와 같으며, 메인 블록과 관련 통신 주변기기로 구성되어 있다. 이러한 시스템 접근 방식에서는 STM32VLDISCOVERY가 마스터 보드로 사용되며, 두 개의 다른 SPI 버스로 두 개의 슬레이브 보드에 연결하여 한 개는 감지, 다른 한 개는 동작을 담당한다.
마스터 보드는 높은 레벨로만 작동하여 메인 애플리케이션을 제어하고 슬레이브 보드의 활동을 모니터링한다. 이러한 전략으로는 각각의 슬레이브 보드가 할당된 태스크만 수행한다.
예를 들면, 모터 드라이버 보드에서 모터 속도를 제어하는 것이 주된 태스크가 될 수 있다. 그래서 ‘감지’나 ‘동작’을 위한 슬레이브 보드 각각의 블록도가 비슷하다. 슬레이브 보드 아키텍처 중 하나를 그림 3에 나타낸다.



슬레이브 보드의 주요 요소

  • STM32F103 ARM®CortexTM-M3 마이크로컨트롤러 : 라이브러리 펌웨어에서 스케줄링한 주요 태스크 수행
  • 싱글 보드나 전체 계층 구조의 전력 공급을 유연하게 관리하도록 고안된 전력 관리
  • 메인 드라이버 또는 센서(해제된 로봇 기능에 따라)
  • 커넥터 JTAG/SWD 및 USB
  • 일부 특정 사용자 핀(디지털 및 아날로그)
  • 슬레이브 보드를 모듈형 플랫폼에 연결하기 위한 커넥터

지금은 슬레이브 보드 프로토타입 두 개가 개발됐는데, L6470(STEVAL-IFN006V1[14])기반의 스테퍼 모터 컨트롤러와 PowerSPIN L6226Q(STEVAL-IFN006V2[14] ) 기반의 DC 모터 컨트롤러이다. 다음에는 최근 개발된 보드에 대해 살펴보고, 펌웨어 아키텍처에 대해서도 설명한다.


1. STM32VLDISCOVERY


STM32VLDISCOVERY는 STM32F100 ARM®CortexTM-M3 마이크로컨트롤러 기반의 보드로, 비용 대비 효율성이 좋고 STM32 밸류 라인 마이크로컨트롤러를 검토하기에 적합하다.
STM32F100은 128KB 플래시 64핀 LQFP 패키지의 8KB RAM을 탑재한 32비트 마이크로컨트롤러로, 제어용 애플리케이션에 이상적이다. 총 26개의 채널을 위한 첨단 제어 타이머를 포함하여 최대 7개의 PWM 16비트 타이머를 갖추고 있다. CEC, 400kHz I2C, 최대 12Mbit/s 마스터 및 슬레이브 SPI, 최대 3Mbit/s USART를 탑재하여 폭넓은 커넥티비티 기능을 지원한다.
STM32VLDISCOVERY 보드는 온보드 ST링크(ST-Link)를 내장하고 있는데, 이는 STM32 제품군용 프로그래머 툴로서 특정 펌웨어 업로딩이 주요 업무이다. 이 기능은 이 키트를 ST-링크만으로 별도 사용할 수 있도록 선택 모드 스위칭도 지원한다.
STM32VLDISCOVERY는 USB나 5V/3.3V의 외부 전력으로 구동되며, 5V 및 3V 소스 핀으로 타겟 애플리케이션에 공급할 수 있다.
두 개의 사용자 LED(녹색 및 파란색)와 사용자 푸시 버튼 한 개가 주변기기 제어를 위해 플랫폼상에 구축되어 있다. 모든 QFP64 I/O에 링크된 두 개의 확장 헤더는 캐슬을 구성하는 다른 플랫폼에 DISCOVERY를 연결하기 위해 사용된다.

2. STEVAL-IFN006V1


STEVAL-IFN006V1은 dSPIN L6470 및 STM32F103 마이크로컨트롤러 기반의 스테핑 모터 컨트롤러 시연 보드로, 두 개의 중저급 전력 스테핑 모터 및 네 개의 서보 모터(Servo Motors)를 사용하는 애플리케이션 개발에 적합하다. STEVAL-IFN006V1 보드는 주요 구성 방식이 두 가지이다.

  • 독립형 구성은 STM32F103 32비트 마이크로컨트롤러로 관리되는 L6470 성능을 시연하기 위해 사용된다
  • 스택형 구성은 다수의 컨트롤러가 호스트 보드(STM32VL-Discovery 마이크로컨트롤러 보드와 같은)로 원격 조정될 수 있게 한다. 이 호스트 보드는 전용 펌웨어를 업로드할 수 있다.

L6470은 이 플랫폼의 핵심 디바이스이다. 이 디바이스는 아날로그 혼합 신호 기술을 사용하여 설계되었으며 마이크로 스테핑 기능을 갖춘 양극 바이폴라 스테핑 모터에 적합한 첨단 통합 솔루션이다.
L6470은 모든 파워 스위치가 낮은 RDSON DMOS인 듀얼 풀 브리지와 무손실 전류(Non-dissipative Current) 제어 및 과전류 보호에 적합한, 정확한 온칩 전류 센싱 회로를 내장하고 있다. 이와 같이 독특한 제어 시스템 덕분에 진정한 의미의 1/128 스텝 레졸루션을 얻을 수 있다. 이 디지털 제어 코어는 레지스터 설정을 통해 가속, 감속, 속도 및 목표 위치 등을 포함한 사용자 지정 모션 프로파일을 생성할 수 있으며, 아날로그 값을 설정하기 위해 사용되는 것을 포함하여 이 모든 커맨드와 데이터 레지스터는 표준 5Mbit/s SPI로 전송된다.
STEVAL-IFN006V1는 ARM®CortexTM-M3 32비트 RISC 코어 기반의 STM32F103RET 마이크로컨트롤러를 내장하고 있다. 이 마이크로컨트롤러는 72MHz 주파수에서 작동하며 고속 메모리와 다양한 주변기기 및 기능을 탑재하고 있다. STM32F103RET는 L6470을 통해 스테핑 모터를 제어할 수 있으므로, 모터 인코더의 출력 신호를 읽고 동작 전류를 모니터링하며 L6470의 진단 신호를 관리한다. 또한 이 스테핑 모터 컨트롤러는 최대 4개의 서보 모터를 개별적으로 제어할 수 있다.
STEVAL-IFN006V1 보드는 데모나 사용자 펌웨어 업로딩, 몇 개의 사용자 핀들, 디지털 I/O 및 아날로그 입력을 위한 전용 컨넥터를 포함하고 있다. 특히, 아날로그 입력은 MCU ADC 범위의 입력 전압을 스케일링하고 MCU 입력 핀 보호를 위해 버퍼를 통해 제공된다.



미니 USB 커넥터가 있어서 PC로부터 전력을 공급받거나 주로 PC와 통신할 수 있도록 했다. 두 개의 사용자 LED도 보드에 탑재되어 보드 동작을 모니터링한다.
STEVAL-IFN006V1은 중저급 전력 스테핑 모터 두 개와 서보 모터 네 개를 구동할 수 있는 특정 펌웨어 데모를 함께 제공한다. 이 기본 펌웨어는 보드에 통합된 주요 주변기기들을 모두 관리하도록 되어 있다. 또한, STM32VLDISCOVERY를 시스템 마스터로 탑재하고 있는 완전 모듈형 플랫폼에 적합한 통신 프로토콜을 지원한다.



3. STEVAL-IFN006V2


STEVAL-IFN006V2는 L6226Q PowerSPIN DMOS 듀얼 풀 브릿지 드라이버와 STM32F103 마이크로컨트롤러에 기반을 둔 DC 모터 컨트롤러 데모 보드이다. 이 보드는 중저급 전력 DC 모터 두 개를 사용하는 애플리케이션 개발을 위한 플랫폼을 제공한다. 이 보드도 두 가지 방식으로 구성된다.

  • 독립형 구성은 마이크로컨트롤러로 관리되는 L6226Q 성능을 시연하기 위해 사용된다.
  • 스택형 구성은 다수의 컨트롤러가 호스트 보드(STM32VL-Discovery 마이크로컨트롤러 보드와 같은)로부터 원격으로 조정될 수 있게 한다. 이 호스트 보드는 전용 펌웨어가 업로드 될 수 있다.

이 보드의 핵심 디바이스는 모터 제어 애플리케이션을 위해 고안된 DMOS 듀얼 풀 브릿지 드라이버인 L6226Q이다. L6226Q는 BCD 멀티 파워 기술을 활용하여 개발됐다. 이 기술은 절연된 DMOS 파워 트랜지스터와 CMOS 및 바이폴라 회로를 하나의 칩 위에 결합하는 기술이다. L6226Q는 하이 사이드 전력 MOSFET에서 온도 셧다운 및 무손실 과전류 감지 기능을 제공한다. 뿐만 아니라 과전류 보호 기능을 위한 출력 진단 기능도 제공한다.
이전의 스테핑 모터 제어 보드와 마찬가지로 STM32F103RET는 이 애플리케이션 아키텍처의 두뇌 역할을 담당한다. 이 마이크로컨트롤러는 L6226Q로 구동되는 DC 모터를 최대 두 개까지 제어할 수 있다. 모터 인코더의 출력 신호를 읽고 구동 전류를 모니터링하며 L6226Q의 진단 신호를 관리한다.
이전 보드와 마찬가지로 STEVAL-IFN006V2도 펌웨어 업로딩을 위해 표준 JTAG 커넥터, 디지털 I/O 몇 개와 아날로그 입력 핀, 전력 공급 및 PC와의 통신을 위한 미니 USB 커넥터, 그리고 사용자 LED 2개를 탑재하고 있다.
보드에 통합된 주요 주변기기 전체를 관리하기 위해 특정 펌웨어 데모와 함께 STEVAL-IFN006V2도 제공되며, 모듈형 플랫폼 컨피규레이션 완성에 적합하도록 똑같은 전용 통신 프로토콜을 지원한다.

캐슬 펌웨어[13] 아키텍처


플랫폼 기능을 완전히 관리하기 위해서는, 다음과 같은 특성을 갖춘 펌웨어 아키텍처가 구축되어야 한다.

  • 업그레이드 용이성
  • 새로운 사용자 기능의 빠른 통합
  • 멀티태스킹 운용성
  • 공개 소스 코드 기반

FreeRTOS 실시간 운영 시스템이야말로 이러한 요건을 충족시키는 최선의 선택이라고 할 수 있다. FreeRTOS는 멀티태스킹 운용성을 지원하며 ARM®CortexTM-M3 코어 기반 마이크로컨트롤러와 잘 작동한다. 운영 시스템 커널이 제한적이기 때문에 메모리를 크게 소모하지 않으면서도 모터 컨트롤러 기능과 함께 C 코드 라이브러리를 쉽게 통합할 수 있다. 마지막으로, FreeRTOS는 무료로 오픈 소스 기반이며 이미 많은 사용자들에게 배포되었다.
이와 같은 단계로 시작해서 최종 애플리케이션의 기능을 손쉽게 통합할 수 있는 기본 기능 세트를 완벽히 제공하는 펌웨어 라이브러리가 개발되어 왔다. 이러한 목적으로 고안된 주요 기능들이 보드 각각의 특징을 결정하며, 일반적인 개념의 기능들이 추가되었다. DC 모터 컨트롤러의 예를 들면, 주로 개발된 작업은 파라미터 속도 제어, 위치 제어 등이다.
더 높은 레벨에서는 플랫폼의 물리적 계층들을 연결하기 위해(예를 들면, 마스터 보드 층에서 슬레이브 보드 층으로) 전용 통신 프로토콜이 개발되었다. 그림 2에 나타난 바와 같이, 이 작업을 위해 사용된 통신 버스는 SPI이다. 이 통신 프로토콜에 기반하여 많은 일련의 명령을 통합하기 위해 특정 프레임이 고안되었다. 표준 프레임은 그림 7과 같다.



주요 태스크 2개는 모든 보드에서 공통으로 적용된다. 첫 번째는 인터럽트 서비스 루틴 데이터를 관리하는 게이트 키퍼 태스크(Gatekeeper Task)로서 다른 태스크나 전송 채널로 데이터를 보낸다. 두 번째는 데이터 열에서 대기모드를 유지하면서 입력 데이터를 검증하고 명령을 실행하는 파서 태스크(Parser Task)이다.
이 아키텍처에 따르면, 최종 사용자가 특정 기능을 애플리케이션 플랫폼에 구축함으로써 채울 수 있도록 빈 템플릿 작업이 추가되었다.

여기서는 캐슬이라고 불리는 새로운 모듈형 로봇 플랫폼을 소개했다. 이 플랫폼은 메인 애플리케이션을 제어할 수 있는 마스터 보드와, 낮은 단계의 특정 태스크를 관리하는 슬레이브 보드 일부에 기반을 두고 있다. 슬레이브 보드 중 처음으로 개발된 두 개의 보드는 DC 모터, 스테퍼 모터 및 서보 모터를 제어할 수 있다. 특정 태스크를 스케줄링하고 보드간 통신을 구현하기 위한 펌웨어 아키텍처가 개발되었다.
다음 단계는 하드웨어 및 펌웨어 측면에서 동일한 개념을 이용하여 센싱 슬레이브 보드를 최종 모듈형 플랫폼에 통합하는 것이 될 것이다.

M. Branciforte / F. La Rosa STMicroelectronics









배너










주요파트너/추천기업