0

0
0

文字

分享

0
0
0

輕鬆使用Android 裝置控制樂高機器人:用滑桿控制馬達速度

馥林文化_96
・2013/07/16 ・2702字 ・閱讀時間約 5 分鐘

文/曾吉弘(CAVE教育團隊

本期專欄將與大家介紹如何使用Slider 滑桿元件來分別控制樂高機器人馬達的轉速與方向。滑桿元件好比是電玩遊戲機的類比搖桿,提供了比按鈕更細緻的操控效果。

樂高NXT 伺服機

樂高公司所生產的馬達種類約有十數種,其中NXT 馬達是輸出扭矩最大也是最有份量的一款馬達,相對地耗電量也是相當驚人。另一方面,NXT馬達是所有樂高馬達中唯一有配置角度感應器的馬達,透過角度感應器我們可以精確指定馬達轉軸之旋轉角度(最低為1 度),甚至經過計算之後可轉換為機器人行走的距離,非常方便。在App Inventor 中是透過NxtDrive元件來控制樂高NXT 馬達,雖然控制功能不如其他程式語言例如C 語言或是LabVIEW 來得豐富,但是基本操作也是相當足夠了。圖1a 是NxtDrive的屬性設定欄位,由於本範例要使用三個Slider 元件分別來控制三個馬達,所以需要三個NxtDrive 元件, 將其DriveMotors 欄位分別設為A、B 與C,代表控制樂高NXT 機器人的A、B 與C 馬達。至於WheelDiameter 代表目前所使用的輪胎直徑, 單位為公分。
在此不必理會此欄位,因為它不會影響到本範例的操作效果,我們會在日後的專欄來介紹如何使用它。

圖1a NxtDrive 的屬性設定欄位。
圖1b NxtDrive 的轉動指令。

開始玩機器人

請把NXT機器人組裝好,並將左側馬達接在NXT的輸出端B,右側則是輸出端C(註1)。請確認NXT主機的藍牙是啟動的,接著將NXT主機與 Android手機進行藍牙配對(註2),完成之後就可以把機器人放到一邊了。啟動藍牙之後您可以從NXT主機的螢幕左上角看到藍牙的符號。

接下來依序介紹程式的各個功能:

STEP1 登入畫面:

首次進入程式的畫面如圖2a , 只有「NXT 裝置清單/ 連線」按鈕可以按,其它所有按鈕都無法操作。點選「NXT 裝置清單/ 連線」按鈕後進入藍牙裝置清單(圖2b),請找到剛剛配對完成的NXT 主機名稱(本範例為abc),點選之後就會由Android 裝置對NXT 主機發起藍牙連線。順利連線成功的話,就可拉動Slider 滑桿元件來控制馬達轉速(圖2c)。

圖2a 程式首次執行的畫面。
圖2b 點選連線按鈕後進入藍牙裝置清單。
圖2c 連線成功後才可進行相關操作。

 

STEP2 程式初始化:

在點選連線清單之前(ListPickerConnect 的BeforePicking事件), 需先將清單內容指定為Android 裝置上的藍牙配對清單(圖3a)。點選之後則先測試連線是否成功,成功則將「選擇感測器」與「開始唸/ 停止」設為可點選(圖3b)。

圖3a 指定藍牙配對裝置清單。
圖3b 連線成功後啟動相關元件。

STEP3 使用滑桿控制馬達電力:

在設計的想法上,我們希望滑桿拉到最左邊時,馬達電力為-100(全速反轉),拉到最右邊時馬達電力為100(全速正轉),置於中間時電力則為0 ,同時也讓馬達停下來。
由於滑桿元件最小值只能為0 ,因此我們將滑桿的最大值改為200 ,後續運算再減100 就可對應到馬達電力-100~100 的範圍了。至於滑桿的初始位置則設為100 ,即滑桿正中央處。
拉動滑桿時, 會呼叫Slider 的PositionChanged 事件並帶入thumbPosition 參數, 我們就是要用這個參數來控制馬達的電力。在圖4中,我們將滑桿位置thumbPosition_A 減去100 之後四捨五入, 指定為power 變數的內容, 這就是馬達的電力。接著將相關數值顯示於畫面上, 最後呼叫NxtDrive 的MoveForwardIndefinitely 指令並塞入power 變數值就好了。這樣當滑桿位於最右側時,thumbPosition_A 的值為200 ,power 變數值為200-100為100 ,代表馬達正向全速轉動。

圖4 Slider 元件控制馬達轉速。

STEP4 定義副程式:

您應發現了三個Slider 元件做的事情好像大同小異,這時候就可以將這些類似的指令包成一個副程式,不但程式的可讀性變高,日後要修改程式時也更加方便。本範例中宣告一個名為move 的副程式,並可傳入一個參數。當我們拉動SliderA 時,就會傳入一個文字A 給move 副程式。因此的程式可以簡化變成以下的樣子(圖5a):

圖5a 使用副程式架構來改寫Slider 事件。

我們將文字A 傳入move 副程式之後, 就都交給它來處理了。那麼,move 副程式裡面到底發生了什麼事呢? 在move 裡面, 我們會判斷接收到的參數motor 內容是否等於「A」,如果是的話就執行圖5b 的內容, 圖5b 的內容是不是和圖4 是一樣的呢?
那麼另外兩個Slider 事件您應該已經知道怎麼做了,就是分別送出文字「B」與「C」,並在move 副程式中進行對應的判斷與動作(圖5c)。這樣一來我們就能集中管理程式碼了。

圖5b 將原本的Slider_A 事件中指令整合到副程式中。
圖5c 不同的Slider 事件差別在於送出的參數。

STEP5 停止所有馬達並將滑桿歸零:

為了方便起見, 請新增一個按鈕,按下之後會三個Slider 元件的滑桿回復到正中央位置,同時也會將power 變數值歸零,馬達也就停止轉動(圖6)。

圖6 停止所有馬達。

STEP6 斷線:

按下「斷線」按鈕之後,會中止藍牙連線(BluetoothClient.Disconnect指令),並使按鈕恢復到未連線時的狀態(圖7)。

圖7 按下「斷線」按鈕時中斷藍牙連線。

操作

實際執行的時候,請先確認NXT 已經開機且藍牙也啟動了,並將NXT 接上三個馬達( 圖8a、8b、8c)。接著在Android 裝置上點選程式畫面中的「連線」按鈕,會進到藍牙清單畫面,點選您要的NXT 主機名稱並連線成功後,就能拉動滑桿來控制,或按下「停止所有馬達」按鈕來停止馬達。

圖8a A 馬達電力82% 正轉。
圖8b B 馬達電力34% 正轉。
圖8c C 馬達電力46% 反轉。

 

本範例介紹了Slider 滑桿元件,它提供了更細微的控制, 善加利用它,您的機器人會有更多有趣的功能。程式模組化是非常重要的程式開發觀念,希望您可以藉此建立起良好的基礎。

期待您從本期專欄的內容來激盪出更多有趣的火花。請繼續關注CAVE 的機器人專欄唷!

 

歡迎大家由以下連結或掃描以下的QRCode 來下載本程式:

本程式已上架Google play,請到Google Play 搜尋「CAVE 教育團隊」就找得到我們的樂高機器人系列app 了。在App Inventor 中文教學網上直接下載本範例的App Inventor 原始檔與apk 安裝檔。

註1: 想學如何開發App Inventor 程式嗎? 請到AppInventor 中文學習網與我們一同學習。
註2:將Android 手機設定為可安裝非Google Play 下載的程式以及讓手機與樂高NXT 主機連線等說明請參考這裡
註3:與NXT 連線後如果出現[Error 402] 之錯誤訊息請不必理會,程式依然能正確執行。

文章原文刊載於《ROBOCON》國際中文版2013/7月號

文章難易度
馥林文化_96
54 篇文章 ・ 6 位粉絲
馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/

0

5
1

文字

分享

0
5
1

「新太空 2.0」時代來臨!盤點新創太空產業的衛星部署手段

黃 正中_96
・2021/09/26 ・3448字 ・閱讀時間約 7 分鐘

近年來以美國為首,國際上民營新創太空產業如雨後春筍,以新技術、新概念吸引風險投資,挑戰傳統太空產業,稱為新太空(NewSpace)2.0。

新太空的新創公司通常規模比較小,為了增加競爭力,常以併購或合資的方式,加速產業成長;所涵蓋的範圍包括火箭、小型衛星或衛星元件等領域,以價格破壞性經營,加強與傳統太空產業的競爭。

本文將分析量產的衛星精確部署到太空軌道,提高太空任務的新功能與價值;並盤點在此潮流下創新技術,和新創的太空產業。

論「快速量產衛星」的必要

新創航太公司為了更貼近市場需求,創新衛星量產技術、使用商用(COTS)元件,快速切入市場,提高產品附加價值的新衛星功能。例如使用微衛星以每小時拍攝一次地球上任何地點,並快速提供詳細圖像;使用衛星連接地面上廣大地區,構建太空網路;或者利用衛星開採小行星高價值的稀有礦物等等。

新創衛星公司所使用商用零件,設計小型或立方衛星,儘管它們的尺寸很小,但可以共同提供功能和服務,卻比傳統衛星更大、數據產品媲美大衛星。量產衛星優點是可以一次發射許多衛星,發射費用比傳統的大衛星便宜得多,但是缺點是,設計 / 任務壽命較短。

最小可行產品(Minimum Viable Product, MVP)

新創公司為了發堀利基市場,開發最小可行產品(Minimum Viable Product, MVP)1。一旦建立了 MVP 衛星,新創公司再進行優化調整。MVP 為了減輕重量,加快生產速度,設計時忽略了部分功能,如推進次系統(Propulsion Subsystem)、部分姿態控制(AOCS)或沒有備份設計(backup design)等等,以便快速進入市場。

美國的 Planet Labs 公司 180 顆遙測照相衛星,Spire Global 公司 110 顆氣象服務衛星公司,或挪威的 Iceye 公司 10 顆透過雲層對地球照相的合成孔徑雷達小型衛星等等,證明 MVP 可以在很少的預算下,製造和發射衛星到太空,並傳送數據返回地球。

美國 Planet Labs 公司的 Dove satellites。圖/Planet Labs 臉書

快速量產的代價——衛星損壞率高

但是,利用商用航電元件快速製造,在太空高輻射的環境,可能面臨高衛星損壞率,例如新創 Planet Labs 公司 2設計和製造著名的 Doves Triple- CubeSat 微型衛星,2015 年創立後發射了 339 顆 3U 高解析度的 Dove 遙測立方衛星,但是 2021 年 8 月只剩下約 180 顆衛星運作中。

另外的案例 Spire Global 公司從太空觀測雲數據和分析,提高了天氣模型的預測能力。自創建以來,已發射了 140 多顆衛星,目前有 110 顆 3U 立方氣象衛星星系營運中。

SpaceX 的 Starlink 太空網路公司3,到 2021 年 9 月 14 日為止,已經發射了 1791 顆低軌通訊衛星,統計有 125 顆衛星故障或離開太空返回地球,目前太空網路擁有 1615 顆低軌衛星建構太空網路,所以新太空的高衛星損壞率,令人印象深刻。

搭公車上太空,立方衛星「以量取勝」

大量微小或立方衛星搭乘所謂的「公車火箭」到太空,若是衛星計畫經費較多,可以搭乘單個火箭進入太空。但是大部分的計劃在預算限制下,搭乘「公車火箭」到達軌道後,整“群”離開火箭,微小 / 立方衛星以一種相當不受控制的方式繞地球漂移。

福爾摩沙衛星七號衛星搭乘火箭。圖/科技部臉書

這種「下車」方式,對於遙測照像任務,「打群架」方法是有效的,但不是最佳的方式,每顆衛星都可以拍照並發送下來,但個別衛星可能會聚集在一起,從而照相送回多餘的圖像。

對於通信衛星架構,「打群架」是沒有經濟價值的,因為在不受控制的衛星群體,只能隨機覆蓋地表,對於地面用戶來說,無法定時收到監控資料,也無法忍受隨時斷訊的通訊。

新創公司的決勝關鍵:更精確的太空軌道部署

為了增加小衛星任務所產生的產品價值,未來更精確的軌道部署,將會產生革命性的決勝關鍵,每顆衛星將被更仔細、周到地放置到精確的軌道上,使整個星系的價值,大於各自執行任務的總和。

更精確的軌道部署將成為任務規劃中首要考量,當雜亂無章的群轉變成精心編排的星系,其中均勻分佈的小衛星以優化其覆蓋範圍和數據價值時,小衛星架構的價值將得到充分體現。

優化「衛星系」的兩種辦法

有兩種實現衛星系(Constellation)優化的方法,第一種是單獨發射小衛星,或者一次發射兩到三個在特殊的小型火箭上發射,這些火箭可以「隨時隨地」運送航太器,眾多的小型火箭新創公司 Rocket Lab 和 Vector Space Systems 等,瞄準此新市場,計劃將小型衛星運送到低軌太空。

這種方法存在兩個挑戰,可能無法使其適用於所有星系。首先,大型星系需要大量發射,即使每週發射一枚火箭,完全部署一個星系也可能需要數月甚至數年的時間,其次發射費用按公斤計算,總經費也不便宜。

優化星系的第二種方法是為每個小衛星配備機載推進次系統,許多衛星可以共用火箭發射,例如由 SpaceX 的 Falcon 9 或 Falcon Heavy 等發射器的低每公斤成本發射,離開火箭以後就需要耗費自身燃料,抵達任務軌道。儘管所有飛行器都將成群離開火箭,但它們可以使用各自的推進系統分散到預先選擇的各個軌道中,以優化星系均勻性。

這種方法的好處是可以利用機載推進系統提供額外的任務價值,例如通過補償阻力來延長任務壽命,重新配置星系以彌補發射失誤,或在壽命結束時使衛星脫離軌道,減少太空垃圾,但是燃料使用過多,減少任務壽命卻也無可奈何。

獵鷹 9 號將 60 顆 Starlink 衛星送入軌道。圖/SpaceX

成本太高?新型「微推進系統」問世

新太空 2.0 的新創公司,有許多小衛星沒有包含推進次系統,主要是因為技術還不夠成熟,而且成本太高,無法納入 MVP。精確部署衛星所需的推進系統成本,市場上推進系統大部分是手工建造的,對於新創公司無法負擔。設計、開發和製造過程,還沒有發展到大規模生產。

但市場對於大量製造的機載推進系統需求強大,針對此問題,美國 Orbion Space Technology 以及 ExoTerra Resources 新創公司推出霍爾效應推進器(Aurora Hall-effect thruster),以及 Tethers Unlimited、Deep Space Industries 和 Momentus 公司,亦推出水離子推進器(Water Plasma propulsion),水離子推進裝置,進入太空小型推進器的市場。

水離子推進器。圖/參考資料 5

沒錢裝推進系統?你需要的是「太空運輸」服務

針對為了節省燃料以提高壽命,以及沒有配備星載推進系統的立方 / 微衛星,美國新創太空運輸的 Momentus 公司,推出離開火箭以後,在太空將立方 / 微衛星或其他小型衛星,在太空中運輸到所需任務軌道。

義大利的 D-Orbit 公司今年(2021)5 月部署了 20 顆義大利 ION 衛星,成功示範可以改變高度和傾角的太空運輸。D-Orbit 公司並計劃於今年(2021)10 月為 Planet SuperDove 公司在太空「最後一英里的太空運輸」服務,運輸 12 顆地球遙測衛星。

但是你可知道「最後一里路」要走多久?

以我國的福爾摩沙七號衛星星系為例,衛星設計有星載的推進系統和攜帶燃料,用來調整衛星在太空的飛行軌道;福衛七號的六顆衛星於2019年6月25日發射升空,離開獵鷹九號火箭以後,總共花了 20 個月逐漸調整軌道,才將六枚衛星的軌道面布置,形成在地球上空以 60、120、180、240、300度的夾角,涵蓋全球的氣象觀測衛星星系部署。

新太空 2.0 時代來臨!將顛覆傳統衛星公司

新太空(NewSpace)2.0 顛覆甚至於威脅到傳統衛星公司,例如 Intelsat 同步軌道通信衛星公司因過時或更高的價格使他們無法與低成本寬頻通訊競爭導致破產4,同樣的澳洲衛星通訊公司 Speedcast 和為航空公司和船舶提供 Wi-Fi 服務的 Global Eagle 公司與 Intelsat 公司一樣也都負債累累。

新太空快速的行業變化,也影響了衛星地面部分;例如衛星天線製造商 Phasor 在被新創 Kymeta 用更高效率覆蓋整個 Ku 頻段衛星天線公司淘汰而申請破產。去年 OneWeb 的破產困境源於缺乏靈活性,讓 SpaceX 競爭對手以超越其技術而破產。

因此新太空的來臨,太空產業需著重技術創新,適應快速市場變遷,隨時關注市場的變化與趨勢。對於一個創新技術競爭的衛星新創參與者,摩爾定律將主導創新和開發新市場。

參考資料

  1. NewSpace 2.0: Moving beyond the Minimum Viable Product
  2. 〈Wikipedia〉Planet_Labs  
  3. 〈Wikipedia〉Starlink
  4. NewSpace 2.0: Moving beyond the Minimum Viable Product
  5. Water propulsion technologies picking up steam
  6. Satellite bankruptcies circa 2000 vs. 2020: We’ve come a long way!me-a-long-way

黃 正中_96
9 篇文章 ・ 2 位粉絲
國家實驗研究院國家太空中心研究員。勿忘對科學研究的熱情,勇敢築夢,實現夢想…...
網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策