本書是[Robo Books(機器人系列叢書) ROBO-ONE用二足步行機器人製作導覽](2004年5月發行)的續版,內容是以參加ROBO-ONE(二足步行機器人格鬥大會)用的機器人為主題,由機器人硬體的製作、機器人動作(Motion)的設定(程式)、操控用的各種無線通信、到控制器等系列的解說。
尤其也論述到串列伺服馬達(Serial servo motor:序列伺服馬達)、及各種感知器(Sensor:感測器)的構造,之後並論述這些元件(零組件)搭載到實機的應用、及在機器人動作的設定時極重要的應用感知器(感測器)的控制。經由本書不僅二足步行機器人的初學者可學習到正確動作的機器人製作的知識,且對已有二足步行機器人製作基礎知識與經驗的讀者、及有機器人組裝經驗的讀者更是進階的最佳讀本。
推薦序
本書是ROBO-ONE委員會出版的機器人書系中專著論述參加ROBO-ONE競技大會用二足步行機器人的設計與製作技術。書中由二足步行機器人用零組件(組件:Parts)、到機器人的開發環境、二足步行用機器人軟體、無線通訊技術、與人機介面等全盤深入的論述,並列舉優越的機器人製作實例論述機器人的自製。對期望了解機器人技術及自製機器人的讀者本書將可提供全面性的知識。
本書是ROBO-ONE委員會出版的機器人書系中專著論述參加ROBO-ONE競技大會用二足步行機器人的設計與製作技術。書中由二足步行機器人用零組件(組件:Parts)、到機器人的開發環境、二足步行用機器人軟體、無線通訊技術、與人機介面等全盤深入的論述,並列舉優越的機器人製作實例論述機器人的自製。對期望了解機器人技術及自製機器人的讀者本書將可提供全面性的知識。
目錄
第一章 ROBO-ONE(委員會)介紹
1-1 ROBO-ONE的魅力 ・・・・・・・・・・2
1-1-1 導言 ・・・・・・・・・・・・・・・・・・・・・・・2
1-1-2 什麼是ROBO-ONE ・・・・・・・・・・・2
1-1-3 ROBO-ONE的誕生 ・・・・・・・・・・・2
1-1-4帯 帶動業餘愛好者的加入及KHR-1的誕生 ・・・・・・・・・・・・・・・・・・・・・・3
1-1-5 ROBO-ONE的再進化 ・・・・・・・・・3
1-1-6 ROBO-ONE發展歷史 ・・・・・・・・・4
1-1-7 要求各種的功能 ・・・・・・・・・・・・・5
1-1-8 擴大參賽的範圍 ・・・・・・・・・・・・・6
1-1-9 讓機器人成為助手 ・・・・・・・・・・・6
1-1-10 在太空中戰鬥 ・・・・・・・・・・・・・・・6
1-1-11 拋出後著地保持立姿 ・・・・・・・・・7
1-1-12 實態模擬與掌握現象創造奇蹟 ・・8
1-1-13 整合性模型庫(Model-base)[6]開發 9
1-1-14 技術人員教育 ・・・・・・・・・・・・・・・9
1-1-15 結論 ・・・・・・・・・・・・・・・・・・・・・・・9
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・・・9
1-2 ROBO-ONE的競技規則及今後展望10
1-2-1 導言 ・・・・・・・・・・・・・・・・・・・・・・10
1-2-2 ROBO-ONE的機器人規格 ・・・・・・10
1-2-3 預選示範(Demonstration) ・・・・11
1-2-4 機器人的格鬥技術 ・・・・・・・・・・12
1-2-5 結論 ・・・・・・・・・・・・・・・・・・・・・・15
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・・15
第二章 機器人用零組件(元件)的構造
2-1 機器人用的電子零組件(元件) 18
2-1-1 導言 ・・・・・・・・・・・・・・・・・・・・・・18
2-1-2 電阻(Resistor:電阻器) ・・・・・・18
2-1-3 電容(Capacitor:電容器) ・・・・・18
2-1-4 線圈(Coil) ・・・・・・・・・・・・・・・・・19
2-1-5 二極体(Diode) ・・・・・・・・・・・・・20
2-1-6 發光二極体(LED:Light-
Emitting Diode) ・・・・・・・・・・・・・20
2-1-7 電晶体(Transistor) ・・・・・・・・・・20
2-1-8 光電晶体(Phototransistor) ・・・・・21
2-1-9 TTL IC與邏輯電路 ・・・・・・・・・21
2-1-10 運算放大器(Operational Amplifier) ・・・・・・・・・・・・・・・・22
2-1-11 三端穩壓器(3-Terminal Regulator) ・・・・・・・・・・・・・・・・22
2-1-12 RS485驅動IC ・・・・・・・・・・・・・23
2-1-13 揚聲器(Speaker) ・・・・・・・・・・・23
2-1-14 按鈕開關(Push-button switch) ・・・・・・・・・・・・・・・・・・・23
2-1-15 結論 ・・・・・・・・・・・・・・・・・・・・・24
2-2 各類感知器(Sensor) ・・・・・・・・24
2-2-1 導言 ・・・・・・・・・・・・・・・・・・・・・・24
2-2-2 角度感知器 ・・・・・・・・・・・・・・・・24
2-2-3 超音波感知器 ・・・・・・・・・・・・・・25
2-2-4 光感知器(Photosensor) ・・・・・・25
2-2-5 PSD距離感知器(Distance Sensor) ・・・・・・・・・・・・・・・・・・・26
2-2-6 人體感知器(Human sensor) ・・・・・・・・・・・・27
2-2-7 迴轉感知(應)器(陀螺儀:Gyro sensor) ・・・・・・・・・・・・・・28
2-2-8 重力加速度感知器/加速度感知器 ・・・・・・・・・・・・・・・・・・・・29
2-2-9 力量感知器(FSR:Force Sensing Resister) ・・・・・・・・・・・29
2-2-10 荷重元(Load cell) ・・・・・・・・・・30
2-2-11 結論 ・・・・・・・・・・・・・・・・・・・・・31
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・・31
2-3 機器人用伺服馬達(Servo motor)32
2-3-1 導言 ・・・・・・・・・・・・・・・・・・・・・・32
2-3-2 無線操控用伺服馬達((Radio Control Servo Motor) ・・・・・・・・32
2-3-3 機器人用串列伺服馬達(Serial servo Motor) ・・・・・・・・・・・・・・・32
2-3-4 串列通信(Serial communication:序列通訊) ・・・・・・・・・・・・・・・33
2-3-5 伺服馬達的定位控制 ・・・・・・・・34
2-3-6 Dynamixel的控制桌面(Control table) ・・・・・・・・・・・・・・・・・・・・・35
2-3-7 Dynamixel通訊協定(Protocol)・・37
2-3-8 近藤科學公司的串列伺服馬達 (Serial sever motor) ・・・・・・・・・38
2-3-9 雙葉電子工業公司的指令式伺服馬達 ・・・・・・・・・・・・・・・・・・・・・・39
2-3-10 伺服馬達的特性 ・・・・・・・・・・・40
2-3-11 串列通信伺服馬達的電源線( Power line) ・・・・・・・・・・・・・・42
2-3-12 結論 ・・・・・・・・・・・・・・・・・・・・・42
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・・43
2-4 使用LabVIEW軟體的感知器的
應用 ・・・・・・・・・・・・・・・・・・・・・43
2-4-1 導言 ・・・・・・・・・・・・・・・・・・・・・・43
2-4-2 關於LabVIEW ・・・・・・・・・・・・・43
2-4-3 Dynamixel Configurator(配置程式) ・・・・・・・・・・・・・・・・・・・・・・・44
2-4-4 RS485介面通訊微處理器基板 ・・44
2-4-5 由重力加速度感知器求角度・・・・45
2-4-6 智慧型(Intelligent)超音波感知器 46
2-4-7 超音波距離感知器(Range sensor)47
2-4-8 PSD距離感知器 ・・・・・・・・・・・・47
2-4-9 力量(力覺)感知器(Force sensor)49
2-4-10 機器人用伺服馬達的角度精度檢驗方法 ・・・・・・・・・・・・・・・・・50
2-4-11 機器人用伺服馬達步階響應的測定方法 ・・・・・・・・・・・・・・・・・50
2-4-12 機器人用伺服馬達扭矩(扭力)的測定方法 ・・・・・・・・・・・・・・・51
2-4-13 腳底(Sole)感知器的調整方法 ・51
2-4-14 結論 ・・・・・・・・・・・・・・・・・・・・・52
參考文獻・・・・・・・・・・・・・・・・・・・・・・・・・・・52
2-5 電池(Battery) ・・・・・・・・・・・・・52
2-5-1 什麼是可充電電池(Rechargeable battery) ・・・・・・・・・・・・・・・・・・52
2-5-2 鋰離子電池(Lithium-ion battery)的動作原理 ・・・・・・・・・・・・・・・・52
2-5-3 鋰離子電池的構造 ・・・・・・・・・・53
2-5-4 鋰離子電池的特點 ・・・・・・・・・・53
2-5-5 鋰離子電池的處理 ・・・・・・・・・・54
2-5-6 鋰離子電池的撞擊 ・・・・・・・・・・54
2-5-7 鋰離子電池的外部短路 ・・・・・・54
2-5-8 鋰離子電池的充電 ・・・・・・・・・・54
2-5-9 鋰離子電池的放電 ・・・・・・・・・・55
2-5-10 鋰離子電池的保存(保管) ・・・55
2-5-11 鋰離子電池的特性 ・・・・・・・・・56
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・・57
第三章 機器人的開發環境(Development environment)
3-1 導言 ・・・・・・・・・・・・・・・・・・・・・60
3-2 軟體開發工具(Programming tool) ・・・・・・・・・・・・・・・・・・・・・60
3-2-1 GCC Developer Lite ・・・・・・・・・60
3-2-2 LabVIEW・・・・・・62
3-3 機器人用控制器(Controller)・・・63
3-4 ROBO-ONE競技必備的硬體 ・・64
3-4-1 馬達(Motor) ・・・・・・・・・・・・・・・64
3-4-2 控制器 ・・・・・・・・・・・・・・・・・・・・65
3-5 以PC為主機(Host)的程式(Program) ・・・・・・・・・・・・・・・・66
3-5-1 由採用串列介面(Serial I/F)的PC駆在驅動馬達前 ・・・・・・・・・・・・・・66
3-5-2 GCC Developer Lite與Dynamixel Windows用程式庫的備用 ・・・・67
3-5-3 Dynamixel Windows程式庫的雛形與編譯(Compile)方法 ・・・・・67
3-5-4 應用DXLIB2軟體驅動馬達 ・・・69
3-5-5 由LabVIEW軟體開發工具應用DXLIB2 ・・・・・・・・・・・・・・・・・・・75
3-6 以機器人用控制器為主機(Host)的程式(Program) ・・・・・・・・・・76
3-6-1 採用Dynamixel程式庫 ・・・・・・・77
3-6-2 採用FREEDOMⅢ程式庫 ・・・・78
3-7 結論 ・・・・・・・・・・・・・・・・・・・・・78
第四章 二足步行機器人用的軟體
4-1 基礎的機器人程式設計(Robot programming) ・・・・・・・・・・・・・80
4-1-1 導言 ・・・・・・・・・・・・・・・・・・・・・・80
4-1-2 二足步行機器人的設計 ・・・・・・80
4-1-3 二足步行機器人系統 ・・・・・・・・80
4-1-4 自主神經系統(Autonomic Nervous System:ANS) ・・・・・・・・・・・・80
4-1-5 FREEDOM jr.III的準備(備機) ・・81
4-1-6 驅動二足步行機器人的程式設計85
4-1-7 結論 ・・・・・・・・・・・・・・・・・・・・・・96
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・・96
4-2 機器人的控制程式(Control program) ・・・・・・・・・・・・・・・・・97
4-2-1 導言 ・・・・・・・・・・・・・・・・・・・・・・97
4-2-2 迴轉感應器 ・・・・・・・・・・・・・・・・97
4-2-3 腳底感知器的活用方法 ・・・・・・98
4-2-4 傾斜感知器控制 ・・・・・・・・・・・101
4-2-5 學習控制 ・・・・・・・・・・・・・・・・・101
4-2-6 超出控制範圍時的處理 ・・・・・101
4-2-7 結論 ・・・・・・・・・・・・・・・・・・・・・101
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・102
4-3 應用程式碼產生工具MATLAB
Simulink Embedded Coder的程式設計 ・・・・・・・・・・・・・・・・・・・・102
4-3-1 導言 ・・・・・・・・・・・・・・・・・・・・・102
4-3-2 二足步行機器人的逆向運動學(Inverse kinematics) ・・・・・・・・102
4-3-3 兩腳步行模式的編成(Create) ・103
4-3-4 C Code(C語言碼)編成 ・・・・・・104
4-3-5 結論 ・・・・・・・・・・・・・・・・・・・・・106
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・106
第五章 無線環境
5-1 導言 ・・・・・・・・・・・・・・・・・・・・108
5-2 Wi-Fi(Wireless Fidelity:無線保真) ・・・・・・・・・・・・・・108
5-3 WWAN(wireless wide area network:無線廣域網路) ・・・・110
5-4 Bluetooth(藍芽) ・・・・・・・・・・・110
5-5 2.4GHz頻帶無線裝置 ・・・・・・112
5-6 結論 ・・・・・・・・・・・・・・・・・・・・114
第六章 人機介面(Human Machine Interface: HMI)
6-1 機器人的控制方法 ・・・・・・・・116
6-1-1 控制用端末設備的種類與特點・116
6-1-2 操控機器人的指令內涵 ・・・・・118
6-1-3 基本的機器人操控 ・・・・・・・・・118
6-1-4 針對競技用的操控方法 ・・・・・119
6-2 主-從式(Master-slave) ・・・・・120
6-2-1 Master-slave的特點 ・・・・・・・・120
6-2-2 主-從式(Master-slave)的製作方法 ・・・・・・・・・・・・・・・・・・・・・122
6-3 其他的控制方法 ・・・・・・・・・・127
6-3-1 利用PC的操控(GUI) ・・・・・・・127
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・132
6-3-2 利用Wii控制器的操控 ・・・・・・133
參考文獻 ・・・・・・・・・・・・・・・・・・・・・・・・136
6-3-3 利用iPhone的操控 ・・・・・・・・・136
第七章 機器人製作實例
7-1 Metallic Fighter(金鋼戰士)製作
實例 ・・・・・・・・・・・・・・・・・・・・144
7-1-1 導言 ・・・・・・・・・・・・・・・・・・・・・144
7-1-2 第一階段:由市販的套裝組品(Kit)開始學習 ・・・・・・・・・・・・144
7-1-3 第二階段:改造市販的套裝組品 ・・・・・・・・・・・・・・・・・・・・・145
7-1-4 第三階段:挑戰自製原型機器人(Original Robot) ・・・・・・・・・・・146
7-1-5 第四階段:創造動作(Motion)・154
7-1-6 結論 ・・・・・・・・・・・・・・・・・・・・・156
7-2 Tokotoko丸製作實例 ・・・・・・157
7-2-1 Tokotoko丸概要 ・・・・・・・・・・・157
7-2-2 機構設計概要 ・・・・・・・・・・・・・160
7-2-3 步行動作 ・・・・・・・・・・・・・・・・・162
7-2-4 結論 ・・・・・・・・・・・・・・・・・・・・・165
7-3 抓住物品的手的構造(Doka
harumi:Doka晴美) ・・・・・・・165
7-3-1 二足步行機器人的手 ・・・・・・・165
7-3-2 手指的構造 ・・・・・・・・・・・・・・・165
7-3-3 能接投球的手 ・・・・・・・・・・・・・166
7-3-4 能抓蛋的手 ・・・・・・・・・・・・・・・168
7-3-5 能打開瓶蓋的手 ・・・・・・・173
7-3-6 結論 ・・・・・・・・・・・・・・・・・176
7-4 人體規格(人體大小)的機器人的構造(OmniZero) ・・・・176
7-4-1 如何將機器人大型化及應注意事項 ・・・・・・・・・・・・・・・176
7-4-2 機體強度 ・・・・・・・・・・・・・181
7-4-3 安全性 ・・・・・・・・・・・・・・・183
7-4-4 製作實例(OmniZero 7) ・・184
7-4-5 製作實例(OmniZero 9) ・・184
7-5 凱撒大帝(King Kizer)製作實例 ・・・・・・・・・・・・・・・・・・・185
7-5-1 導言 ・・・・・・・・・・・・・・・・・185
7-5-2 凱撒大帝(King Kizer)系列・186
7-5-3 輕量級機器人 ・・・・・・・・・190
7-5-4 能在ROBO-ONE獲勝的機器人必備條件 ・・・・・・・・・・・195
7-5-5 結論 ・・・・・・・・・・・・・・・・・196
第一章 ROBO-ONE(委員會)介紹
1-1 ROBO-ONE的魅力 ・・・・・・・・・・2
1-1-1 導言 ・・・・・・・・・・・・・・・・・・・・・・・2
1-1-2 什麼是ROBO-ONE ・・・・・・・・・・・2
1-1-3 ROBO-ONE的誕生 ・・・・・・・・・・・2
1-1-4帯 帶動業餘愛好者的加入及KHR-1的誕生 ・・・・・・・・・・・・・・・・・・・・・・3
1-1-5 ROBO-ONE的再進化 ・・・・・・・・・3
1-1-6 ROBO-ONE發展歷史 ・・・・・・・・・4
1-1-7 要求各種的功能 ・・・・・・・・・・・・・5
1-1-8 擴大參賽的範圍 ・・・・・・・・・・・・・6
1-1-9 讓機器人成為助手 ・・・・・・・・・・・6
1-1-10 在太空中戰鬥 ・・・・・・・・・・・・・・・6
...