行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為:...

28
行政院國家科學委員會專題研究計劃期中進度報告 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 先進家用機器人系統研發 (1/3) – 子計畫一 家用機器人系統之資訊與網路平台研發 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 計劃類別:□個別型計劃 整合型計劃 計劃編號:NSC-90-2213-E-009-092- 執行期間:90/08/01 ~ 91/07/31 個別型計劃: 整合型計劃:計劃主持人:胡竹生教授 註:整合型計劃總報告與子計劃成果報告請分開編印各成 一冊,彙整一起繳送國科會。 處理方式:□可立即對外提供參考 (請打ˇ) □一年後可對外提供參考 □兩年後可對外提供參考 (必要時,本會得展延發表時限) 執行單位: 國立交通大學電機與控制工程學系 中華民國 90 5 23 ˇ ˇ

Upload: others

Post on 26-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

行政院國家科學委員會專題研究計劃期中進度報告

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

※ ※

※ ※

※ 先進家用機器人系統研發 (1 /3) – 子計畫一 ※ ※ ※

※ 家用機器人系統之資訊與網路平台研發 ※

※ ※

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

計劃類別:□個別型計劃 □整合型計劃

計劃編號:NSC-90-2213-E-009-092-

執行期間:90/08/01 ~ 91/07/31

個別型計劃:

整合型計劃:計劃主持人:胡竹生教授

註:整合型計劃總報告與子計劃成果報告請分開編印各成

一冊,彙整一起繳送國科會。

處理方式:□可立即對外提供參考

(請打ˇ) □一年後可對外提供參考

□兩年後可對外提供參考

(必要時,本會得展延發表時限)

執行單位: 國立交通大學電機與控制工程學系

中華民國 90年 5月 23日

ˇ

ˇ

Page 2: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

摘 要

本計畫之主要目的在發展家用機器人系統之資訊與網路平台研發,將針對家用機

器人之資訊系統軟硬體平台進行研發。其重點在於省電高效能以及具備現代化資

訊整合與連結能力的機器人發展平台,並建構一個以即時多工控制(Real time

control)理論為基礎之機器人發展環境。子計畫一第一年主要是完成三個部分。

第一部分為 Embedded Ethernet 之應用周邊通訊模組,其中包括可擴充主從

架構式的 I/O,A/D,D/A 等基本之 Embedded Ethernet Controller。第二

部分為 Ethernet 馬達控制模組,運用 Embedded Ethernet Controller 之控

制技術成功發展馬達運動控制之介面環境。第三部分是影像語音處理模組,在此

為完成 Robot House 之影音 DSP 發展平台與介面程式設計製作。藉此建構一

個以 Ethernet 與嵌入式 DSP 技術為基礎之機器人發展環境。

Page 3: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

第一章 計劃緣由與目的

近年來,傳統工業機器人的發展與應用已漸趨飽和,就連日本許多從事機器

人相關的人才也已轉去從事其他領域的研究工作(根據日本東京大學新井民夫教

授於今(2000)年 12 月訪問交通大學電控系時所述)。但是由於微電子、資訊技術(IT)

及控制技術(CT)的進步,機器人從事更廣泛的工作正逐漸受到重視,如建築用的

機器人、深海探勘的機器人、處理危險物品的機器人等等。而今年(2000)更有多

款擬人化的機器人發表,如日本本田 11 月發表較 P3 小型且更親切的 Asmio,Sony

發表了會隨音樂跳舞的機器人 SDR-3X,日本政府和民間聯合成立的 ATR 智能影

像通訊研究所發表能幫人處理日常生活事務的機器人。事實上,由於微電子及資

訊領域的快速發展與其可應用到智慧型機器人的關聯性已引起科技界的注意,

MIT Media Lab主持人 Prof. Negroponte 在其暢銷書『數位革命』中即提到 "這個

價值百億美金的大市場不會被忽視太久” 。而其中最具有未來市場潛力的應該

算是與網路連接的家用機器人。此處之家用機器人可說是結合家庭夥伴(Robot

mate)及家庭幫傭(Robot maid)的一種多用途機器人。這種家用機器人設備將可以

供在一般家庭使用而成為一種資訊家電(Information appliance, IA),重要的是它整

合了多種有用的功能。

然而資訊家電與家用機器人之研發過程中最為重要和最困難的為資訊平台

的設計與整合。在此本計畫運用嵌入式 DSP 以及新興的 Embedded Ethernet技術

將整合出一個擁有靈活彈性且低成本之機器人發展系統。並為智慧型機器人發展

作一個各領域之橋樑,為未來孕育一個高智能能之機器人打下基礎。

Page 4: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

第二章 研究方法與成果

2.1 簡介

本計劃第一年執行期間為家用機器人系統之資訊與網路平台研發,針對家

用機器人之資訊系統軟硬體平台進行研發,其重點在於省電高效能以及具備現代

化資訊整合與連結能力的機器人發展平台。並建構一個以即時多工控制(Real

time control)理論為基礎之機器人發展環境。子計畫一第一年完成三層式控制

架構改善機器人在處理工作時硬體結構與軟體規劃的問題。此三層式架構為:

1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

而以學習與智慧成長可分為:1.反射動作層 2.單一智慧層 3.合作式學習

層。使未來家用機器人擁有似人類神經網路般聰明,並擁有高彈性的成長空間。

本年度以如期完成設計與製作機器人之中央控制系統硬體平台。具體完成項目

為:

� 應用周邊模組以及 Ethernet 通訊模組:可擴充主從架構式的 Robot

應用周邊模組。其中包括 I/O,A/D,D/A 等基本應用擴充周邊模組

和 Embedded Ethernet Controller。

2403

2403

CF

BIOS

C F

Media

Gx

PCI

Wirless Lan

HUB

2403

DSP

FPGA

DriverMotor

I/O D/AA/D

DriverMotor

Microphone Array

VideoRF

RJ45

(合作學習層)

(單一智慧層)

(反射動作層)

Page 5: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

� 影像語音處理模組:並完成 Robot House 之影音 DSP 發展平台與介

面設計製作。

� Ethernet 馬達控制模組:Ethernet 馬達運動控制之 I/O 介面。以下分別

序說各研發成果。

Page 6: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

2.2 嵌入式網路控制器(Embedded Network Controller)

在個人電腦如此普及發展之下,要開發工業控制器或是一般 www 上的網路伺服

器,絕大部分人腦筋閃過的是運用 PC 作為整合的工具。這扼殺了新一代開發者

的構想與選擇。簡便卻多工的嵌入式系統也隨之為我們設計的重點。運用此技

術我們可以繼承了所有網際網路的優點以及嵌入式系統的簡便。其硬體架構如

下:

1. Microcontroller:我們選用美國Microchip公司生產的 PIC16F877

晶片做為我們控制器的微處理器,為 40-pin DIP 包裝,工作時序最高

可達 20MHZ。其內建 256K-bitsEEPROM存放著整個控制器的軟體,

如:TCP/IP…等。

2. Memory:除了 PIC16F877內建 EEPROM外,我們在整個設計上還

外掛了一顆編號 24LC256、容量 256K-bits 的 EEPROM,主要是用來

存放我們設計的 WebPage。此外,其檔案可藉由 I2C 介面燒錄至

EEPRPOM 中。

Page 7: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

3. Ethernet Controller: 設計上使用 RealTek 8019AS 網路傳輸控

制單晶片提供整個系統做網路連結的通路。

4. RS-232 Connector:我們可以使用 PC 系統上的終端機模式,藉由

RS-232 傳輸埠,設定系統的 IP;另外也提供通路下載 WebPage 至

EEPROM 中。

5. 使用者定義鍵: 此接腳與 PIC16F877 的 Reset 腳位連結,提供使用

者在嵌入式系統中自定義模擬 I/O輸入。

6. 重置鍵: 與 PIC16F877 的 MCLR腳位相連結,供使用者重置系統用。

當先按住使用者定義鍵,再按重置鍵後,待放開重置鍵,再放開使用者

定義鍵,如此便可以進入系統設定模式。

7. LED: 系統設計上我們使用了 5 個 LED顯示器。

� System LED:當系統電源備便時,會開始閃爍。

� Link LED:這裡分為兩個 LED,綠燈表示與網路連結成功,

紅燈閃爍表示該時段網路擁擠,有封包碰撞產生。

� User-Defined LED:此兩個燈用來模擬 2-bits數位輸出訊

號,我們亦可用 jumper 來個別調整其失能、致能。

8. RJ45: 此為一標準的 Ethernet 連接端子。

整個硬體設備架構驅動後,可以在 PIC16F877外掛的 EEPROM 中置入 HTTP

Web Pages。透過 Ethernet 與 TCP/IP 網路通訊協定,讓 PC 成為 Client端對

Embedded Network Service做 Server 連結,並將置入的 HTTP Web Pages顯示

在 PC 的 WWW瀏覽器中。另一方面, IP 可燒錄於 Embedded Network Service

的程式記憶體中,當與任何MCU 控制板做連結時,Client僅需專注於對 MCU

控制版記憶體做讀取與寫入的工作,而無須分心於 TCP/IP 等網路封包以及

IP 設定的瑣碎問題上。如圖所示,即為設計的測試網頁。此網頁分為三個頁

框:左半部是模擬使用者數位訊號輸入;中間頁框為說明網頁,並提供指導

教授胡竹生博士的 E-Mail信箱超連結;右半邊使用的 EGI 技術,用法與一

般 HTTP 運用的 CGI 大似相同,此 EGI 設計供控制版上的 AD端電壓偵測,

每兩秒及重新 reload 一次,更新電壓值。而控制版上 AD 端我們設計兩個

可變電阻供使用者調整電壓值。

Page 8: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

控制版測試網頁

IP 設定與 I2C 傳輸

首先將控制版與電腦接線並 power-on,再由 PC端開啟終端機模式,選擇

正確的連接埠,並將鮑率設為 9600。當我們重置控制版時,會出現以下畫面:

IP 設定(1)

Page 9: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

完成輸入之後,游標停在”Xmodem?”上,並且跟隨著約一秒一次的字元輸出,

如圖所示,此時亦是傳送 webpage檔案的時候,若不更新 webpage,則僅需

安重置鍵一次,待 IP顯示之後及完成 IP 設定,圖所示。若要更新 webpage,

則需使用 hyperterminal 裡傳送檔案選項,且傳送格式需選用 Xmodem,重

送過程結束後亦會顯示出設定的 IP值,如圖所示。

IP 設定(2)

IP 完成設定

Page 10: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

傳送Webpage過程

而在這裡使用 Embedded Network Controller 的優缺如下所敘:

優點:

1. 省電:我們設計整個系統僅需穩壓 5V 的電力即可運作。

2. 節省成本:現在的 server 通常是使用 PC 來架設。然而,整台 PC

價格昂貴,單就供 server 使用總覺得相當浪費。當我

們用嵌入式系統架設時,僅需使用三顆晶片即可將一台

PC 需要的網路介面打通,如此便可相對性地降低許多

成本。

3. 縮小體積:如同前項所述,當我們僅使用 3顆晶片時,與 PC 體

積相較下縮小許多。如此便可以更廣泛的運用在各個

場合中。

4. 頻寬高:在此選用 Ethernet做連結的介面原因有二,它的高頻寬

即是其中之一。

Page 11: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

5. 技術普遍:前述原因之二即是 Ethernet 技術普遍。由於現今網路

發達,TCP/IP遂成為所以機制溝通的共同語言。當我

們欲將 Embedded Network Controller 推展出去

時,使用者不需另外取得其他技術,如此不僅省事,

亦可相對性降低成本。

缺點:

1. 記憶體空間不足:此缺點是針對將此控制系統用作 Web Server 而

言。由於外接 EEPROM只有 32K-bytes 的記憶體空間,

但是一個網頁通常很容易就會超出這個範圍,若將多個

EEPROM 串列使用增大容量,其各個位址分配在軟體編

撰下又相當費時費力。值得注意的是,往後我們將設計系

統運用在 Real-Time 上,此外掛 EEPROM 即可供作執行

Real-Time 時所需的 Buffer 來儲存該時段的其他網路工

作,等待 Real-Time 模式結束後在恢復原先網路傳輸。

由於封包通常不大,所以可以免除記憶體空間不足的窘

境。

2.技術高且難:在這裡本計畫已完全克服

Page 12: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

2.3 影像語音處理模組

另外本計畫第一年亦成功研發影像語音處理模組之驅動程式,採用影像處理擷取

卡具有 DSP(TMS320C6205)及 FPGA(XILINX),這張影像處理擷取卡具有強

大的運算能力及可以接多種周邊(如影像及聲音擷取周邊),未來可提供多

channel 的即時影像擷取及處理,以及多 channel 的即時聲音訊號擷取及處

理。如下圖:

硬體照片 1 代只有一個 Channel 的擷取

硬體照片 2 代具有 4Channel 的擷取

Page 13: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

硬體 2 代為 4channel 的即時影像擷取裝置架構圖。內部裝置包括了

TMS320C6205 DSP晶片、可程式化的邏輯晶片(FPGA)、及 PCI 模組。此張

影像處理擷取卡,具有可規劃性,所以我們可以藉由 PCI Module 的 PCI I/O

來對 DSP晶片及 FPGA 來做規劃。FPGA負責為周邊訊號做解碼,並傳輸給DSP

做進一步的處理,當 DSP 處理完成後,透過 PCI Module 的 DMA 傳輸給系統

內部的 DMA Common Buffer。其硬體架構圖如下:

如上圖所示,此為 4channel 的即時影像擷取裝置架構圖。內部裝置包括了

TMS320C6205 DSP晶片、可程式化的邏輯晶片(FPGA)、及 PCI 模組。此張

影像處理擷取卡,具有可規劃性,所以我們可以藉由 PCI Module 的 PCI I/O

來對 DSP晶片及 FPGA 來做規劃。FPGA負責為周邊訊號做解碼,並傳輸給DSP

做進一步的處理,當 DSP 處理完成後,透過 PCI Module 的 DMA 傳輸給系統

內部的 DMA Common Buffer。其所採取的架構是 Map 1 架構。藉由改變

DSPP(DSP Page Register)來存取 DSP 的內部記憶體位置,藉此來初始化

DSP晶片以及 FPGA。

Page 14: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

下圖為 DSP晶片的記憶體配置圖:

因為該卡上具有可以規劃 fpga 及 dsp裝置,所以我們可以透過此程式來規劃

DSP裝置及 FPGA裝置,使得可以擷取攝影機的影像,及對此影像做運算。

對 DSP規劃時必須指定抓取的 Channel 及 DMA 傳輸的設定,才可以進行即時

影像擷取。下載 DSP 程式及 FPGA 程式如下圖所示:

Page 15: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

該引影像處理卡及時擷取出來的圖片,擷取的格式為 640X480 的 NTSC,其擷

取過程如下圖:

而在軟體設計上可簡單的分為:

使用者層(User Space):

此程層能夠實作出不同的應用程式,如 Live-Show Application,使用者

可以透過一些簡單的 API 來達到控制硬體裝置,也可以透過的 API 來存取一些

擷取進來的資料流。

核心層(Kernel Space):

此程級負責解譯 User Space 傳進來的 API,並轉成實體控制訊號來控制

硬體程,並建立 DMA 傳輸所需的 DMA Common buffer,並且維護此 DMA

Common buffer,以及處理硬體層所產生的中斷。

硬體層(Hardware & Firmware):

此層為實際的硬體,因為具有可規劃性,所以還包含了 Firmware,

Firmware 可以透過上層的一些初始步驟來規劃。 當硬體具有 Firmware 時,

我們可以做更進一步的規劃,如 FPGA規劃、DMA 傳輸規劃等等。當開始透過

DMA 傳輸資料完成時,Firmware 會通知硬體發生中斷來通知 Kernel 傳輸完

成。

Page 16: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

而其軟體架構圖如下圖所示:

Page 17: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

2.4 Embedded Network Motor Controller

基於 Embedded Network Controller 的研究與實作已經完成的基本網路連結

功能,接下來系統將針對這樣的架構在馬達控制方面做實際的控制運用。

Network Motor Control System 架構圖如下所示:

Network Motor Control System 架構圖

在上圖中,Embedded Network Controller扮演了承上啟下的角色:其

上承接使用者 PC端透過控制介面下達的指令封包;之後拆解封包並將封包裡的

指令資料透過 RS232 介面傳達至Motor Control System做馬達控制。所以

此次的研究實做的重點即為「網路指令封包的傳遞」與「馬達控制系統」。硬體

實體照片如下頁圖所示:

Page 18: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

Embedded Network Controller (第五代)

本 Network Motor Controller 系統應用範圍擴及最上層的應用層到最下層的

實體層,也就是整個 DoD 模型架構。而應用的重點在網路層的 IP(Internet

Protocol)協定及傳訊層的 TCP(Transmission Control Protocol)協定。

IP (Internet Protocol)

Internet Protocol 網際網路協定,簡稱 IP協定,主要是將資料流切割成適

當的封包大小,然後將這些封包透過選擇路徑,利用不同的路徑來傳送封包到目

的地。它和 TCP協定是整個 TCP/IP協定中最重要的部分,而 TCP協定又建構

在 IP協定之上,由此可知 IP協定的重要性。此外,IP 有兩個很重要的特性—非

連接性(connectionless)以及不可信賴性(Unreliable)。非連接性是指透過 IP協

定處理後的資料封包皆是互相獨立的,每個封包的傳輸路徑可以是完全不同,而

且封包抵達的先後順序也沒有一定,換句話說,先送的封包不一定會最先到。不

可靠性則是指 IP協定沒有提供對資料流傳輸時的品質控制,如錯誤偵測、重傳

Page 19: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

要求、流量控制…等,也就是說,封包在傳輸過程中並不保證不會遺失、不會重

複,這樣一來,封包就不一定可以完整地送到目的地。事實上,IP協定只是單

純地負責將資料流分割成封包,然後送到網路上,品質的確不能保證,但是利用

ICMP協定所提供的錯誤訊息或錯誤狀況再配合更上層的 TCP協定,則可以提供

對資料流得可靠性控制。

傳訊層(Transport Layer)

傳訊層是針對應用程式提供主機對主機(即傳送端與接收端間)的連接,主

要包含了兩種通訊協定,TCP(Transmission Control Protocol)傳輸控制協

定及 UDP(User Datagram Protocol)使用者資料流協定。

﹡TCP 傳輸控制協定:主要提供可連接性、可信賴信的通訊。

﹡UDP 使用者資料流協定:主要提供非連接性、不可信賴信的通訊。

UDP 和 TCP最大的差異,在於 UDP 是使用非連接性以及不可信賴性的連

接方式,故可以加速網際網路的傳輸,對於一些需要大量且對資料正確性不是很

要求的資料傳輸,可以使用 UDP 的方式。

TCP與 UDP的比較圖

整個 Network Motor Control System 架構是選用 TCP協定。因為在整個傳輸

過程中,我們必須保證控制指令的可靠性與正確性,UDP協定並沒有辦法做到

TCP UDP

Layer Transport Layer Transport Layer

Connection Yes No

Reliable Yes No

Advantage 1. 可靠

2. 正確

1. 比 TCP簡單

2. 傳輸速度快

Disadvantage 需經過確認,傳輸速度

比 UDP慢。

無法提供正確性高的

資料傳輸。

Page 20: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

這一點;雖然 TCP 的傳輸速度比 UDP慢,但是由於我們只是做基本的指令傳輸,

使用者對系統 latency 並不會有感覺,也不影響整個 RTOS 的運作。

TCP (Transmission Control Protocol)

TCP協定的主要功能,簡單地說,就是提供連接性(connection)、可信賴

性(reliable)與資料流式(data stream)的傳輸服務。

1. 連接性(Connection)

TCP協定的連接性表示要進行傳輸的雙方,必須先溝通,在確認建立好之

間的連線後,才可正式傳輸資料。我們以一般寄信的方式—平信和掛號信為例來

說明:要寄平信,不需要對方的同意(非連接性),只要寫好地址,貼上郵票,

就會寄出,但對方並沒有與你有確認的動作,信不一定會收到;而寄掛號信,則

需對方的同意(連接信性),有確認的動作(如蓋章),對資料的傳輸較有保障。

因此可以看出非連接性用於較不重要的資料傳輸,連接性用於較重要的資料傳

輸,利用不同的傳輸方式,可以使資料的傳輸更有效率。提供可信賴性的的傳輸

服務是 TCP協定很重要的一個特性。TCP協定的可信賴性控制主要是利用下列

一連串的動作組合來完成的:

1. 接收端接收的資料若正確,則回傳確認(acknowledgement)封

包給傳送端。

2. 接收端收到不正確的資料,則要求傳送端重傳。

3. 傳送端在設定的時間內未收到相對應的確認封包(time-out),則傳

送端會重傳該封包。

2. 資料流(data stream)

此特性是指 TCP協定的資料傳輸是依序一個接著一個地傳送,而且每一個 TCP

封包可以包含一長串的資料,而不是一個(Byte)位元組接著一個位元組。

Page 21: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

針對 TCP協定傳送封包確認的程序,我們以下圖來說明:

在傳送端送出封包 1後,會同時啟動一個 timer 計時器,等到接收端傳回確

認封包 1’,傳送端收到後,才會繼續傳送封包 2,而計時器也重新計數。但若是

傳送端等待了一段時間後仍未收到對應的確認封包 2’,即發生 Time Out(逾時),

則傳送端會重送該封包,知道接收端接收正確並回確認封包。

Motor Control System

整個 Motor Control System 架構可分為兩個部分:

1. PIC Motor Controller

2. PWM DC-Motor Driver

其中 Motor Controller 部分目前僅是利用之前 Embedded Network

Controller 的 PWM輸出功能,透過程式的撰寫做 PWM輸出,為一 open-loop

Page 22: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

控制器;至於完整 close-loop 的 PID 控制器,整個架構是以 LM629 控制晶片

來設計,目前仍在實做中。特別要說明的是,在 PWM 控制器輸出端,系統設計

搭配一橋式訊號轉換器(Magnitude-Direction signal to H-Bridge signal

converter)。橋式訊號電路如下圖:

利用此電路將 PIC(未來是 LM629)所產生的馬達控制訊號轉換成為 H-Bridge驅動

器所能致能的工作訊號。最後輸出的地方並使用 6n137 high speed digital photo

couple(高速光偶合器)將系統與下層的驅動器做光電隔離,讓底層馬達所造成

的雜訊電壓不會影響上層的控制設備,造成上層控制設備的損壞。

Page 23: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

PWM DC-Motor Driver

驅動器的核心設計為使用 H-Bridge 設計,基本上是利用四個功率型電晶體,配

合開關切換來造成馬達迴路的正反轉控制。

H-Bridge 概念圖

如上圖所示,當 A1 和 B2 為 Close,A2 和 B1 為 Open 時,電流便是以

實線的方向流過馬達;當 A2 和 B1 為 Close,A1 和 B2 為 Open 時,電流便

是以虛線方向流過馬達。因此在整個 Motor Control System 架構上可以利用

此原理控制馬達的正反轉,而不需要使用到雙電源。在這裡的假想開關,設計上

可以使用電晶體來做切換,配合之前討論到的橋式訊號轉換電路來將正反轉以及

馬達功率訊號轉換成此系統之控制。利用邏輯閘輸出之 H或 L 的低電流來控制

電晶體之基極電流通過做控制大電流的訊號電流。由於電晶體的速度很快,比一

般繼電器能負載的頻寬還大,所以便可以用於 PWM 的功率訊號控制。

Page 24: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

下圖即為 H-Bridge 的電路設計圖,其中 Output1 和 Output2便是馬達兩端

點,Input1 及 Input2便是控制馬達正反轉訊號。

PWM DC-Motor Driver 核心設計電路

綜合以上網路通訊協定及馬達控制系統架構,我們可以得到整個 Network

Motor Control System 的指令流程圖如下:

Step1:當使用者由 PC端控制介面送出一指令時,該指令會以封包的形式透過

Page 25: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

Internet 傳送到該指定 IP 的 Embedded Network Controller。

Step2:Embedded Network Controller接收到指令封包時,會依據封包的

格式拆解封包,由封包抓取出 PC端傳送的控制指令資料,並根據該指令

處理事件,即透過 RS232 介面傳輸 RS232指令至 PIC Motor

Controller。

Step3:PIC Motor Controller接收到 RS232指令後,依據控制指令指示,

輸出Magnitude-Direction 的 PWM 訊號。

Step4:如之前所述,該 PWM輸出訊號並不為後級驅動器所接受,所以必須透

過橋式訊號轉號器將之轉換為 Logic PWM Signal。

Step5:最後由 PWM DC-Motor Controller接收該 Logic PWM Signal 對馬

達做正反轉、檔速切換、停止等控制動作。實際操作狀態 PC端Winsock 控制

及硬體系統介面與硬體實體照片如下圖:

Page 26: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

PIC Internet Motor Controller

Page 27: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

第三章 結論與未來工作

擁有良好完善、功能強大穩定的 Embedded Network Controller 時,可

與 Robot 相處附近的 Robot House PC透過 Ethernet做命令的控制與反應。

這時當運用 Ethernet 作傳輸媒介時,控制指令在其廣大頻寬傳輸下,相對的可

以達到即時的規格要求。由於現在網路發達,Ethernet 充斥在一般家庭生活中,

以此作為家用機器人的資料傳輸媒介實在再方便不過。因此,使用 Ethernet 介

面、以 TCP/IP 為溝通橋樑的 Embedded Network Controller 就成了最佳的

選擇。配合著 DSP 影像處理卡以及驅動程式的完成本計畫第一年已成功的將

Home Robot 之各部分之環節打通,未來將繼續建構一個 Embedded Linux

作為機器人之資訊發展平台以提供智慧介面發展。

Page 28: 行政院國家科學委員會專題研究計劃期中進度報告isci.cn.nctu.edu.tw/erobot/homerobot/research...此三層式架構為: 1.即時控制層 , 2.閘道伺服層, 3.訊息交流層。

參考資料

[1.] “LM628/629 User Guide”,National Semiconductor Application

Note 706,1993。

[2.] 施威銘研究室,”Internet協定 觀念與實做”,旗標出版股份有限公司,

1991。

[3.] 蕭文龍、林松儒,“TCP/IP最佳入門實用書”,松崗電腦圖書資料股份有限

公司,1999。

[4.] “Interfacing the HPC and LM629 for Motion Control”, National

Semiconductor Application Note 868 Santanu Roy,1993。

[5.] 吳立偉,”物件化分散式多馬達控制系統之設計與實做”,中華大學機械與

航太研究所碩士論文,2000。

[6.] 黃衍任,”Window下之馬達控制入門”,全華科技股份有限公司,1998。

[7.] 黃嘉輝,”Visual Basic Internet Programming 網際網路與 TCP/IP 程式

設計”,文魁資訊,2000。

[8.] Jeremy Bentham,”TCP/IP Lean:Web Servers for Embedded

Systems”,CMP Books。

[9.] 辰白 譯,”DC伺服馬達應用電路技術”,建興出版社,1995。

[10.] “LM628/LM629 Precision Motion Controller”, National

Semiconductor ,1999。

[11.] “LM18298 Dual Full-Bridge Driver Data Sheet”,National

Semiconductor。

[12.] “Photo Coupler Super High Speed Response 6N137 OPIC Data

Sheet”,Sharp。

[13.] How to Begin Development with the TMS320C6205 DSP

[14.] Tom Shanley & Don Anderson ,”PCI 系統架構”, 碁峯出版社

[15.] 侯俊傑 著,”深入淺出 MFC “,松崗出版社

[16.] Jim Beveridge & Robert Wiener著,侯俊傑 譯,”Win32 多緒程式

設計”,碁峯出版社

[17.] 葛湘達譯,”WINDOWS NT 驅動程式設計手冊”,碁峯出版社

[18.] CHRIS CANT 著, 葛湘達 譯”WDM 驅動程式設計手冊”,碁峯出版社

[19.] Intel Labs , "Real-time Transport Protocol Management

Information Base" (http://developer.intel.com/ial/mib/)

[20.] Walter Oney著,侯俊傑 譯”Windows 95 系統程式設計”,松崗出版