Connect PX4FLOW to QGroundControl

I followed the document PX4FLOW Developer Guide, connected QGroundControl to PIXFLOW finally.

PX4FLOW data output in QGroundControl
PX4FLOW data output in QGroundControl

The picture above is output ofOPTICAL_FLOW.flow_x and flow_y

I have some questions when start:
Q: Connect Pixhawk or PX4FLOW to PC when upload firmware?
A: Connect FX4FLOW to PC using USB

Q:VIDEO_ONLY set to 1, butVideo Downlink in QGroundcontrol can’t show PXFLOW’s video output (use it to adjust focus only)
A:upgrade QGroundcontrol to version 2.2 or up

Qgroundcontrol can't show PX4FLOW video
Qgroundcontrol can’t show PX4FLOW video

Q:What is focus range PX4FLOW?
A:I did a test, the result is 0.4 – 0.8m.
( remark: document recommend to set the focus to 3m, I can do it by adjusting the lens of PX4FLOW )




 

Q:How to wiring to Pixhawk?
A:Connect PX4FLOW UART3 to Pixhawk’s serial port. Default id TELEM2


 

Finally I did a outdoor flight test, check here.

Hello Sky! My first Pixhawk Onbroad App

nsh連結到Pixhawk後,今天試行First Onboard Application Tutorial,很順利地收到Pixhawk accelerometer的資料。我把運作的過程拍下了,可以看看:




PX4FLOW is not easy to kick-off

更新(2015-08-06):由於APM Copter3.3的更新開始支援Optical Flow LOITER,使這篇文有點outdate了。我的PX4FLOW project也成功重開了。

PX4FLOW under QAV500
PX4FLOW under QAV500

和Pixhawk一起買了PX4FLOW,很想用它起碼可以做到室內的Autonomous Position Hold。 但它不是想像中的容易使用,網上可以找的文件不多,要看的幾乎都被我看過了。Forum的討論就問的人多答的人少,還有人怪罪於3DR會賣一件產品但沒有任何支援的,起碼也要在網站上說明,這個東東不被APM Planner支援哦。

但我相信還是可以找到方法的,再努力點。可能要靠自己看source code了。始終,都是open source project,所有code都在,還有examples,看不明,做不到也怪不了人吧。

如果你有興趣或正在做相同的事,search到了我這裡來,留個言,看看有沒有可以交流的地方。

PX4FLOW
PX4FLOW



這條片幾乎給我看破了。










有些人還是做到了,但好像很神秘,沒有一個寫出過程,更不用說提供原碼了。

讓我做到吧,我一定會把過程詳細列出的。祝我好運吧!


 

後記:

我終於知道為什麼很多人做到了,但沒有一個把「如何做」提供出來,原來很多條YouTube都是假的!請看這裡一位PX4的核心developer說什麼。

https://groups.google.com/d/msg/px4users/wXcDtNzXNRU/2utFB17F0dMJ


 

更新:




終於有人在APMCopter做了,有source code的,要試試。

https://github.com/priseborough/ardupilot/tree/ekfOptFlow-wip

Start My Pixhawk Programming Journey

幾個月前開始,努力在看PX4 development的文件,不過主力還是要有一隻可以試驗的multicopter,最近這部機還算可以了。今天,正式開始我PX4 programming的旅程。

跟著文件做開發環境設定
Setting Toolchain
http://pixhawk.org/dev/toolchain_installation_mac

Connect Pixhawk form NuttShell (NSH)
https://pixhawk.org/users/serial_connection

Connect PX4FMU by NuttSgell
Connect PX4FMU by NuttSgell, listing the Pixhawk’s directories.

 

Viewing Pixhawk's running program from NuttShell
Viewing Pixhawk’s running program

Building and Flashing Firmware
https://pixhawk.org/dev/nuttx/building_and_flashing_console

終於可以第一次用Terminal build到PX4FMU的firmware,和upload上Pixhawk。

整個過程不算太難,有問題都在forum上serach到解答,裡面的人都很願意幫人,很基礎的問題也用心回覆。

我用Mac來做開發平台,文件也很夠,只是夾雜著LINUX,Windows的文件,有時會難找,有時也不知道這項是不是for Mac的。等我有時間,會寫一個專for Mac的中文install workflow,讓有興趣入門的朋友,不會因為install不到而放棄。

下一步要走一次HelloSyk的Tutorial,看看是如何編自己的onboard app。祝我好運!
https://pixhawk.org/dev/px4_simple_app

 

Test Flight at Night

黑麻麻,上天台,放飛機。(本片質素麻麻,請見諒)




Measuring Vibration of HK Dart 250 frame

Pixhawk in the Shell是我以Hobbyking Dart 250砌的試驗機。Dart 250的機架很軟,不像ZMR250以碳纖為㡳板堅固,但它抄了QAV400 clean + dirty frame的設計,把飛控與motors機架以bobbins分間,提供了很好的防震力。

Hobbyking Dart 250 damping

在室內試飛後,查看飛行記錄,AccX及AccY都能保持在+-0.5之內,以這個平價機架來說,是很不錯的數值。(ps. 我的props未有平衡,而且有點破)

Dart 250 vibration log
Dart 250 vibration log

 (有關如何查看震動記錄

Flying Dart 250 at home
Flighting Dart 250 at home

OPTO ESC Problem with Pixhawk

有了第一次組裝的經驗,以為這隻Pixhawk in the Shell會好簡單,就這樣掉以輕心,終於被一個ESC問題困擾了我兩天有多。

請看我這張組件清單,ESC是Afro ESC 12Amp,在Hobbyking落單時,我不知道世界上有一種OPTO ESC的東西,我以為只要有SimonK就萬事大吉了。

Afro ESC 12Amp OPTO

但裝上CC3D後,不知道為甚麼只有一隻motor能動。我跟足上一次裝CC3D的方法做,只有一隻ESC有5V線插入CC3D,其他的移除。

CC3D ESC wireing

 

是CC3D有問題嗎?等到我收到Pixhawk送來,立即接上線試試,但問題還在,今次所有motors都不動。因為不知問題所在,上網找也不知甚樣找。

後來,對一下購物表,發現這次的ESC和上次的有點不同,
BEC: N/A OPTO
意思是你的ESC沒有BEC,不會有電源輸出。價錢又一樣,為什麼會小了這個功能?

問題會是ESC沒有電源輸出嗎?看看Pixhawk的接線圖,明明也沒有接上ESC的5V電源線,文件也說Pixhawk有獨立的電源,ESC的電源輸入只是backup。不太像,但都試到沒有其他方法,唯有接條5V線試試,上天保佑不要燒了隻Pixhawk就好了。Pixhawk RC + ESC wiring

我把5V線接上第5號接口,就這樣OK了!所有motors動起來,做calibration也成功了。為什麼要這樣?我還是不知道,你知道可以告訴我。

PS.
如果ESC那裡沒電,那裡找條5V線?我在Receiver裡偷。
d4r-ii-front
由於用CPPM輸出,實際會用的只是CH1,CH2-4都有電源輸出,我就由CH2取電,眼見沒有什麼問題,就當OK了。

 


後話:

後來發現ArduCopter的文件有特別說明如何連接OPTO,只是我沒有看到罷了。

Pixhawk-Correction-to-KDE-Optoisolated-ESC

 

此外,文中還說:

NOTE: Do not connect any servos to the direct PWM outputs of your receiver. The RCIN port on the Pixhawk is designed for low power devices only, and a servo may draw a lot of current when moving rapidly. If you connect a servo directly onto your receiver while the receiver is powered from the RCIN port of your Pixhawk you may damage your Pixhawk.

使我有點懷疑,是不是可以由receiver取電?如果用OPTP,看來要有獨立的BEC會安全一點。

 

Pixhawk in 250 frame

好想砌QAV500 v2+Pixhawk,又怕不熟識,如有意外損失太大,所以砌了一隻Pixhawk in 250機。

Hobby King Dart 250 with Pixhawk

把Pixhawk, GPS, 3DR Radio, FPV組件都裝入這部Hobbyking Dart 250裡,就用它來熟習一下Pixhawk。如圖所見,它搭載了很多組件,590g重量不輕,為了減重,我只使用了1500mAh的電池。飛行時間只有8分鐘(AltHold)。

  • Motor: DYS 2300kv
  • Propellers: Gemfan 5030
  • Battery: 1500mah 3S
  • Weight: 590g
  • Flight Time: < 8 mis.
  • AltHold : 50% throttle

(Pixhawk in the Shell 組件清單在這裡

Pixhawk in the Shell weigth 290g

初步試機很穩定,最重要的是它細小,可以讓我在室內嘗試各種設定,加快了我對Pixhawk的認識,也能熟習操控。使我更有信心裝組QAV500v2。

Hobby King Dart 250 with Pixhawk

Hobbyking Dart 250機架不是碳纖,所以機身有點軟。我只是當它是實驗機,不會做高速飛行,我想它還可以承受得到。

Hobby King Dart 250 with Pixhawk

DYS BE1806-13 2300kv的性能也不錯,590克+8分鐘的飛行,完全沒有過熱的跡象。我可以嘗試較大的電池,或加上GoPro,它應該還可以應付呢。

 


後記:

有一次,我由大約15米墜機,它的一隻臂斷了,我覺得它不及carbon fiber的機架堅固。