作爲一名無人機開發者,你是否遇到過:本地電腦中有多個命名不同的 “Firmware” ,因其中一個功能,新下載了飛控源碼Firmware,功能還沒有開發完成,由於工作優先級調整,又不得不切換到另外的開發功能中,這時候你是否會將之前的Firmware進行重命名,重新下載一個Firmware進行新功能的開發?
你是否遇到過:在使用了prometheus_px4源碼之後,使用PX4原生的Firmware也會有相應的報錯,或者其他的報錯?
對於飛控源碼進行版本自由的切換在軟件在環仿真中變得尤爲重要。接下來爲大家介紹針對開發者在使用Prometheus自主無人機開源項目過程中對prometheus_px4(Firmware)的合理使用方法。
在此使用到git 基礎知識,不再贅述。(https://www.progit.cn/)
prometheus_px4源碼地址:https://gitee.com/amovlab/prometheus_px4.git
新倉庫使用該固件
下載固件: git clone https://gitee.com/amovlab/prometheus_px4.git
更新子模塊: git submodule update --init --recursive
編譯真機指令: make amovlab_p450_default
燒寫真機指令: make amovlab_p450_default upload
遇到問題提issue: https://gitee.com/amovlab/prometheus_px4/issues
編譯仿真指令: make amovlab_sitl_default gazebo_p450
添加環境變量: source ~/Desktop/prometheus_px4/Tools/setup_gazebo.bash ~/Desktop/prometheus_px4 ~/Desktop/prometheus_px4/build/amovlab_sitl_default export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Desktop/prometheus_px4 export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Desktop/prometheus_px4
roslaunch啓動gazebo仿真: roslaunch px4 mavros_posix_sitl.launch
遠程倉庫使用該固件
查看當前遠程分之情況: git remote -v
添加prometheus專用PX4固件: git remote add origin_prometheus https://gitee.com/amovlab/prometheus_px4.git
拉去遠程倉庫: git fetch origin_prometheus
切換到專用倉庫下: git checkout Prometheus_PX4_1.11.1
更新遠程倉庫子模塊: make submodulesclean 或者 make submodulesupdate
編譯仿真指令: make amovlab_sitl_default gazebo_p450
先添加環境變量: source ~/Desktop/prometheus_px4/Tools/setup_gazebo.bash ~/Desktop/prometheus_px4 ~/Desktop/prometheus_px4/build/amovlab_sitl_default export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Desktop/prometheus_px4 export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Desktop/prometheus_px4/Tools/sitl_gazebo
roslaunch啓動gazebo仿真: roslaunch px4 mavros_posix_sitl.launch
視頻如下:
<iframe src="//player.bilibili.com/player.html?aid=420738352&bvid=BV1P3411m7kD&cid=413353677&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>
總結:
最後,希望本文內容能夠在實際工作中爲各位開發者帶來參考性意見,提升研發效率。
阿木實驗室致力於爲機器人研發提供開源軟硬件工具和課程服務,讓研發更高效!