산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

윈도우 10 IoT 코어 라즈베리파이 2로 음성 제어 로봇 만들기

스토리

초기 컴퓨팅은 펀치 카드, 트랙볼, 키보드에 의존했습니다. 모두 직접적인 물리적 접촉이 필요했죠. 기술이 발전하면서 무선과 터치 인터페이스가 사용자 상호작용을 간소화했습니다. 오늘날 시각 및 음성 입력은 기기 제어에 더욱 직관적인 방식을 제공합니다.

이 가이드는 윈도우 10 IoT 코어의 내장 음성 인식을 활용해 라즈베리파이 2 기반 로봇에 명령하는 방법을 보여줍니다. 완료하면 음성 명령으로 움직이고, 회전하며, 장애물 감지를 관리하는 로봇을 갖게 됩니다.

윈도우 10 IoT 코어가 처음이신가요? 개요부터 시작하세요.

2016년 3월 30일 업데이트

음성 인식이란?

음성 인식은 말한 단어를 텍스트로 변환합니다. 일반적으로 신호 처리와 음성 디코더 두 핵심 구성요소로 이루어집니다. 마이크로소프트 Speech SDK가 이 복잡성을 추상화해 개발자가 애플리케이션 로직에 집중할 수 있게 합니다.

1단계

음성 인식 시작하기

기본 워크플로는 다음과 같습니다:

음성 인식 문법 생성

맞춤 문법을 정의하면 앱이 로봇이 수용할 특정 명령을 이해하게 됩니다. 이 프로젝트의 어휘는 다음과 같습니다:

문법은 SRGS XML로 표현됩니다. 주요 구조 규칙:

자세한 SRGS 가이드는 MSDN과 W3C 문서 참조.

음성 인식기 초기화 및 문법 로드

SpeechRecognizer는 Windows.Media.SpeechRecognition 네임스페이스에 있습니다. 임포트 후 SRGS XML 파일을 로드하세요. 컴파일 실패 시 마이크가 연결되어 IoT 코어에서 인식되는지 확인하세요.

음성 인식기 이벤트 등록 및 핸들러 생성

인식기가 실행되면 성공적으로 음성을 파싱할 때 ResultGenerated 이벤트를 발생시킵니다. 이 이벤트로 args.Result.Text를 추출해 로봇 액션에 매핑하세요. StateChanged 이벤트는 인식기 청취 시작/중단을 알립니다.

비주얼 스튜디오는 Tab 키로 핸들러 메서드를 자동 생성할 수 있습니다. 또는 SpeechRecognizer 인스턴스 생성 직후 핸들러를 등록하세요.

2단계

파싱된 음성으로 주행하기

ResultGenerated 핸들러에서 args.Result.Text를 검사하고 조건문으로 로봇 모터를 제어합니다. 샘플에 포함된 MotorDriver 클래스가 GPIO 조작을 추상화합니다. 전체 소스는 기사 끝에 제공됩니다.

3단계

장치 기능 업데이트

라즈베리파이 2에 배포하기 전, 앱의 패키지 매니페스트에 microphone 기능을 추가하세요. 이로써 앱이 오디오 입력에 접근할 권한을 얻습니다.


소프트웨어 준비가 완료되면 아래 하드웨어 배선 설명대로 연결하세요.

4단계

배포 및 시작 앱으로 등록

부팅 직후 로봇이 명령을 듣도록 앱을 시작 애플리케이션으로 등록하세요. 먼저 배포한 후 PowerShell이나 IoT 코어 웹 관리 포털을 사용합니다.

배포 전 패키지 패밀리 이름을 변경해 충돌을 방지하는 것이 좋습니다.


배포 후 웹 관리 포털을 사용해 앱을 시작 서비스로 등록하세요.


등록 문제 발생 시 문제 해결 가이드 참조.

성공적 등록 후 라즈베리파이 2를 재부팅하고 앱이 자동 시작되는지 확인하세요.

회로도

로봇 하드웨어는 DC 모터가 장착된 섀시, 윈도우 10 IoT 코어 구동 라즈베리파이 2, 9-12V 모터 배터리, 거리 센서, 전원 공급장치로 구성됩니다. 모터 배터리가 H-브리지 드라이버에 전원을 공급하고, 라즈베리파이 2에는 전용 5V 소스(USB 파워뱅크 또는 7805 레귤레이터)가 필요합니다.

초음파 거리 센서에 저항이 필요한 이유?

초음파 센서의 Echo 핀은 5V를 출력하는데, 이는 라즈베리파이 2의 3.3V 로직 레벨을 초과합니다. 전압 분배기(R1=1kΩ, R2=2kΩ)로 3.3V로 낮춥니다:

Vout = 5 × (2kΩ / (1kΩ + 2kΩ)) = 3.3V

경고: Echo 핀을 Pi GPIO에 직접 연결하면 보드가 손상됩니다. 항상 레벨 시프터나 분배기를 사용하세요.

최종 조립



알려진 문제

음성 인식 작동 안 함 (빌드 10586)

윈도우 IoT 코어 빌드 10586 실행 기기에서 음성 인식 실패.

해결: 마이크로소프트가 이슈를 해결하는 업데이트를 내놓을 때까지 빌드 10240으로 되돌리세요.

마이크 문제

저품질 마이크 사용 시 인식 정확도 저하, 특히 1-2m 이상 거리에서.

해결: 고품질 또는 무선 마이크 사용. 필요시 신호 증폭 또는 노이즈 캔슬링 헤드셋 고려.

인식기 처리 지연

음성 인식은 600-2000ms 지연 발생. 빠르게 움직이는 로봇에서는 명령과 액션 간 불일치 유발.

해결: 현재 SDK 버전으로는 지연 감소 불가. 향후 릴리스에서 최적화 기대.

발음 차이

억양과 지역 발음이 인식에 영향. SRGS 파일에 언어와 지역 지정 (예: xml:lang="en-GB"로 영국 영어).

환경 소음

배경 소음이 정확도 저하. 완전 제거는 어렵지만 노이즈 캔슬링 마이크로 완화 가능.

USB 마이크/사운드카드 미인식

빌드 10531부터 윈도우 IoT 코어가 일반 USB 오디오 장치 지원. 독점 드라이버 사용 장치는 작동 안 할 수 있음.

일반 드라이버를 사용하는 다른 USB 마이크나 사운드카드 시도.

향후 개선 사항

시각 피드백 확장 예: 성공 명령 시 녹색 LED, 오류 시 빨간 LED 점등. '청취' 및 '수면' 상태 추가로 의도치 않은 활성화 방지.

알아채셨나요?

애니메이션 타이틀에 본문에서 다루지 않은 기능이 숨어 있습니다. 애니메이션을 주의 깊게 살펴보고 숨겨진 기능을 구현해 보세요.

행운을 빕니다!

출처: 음성 제어 로봇

제조공정

  1. 윈도우 10 IoT 코어 라즈베리 파이로 심박수 펄스 읽기 – 단계별 가이드
  2. 윈도우 IoT와 라즈베리파이로 안전한 얼굴 인식 도어락 만들기
  3. 라즈베리파이, PIR 센서, MQTT로 만드는 모션 제어 AWS IoT 버튼
  4. 아다프루트 10DOF IMU 데이터를 라즈베리파이 2에서 Azure Event Hubs로 전송 (윈도우 10 IoT Core)
  5. Windows 10 IoT Core에서 SHT15로 정확한 온도 & 습도 모니터링
  6. 라즈베리 파이 3 모델 B+에 Windows 10 IoT Core 설치 - 단계별 가이드
  7. 블루투스 제어 라즈베리 파이 로봇 만들기 - 오디오 피드백 포함
  8. 라즈베리 파이 기반 제스처 제어 로봇
  9. 라즈베리 파이 & 안드로이드 스마트폰으로 WiFi 제어 로봇 만들기
  10. 고피고(GoPiGo) v2 윈도우 10 IoT 코어 라즈베리파이 3 확장 프로젝트