當前位置:首頁 » 編程軟體 » px4編譯命令

px4編譯命令

發布時間: 2022-10-05 00:12:54

Ⅰ cygwin編譯px4怎麼安裝

這只是一個安裝程序,雙擊後開始安裝。 按照提示設置後安裝目錄。 然後選擇一個網站, 我選擇了台灣的一個ftp的點,速度很快。接著安裝程序會所要安裝的包的信息讀出來,這時我們可在 develp的子項中, 也就是開發包,這一類中選擇:
gcc
GNU gdb
GNU make
g++
vim
bash shell
這幾項要自己認真找下噢。其他的選擇默認安裝就可以了。

Ⅱ 怎樣用eclipse編譯 pixhawk px4飛控源碼

在window->proferences的設置對 project不起作用需要在 project-> properties 中對 c/c++ make project 的 binary parse 進行設置到 win 下。

Ⅲ ubuntu 環境下怎樣編譯pixhawk px4源碼

Ubuntu環境下Pixhawk原生固件PX4的編譯
分類:無人機ubuntu代碼編譯Pixhawk
(3946) (6)
Ubuntu下Pixhawk原生固件PX4的編譯這個問題困擾了兩天時間,可能是博主腦力不夠,主要是環境搭建不起來,主要原因應該是路徑的原因,最後在大師傅的幫助下還好成功將路徑搭建好,成功編譯。

下面就跟大家分享一下環境搭建的過程。

1.操作環境

每次寫文章,環境一定要介紹的,不同的環境總會出現不同的問題

我的環境是Windows下面安裝虛擬機,虛擬機跑Ubuntu

Windows:win10 64位

虛擬機:VMware Workstation 12 Pro 12.1.0 build-3272444

Ubuntu:Ubuntu15.10

2.編譯環境搭建

(1)許可權設置

官方提示:

Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.
意思是你會遇到許可權問題,不要用sudo解決,那樣會帶來更多問題,但是我沒聽他的,我沒用,最後也是實現了

官方提供指令

[plain] view plain

然後注銷,重新登錄生效

(2)安裝

更新包列表,安裝下面編譯PX4的依賴包。PX4主要支持的系列:

NuttX based hardware: Pixhawk, Pixfalcon
Snapdragon Flight hardware: Snapdragon
Raspberry Pi hardware: Raspberry Pi 2
Host simulation: jMAVSim SITL and Gazebo SITL

注意:安裝Ninja Build System可以比make更快進行編譯。如果安裝了它就會自動選擇使用它進行編譯。

[plain] view plain
卸載模式管理器

[plain] view plain

更新包列表和安裝下面的依賴包。務必安裝指定的版本的包

[plain] view plain

上面代碼中紅色部分大家需要一高警惕,gcc-arm-none-eabi版本導致PX4/Firmware編譯錯誤,現在apt-get安裝的gcc-arm-none-eabi基本上是4.9的版本,但是這個固件需要gcc-arm-none-eabi 4.8de 版本,所以最後安裝好以後,查看你的gcc-arm-none-eabi版本,如果是4.9需要手動安裝4.8的版本,安裝gcc-arm-none-eabi 4.8的版本的方法如下:

[plain] view plain

【Warning】上面紅色的路徑一定要添加正確,不然問題很多,我第一次就輸入錯誤,結果結果開不了機了,反復輸入密碼。博主裝的是Ubuntu 64位系統,而上述arm-none-eabi是直接下載的編譯好的32位,還需要安裝一個東西
[plain] view plain
可以檢查arm-none-eabi 4.8.4是否安裝成功,輸入以下指令:

[plain] view plain
如果出現如上信息,交叉編譯環境搭建就搭建成功了
(3)代碼編譯
根據PX4中文維基官網教程。
安裝Git

[plain] view plain
下載代碼

[plain] view plain
初始化
先進入Firmware文件夾,進而進行初始化、更新子模塊操作,耐心的等待……

[plain] view plain
許可權
編譯時會遇到許可權問題,執行指令

[plain] view plain
-R 是對文件下麵包含的子文件許可權問題,* 是對所有文件的許可權問題
編譯

[plain] view plain
注意到「make」是一個字元命令編譯工具,「px4fmu-v2」是硬體版本,「default」是默認配置,所有的PX4編譯目標遵循這個規則。
最後附一張編譯成功的代碼,如果這樣你還有問題,請給我留言。

[plain] view plain
-- nuttx-px4fmu-v2-default
-- The ASM compiler identification is GNU
-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc
-- Found pythonInterp: /usr/bin/python (found version "2.7.10")
-- Using C++03
-- Release build type: RelWithDebInfo
-- Adding UAVCAN STM32 platform driver
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default
#+@Tools/check_submoles.sh
PX4 CONFIG: px4fmu-v2_default
Scanning dependencies of target git_mavlink
Scanning dependencies of target git_uavcan
Scanning dependencies of target git_gencpp
Scanning dependencies of target git_genmsg
[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp
[ 0%] Generating git_init_src_moles_uavcan_libuavcan.stamp
[ 0%] Generating git_init_Tools_genmsg.stamp
[ 0%] Generating git_init_Tools_gencpp.stamp
[ 0%] Built target git_uavcan
[ 0%] Built target git_mavlink
[ 0%] Built target git_genmsg
[ 0%] Built target git_gencpp

Ⅳ arcopter飛控怎麼接線

黑色兩根線在遙控開關內部是並聯在一起的,隨便選一根接零線(是靠邊的黑色線接零線);另一根黑線、靠外殼另一面的藍線分別接到負載的兩端。就可以實現arcopter飛控接線了。

馬上就2020了,之後的發展方向有了更多的選擇。從大二開始連續參加兩屆大創加之今年暑假的電賽都用的是Pixhawk的硬體加ArCopter固件進行無人機開發,積累了不少開發經驗。但之後不一定會繼續在無人機的路上走下去。

又或者會在飛控和導航的方向深挖。便想寫點什麼記錄和紀念下這些填坑的過程。給大家分享一下關於WIN平台下Pixhawk的開發和SITL模擬。Pixhawk的硬體支持APM和PX4兩套固件,而兩套固件的編譯都需要在linux下進行。

官方推薦的是Ubuntu發行版,然而自從WIN1903支持WSL之後,win10就成了最好的Linux發行版(大霧)。其運行原理比虛擬機少了一些中間層,可以理解為一個從系統API級別模擬Linux內核的應用。

從目前的使用體驗來看,WSL除了不支持opengl和部分USB外設比較遺憾外,已經可以滿足大部分的開發需要了。而使用則可以當成只有命令行的Linux進行使用,也有特殊的方法可以配置GUI和其窗口,之後有機會的話會寫。

我的開發環境為vscode+winterminal+wsl。藉助vscode的代碼高亮和跳轉進行編輯,在wsl完成Arcopter的編譯環境搭建後,切換到代碼目錄下運行相關指令即可編譯。

Ⅳ eclipse怎麼配置java開發px4

px4_eclipse.bat中的設置

set HOME=/d/program/uav/px4\toolchain\msys\1.0\home\lufeiop
/d/program/uav/px4\toolchain\msys\1.0\home\lufeiop目錄下有.profile文件,在Linux下此文件為系統的每個用戶設置環境信息,

# Add GCC to path
# export PATH=/c/windows/system32:/c/src/px4_toolchain_deploy/Python27:/c/src/px4_toolchain_deploy/Python27/Scripts:/c/src/px4_toolchain_deploy/toolchain/bin:$PATH
export PATH=/bin:/usr/bin:/usr/local/bin:/c/windows/system32:/d/program/uav/px4/Python27:/d/program/uav/px4/Python27/Scripts:/d/program/uav/px4/toolchain/bin:$PATH

# Tell the NuttX Toolchain that we're building on Windows
export PX4_WINTOOL=y

# Disable cygwin path warning
export CYGWIN="nodosfilewarning"

echo "Welcome to the PX4 Toolchain."
cd /d/program/uav/px4

上面就是.profile文件的全部內容,注意到export PATH重新設置了環境變數,加上了toolchain的所在地址,所以eclipse的編譯設置可以找得make、gcc這些命令。

Ⅵ 編譯pixhawk提示-Wfatal出錯怎麼辦

下載一個eclipse IDE for JAVA Developer軟體
下載一個ADT插件。
打開eclipse開發環境,點擊help----install new software-------add
新建一個android系統環境變數,將SDK文件夾的platform-tools文件夾路徑和tools文件夾路徑添加上去。
在PATH變數中添加你修改的環境變數,篩選你需要編譯的文件。

Ⅶ 關於linux系統搭建飛控系統時遇到的一堆紅字報錯的問題

  • 你用的是python2.7?

  • 這個報錯是安裝的時候請求超時

  • 建議下載離線包 安裝

  • 希望可以幫助你 請採納

Ⅷ 怎麼將編譯過的px4固件還原成原生固件

按以下步驟可以恢復: ①抬起列印頭 ②按〈i〉鍵,等待蜂鳴聲 ③快速按以下鍵〈▼〉→〈▲/ESC〉→〈▲/ESC〉→〈 〉 ④此時將顯示以下信息:FACTEOY DEFOULT?(出廠默認值) ENTER=YES ESC=NO (ENTER=是,ESC=否) ⑤在10秒鍾內按〈ENTER〉可以將列印機重置為出廠默認值,參數將被重置,列印機將正常啟動。 如果按了 〈▲/ESC〉,或等到10秒超時以過,則正常啟動將繼續,而不進行重置。 注意:出廠默認值將刪除所有用於存儲設置的文件,刪除文件時他不會重置已讀取的設置。這表示EASY LAN、WIRE—LESS設置(SSID,密碼等)會保持其上次啟動時的值。但是下次重新引導時會將它們重置為出廠默認值。 其他問題找 深圳萬盛澤電子公司可以幫您!

Ⅸ 如何用開源飛控PIXHAWK進行開發

以下所描述的都是針對px4原生固件,此外,由於固件更新過於頻繁,本文描述的是15年7月的固件,主要是舉例,有改動的話,自己再研究研究吧(後面換cmake編譯方式了,改動蠻大)。
既然要做開發,第一步就是搭好開發環境,根據我的經驗,最好是在linux環境下編譯,這樣效率會很快,以前在windows下編譯,經常40分鍾以上,這樣就太影響開發了;
第二步,大概了解下固件的架構,

如果只涉及應用層的開發,那底層的nuttx系統就可以繞過去了,一般,最好先把uorb模塊的機制整明白就好了,從uorb入手,了解每個話題的來源以及作用,整理數據流,清楚每個模塊之間的關系即可,比如,要實現手動模式,哪些模塊互相交互,auto模式,又有哪些模塊起作用,

如果涉及相應演算法的開發,要學會定位到相應的演算法模塊,甚至具體到哪些代碼,比如,你想試驗你的姿態估計演算法,那你就將姿態估計模塊替換掉即可,不過相應的介面仍需要和px4環境一樣,以姿態估計為例,最後要發布你的vehicle_attitude話題,不然無法與其他模塊交互;

另外,不要試圖在代碼中找main函數,那是單片機思維,你只需看啟動腳本即可,\ROMFS\px4fmu_common\init.d\rcs;

第三步,針對你的具體情況,定位相應的模塊,進行精讀研究,雖然模塊基本是用C++寫的,但是不會C++也沒關系,畢竟又不是讓你寫,本人倒目前為止,也不會C++,配合注釋,看明白就好了,比如,整理下mavlink的控制流程;

px4原生固件模塊列表:

系統命令程序

mavlink –通過串口發送和接收mavlink信息

sdlog2 –保存系統日誌/飛行數據到SD卡

tests –測試系統中的測試程序

top –列出當前的進程和CPU負載

uORB – 微對象請求代理器-分發其他應用程序之間的信息

驅動

mkblctrl–blctrl電子模塊驅動

esc_calib –ESC的校準工具

fmu –FMU引腳輸入輸出定義

gpio_led –GPIOLED驅動

gps –GPS接收器驅動

pwm –PWM的更新速率命令

sensors –感測器應用

px4io –px4io驅動

uavcan –uavcan驅動

飛行控制的程序

飛行安全和導航

commander –主要飛行安全狀態機

navigator –任務,失效保護和RTL導航儀

估計姿態和位置

attitude_estimator_ekf –基於EKF的姿態估計

ekf_att_pos_estimator –基於EKF的姿態和位置估計

position_estimator_inav–慣性導航的位置估計

multirotor姿態和位置控制器

mc_att_control–multirotor姿態控制器

mc_pos_control –multirotor位置控制器

fixedwing姿態和位置控制器

fw_att_control –固定翼飛機的姿態控制

fw_pos_control_l1 –固定翼位置控制器

垂直起降姿態控制器

vtol_att_control –垂直起降姿態控制器

最後提一句,多看看官網的說明,另外根據本人的經驗來看,由於大框架,代碼人家都寫好了,通常你要加功能,所修改的也就幾行代碼而已,舉例說明,比如px4固件只能在手動模式解鎖,假如我要修改成定高模式解鎖:

將MAIN_STATE_MANUAL替換成MAIN_STATE_ALTCTL即可。

Ⅹ 如何用開源飛控Pixhawk進行二次開發

商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
鏈接:http://www.hu.com/question/38874663/answer/84239995
來源:知乎
以下所描述的都是針對px4原生固件,此外,由於固件更新過於頻繁,本文描述的是15年7月的固件,主要是舉例,有改動的話,自己再研究研究吧(後面換cmake編譯方式了,改動蠻大)。

既然要做開發,第一步就是搭好開發環境,根據我的經驗,最好是在linux環境下編譯,這樣效率會很快,以前在windows下編譯,經常40分鍾以上,這樣就太影響開發了;
第二步,大概了解下固件的架構,

如果只涉及應用層的開發,那底層的nuttx系統就可以繞過去了,一般,最好先把uorb模塊的機制整明白就好了,從uorb入手,了解每個話題的來源以及作用,整理數據流,清楚每個模塊之間的關系即可,比如,要實現手動模式,哪些模塊互相交互,auto模式,又有哪些模塊起作用,
如果涉及相應演算法的開發,要學會定位到相應的演算法模塊,甚至具體到哪些代碼,比如,你想試驗你的姿態估計演算法,那你就將姿態估計模塊替換掉即可,不過相應的介面仍需要和px4環境一樣,以姿態估計為例,最後要發布你的vehicle_attitude話題,不然無法與其他模塊交互;

另外,不要試圖在代碼中找main函數,那是單片機思維,你只需看啟動腳本即可,\ROMFS\px4fmu_common\init.d\rcs;
第三步,針對你的具體情況,定位相應的模塊,進行精讀研究,雖然模塊基本是用C++寫的,但是不會C++也沒關系,畢竟又不是讓你寫,本人倒目前為止,也不會C++,配合注釋,看明白就好了,比如,整理下mavlink的控制流程;

px4原生固件模塊列表:
系統命令程序
mavlink –通過串口發送和接收mavlink信息
sdlog2 –保存系統日誌/飛行數據到SD卡
tests –測試系統中的測試程序
top –列出當前的進程和CPU負載
uORB – 微對象請求代理器-分發其他應用程序之間的信息
驅動
mkblctrl–blctrl電子模塊驅動
esc_calib –ESC的校準工具
fmu –FMU引腳輸入輸出定義
gpio_led –GPIOLED驅動
gps –GPS接收器驅動
pwm –PWM的更新速率命令
sensors –感測器應用
px4io –px4io驅動
uavcan –uavcan驅動
飛行控制的程序
飛行安全和導航
commander –主要飛行安全狀態機
navigator –任務,失效保護和RTL導航儀
估計姿態和位置
attitude_estimator_ekf –基於EKF的姿態估計
ekf_att_pos_estimator –基於EKF的姿態和位置估計
position_estimator_inav–慣性導航的位置估計
multirotor姿態和位置控制器
mc_att_control–multirotor姿態控制器
mc_pos_control –multirotor位置控制器
fixedwing姿態和位置控制器
fw_att_control –固定翼飛機的姿態控制
fw_pos_control_l1 –固定翼位置控制器
垂直起降姿態控制器
vtol_att_control –垂直起降姿態控制器
最後提一句,多看看官網的說明,另外根據本人的經驗來看,由於大框架,代碼人家都寫好了,通常你要加功能,所修改的也就幾行代碼而已,舉例說明,比如px4固件只能在手動模式解鎖,假如我要修改成定高模式解鎖

希望可以幫助你,歡迎採納

熱點內容
linuxselect阻塞 發布:2024-03-29 10:16:07 瀏覽:448
java喂狗 發布:2024-03-29 10:03:33 瀏覽:547
mcafee按訪問掃描 發布:2024-03-29 10:02:40 瀏覽:817
編譯成debug版本 發布:2024-03-29 09:06:55 瀏覽:885
wms伺服器地址 發布:2024-03-29 09:05:55 瀏覽:416
mep編程器 發布:2024-03-29 09:05:13 瀏覽:140
大小s我們一家訪問人 發布:2024-03-29 09:03:16 瀏覽:533
造物者編程 發布:2024-03-29 08:50:27 瀏覽:534
sql技能 發布:2024-03-29 08:50:23 瀏覽:56
希沃安卓下載安裝應用在哪裡 發布:2024-03-29 08:22:51 瀏覽:631