⑴ week45 無人機px4 Firmware模擬環境搭建
我們來看下Ubuntu各版本對應的gazebo關系,安裝時要注意
各版本的對應關系如下:請注意ubuntu18對應melodic,ubuntu16對應kinetic
Ubuntu 14.04 Trusty Tahr - ROS Indigo Igloo - Gazebo 2.X 2014-2019
Ubuntu 16.04 Xenial Xerus - ROS Kinetic Kame - Gazebo 7.X 2016-2021
Ubuntu 18.04 Bionic Beaver - ROS Melodic Morenia - Gazebo 9.X 2018-2023
我採用的是塌頌滲Ubuntu18.04 安裝ROS melodic
要先換源,包括source.list和source.list.d文件夾下面的ros-latest.list(沒有就創建)
實測發現,Ubuntu的源用清華的,ROS源用中科大的,綜合效果最好
換完源以後安裝ROS,直接裝的是desktop-full,這樣自動裝了gazebo9
ROS安裝完畢,安裝mavros,直接用二進制安裝,最方便
mavros負責master和px4之間的通信,接下來安裝編譯px4,這是最慢也是最容易出錯的一步,一定要確保網路良好,第一步一般要花一個多小時、後面稍微快一點
這時px4就安裝好了,這個文件夾叫Firmware,但實際上編譯以後會生成一個可執行文件叫px4,所以都是roslaunch px4 什麼什團脊么
接下來,修改環境變數
環櫻逗境變數修改好了,source ~/.bashrc以後通過gazebo看看可不可以啟動
第一行會彈出此時選擇的px4的版本,建議用1.8.0,在前一個虛擬機上試過1.9.0但是跑不起來
如果成功出現gazebo,裡面看上去是荒蕪的一望無垠的世界停著一架小飛機,那麼px4的模擬環境就安裝完成了,可以關掉,然後roslaunch啟動
在rostopic list里看到有個/mavros/state 用echo查看 connect為true 則mavros和px4通信成功
若添加許可權以後仍報錯,則考慮修改Cmakelist添加include包含庫
打開CMakeList文件看看include_directories列表
include_directories(
include
../riki_msgs
${catkin_INCLUDE_DIRS}
)
將riki_base.h中的分號位置做如下修改
這個是別人的報錯,他的git網路配置出現問題,顯示git拒絕連接
使用git config --global設置用戶名和郵件
使用-l查看配置 --edit編輯配置
⑵ cygwin編譯px4怎麼安裝
這只是一個安裝程序,雙擊後開始安裝。 按照提示設置後安裝目錄。 然後選擇一個網站, 我選擇了台灣的一個ftp的點,速度很快。接著安裝程序會所要安裝的包的信息讀出來,這時我們可在 develp的子項中, 也就是開發包,這一類中選擇:
gcc
GNU gdb
GNU make
g++
vim
bash shell
這幾項要自己認真找下噢。其他的選擇默認安裝就可以了。
⑶ 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
⑷ 華碩px455c參數
您好 華碩PX455C是一款15.6英寸的筆記本電腦,它採用了Intel Core i7-8750H處理器,搭載了NVIDIA GeForce GTX 1050 Ti顯卡,擁有8GB DDR4內存和256GB SSD存儲空間,支持WiFi 6無線網路,或配做擁有一個USB 3.1 Type-C介面,支持HDMI輸出,擁有一個SD卡插賣廳槽,支持Windows 10操作系統,它的外觀精緻,重量衫衡輕,性能強勁,是一款非常優秀的筆記本電腦。
⑸ 如何用開源飛控PIXHAWK進行開發
想快速開發一個飛控,那首先要做的是了解apm的各種參數配置,了解每個參數的影響和起作用的代碼功能塊,用apm適配自己的機型還是需要修改,優化,和裁剪。正如克里斯安德森說希望APM做無人機行業的安卓,但是安卓的性能也只能是差強人意,比無人機行業的IOS大疆創新來說還差很多。
飛控行業或者研究領域應用,例如開發測繪手機app,無人機送快遞等等(傾向於demo性質)...這種應用不需要做一個飛控,首先大概了解飛控的原理,然後只要掌握apm的控制數據協議即可。
發燒級的愛好者或者開發者,迫切的想要了解apm的大部分演算法和邏輯,這個真的需要較長的時間,大致的思路就是:底層驅動-》感測器數據和物理意義-》姿態解算-》PID控制器-》飛行模式切換-》參數調優(包含gps懸停剎車什麼的很細但是影響手感和性能的參數)初學只是去看apm而不是自己動手去做很難搞懂,建議還是自己做飛控,哪怕復制apm部分功能代碼,做飛控的學習順序和讀飛控一樣,但對於apm這樣一個系統工程相對來說模塊更分立。
⑹ PX4編譯報:Failed to import toml: No mole named 'toml'錯誤解決方法
編譯PX4過程中報如下錯誤:
Failed to import toml: No mole named 'toml'
You may need to install it using:
pip3 install --user toml
按照提示,執行:pip3 install --user toml,報如下錯誤:
ERROR: Could not install packages e to an EnvironmentError: [Errno 13] Permission denied: '/home/zouboan/.local/lib/python3.5'
Check the permissions.
千萬不要sudo pip3 install --user toml !
千萬不要sudo pip3 install --user toml !
千萬不要sudo pip3 install --user toml !
在網上搜該錯誤的解決方法,千篇一律的方法為:在install後面加上歷帶猜--user
可是我已經加上--user了啊,這就有點詭異了!
根據提示進入了home/.local 發現了肢型一點貓膩:
.local中的lib的owner竟然是root ,怪不得pip3 install --user toml會沒許可權!
百思不得姐,只好強行將行慎lib的owner改成了user: sudo chown -R zouboan lib/
之後安裝就ok了!
⑺ 編譯pixhawk提示-Wfatal出錯怎麼辦
下載一個eclipse IDE for JAVA Developer軟體
下載一個ADT插件。
打開eclipse開發環境,點擊help----install new software-------add
新建一個android系統環境變數,將SDK文件夾的platform-tools文件夾路徑和tools文件夾路徑添加上去。
在PATH變數中添加你修改的環境變數,篩選你需要編譯的文件。