0

0
0

文字

分享

0
0
0

輕鬆使用Android 裝置控制樂高機器人:讓機器人前進指定距離

馥林文化_96
・2013/09/26 ・2827字 ・閱讀時間約 5 分鐘 ・SR值 552 ・八年級
相關標籤:

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

文/曾吉弘(CAVE教育團隊

在7 月號的專欄中, 我們介紹了如何使用Slider 滑桿元件來控制樂高機器人馬達的轉速與方向。本期我們將介紹如何使用樂高馬達中的編碼器(encoder)來讓機器人前進指定的距離,並且深入介紹App Inventor 中對於樂高機器人的SetOutputState 低階控制指令。

樂高NXT 伺服馬達

樂高NXT 的馬達是所有樂高馬達中輸出扭矩最大也是最有份量的一款,另一方面,它也是唯一有配置角度感應器的馬達,經過計算之後可求出機器人行走的距離或轉動的方位角,非常方便。

本期專題將使用App Inventor 中,NxtDrive 元件的MoveForward 指令與NxtDirectCommand 的setOutputState 指令來控制樂高NXT 馬達。圖1 中是NxtDrive 的屬性設定欄位,由於本範例要控制機器人上的兩個馬達,所以需要兩個NxtDrive 元件, 將其DriveMotors 欄位分別設為B 與C ,代表控制樂高NXT 機器人的B 與C馬達。WheelDiameter 代表目前所使用的輪胎直徑,單位為公分。以本範例所使用的輪胎直徑為5.6 公分,因此請填入5.6。樂高的輪胎胎皮上都會標示輪胎的尺寸(圖2),請依照您所選用的輪胎填入正確的數字,否則機器人行走的距離就不正確啦。

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


圖1NxtDrive 的屬性設定欄位。

 


圖2樂高NXT 機器人的5.6公分馬達。

 

接著看到NxtDrive 的正轉MoveForward 與反轉MoveBackward 指令, 我們須給定電力power 與距離distance 兩個參數,但事實上也能以負數讓馬達反向轉動。圖3 中兩個指令都會讓B 馬達以電力50% 反向轉動10 公分。


圖3 NxtDrive 的轉動指令。

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

 

回想一下國小的圓周長公式:2πr ,r 代表半徑。以本範例使用的5.6公分輪胎來說,圓周長就是2π X2.8=17.6 公分,代表馬達每轉一度所代表的圓周長為17.6 / 360 =0.049公分。換言之如果要讓機器人前進一公分的話,馬達大約要轉動20.4 度。

什麼是編碼器?

編碼器的功能主要是得知馬達轉軸的位置,並推估馬達的轉速。由於馬達會受到電力、負載與其他種種外在因素,沒有編碼器的馬達就無法得知其正確位置而導致誤差愈來愈大。因此應用在機器人上的馬達大部分都會有編碼器來得到更好的精確度與控制效果。樂高馬達的編碼器解析度為1度,高級馬達的編碼器解析度會更精細,當然也就愈貴囉!

開始玩機器人

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

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

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

STEP1 登入畫面:

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

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

 

STEP2 程式初始化:

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

在點選連線清單之前(ListPickerConnect 的BeforePicking 事件), 需先將清單內容指定為Android 裝置上的藍牙配對清單(圖5a)。點選之後則先測試連線是否成功,成功則將「斷線」按鈕設為可點選(圖5b)。


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


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

 

STEP3 讓馬達前進指定的距離:

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

本範例的架構相當簡單,點選「前進距離」按鈕就會呼叫MoveForward指令, 讓兩個馬達同時以電力50 來行走我們所輸入的距離。在此我們透過一個if 判斷式,當您尚未輸入任何數字之前,按鈕事件的內容將無法執行,事實上是因為如果該欄位為空的話將造成程式當機按鈕將無法點選。

另外由於速度過快機器人容易衝過頭而導致計算不準,在此不建議您使用太高的電力值(圖6)。


圖6 按下按鈕讓機器人前進指定距離。

STEP4 讓馬達轉動指定的角度:

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

您應該發現了吧,App Inventor管太多啦! 一般來說我們都是使用馬達編碼器值搭配輪胎尺寸來算出機器人的移動距離。但NxtDrive.MoveForward 指令這樣子包起來的話, 反而使我們無法取得馬達的編碼器值了。幸好, 在NxtDirectCommands元件中有一個設定輸出端狀態(SetOutputState)指令,它的tachoLimit 欄位就是編碼器值,可在此直接指定馬達所要轉動的角度,每次轉動到這個值的時候就會自動停下來。

在圖7a 中,點選「轉動角度」按鈕就會呼叫SetOutputState 指令,讓兩個馬達同時以電力50 來轉動我們所指定的角度值。其實這才是所有AppInventor 中有關樂高機器人輸出指令的真實面貌,它是根據樂高官方所定義的直接指令,以位元陣列的方式來直接與樂高NXT 主機的韌體進行溝通。當然,要達到這樣的效果是需要一點功力的,所以App Inventor 開發小組就幫您把常用的樂高控制指令都包好了,我們只要直接呼叫使用即可。


圖7a 按下按鈕讓馬達轉動指定角度。

以SetOutputState 指令來說, 就是以藍牙通訊的方式,一次向NXT 機器人發送15 個位元組長度的位元陣列,機器人收到之後就可以自動執行對應的內容。這也就是為什麼我們不需要編寫機器人端的程式就可以控制樂高機器人,是不是非常方便呢?

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

表

如果我們要用SetOutputState 指令來達到與MoveForward 指令一樣的效果的話,就要先算出馬達轉一度所代表的圓周長,再計算出要前進的距離(圖7b)。這樣雖然計算比較繁複,但對於開發者來說,這種作法的彈性是比較大的。由於篇幅關係,我們無法詳細介紹所有欄位的意義,如果您想要對樂高直接控制指令一探究竟的話, 請由樂高MindStorm官方網站下載藍牙開發套件的文件。


圖7b 用SetOutputState 指令達到MoveForward的效果。

 

STEP5 斷線:

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


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

 

操作

實際執行的時候,請先確認NXT 已經開機且藍牙也啟動了。接著在您的Android 裝置上點選畫面中的「NXT 裝置清單/ 連線」按鈕,會進到如圖4b的藍牙清單畫面,點選您所要的NXT主機名稱並連線成功後,就能輸入距離或是角度來控制機器人了(圖9)。


圖9程式執行畫面。

本範例介紹了如何讓機器人移動指定距離以及讓馬達轉動指定角度,這都是透過。期待您從本期專欄的內容來激盪出更多有趣的火花。請繼續關注CAVE 的機器人專欄唷!

 

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


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

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

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

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

0

0
0

文字

分享

0
0
0
癌症治療方法有哪些?臨床試驗有哪些評估面向?
careonline_96
・2024/04/19 ・2447字 ・閱讀時間約 5 分鐘

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

給 每一位剛踏上抗癌路上的鬥士與戰友

醫學中心的臨床試驗機會多,病友們也存在一些錯誤的迷思,我們需要了解,臨床試驗是依據現今最標準的治療方式進行,參加臨床試驗的對照組,也有機會可以使用到健保沒有給付的藥物。不過,現有的臨床試驗不一定都適合每一位病友,病友們一定要與主治醫師充分討論自己的治療計劃,即使是晚期肺癌,只要隨時掌握疾病的狀況,找到合適的治療方式,便能穩定控制,與癌共存!

台大醫院胸腔科廖唯昱醫師

臨床試驗增加用藥可近性 為病友延長生命

一名年約 82 歲女士,手術後確定是肺癌第三期,後續接受輔助性的化學治療,在追蹤一段時間後復發,由於當時沒有很好的基因檢測與標靶藥物,僅能接受放射線治療、化學治療控制。廖唯昱醫師說,病友面對治療仍相當樂觀,治療一至兩年後,幸運地找到適合的臨床試驗,便開始使用標靶藥物,其中有兩到三年的時間,只需單純使用標靶藥物即可控制病情,病友也因此延長生命到近 90 歲。

臨床試驗是醫療機構依據醫學的理論,於人體施行新的醫療技術、新的藥品或新的醫材。廖唯昱醫師說,最主要的目的是希望找到一個新的、更有效的治療方式,讓病友可以延長生命,甚至達到治癒。對於晚期肺癌病友而言,最佳的治療方式可能是標靶治療、免疫治療,或是化學治療,若是健保有給付,我們會選擇用健保的方式進行第一線治療;若是對病友最有利的治療方式健保未給付,我們即會想辦法協助病友尋找適合的臨床試驗。

罕見基因治療武器有限 先確定驅動基因再找合適的臨床試驗

面對臨床試驗,可以從兩個方面評估,廖唯昱醫師說,若是新發現的基因突變與新研發的藥物,病友可以先觀察第一期臨床試驗中,新藥物可以達到的治療效果,以及可能出現的副作用,等到狀況較成熟後再加入;假如已通過第一期、第二期臨床試驗,並且清楚知道新藥物的成效,即可考慮加入第三期,無論抽到實驗組或對照組,其實對整個治療都有一定的幫助。

此外,對於一些罕見基因型的肺癌,由於治療武器較有限,病友常期望可以加入臨床試驗,廖唯昱醫師說,在加入臨床試驗前,需要先確定肺癌的驅動基因突變,再去尋找適合的臨床試驗。然而,臨床試驗通常會設定一些條件,如藥物可能有已知的副作用,在臨床試驗開始前,便會需要作詳細檢查,確認病友的所有狀況符合條件後,才有機會加入。

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

近年來,肺癌治療有大幅進展,標靶治療、免疫治療、化學治療都持續進步。廖唯昱醫師說,即使是晚期肺癌,只要隨時掌握疾病的狀況,找到合適的治療方式,便能穩定控制病情,而且在接受治療的同時,病友可以回復正常的生活,甚至恢復工作,也能保有良好的生活品質。

他的故事 談生活品質

踩穩自己的節奏 癌後體會慢下來哲學

村上春樹的小說《舞舞舞》,不論世界如何紛亂,你要踩穩自己的舞步和節奏。我在 70 歲確診第四期肺癌,剛開始是肋骨痛,那時剛巧有人推壞我的門,花了些時間把門拆下來再裝回去,第二天睡醒,肋骨開始痛,一直誤以為是修門太費力導致疼痛,就近在診所拿止痛藥,吃了七個月,也耽誤了黃金治療期。

我從事鐘錶業,累積非常多客戶,都是靠著口碑、耳傳而來,客戶群裡有很多醫師。那時有四、五位醫師朋友提醒檢查身體,台大醫院廖唯昱醫師是我 20 年的好友,要我去他的門診掛號,我一直推拖,隔了一年多才就醫。或許是身體在抗議,過去熬夜修錶、抽菸是生活的常態,也不太吃東西,一天大概吃一餐,工作與生活都失序。

加入臨床試驗,接受免疫治療兩年與服用標靶藥物四年,目前病況獲得穩定控制。我很幸運,藥物耐受力不錯,除了體重掉 10 公斤,沒有出現副作用,就是容易累,以前可以連續工作 12 小時等結案再離開桌子;現在工作兩個半小時就需要休息,等體力恢復後才能繼續,以前閒不下來,生病後把休息排到行程表中,做個慢下來的人。

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

我過去是海陸步兵,曾經四個月背 30 公斤裝備行軍,磨了三年,十年沒有感冒過,因為有練過,體力一直很好,從來不覺得癌症這件事會找上我。客戶常來找我聊天,分享生活及心裡的感受,一個朋友後來也罹肺癌,他把我當模範,看到我不會埋怨也不會負面思考,讓他覺得安心也可以樂觀面對。

工作之餘,我會帶著狗兒子到公園玩,一拿出牽繩,狗狗就興奮得狂跳,台灣土狗體力好、運動量大,常常拉著我跑,增強健康也減少肌肉衰退。選擇適合自己的運動很重要,起床和睡前我會練啞鈴,各 20 分鐘,讓我維持好手力,現在還有 700 隻錶等著我,很多客戶勸我不要再收錶了,其實,「專注心之所向」可以釋放壓力及擁有成就感,反而能好好過生活。

生命自會找到出路!提醒學弟妹,接受已發生的事實,調整生活節奏,緩下腳步了解身體的需要,也不妨把罹癌當成一件事去鍛煉它、面對它,把生活重心放在自己喜歡的事物上,就不會被情緒左右。

0

0
0

文字

分享

0
0
0
【suno AI】五音不全也沒關係,讓 AI 幫你唱歌!這些 AI 是怎麼做到音樂生成的?
泛科學院_96
・2024/04/18 ・459字 ・閱讀時間少於 1 分鐘

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

不知道大家有沒有被傳說中的OO緊縮術攻擊,總之小編是中招了。

有時候一個人上網也是挺無助的,手足無措的我就想了解一下歌曲生成的魔法是怎麼出現的。

今天就讓我們來評測一下線上歌曲生成的服務,順便說說這些聲音生成是怎麼做出來的。

廢話不多說,讓我們開始吧!

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

你有用過什麼更好笑,更好用的 AI 音樂生成工具呢?

我們最近有在研究怎麼用 AI 剪片,還有……AI 女友。

想看剪片的打+1,想看女友的打 <3

有其他想要看的 AI 測試或相關問題,也可以留言分享喔!

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

更多、更完整的內容,歡迎上泛科學院的 youtube 頻道觀看完整影片,並開啟訂閱獲得更多有趣的資訊!

討論功能關閉中。

泛科學院_96
29 篇文章 ・ 38 位粉絲
我是泛科學院的AJ,有15年的軟體測試與電腦教育經驗,善於協助偏鄉NPO提升資訊能力,以Maker角度用發明解決身邊大小問題。與你分享人工智慧相關應用,每週更新兩集,讓我們帶你進入科技與創新的奇妙世界,為未來開啟無限可能!

0

0
0

文字

分享

0
0
0
降低罹癌風險這樣做!肝癌預防、晚期治療一把罩
careonline_96
・2024/04/17 ・2301字 ・閱讀時間約 4 分鐘

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

罹癌就得放棄工作?晚期肝癌口服標靶藥助彈性兼顧工作與生活!晚期肝癌治療圖文懶人包

台灣肝癌每年約有上萬名新確診的肝癌個案,其中又以 45 歲以上、具備勞動生產力的族群佔多數 。而肝癌因早期症狀不明顯,直到腫瘤較大才可能出現腹脹、腹痛、黃疸等症狀,等到確診肝癌時已有約三成患者為不適合手術治療的晚期〔1〕,且疾病惡化速度快〔2〕。臺大醫院癌症微創中心黃凱文主任指出,根據最新的癌症登記報告,110 年新增的罹病數中 45 歲以上男性近七成〔1〕。可見對於勞動階級的威脅之大,罹病後可能嚴重他們的生活與生計。

發現時為時已晚的肝癌

晚期肝癌新藥藏自費風險,健保申請成功率不到五成

針對早期肝癌,一般會先評估進行手術治療。黃凱文醫師說明,中晚期肝癌除了使用手術局部治療外,若病人的狀況許可,還可進行全身性藥物治療,包括標靶藥物、免疫藥物等。晚期肝癌的健保用藥中,目前有一線藥物三種藥物,病人只要符合相關條件,醫師便會協助申請使用,其中有一項是新通過的標靶加免疫藥物的免疫治療組合〔3〕

然而最新的藥物並不一定對病患就是最好的藥物。黃凱文醫師提醒:「目前健保規定三種藥物中只能擇一給付,倘若治療效果不明顯想改用其他藥物,接下來病人有可能要自費使用。」而新藥標靶加免疫的治療組合,相對於另外兩款藥物,健保給付條件較嚴格,如果半年內腫瘤沒有持續縮小,健保便不再給付〔4〕。若要自費繼續使用,經濟負擔就相當沉重。

「就我個人的經驗而言,第一次申請新藥大約只有四成晚期病人可以滿足健保給付條件,而後續第二、三次申請中,目前僅有一半病人能夠續用新藥。」對於健保續用狀況,黃凱文醫師如此分享。

-----廣告,請繼續往下閱讀-----
晚期肝癌治療解析

選擇適合的治療方式,穩定用藥維持生活品質

健保通過新藥後,肝癌治療選擇增加,黃凱文醫師指出,標靶加免疫的治療組合與口服標靶藥物的反應率、治療成效相近,不過標靶加免疫的治療組合採用針劑注射,病人需要每三週回診接受治療;而口服標靶藥,只要在家服藥每日一到兩次,病人無需每月來回跑醫院,回診次數相對少很多,對生活及工作影響也較小。

現階段晚期肝癌的治療,標靶藥物與免疫藥物都能發揮治療成效。在這些治療選項中並沒有絕對較好的選擇,重點在於適不適合。黃凱文醫師說明,醫師都會與家屬、病人詳細討論。綜合考量,每個人的健康狀況、家庭環境、經濟考量後,共同決策選擇合適的藥物。

由於肝癌早期沒有症狀,具有危險因子的民眾一定要定期追蹤檢查,早期發現、早期治療能夠達到較佳的預後。黃凱文醫師提醒,B 型肝炎或 C 型肝炎帶原者應該及早接受治療,現在已有成效卓越的抗病毒藥物,能夠避免肝臟持續發炎,降低罹癌風險。若確診中晚期肝癌,請不要灰心。黃凱文醫師說,肝癌的治療藥物持續在進步,治療選擇也越來越多。病人只要和醫療團隊密切配合,按部就班接受治療,便有機會達到長期存活!

降低肝癌風險

筆記重點整理

一、 肝癌初期大多沒有症狀,在台灣,新增的肝癌個案中約三成肝癌患者在確定診斷時便是中晚期肝癌,不適合接受手術治療。肝癌的危險因子有很多,包括病毒性肝炎(如 B 型肝炎、C 型肝炎)、肝硬化、脂肪肝、體重過重、酒精性肝炎、抽菸、黃麴毒素、家族病史等。

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

二、 針對早期肝癌,一般會先評估進行手術或消融治療。而中晚期肝癌,除了使用手術局部治療外,若病人的狀況許可,還可進行全身性藥物治療,包括標靶藥物、免疫藥物等。

三、 標靶加免疫的治療組合與口服標靶藥物的反應率、治療成效相近,不過標靶加免疫的治療組合採用針劑注射,病人需要每三周回診接受治療,而口服標靶藥,只要在家服藥每日一到兩次,有助減少回診次數,對生活與工作的影響較小。

四、 新藥的健保給付條件相對較嚴苛,如果半年內腫瘤沒有持續縮小,健保便不再給付,患者需要自費使用藥物。

五、 現階段晚期肝癌的治療,標靶藥物與免疫藥物都能發揮治療成效。在這些治療選項中並沒有絕對較好的選擇,重點在於適合患者個人的狀況。

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

參考資料

  1. 衛生福利部 110 年癌症登記報告
  2. Nathani, P., Gopal, P., Rich, N., Yopp, A., Yokoo, T., John, B., Marrero, J., Parikh, N., & Singal, A. G. (2021). Hepatocellular carcinoma tumour volume doubling time: a systematic review and meta-analysis. Gut, 70(2), 401–407. https://doi.org/10.1136/gutjnl-2020-321040
  3. 衛生福利部 全民健康保險藥物給付項目及支付標準共同擬訂會議藥品部分第 62 次會議紀錄
  4. 衛生福利部 藥品給付規定

討論功能關閉中。