Pixhawk之前期準備
一、開篇
研究四旋翼飛行器(俗稱無人機)也有兩個多月了,一直想寫點東西,沒來的及動筆,現在整理思路稍微寫寫,都是關於自己在學習和研究四旋翼飛行器控制演算法過程中遇到的一些問題和感悟。
進入無人機行業主要還是因為導師的原因,我本身比較對BLE比較感興趣,前面學習的都是關於BLE開發的,但是師命難為,懵懵懂懂的踏入了無人機行業,這個高大上逼格略高的行業。無人機的門檻比較高,只要你踏過去了,一切都比較順手了。提前說一下,用於pixhawk的這套飛控原始碼本身是面向機器人的、多平臺的,注重OOP,所以是清一色的純C++,對於我這種只會C語言的來說,看起來很是頭疼吶,但是本著知難而上的精神,還是硬著頭皮上吧。原本專案經驗比較充分,所以看起pixhawk的程式碼框架還是比較順利的,好吧,我在自戀中~~~~
為了湊足三段式,才有的本段文字。
三、實驗平臺
Software Version:ArduCopter(Ver_3.3)
Hardware Version:pixhawk
IDE:eclipse Juno (Windows)
四、元件購買
首先,玩無人機必須手上要有一套原型機,提前感性的對無人機有個客觀的認識,不然在分析原始碼的過程中都不知道某一段程式碼具體是實現什麼功能的,我是從購買無人機各個元件開始的,這個感謝我們萬能的某寶,沒有你找不到的只有你想不到的,在購買元件時可以根據自己的經濟條件選擇不同價位的,便宜的幾十元上百元可以買一套、貴的幾千元上萬的也有,就看個人用途定位於低端還是中高端了,我入手了兩套,一套8000+,因為身在校園,這個可以可以學校報銷,但是建議大家資金有限的情況下至少也要組裝一套像樣的,用途不大的配件如機架、螺旋槳之類的可以買便宜些的(有錢人還是買碳纖維的啊,一定要相信一句古話:便宜沒好貨),飛控板一定不要貪圖便宜,淘寶上就那幾家銷售關於pixhawk的飛控板,800元左右,買買買,一定要買。偉大的毛主席說過:有條件要上,沒有條件創造條件也要上。所以,還是買吧。前期一定要排除任何有關硬體出現的問題而影響對原始碼的錯誤認識。
選元件選了很長時間,由於第一次接觸這個東西,什麼電調啊、飛控板啊、接收機啊什麼的根本沒什麼概念,都是一頭霧水啊,整天的逛各大論壇,泡各大QQ群,感謝群裡面的幾位幫助過我的朋友,是你們引領我進入無人機的世界。瞭解了這些以後最大的問題就是組裝和除錯試飛,某寶裝機竟然要700+,我等屌絲只能自己琢磨了。下面上一張萬能的裝機的概念圖:(為什麼剛開始我沒有這張圖呢,哎)
希望上面這張圖能夠幫你迅速完成裝機。
五、試飛前的準備和試飛
成功裝機以後,首先除錯遙控器是否可以和無人機成功連線上,飛行過程中初期還是注意靠遙控器手動控制無人機,這個比較簡單,遙控器直接買別人的,我用的華科爾的D10,注意接收機和飛控板連線的對應關係,然後就是各種校準,校準時一定要 細心,這個可以在各個論壇或者百度上找到關於校準的視訊教程,比較好的就是“泡泡老師”的,還有就是英文官方上有關於校準的說明,很詳細,英語過關的可以去看看,我覺得還是看英文原版的比較好,下面給出常用網站(英文)的連結。
關於試飛,都是血淚史啊,墜機N次,心疼N次,第一次試飛一定要小心,裝機時一定要用螺絲膠固定螺絲,起飛時油門一定別一次性推的過大,機架大的一定不要在空中做特技等等。我相信每個人都是天才,每個人都會“研發”出一種新式的墜機方式。僥倖的是墜機了那麼多次,竟然螺旋槳從來有沒有斷過,哈哈~~~還有就是試飛要找草坪地試飛,千萬別在水泥地面上試飛,如果錢多,可略過此條建議。
六、總結
剛開始試飛時比較艱難,所以是一邊試飛一邊分析pixhawk的原始碼,編譯環境的搭建也不簡單哦,某寶開口就是2000的費用,國內搞二次開發的應該不多,主要集中在各個高校中吧,某寶是不是覺得高校科研經費多所以才獅子大開口啊。幾個人經過了一番周折之後終於把環境搭建OK並且編譯成功了,也測試了編譯後的原始碼,都OK。程式碼框架比較龐大,分析起來不是那麼的簡單,接下來打算再用2個月的時間把整體框架搞懂吧(框架、框架、框架),原始碼編譯是在Windows下使用eclipse中的交叉編譯環境編譯的,其中不範是一些.mk檔案,從.mk檔案中可以清晰看到檔案的呼叫關係,下一步打算移步到Linux環境下研究程式碼,很長一段時間沒用Linux系統了,快要忘記光了,加油吧。
下一篇UAV的帖子就開始寫關於原始碼的分析了,現在研究了一部分了,大致瞭解原始碼架構和各個部分的作用了,然後繼續深入到每個定義檔案和函式,還有就是需要學習傳說中OOP的C++。希望找工作前可以把它拿下~~~
對了,還有就是基本的理論知識的學習,比如資料融合、姿態結算、卡爾曼濾波、PID控制、模糊控制等等,一大波論文要看,還有該死的畢設啊,無從下手~~~~
最後加一張UAV的定高三級反饋控制原理圖,很多都是基於這種方式進行控制的。
是不是覺得上面這幅圖很小?沒關係,滑鼠箭頭放在上圖的上面,左擊,別鬆手,任意方向拖動,放手,看到沒,大圖出來了~~~~上面這幅圖的控制過程要熟記於心!!!
相關推薦
Pixhawk之前期準備
一、開篇 研究四旋翼飛行器(俗稱無人機)也有兩個多月了,一直想寫點東西,沒來的及動筆,現在整理思路稍微寫寫,都是關於自己在學習和研究四旋翼飛行器控制演算法過程中遇到的一些問題和感悟。 進入無人機行業主要還是因為導師的原因,我本身比較對BLE比
Django開發小型站之前期準備(一)
不同的 版本 mysqld 沒有 pycha 準備 pre 系統 解決問題 語言:python3.5 工具:JetBrains PyCharm virtualenvwrapper優點: 1、使不同的應用開發環境獨立 2、環境升級不影響其他應用,也不會影響全
轉發-Django開發小型站之前期準備(一)
mysql模塊 需要 一個 3.5 查看 安裝mysql 不同的 方法 html 語言:python3.5 工具:JetBrains PyCharm virtualenvwrapper優點: 1、使不同的應用開發環境獨立 2、環境升級不影響其他應用,也不會影響全局
零基礎學習 Python 之前期準備
寫在之前 從今天開始,我將開始新的篇章 -- 零基礎學習 Python,在這裡我將從最基本的 Python 寫起,然後再慢慢涉及到高階以及具體應用方面。我是完全自學的 Python,所以很是明白自學對於一個人的考驗,所以在這裡我會盡我最大的努力,把 Python 儘可能簡單的表述清楚,讓更多想要學習 Pyt
叢集搭建1之前期準備
軟體版本準備 1.hadoop-2.6.0-cdh5.7.0.tar.gz 2.jdk-8u45-linux-x64.gz 3.zookeeper-3.4.6.tar.gz 需要軟體的小夥伴可以評論裡面留下郵箱地址 建立hadoop使用者上傳軟體 1.在/home/hadoop(
第一課 從零開始學Spring boot 之 前期準備
1、開發環境:win7 64位操作 或mac (本系列文章基於mac開發)2、開發工具:Eclipse + Jdk1.8 + Maven3 、官網及地址 OK,一切準備就緒,下面就開始我們的程式設計之旅了。
比特幣原始碼解讀之前期準備
前言 筆者從今天開始對bitcoin 第一個發行版v0.1.0版本進行原始碼分析(ps. 網上對比特幣高版本的分析文章很多,但是介紹第一個版本的分析很少,系統全面的分析第一個版本更是寥寥無幾)。讀者如果需要了解學習區塊鏈技術,可能從第一個版本中受到啟發。這是一系列
Pixhawk(PX4)之驅動詳解篇(0)_前期準備(招賢令)
一、開篇 開源精神常在!!! 誰說軟體工程師看不懂硬體原理圖。 經過一段時間的考慮,加上綜合那麼多次培訓班學員的反饋問題,決定深入研究一下PX4系統的驅
第四節:框架前期準備篇之進程外Session的兩種配置方式
connect 也會 strong 缺點 col 客戶端 配置 ott 小學生 一. 基本介紹 1. 背景:Asp.Net默認的Session機制是進程內,存儲在服務器端內存中,有這麽幾個缺點: ①:既然存在內存中,空間有限,不能存儲大數據量信息,數據量多的話S
Hadoop之——Hadoop2.5.2 HA高可靠性叢集搭建(Hadoop+Zookeeper)前期準備
今天是十一長假的第三天,節前,很多朋友發來私信說,網上基於HA的Hadoop叢集,動不動就是7、8臺伺服器,甚至是10幾臺伺服器,自己的電腦Hold不住這麼多虛擬機器啊!有什麼辦法可以將伺服器縮減為3臺嗎?今天,我就為大家帶來一篇如何在3臺CentOS 虛擬機器上搭建基於
籬笆家裝寶典之十六——裝修前期準備
16.1. 《前期準備之裝修費用篇》 http://video.liba.com/detail.php?id=89&aid=1 傢俱裝修總費用=主材費用 + 輔材費用 + 人工費 + 設計費 + 管理費 + 稅金 1. 主材費用,指按施工面積,或單項工程涉及的成品和半成品的材料費用,如木地板、
Windows App開發之開發準備
window eba 屬於 新特性 popu ret 虛擬機 其它 post 操作系統及SDK 操作系統 顯而易見。想要開發Windows App就得在Windows 8/8.1/10上進行。老舊的Windows XP/Vista/7已經不能滿足
CentOS7.1 Liberty雲平臺之環境準備(2)
data- ins table perm pen soft 數據庫 mct 環境 一、各節點配置Openstack源庫 yum install centos-release-openstack-liberty -y升級YUM源庫 yum upgrad
GITHUB(3.1)前期準備
功能 class 用戶信息 spa 方法 font url ext text 創建GitHub賬戶 打開創建賬戶頁面:https://github.com/join Username 您創建的ID,用英文和數字寫。您的公開頁面的 URL(http://github.com
Docker容器部署與管理入門培訓,你需要的前期準備都在這裏!
Rancher 在線培訓 Docker入門 容器技術憑借其輕量化和快速部署的特性,被越來越多企業開發者贊譽,近兩年來發展態勢可謂炙手可熱。去年一年,Kubernetes的流行度持續快速上升,我們有理由相信在不遠的未來,Kubernetes將成為通用的基礎設施標準。開源的全棧化企業級容器管理平臺Ra
Python爬蟲基礎知識及前期準備
多多指教 arm 讀取 第一次 小項目 網信 替換 mark python爬蟲 學習爬蟲有一小段時間了,於是決定把自己學爬蟲時所學的,寫過的代碼以及看過的文檔記錄下來,權當小結。第一次寫這些,如果有錯誤,請多指教。 首先我們需要了解一下什麽是爬蟲。 根據百度百科上給出的定義
openstack-on-centos7之環境準備
ifconf 數據庫 ror linu 映射 插件 依賴 net chkconfig centos7配置靜態ip ifconfig查看網卡信息並獲取到網卡的名稱eth0s3 ifconfig 進入到網卡配置目錄 cd /etc/sysconfig/network
搭建一個項目的前期準備
uglify -a hint mongoose 模塊 驅動 str 文件編碼 編碼 後端:node(驅動) + mogodb(數據庫) + express(node框架) + mongoose(快速建模工具) + moment.js(時間和日期格式化) + jade(模
Django 項目之--環境準備01
class ace 系統環境 就是 list align 視圖 python2.7 nor 1.環境準備; (1).python 版本 3.6.0 (2).Django 版本 1.8.22.windows 開發環境老是出現文件編碼和各種環境問題; (
ORACLE 18C RAC+REDHAT7.5集群安裝文檔之系統準備篇
mark type term pro blog redhat7 ora 分區 linux7 環境介紹:vmware12+redhat linux7.5 x86_64+oracle 18C系統安裝創建虛擬主機 系統分區選擇桌面環境執行安裝過程說明:1、系統安裝時,GRID的安