第七章、 未來展望
7.1 機器手改良
因為大學專題有做過循跡自走車,將來有機會能夠幫機械手裝上攝影機 以及加上自走車的功能,讓機動性提升,通過視訊鏡頭能夠傳輸訊息至個人 電腦,並由鍵盤控制車子的移動,而 Leap Motion 控制機械手臂,類似探測 火星的好奇號這樣的架構,不過訊號傳輸量過為龐大可能是第一個會遇到的 難題。
圖 7.1-1 火星探測好奇號構造圖 (摘錄於 Wikipedia)
43
7.2 未來展望
《偉大的個性》 [48]開宗明義點出:「成功的秘密之一,就是能夠把我 們所有的精力集中在一件事上,把那些游移不定的注意力都彙集到一個關鍵 點上。」因此,一個人的個性是影響他一生成功或失敗的關鍵因素。
機器人的功能都是人給的,不管是掃地機器人、發牌機械手還是聲控機 器人甚至俄羅斯人還研發出機器人打靶,其射擊精準度已達到專家的水準,
所以其想像空間其實是無限大的,我認為學無止盡只要多點創意,就能夠創 新出對人類更實用、更貼近人性的機器人。
而研究人員在很多方面酷似拓荒者,研究人員探測知識的疆界需要具有 很多與拓荒者同樣的品格:事業心和進取心、隨時準備以自己的才智迎戰並 克服困難的精神狀態、冒險精神、對現有知識和流行觀念的不滿足、以及急於 試驗自己判斷力的迫切心情。
在未來我希望自己能在經濟人文素養上多加涉獵,使自己成為一個有遠 見的研究者,學習溝通及人際關係的拓展,以符合注重團體合作的企業精神,
讓自己有專精研究的本錢,作為繼續深造的基礎,並應用在工程實務上。將來 的職場的上我會更努力吸收學習以求未來在社會上有不凡的成果並能夠回饋 社會。
程式碼
表 5 . 2 - 1 呼 吸 燈 P r o c e s s i n g 1. import processing.serial.*;
2. import de.voidplus.leapmotion.*;
3.
45
表 5 . 4 - 1 測 試 綁 線 鬆 緊 度 程 式 碼
47
11. Servo myservoThumb; // create Servo objects to control th e servo motors
18. myservoThumb.attach(thumb);
19. myservoIndex.attach(index);
20. myservoMiddle.attach(middle);
21. myservoRing.attach(ring);
22. myservoPinky.attach(pinky);
23.
36. switch (finger) {
49
表 5 . 7 - 2 序 列 埠 程 式 碼 P r o c e s s i n g 1. import processing.serial.*;
2. import de.voidplus.leapmotion.*;
3.
4. LeapMotion leap;
5. Serial myPort;
6. //import processing.serial.*; CHECK COMPORT 7. //printArray(Serial.list());
8.
26. PVector handStabilized = hand.getStabilizedPosition ();
51
49. for (Finger finger : hand.getOutstretchedFingers()) {
50. // Basic
51. int fingerId = finger.getId();
52. PVector fingerPosition = finger.getPosition();
53. PVector fingerStabilized = finger.getStabilizedPosi tion();
71. break;
98. for (Finger finger : hand.getOutstretchedFingersByAn gel(0)) {
53
109. break;
110. case 2:
111. System.out.println("m");
112. myPort.write("m");;
113. break;
114. case 3:
115. System.out.println("r");
116. myPort.write("r");
117. break;
118. case 4:
119. System.out.println("p");
120. myPort.write("p");
121. break;
122. //}
123. } 124. } 125. } 126. } 127. }
表 5 . 8 - 1 M Q T T 程 式 碼 A r d u i n o 1. #include <SPI.h>
2. #include <Ethernet.h>
3. #include <PubSubClient.h>
4. #include <Servo.h>
5.
6.
7. Servo myservoThumb; // create Servo objects to control the servo motors
21. IPAddress ip(192, 168, 0, 102); // <- change to match your network
22. IPAddress server(140, 127, 185, 71);
23.
24.
25.
26. void callback(char* topic, byte* payload, unsigned int leng th) {
27. val = 0;
28. Serial.print("Message arrived [");
29. Serial.print(topic);
30. Serial.print("] ");
55
70.
95. EthernetClient ethClient;
96. PubSubClient client(ethClient);
97.
98. void reconnect() {
99. // Loop until we're reconnected 100. while (!client.connected()) {
101. Serial.print("Attempting MQTT connection...");
102. // Attempt to connect
103. if (client.connect("arduinoClient")) {
57
122. myservoThumb.attach(thumb);
123. myservoIndex.attach(index);
124. myservoMiddle.attach(middle);
125. myservoRing.attach(ring);
126. myservoPinky.attach(pinky);
127.
128. Serial.begin(57600);
129.
130. client.setServer(server, 7783);
131. client.setCallback(callback);
132.
表 5 . 8 - 2 M Q T T 程 式 碼 P r o c e s s i n g 1. import mqtt.*;
2. import processing.serial.*;
3. import de.voidplus.leapmotion.*;
4.
14. client.connect("mqtt://140.127.185.71:7783", "processing"
);
15. client.subscribe("/lm");
16. // client.unsubscribe("/example");
17. }
25. PVector handStabilized = hand.getStabilizedPosition ();
59
48. for (Finger finger : hand.getOutstretchedFingers()) {
49. // Basic
50. int fingerId = finger.getId();
51. PVector fingerPosition = finger.getPosition();
52. PVector fingerStabilized = finger.getStabilizedPosi tion();
70. break;
97. for (Finger finger : hand.getOutstretchedFingersByAn gel(0)) {
61
108. break;
109. case 2:
110. System.out.println("m");
111. client.publish("/lm","m");;
112. break;
113. case 3:
114. System.out.println("r");
115. client.publish("/lm","r");
116. break;
117. case 4:
118. System.out.println("p");
119. client.publish("/lm","p");
120. break;
121. //}
122. } 123. } 124. } 125. } 126. }
參考文獻
[1]. 卡雷爾·恰佩克的《羅素姆的萬能機器人》
https://zh.wikipedia.org/wiki/%E5%8D%A1%E9%9B%B7%E5%B0%94%C2%B 7%E6%81%B0%E4%BD%A9%E5%85%8B
[2]. 「機械手臂之父」之稱的約瑟夫·恩格伯格
http://www.techbang.com/posts/40158
[3]. 有線性手臂
https://www.stockfeel.com.tw/%E6%A9%9F%E6%A2%B0%E6%89%8B%E8%8 7%82/
[4]. SCARA 手臂
http://baike.baidu.com/item/SCARA
[5]. 關節多軸機械手臂
https://zh.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E6%89%8B%E8%87
%82
[6]. 日本山梨大學牧野洋
https://ja.wikipedia.org/wiki/%E7%89%A7%E9%87%8E%E6%B4%8B
[7]. 自由度
https://zh.wikibooks.org/zh-tw/%E6%9C%BA%E6%A2%B0%E8%AE%BE%E8%AE%A1/%E5%B9%B3%
63
[8]. 機械手套
https://kknews.cc/zh-tw/tech/gabo38.html
[9]. Robonaut2 人形機器人
http://www.twword.com/wiki/Robonaut-2
[10]. 移動維修系統(Mobile Servicing System,簡稱 MSS)
https://zh.wikipedia.org/wiki/%E7%A7%BB%E5%8A%A8%E7%BB%B4%E4%
BF%AE%E7%B3%BB%E7%BB%9F
[11]. 好奇號(Curiosity)
https://zh.wikipedia.org/wiki/%E5%A5%BD%E5%A5%87%E8%99%9F
[12]. 加拿大臂 2
https://zh.wikipedia.org/wiki/%E5%8A%A0%E6%8B%BF%E5%A4%A7%E8%8 7%82
[13]. 3D 列印
https://zh.wikipedia.org/wiki/3D%E6%89%93%E5%8D%B0
[14]. 三維掃描器
https://zh.wikipedia.org/wiki/%E4%B8%89%E7%B6%AD%E6%8E%83%E6%8 F%8F%E5%84%80
[15]. 伺服馬達
https://zh.wikipedia.org/wiki/%E4%BC%BA%E6%9C%8D%E9%A6%AC%E9%
81%94
[16]. PWN 訊號
https://zh.wikipedia.org/wiki/%E8%84%88%E8%A1%9D%E5%AF%AC%E5%B A%A6%E8%AA%BF%E8%AE%8A
[17]. 伺服機構
https://zh.wikipedia.org/wiki/%E4%BC%BA%E6%9C%8D%E6%A9%9F%E6%
A7%8B
[18]. 感測器
https://zh.wikipedia.org/wiki/%E4%BC%A0%E6%84%9F%E5%99%A8
[19]. 工業 4.0
https://zh.wikipedia.org/wiki/%E5%B7%A5%E6%A5%AD4.0
[20]. 物聯網 IOT
https://zh.wikipedia.org/wiki/%E7%89%A9%E8%81%94%E7%BD%91
[21]. 達文西手術
http://www.chimei.org.tw/davinci/
[22]. Leap Motion
https://zh.wikipedia.org/wiki/Leap_Motion [23]. Arduino Mega 2560
65
[24]. MQTT(Message Queuing Telemetry Transport) https://en.wikipedia.org/wiki/MQTT
[25]. Arduino Ethernet Shield
https://www.arduino.cc/en/Main/ArduinoEthernetShield
[26]. R. Kelly, “Robust Asymptotically Stable Visual Servoing of Planar Robots,”
IEEE Transactions on Robotics Automation, Vol. 12, No. 5, October 1996.
[27]. U. Frese, B. Bauml, S. Haidacher, G. Schreiber, I. Schaefer, M. Hahnle, G.
Hirzinger, Off-the-shelf vision for a robotic ball catcher, IEEE International Conference on Intelligent Robots and Systems(2001) 1623-1629.
[28]. A. Nakashima, Y. Sugiyama and Y. Hayakawa, Paddle Juggling of One ball by Robot Manipulator with Visual Servo, (2006).
[29]. Y. Yamakawa, A. Namiki, M. Ishikawa, M. Shimojo, One-handed knotting of a flexible rope with a high-speed multifingered hand having tactile sensors, (2007) 703-708.
[30]. 葉峻弘,“多軸機械手臂運動控制器之發展”,臺灣大學機械工程學系 碩士論文,台北,台灣,2008 年。
[31]. C. Y. Lin, P. C. Jo, C. K. Tseng “Multi-Functional Intelligent Robot DOC-2,” IEEE-RAS Desktop Robot,” Journal of the Chinese Institute of
Engineers, Vol. 33, pp. 531-539, 2010.
[32]. 李欣霖,“藉由 Kinect 遠端控制機械手臂與自走車之研發”,元智大學 通訊工程學系碩士論文,桃園,台灣,2011 年。
[33]. 鐘瑋,“藉由 Kinect 遠端控制機械手臂與自走車之研發”,中國文化大 學機械工程學系數位機電碩士論文,台北,台灣,2016 年。
[34]. Xbox Kinect
https://zh.wikipedia.org/wiki/Kinect
[35]. RGB 彩色攝影機
https://zh.wikipedia.org/wiki/%E4%B8%89%E5%8E%9F%E8%89%B2%E5%85
%89%E6%A8%A1%E5%BC%8F
[36]. CMOS 攝影機
http://www.hanmin.com.tw/%E8%BB%8D%E6%96%B9%E7%9B%A3%E8%A6
%96%E7%B3%BB%E7%B5%B1%E6%95%B4%E5%90%88%E6%96%B9%E6
%A1%88-2/
[37]. 3D 結構光深度感測器
https://kknews.cc/zh-tw/tech/r94oq34.html
[38]. 立體視覺成像原理
http://www.ni.com/white-paper/14103/zht/
[39]. InMoov 機器人
https://en.wikipedia.org/wiki/InMoov [40]. 蓋爾·朗葛文(Gael Langevin)
67
[41]. Myrobotlab http://myrobotlab.org/
[42]. Qos (Quality of Service)
https://zh.wikipedia.org/wiki/%E6%9C%8D%E5%8A%A1%E8%B4%A8%E9%8 7%8F
[43]. 步進馬達
https://zh.wikipedia.org/wiki/%E6%AD%A5%E9%80%B2%E9%A6%AC%E9%
81%94
[44]. Mac Address
https://zh.wikipedia.org/wiki/MAC%E5%9C%B0%E5%9D%80
[45]. Ping
https://zh.wikipedia.org/wiki/Ping
[46]. MQTT Broker
https://blog.gtwang.org/iot/raspberry-pi/raspberry-pi-mosquitto-mqtt-broker-iot-integration/
[47]. Unity 3D
https://zh.wikipedia.org/wiki/Unity_(%E6%B8%B8%E6%88%8F%E5%BC%95
%E6%93%8E)