本周進度 (2/22~3/1) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑
目前進度 利用三軸感測器模擬遙控器前後左右共四動的情形。 範例影片如下 https://youtu.be/HPXF4YyN8Fc
目前進度 三軸感測器模擬接收機收到遙控器發送的前後左右(PITCH&ROLL)訊號,經過運算之後輸出給APM,APM接收的情形如影片。 https://youtu.be/R12ZfDU5D48
目前進度 目前已經將感測器輸出的值由ARDUINO接收運算後轉換為接收機輸出的PWM訊號,且APM也已成功接收且能使用此訊號。
Next 用感測器控制APM已經完成兩軸的部分,即PITCH與ROLL,之後就以兩塊UNO板,一塊為發送端,負責處理感測器訊號及運算輸出訊號,一塊為接收端,負責接收發送端送來的訊號,並以PWM訊號輸出給APM。 另一部分為使用Raspberry pi來完成影像傳輸的部分,預計使用MJPG-streamer來架設影像伺服器,使用手機來當螢幕
---------------------------------------------------------------- ---------------------以上是本周報告---------------------
(1/16~1/29) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁
目前進度 上次遇到的問題還沒解決,已經把任務0的SET_HOME補上,但是當我們給飛機MISSION_COUNT指令後,有收到來自飛機的MISSION_REQUEST可是我們傳送的MISSION資料都被飛機忽略
如圖,目前測試的結果就是每次都會收到來自飛機6次的MISSION_REQUEST,我們傳MISSION給飛機後飛機並沒有收到任務,所以沒有回傳MISSION_ACK,一開始我們以為是程式執行速度太快,後來有加上Delay和判斷式,來做傳輸過程的驗證,可是都沒有效果
解決方法 目前我們認為應該是我們的參數給的不正確導致飛機忽略我們給的任務,所以我們利用MISSSION PLANNER規劃一個簡單的任務,並導出成檔案,圖中的參數目前已經知道幾個,分別有任務順序,CMD_ID ,PARAM1 ~ PARAM7 ,還有幾個需要解開看看是甚麼參數
裝上護槳框 已改進上一次的不足之處,並有特別做些加強,目前使用上還算堅固
欲報名參加的競賽
---------------------------------------------------------------- ---------------------以上是本周報告---------------------
(12/18~12/23) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁
繪製護槳框 使用Freecad繪製螺旋槳保護框
護槳(螺旋槳)框部分 改進部分:側面弧形部分不需要填滿,這樣可以減少耗材並減低重量讓飛機不會過重,同樣為了減低耗材的部分,也會試著將底部半圓形轉成小於180度的方式。
程式部分 這裡拜把上禮拜未完成的部分完成後執行時發現APM並沒有如我們預測的將我們給胎的mission存起來,我們的城市也都只是做送指令的動作並沒有確認有沒有成功,為了可以讓我們知道城市的執行情況,在程式裡面增加了許多驗證用的判斷式,傳送MISSION時有成功收到APM回傳的Mission_request的話就顯示get request,沒有的話則顯示Not get request 。
程式碼 另外在寫MAVlink封包的時候需要注意封包類型,像上圖是要傳送mission_count ,那麼MAVLINK_MSG_ID就需要指定為MISSION_COUNT ,如果是傳送解/上鎖和 更改飛行模式這類的控制指令的話就需要指定成COMMAND_LONG 。
狀況與Next 目前程式的部分是成功的把MISSION_COUNT傳送給APM並取得APM的MISSION_REQUEST,MISSION_ITEM也可以傳送成功並收到來自APM的MISSION_ACK,但是傳送完之後APM沒有把傳送的任務儲存起來,尋找問題之後發現,在我們給他起飛指令作為第一個任務之前我們還要給他一個SET_HOME作為任務0,SET_HOME是用來設定飛機原點的指令,可以用飛機執行指令當下的GPS座標或是指定我們要的座標當作他的原點。 Next:把任務0補上,並測試起飛以及之後的懸停。 參考資訊連結: https://pixhawk.ethz.ch/mavlink/
(12/11~12/17) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁
APM路徑規劃通訊流程 要將我們設定好的路徑寫入APM中需要遵循MAVLINK的傳送流程。 分析測試後目前程式編寫流程如右。 MISSION_COUNT要定義有幾個任務,這裡有幾個COUNT之後APM就會回傳幾次REQUEST 。 MISSION_ITEM要定義要給飛機的指令,經緯度,高度…等任務資訊。 圖片要記得繪製箭頭!!
繼上周將解油門及鎖油門的指令寫入後,現階段則是將起飛等等的指令寫入APM中。 編寫過程中發現,並非直接將命令寫入就行,必須要將完整的飛行任務都定義好且參數都正確後,才能寫入APM。 基本上就是要定義一個完整且有效的飛行任務; 設定Home點→起飛→目的點1→目的點2 → … → 降落。 上面任務流程中的最後一項不一定要為降落,可以給APM下一直在定點璇停的指令。 當任務寫入完後, 只需再給予MISSION_START指令便會執行寫入好的任務,地面站便不須再給予任何控制指令干涉。
遇到的問題 沒有遇到問題,只是程式還沒完善,還在編寫,預計下禮拜會測試飛機實際執行任務的情況
(12/4~12/9) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁
本周進度 利用MavLink的Library去撰寫一個簡易的解鎖油門和上鎖油門功能的控制端,在學會運用MavLink Library的指令之後就可以增加其他我們要的功能,做出具有路徑規劃,巡航等功能的地面站。
ARM/DISARM 控制測試影片 測試影片連結網址:https://www.youtube.com/watch?v=_4llg7gzrJk 利用MavLink的Library去撰寫一個簡易的arm和Disarm功能的控制端
Next 加強學習使用MavLink Library ,接下來會嘗試用MavLink Library送起飛指令給飛機,然後開始測試並紀錄影片,若測試結果穩定,會繼續加上後續功能;降落與利用GPS定位飛行等等。
(11/27~12/2) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁
重新分析專題方向與狀況,將原本的Arduino移除,讓APM與電腦做直截連接,想以MAVLink的通訊協定去做中間的連接,然後試著去完成地面站的架設,國外的高手在網站上寫了很多功能,但程式碼較為複雜要使用還需要解析理解完才行。 Mission Planner是APM熟悉的操控軟體兼地面站,在網路上找到開發者版的Open Source,並且他是用VS C++去撰寫的,所以將參考使用它去架設屬於我們的地面站。 相關連結: 1: https://github.com/mavlink 2: http://qgroundcontrol.org/mavlink/start 3: http://dev.ardupilot.com/wiki/buildin-mission-planner/ 4: https://github.com/mavlink/c_library
Mission Planner的開元函式庫 資料來源: https://github.com/diydrones/MissionPlanner Mission Planner的開元函式庫
資料來源: http://qgroundcontrol.org/dev/start Qground Control的開發者資料來源
雜項 整理P306實驗室 承接&學習學長行政工作的部分(並分配工作) 製作碩士推甄備審資料。
(11/20~11/26) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁
從網路上找到Arduino與APM連接的方法與測試程式,程式會用到MAVLINK與FATSERIAL這兩個library
雖然網站上有提供需要的library,但是版本比較舊,需要更新才能跟我們的APM搭配使用,這是目前最新的C語言 mavlink library
遇到的問題 更新完最新的library之後可能因為版本差距比較大, 沒辦法編譯成功,有許多地方需要修改,目前Mavlink對應的部分已經修改好,目前是Fastserial標頭檔對應的地方還有問題,需要再修改。
指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁 4A137026 簡宗胤 (11/13~11/19) 指導教授:【李博明】老師 組員: 4A13A017 紀家郁 4A137013 邱建傑 4A137025 白智仁 4A137026 簡宗胤
轉Java 嘗試把C++轉成可以跨平台的Java,為了快速將程式轉換所以搜尋了Eclipse編輯軟體的圖形介面套件(WindowBuilder),已安裝其工具列的功能的確應有盡有,Jframe、Btton這些都有圖形化,可以直接拉到旁邊的LayOut視窗,的確降低了在設計時要給他視窗位置大小或是座標等等,但相對的功能很多也很雜,而且大多是與Web相關,所以還在研讀當中。
目的 要轉型Java的原因有二,其一是為了跨平台、其二是為了要用Android裝置來操作以方便開發,但Java和Android基底相同 但是還是不同的語言,所以已詢問有學過Android App的同學相關知識,和推薦書籍,會兩方面嘗試看哪一塊更快可以達到想要的功能。 Google API Library:https://developers.google.com/api-client-library/java/apis/mapsengine/v1 JAVA書寫相關的範例網站: http://gogkmit.wikidot.com/demo:homemademapview http://cheng-min-i-taiwan.blogspot.tw/2013/04/google-maps-android-api-v2-android.html http://selfdesigning.blogspot.tw/2013/04/javaform-with-google-map-api.html
圖傳系統 即時影像傳輸的部分我們找到市面上常用的圖傳系統,右圖為TS832發射與RC832接收,圖傳系統,具有32個頻道,可以傳輸影像,我們找到的是600mW的版本,根據規格傳輸距離可達至少2公里。