0

0
0

文字

分享

0
0
0

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

馥林文化_96
・2015/04/07 ・2792字 ・閱讀時間約 5 分鐘 ・SR值 529 ・七年級
相關標籤:

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

0

0
0

文字

分享

0
0
0
一站起就頭暈?醫師解析腎性貧血注射與口服治療全攻略
careonline_96
・2026/03/24 ・788字 ・閱讀時間約 1 分鐘
相關標籤:

「「哎呦……一站起來就頭暈。」

你有過這種感覺嗎?其實,貧血的原因很多,其中一種叫『腎性貧血』,常發生在慢性腎臟病或透析的患者身上。

腎臟會製造一種叫『紅血球生成素』(EPO)的物質。腎臟衰竭的病人常會因為紅血球生成素分泌減少、鐵質缺乏、營養不良等因素導致貧血。

目前腎性貧血的治療方式主要有兩大類:一種是透過注射補充基因重組的紅血球生成素;另一種是口服藥物缺氧誘導因子穩定劑(HIF PHi)。

-----廣告,請繼續往下閱讀-----

注射型治療是透過補充外來的紅血球生成素,幫助刺激骨髓製造紅血球。

口服穩定藥物則是利用身體對缺氧反應的自然機制,促進體內自行產生紅血球生成素,並增加鐵質移動,治療貧血。

兩種方式各有使用時機,由醫師依照病情、血紅素數值、治療反應等因素來共同決定。

不管是注射藥物或口服藥物,都需要在醫師處方下使用。治療期間應配合主治醫師醫囑定期抽血追蹤血紅素、鐵質、血壓、肝腎功能等指標。若出現頭痛、噁心、血壓變化、過敏、血栓、痙攣、注射部位反應等不適,請務必告訴您的醫療團隊。

-----廣告,請繼續往下閱讀-----

每位患者的腎臟功能、發炎程度、鐵狀況與生活需求都不同。選擇哪一種治療方式,都是由『醫師評估』並『與您討論後』一起做出的決定。只要持續追蹤、按時治療,大多數腎性貧血都能穩定管理!

-----廣告,請繼續往下閱讀-----

討論功能關閉中。

0

0
0

文字

分享

0
0
0
渺小如塵埃的果蠅大腦,藏著解開人類記憶與意識之謎的鑰匙
顯微觀點_96
・2026/03/20 ・2156字 ・閱讀時間約 4 分鐘

FlyWire 果蠅大腦50條大型神經元圖譜

2024年10月,神經科學的劃時代里程碑,成年雌果蠅完整大腦神經圖譜系列研究,發表在《自然》期刊(Nature)。此圖譜詳盡至果蠅腦中每一條神經的所有分支、每一個突觸的尺寸和型態,這樣的腦神經圖譜稱為「連接體」(connectome)。要繪製完整成熟雌性果蠅連接體,需要辨識近14萬個神經元(神經細胞)與其間的5千萬個突觸(不同神經元的連接處)。

「世上還沒有另一個如此複雜的成年動物全腦連接體。」

馬拉.莫西/普林斯頓大學神經科學研究所長

普林斯頓大學神經科學研究所長馬拉.莫西(Mala Murthy)、神經科學與電腦科學教授承現峻(Sebastian Seung)率領跨國科學團隊建造果蠅連接體雲端平台「FlyWire」,並在《自然》同時發表12篇論文,以《成熟大腦的神經連接圖》(Neuronal wiring diagram of an adult brain.)為旗艦研究,展現果蠅大腦的完整神經迴路,包含8453種神經元的構造與位置,其中4581種為本系列研究的新發現。

連接體開拓腦科學高速公路

有了詳細的腦神經地圖,科學家得以規劃嶄新的神經科學研究路徑,更加直接、詳盡地實驗神經構造與行為之間的關聯。例如,按圖索驥蒐集所有關於果蠅「剎車」動作的神經元,建構完整的動作神經網路,找出過往研究方式所遺漏的因素;或是利用果蠅連接體推論出「觀看」等動作的完整神經活動,捕捉新的神經科學現象。

生物資料科學家更進一步利用此完整連接體搭配演算法建立一個虛擬蠅腦,不僅完全重現神經元線路,更能及時推算各神經訊號的傳輸路徑與功能,模擬果蠅的真實腦內活動。接收初始訊號之後,這個虛擬蠅腦啟動一連串神經訊號,最後以運動神經元控制肢體作為結果,就像活生生的果蠅在對環境刺激進行反應。

-----廣告,請繼續往下閱讀-----

讓神經科學換檔加速的果蠅連接體,在「FlyWire」網站向公眾徹底開放。由公眾人力與人工智慧合力打造的龐大資料庫,現在平等地提供研究資源,科學界認為,FlyWire的完整度與開放性將大幅加速人類大腦的解密。

「蠅」來連接體學大躍進

人類大腦含有超過500億個神經元,形成上百兆個突觸,具備了人工智慧還無法達成的認知、思考與創造力。若能理解人腦的基礎運作方式,科學家有機會找到帕金森氏症等退化性腦部疾病的解藥,或是掌握思覺失調症等精神疾病的生理機制。甚至逐漸實現承現峻的科學狂想:以連接體科技上傳記憶與意識,讓人類達到永生。

發展四十年後,連接體學家終於掌握了果蠅大腦,這個器官最寬處不到0.75毫米,渺小如塵埃,其中蘊含的連接體奧秘卻超越過去累積的科學資料。以果蠅連接體完成博士學位的多肯沃(Sven Dorkenwald)比喻,果蠅連接體彷彿是一座茂密森林,神經元猶如樹木,可以透過根系彼此溝通。但在空間比例上,果蠅的某個視神經橫跨全腦連接雙眼,有如一棵紐約的樹木能夠和位在洛杉磯的樹木互通聲息。

相對「頭腦簡單」的線蟲與果蠅幼蟲缺少成年果蠅的複雜行為與反應,成年果蠅卻與人類共享許多認知功能與神經生理反應。例如:辨別同類、劃分地盤/食物、求偶交配等行為,以及時差、酒醉、咖啡因亢奮等特殊生理狀態。

-----廣告,請繼續往下閱讀-----
果蠅(Drosophila melanogaster)側面特寫
果蠅(Drosophila melanogaster)。圖片來源:André Karwath / Wikimedia Commons(CC BY-SA 2.5)

果蠅:當前最佳人腦模擬器

在動物行為領域,果蠅大腦與人類大腦面對許多相似的問題,如何前往目的地、判斷氣味來源、觀察周遭物體的移動,以及複雜的社會性行為,如歌唱求偶、爭奪資源;以及注意力與情緒調節等。從神經科學技術的現實面來看,果蠅大腦也是最適合進行全腦研究的複雜連接體,現有科技僅能對斑馬魚、小鼠的大腦進行分區重建。

「連接體研究需要夠複雜但體積不太大的腦,果蠅正好位在這個甜蜜點上。」

馬拉.莫西

莫西實驗室深入研究果蠅行為,發現果蠅的生存、繁殖行為蘊含複雜的模式。例如,雄果蠅演奏求偶時,會依照雌果蠅與它的距離改變演奏的音量與編曲,並追隨雌果蠅。運用FlyWire,莫西團隊清點雌果蠅中腦關於聽覺的600多個神經元與其突觸,辨認出20種新的神經元,發現其功能網路比過往所知更加複雜。

莫西團隊發現,雌果蠅聽覺迴路中,神經元的回饋訊號可以憑藉音訊特徵進行預測,未來可以據此模型預測真實雌果蠅對「情歌」的回應行為。或許我們深深自豪的音樂品味也刻劃在我們的腦神經細胞之間,只是和我們的連接體一樣,比果蠅的複雜萬倍。

在基因層面,果蠅與人類共享約60%的基因,包括學習、時差反應與唐氏症相關的基因。接近3/4的人類遺傳疾病能在果蠅DNA中找到對應的基因。因此,完整的成年果蠅連接體被視為通往人類大腦奧秘的橋頭堡。

-----廣告,請繼續往下閱讀-----

美國太空總署(NASA)在1947年將果蠅送上太空,作為地球生命前往太空環境的實驗品。牠們竟生還返地,為太空人開拓了道路。作為經典模式生物,果蠅相關研究獲得6項諾貝爾獎,生理學、神經科學與行為學領域已累積豐富資料,搭配完整連接體圖譜的跨領域研究,勢必能帶人類深入探索腦宇宙。

-----廣告,請繼續往下閱讀-----

討論功能關閉中。

0

0
0

文字

分享

0
0
0
手舉不高痛到睡不著?盤點五十肩與旋轉肌等肩膀痛原因
careonline_96
・2026/03/19 ・1860字 ・閱讀時間約 3 分鐘
相關標籤:

手舉不高、痛到睡不著,盤點肩膀痛原因(圖文懶人包)

肩膀是由上臂肱骨、肩胛骨、與鎖骨共同組成的部位。要投球、要捉背,我們都會動用到肩膀,不過當肩膀活動度很大,相對就比較不穩定,造成疼痛的機會也不少。最常引起肩膀疼痛的原因是肌腱發炎、滑囊發炎、肌腱撕裂、以及關節發炎。

肩膀痛的可能原因

肩膀痛的可能原因
  •  沾黏性肩關節囊炎

滑囊是一小包充滿液體的囊袋,位於在骨頭與肌肉、肌腱等組織之間做為緩衝,讓肌肉收縮活動的過程中可以減少與骨頭的直接摩擦。

不過,過度使用肩關節可能會導致滑囊發炎,患者剛開始覺得痛,但是後來主要覺得僵硬,肩膀主動性與被動性活動度減少,穿衣服、梳頭髮、洗澡搓背等動作都會受限,也就是俗稱的五十肩。

延伸閱讀:五十肩要開刀嗎? – 冰凍肩

-----廣告,請繼續往下閱讀-----
  • 肩旋轉肌夾擠或肌腱炎
肩膀的結構

夾擠症候群(Impingement syndrome)與滑囊炎與旋轉肌肌腱炎(Overuse tendinitis)高度相關,大家可以看著圖片想像一下,肩峰骨頭的下方是滑囊與旋轉肌,當我們要把手往上舉,肩峰骨頭對滑囊與旋轉肌的壓力就愈大,萬一本身有滑囊發炎或旋轉肌發炎的人,症狀就會更明顯,只要肩膀做外展、外旋動作時就會感到疼痛。不過,與五十肩不同的是,旋轉肌夾擠患者的肩膀活動度大致正常,不影響肩膀的主動性或被動性活動度。

延伸閱讀:肩膀痛痛的 – 夾擠症候群

  • 肩旋轉肌撕裂傷

旋轉肌是四條肌肉的總稱,這四條肌肉分別是棘上肌、棘下肌、肩胛下肌及小圓肌。每次上臂外展或外旋時,都需要旋轉肌的作用。長期磨損、年紀大會帶來退化性變化,可能出現旋轉肌撕裂傷(Rotator cuff tear)。患者先是覺得肩膀做外展、外旋動作時感到疼痛,夜晚時感覺到肩膀患側的疼痛,痛到不好睡,尤其若靠著患側睡會很痛,後來發現肩膀無力做外展、外旋動作。由於旋轉肌撕裂傷與反覆活動造成的退化磨損很有關係,通常患者年紀大於四十歲。

延伸閱讀:手臂舉不起來,睡覺不動肩膀也好痛!為何我會有「旋轉肌撕裂傷」?

-----廣告,請繼續往下閱讀-----
  • 二頭肌肌腱炎或肌腱斷裂
肩膀痛的症狀與活動度

二頭肌在上臂肱骨的前側,其肌腱也可能會發炎或裂開。與旋轉肌撕裂傷不同的是,二頭肌肌腱炎或肌腱斷裂會讓人痛在肩膀的前側,例如患者會說舉物、提物時容易痛,手舉過頭也會痛,且有時會伴隨無力。

  • 肩關節退化性關節炎

相較於膝關節炎或髖關節炎來說,肩膀這裡的退化性關節炎較少見,萬一發生的話,常常與患者過去受過外傷有關,或本身從事的職業(例:投手)會經常磨損肩關節。患者會於中年時漸進性感覺到肩膀前側與深處的疼痛,同時也容易變得僵硬,主動與被動性的外展和外旋動作減少。

肩膀痛的檢查

當患者因肩膀痛就診,醫師會先了解這個痛是怎麼產生的,是突然某個動作引起的,還是慢性愈來愈嚴重的?接著醫師會檢查患者肩膀是否有任何的腫脹、變形、或肌肉無力,並確認患者主動動作與被動動作是否受到影響。有必要的話會安排X光、電腦斷層、核磁共振等影像檢查確認骨頭與肌肉、肌腱等軟組織狀況。

肩膀痛的復健

確認肩膀痛原因後,我們會比較了解如何面對肩膀痛。如果是反覆的脫臼,或是較嚴重的旋轉肌撕裂傷,可能會需要用手術治療。但大部分因其他狀況而肩膀痛的患者可以因為休息、適當的復健、及改變肩膀活動而有改善。

-----廣告,請繼續往下閱讀-----

延伸閱讀:肩膀僵硬怎麼辦?每日七招自救

-----廣告,請繼續往下閱讀-----

討論功能關閉中。