0

0
0

文字

分享

0
0
0

用App Inventor 直接控制樂高EV3 機器人: 翻轉控制

馥林文化_96
・2015/04/07 ・2792字 ・閱讀時間約 5 分鐘

BANNER-G-560x119

文/CAVEDU教育團隊

感謝各位讀者的支持,連載終於邁入最終回了!本期專題要介紹如何使用Android 手機上的姿態感測器來控制樂高EV3 機器人。有接觸過App Inventor 的師長朋友們,歡迎從App Inventor 中文學習網的檔案庫下載本程式的aia 原始檔與apk 安裝檔。

什麼是Direct Command?為什麼需要它?

根據樂高官方文件, 您可以使用Direct Command做到的重要功能有:

• 啟動/停止主機上指定檔名的程式。
• 控制馬達啟動、停止、轉向、電力與角度上限。
• 取得感測器值與狀態

其餘功能,請參考官方文件(註1)。

開始玩機器人

本範例的機器人與2013 年1 月號的「翻轉控制」專欄是一樣的,只是由NXT 換成EV3 機器人而已。機器人不須加裝任何感測器,只要用兩顆馬達組裝成雙輪機器人即可。本範例是將馬達接在EV3 主機的輸入端A 與B。請確認EV3 主機的藍牙已啟動,接著將EV3 主機與Android 手機進行藍牙配對(註3),完成之後就可以把機器人放到一邊了。啟動藍牙之後,您可以從EV3主機的螢幕左上角看到藍牙的符號。

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

STEP1 登入畫面:

首次進入程式的畫面如圖1a ,這時只有「EV3 裝置/ 連線」按鈕可以按,其它所有按鈕都無法操作。點選「EV3裝置/ 連線」按鈕後進入藍牙裝置清單(圖1b),請找到剛剛配對完成的EV3主機名稱(本範例為abc),點選之後就會由Android 裝置對EV3 主機發起藍牙連線。順利連線成功的話,「EV3裝置/ 連線」按鈕會變成不可按的狀態,其他按鈕則都可按(圖1c)。

圖1a 程式首次執行的畫面。 圖1b 點選連線按鈕後進入藍牙裝置清單。 圖1c 連線成功後的畫面。
圖1a 程式首次執行的畫面。
圖1b 點選連線按鈕後進入藍牙裝置清單。
圖1c 連線成功後的畫面。

STEP2 程式初始化:

在點選連線清單之前(ListPicker_EV3 清單選取器的BeforePicking 事件),需先將清單內容指定為Android裝置上的藍牙配對清單(圖2a),其中connected 這個布林變數是用來指示現在手機是否已和機器人成功連線。

圖2a 指定藍牙配對裝置清單。
圖2a 指定藍牙配對裝置清單。

點選之後, 會先測試連線是否成功,成功則將「EV3 裝置/ 連線」按鈕設為不可點選,「斷線」等按鈕設為可點選(圖2b)。

圖2b 連線成功後啟動相關元件。
圖2b 連線成功後啟動相關元件。

STEP3 直接控制副程式start與stop:

直接控制的奧妙之處在於直接對EV3 發送位元陣列, 只要按照樂高官方文件(註1)的說明,以正確的格式來發送資料即可。以 start 副程式來說, 它可接受兩個參數:port/ speed。您可以看到每次呼叫它時, 都會初始化一個名為 data 的空清單,以本範例來說,每一個清單元素代表一個位元組長度的內容。格式為:(13, 0, 0, 0, 128, 0, 0, 165,
0, port , 129, speed , 166 ,0, port),如圖3a。這當然需要您去查找官方文件中各個欄位所代表的意義。在此我們是將port 與 speed 用變數來控制, 代表所要控制的馬達與其轉速。最後透過BluetoothClient 元件將整個data 清單經由藍牙發送給EV3 機器人即可。

圖3a start 副程式
圖3a start 副程式。

到了stop 副程式,資料格式當然也有所改變。我們還用一個if 判斷式去檢查stop 參數是否為true , 如果是則在data 清單最後加入1 ,反之則加入0。這樣發送出去之後就能控制機器人是否要停止動作(圖3b)。

圖3b stop 副程式。
圖3b stop 副程式。

藉由這樣的架構,當您要改用姿態控制、觸碰點控制、語音控制時,整體架構是不變的,差別只在於如何修改speed 變數值而已。

STEP4 姿態感測器:

當手機的姿態發生變化時,就會自動呼叫它的姿態改變(OrientationChanged) 事件, 並會把XYZ 的軸向變化以pitch、roll 與azimuth 這三個事件變數呈現, 供我們取用。由圖4a 可知, 我們要透過X 軸向傾斜來控制機器人前進,Y 軸向傾斜來控制左右轉彎等。在本範例中我們使用另外一個Angle 參數(回傳一個角度代表手機往哪個方向傾斜)求出兩顆馬達的轉速。

圖4a Android 手機軸向示意圖。
圖4a Android 手機軸向示意圖。

在此有兩個重要的變數angle 與power:angle 代表手機的傾斜角度,這是由姿態感測器的Angle 參數再減去45 所決定,45 代表座標軸的偏移量。接著是power 變數,這是一個介於0 ∼ 1 之間的小數,代表手機的傾斜程度,數字愈大代表愈斜。power 變數值是由姿態感測器的Magnitude 變數再乘上200 所決定,200 是一個調控用的參數,數字愈大,代表在同樣的傾斜度下,機器人會跑得愈快,但是也更敏感而不好操控。樂高EV3 機器人的馬達電力範圍為100(正向全速旋轉)到-100(反向全速旋轉),數值超過上下限則就限制在100 或-100 ,如圖4b。

圖4b 姿態感測器的姿態改變事件(上半)
圖4b 姿態感測器的姿態改變事件(上半)。

這四個重要的參數(pitch、roll、左馬達轉速與右馬達轉速)都會更新在畫面中間的四個Label 標籤元件上。先呼叫一次 stop 副程式,讓馬達先短暫停頓。接著呼叫兩次start 副程式,分別傳入「port =1;speed = cos(angle x power)」與「port =2;speed= sin( angle x power)」這組參數,代表根據姿態感測器的姿態變化量,進行三角函數運算結果,來決定左右馬達的轉速。

最後,把夾角與左右輪轉速捨去小數點之後(round 指令),將計算結果更新在Screen 的狀態列上,如圖4c。

圖4c 姿態感測器的姿態改變事件(下半)。
圖4c 姿態感測器的姿態改變事件(下半)。

STEP5 斷線:

按下「斷線」按鈕之後,會中止藍牙連線(BluetoothClient.Disconnect指令),並使畫面上的各個元件恢復到程式一開始時的狀態。

操作

實際執行的時候,請先確認EV3 已經開機且藍牙也啟動了。接著在您的Android 裝置上點選畫面中的「EV3裝置/ 連線」按鈕, 會進到如圖1b的藍牙清單畫面,點選您所要的EV3主機名稱並連線成功後,試著把手機左右搖晃看看。朝前方傾斜,機器人就會前進,傾斜愈多,機器人跑得愈快(圖5a)。左右傾斜的話則是控制機器人左轉或右轉(圖5b)。在App Inventor 官方推出EV3 的元件之前,您也可以用這樣的方法來直接控制樂高EV3 機器人喔!

圖5a 手機朝前方傾斜43 度,X 軸向姿態發生 變化(pitch),機器人朝前方移動,左右馬達電力(38, 39)。
圖5a 手機朝前方傾斜43 度,X 軸向姿態發生變化(pitch),機器人朝前方移動,左右馬達電力(38, 39)。
圖5b 手機朝左方傾斜44 度,Y 軸向姿態發生變化(roll),機器人原地左轉,左右馬達電力(-37, 41)。
圖5b 手機朝左方傾斜44 度,Y 軸向姿態發生變化(roll),機器人原地左轉,左右馬達電力(-37, 41)。

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

註1:樂高EV3 直接控制指令的相關文件請參閱此網頁:http://botbench.com/blog/2014/02/19/ev3-buildyour-own-block-and-hdksdk-docs-available/

註2: 想學如何開發App Inventor 程式嗎? 請到App Inventor 中文學習網(http://www.appinventor.tw)與
我們一同學習。

註3: 與EV3 連線後如果出現「Error 402」之錯誤訊息請不必理會,程式依然能正確執行。

 

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

相關標籤:
文章難易度
馥林文化_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 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策