作为一名无人机开发者,你是否遇到过:本地电脑中有多个命名不同的 “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
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/Tools/sitl_gazebo
roslaunch启动gazebo仿真:
roslaunch px4 mavros_posix_sitl.launch
视频如下:
https://www.bilibili.com/video/av420738352
总结:
最后,希望本文内容能够在实际工作中为各位开发者带来参考性意见,提升研发效率。
阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!
网友评论