本筆記基于ubuntu18.04版本,配置基于Prometheus無人機開源專案仿真環境,
需要事先在電腦上安裝了ROS,Mavros功能包,其余可參考Amov教程, https://github.com/amov-lab/Prometheus/wiki/%E5%AE%89%E8%A3%85%E5%8F%8A%E7%BC%96%E8%AF%91
https://github.com/amov-lab/Prometheus/wiki/%E5%AE%89%E8%A3%85%E5%8F%8A%E7%BC%96%E8%AF%91
在進行PX4韌體代碼下載時,使用的是阿木實驗室的Prometheus專案專用的PX4倉庫,
安裝方法
git clone https://gitee.com/amovlab/prometheus_px4.git
cd prometheus_px4
git submodule update --init --recursive
pip3 install --user toml empy jinja2 packaging
make amovlab_sitl_default gazebo
在進行最后一步時
make amovlab_sitl_default gazebo
始終報錯,在進行如下操作
cd prometheus_px4/Tools/setup
source ./ubuntu.sh
然后
make px4_sitl gazebo
在進行
make amovlab_sitl_default gazebo
此時還沒成功
打開新終端
sudo gedit ~/.bashrc
在記事本里添加路徑
source ~/Prometheus/devel/setup.bash
export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:~/Prometheus/devel/lib
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/Prometheus/Simulator/gazebo_simulator/models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/Prometheus/Simulator/gazebo_simulator/amov_models
source ~/prometheus_px4/Tools/setup_gazebo.bash ~/prometheus_px4 ~/prometheus_px4/build/amovlab_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/prometheus_px4
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/prometheus_px4/Tools/sitl_gazebo
成功后每次開啟新終端會出現
GAZEBO_PLUGIN_PATH :/home/hang/Prometheus/devel/lib:/home/hang/prometheus_px4/build/amovlab_sitl_default/build_gazebo
GAZEBO_MODEL_PATH :/home/hang/Prometheus/Simulator/gazebo_simulator/models:/home/hang/Prometheus/Simulator/gazebo_simulator/amov_models:/home/hang/prometheus_px4/Tools/sitl_gazebo/models
LD_LIBRARY_PATH /home/hang/Prometheus/devel/lib:/home/hang/catkin_ws/devel/lib:/opt/ros/melodic/lib:/home/hang/prometheus_px4/build/amovlab_sitl_default/build_gazebo
hang@hang-Lenovo-XiaoXin-15IIL-2020:~$
不用管,然后在運行
cd Prometheus
./compile_gazebo.sh
編譯prometheus_gazebo功能包,如果沒報錯,在開啟新終端運行
roslaunch prometheus_gazebo sitl.launch
測驗是否Gazebo仿真是否正確配置
若第一個終端無報錯,第二個終端顯示[Connected]并能夠查看到飛機狀態,且Gazebo成功運行,代表成功運行,
此時運行如下指令啟動終端控制節點,并根據終端提示輸入指令
rosrun prometheus_control terminal_control
無人機不能接收控制命令,無回應
發現終端報錯
[FATAL] [1595519040.562797928]: UAS: GeographicLib
exception: File not readable /usr/share/GeographicL
ib/geoids/egm96-5.pgm | Run install_geographiclib_d
ataset.sh script in order to install Geoid Model dataset!
按著指示,應該需要運行install_geographiclib_dataset.sh這個檔案,
我們在終端輸入:
sudo /opt/ros/melodic/lib/mavros/install_geographiclib_datasets.sh
如果是用源檔案安裝的mavros,則去mavros那個檔案夾搜索install_geographiclib_datasets.sh檔案,然后用 sudo權限運行即可,如果還有問題可參考
Ubuntu18.04安裝mavros - 代碼先鋒網
https://www.codeleading.com/article/78695438507/在打開新終端,運行下面命令啟動控制節點
roslaunch prometheus_gazebo sitl_pos_control.launch
一般情況下,首先輸入999解鎖并切換至offboard模式,然后輸入1起飛,然后再根據提示輸入其他指令(懸停、降落、機體系移動、慣性系移動、軌跡追蹤等等),此時發現無人機可以按照指令移動,結束,
本文參考
Home · amov-lab/Prometheus Wiki · GitHub
https://github.com/amov-lab/Prometheus/wikiROS實驗筆記之——基于Prometheus自主無人機開源專案的學習與仿真_gwpscut的博客-CSDN博客最近在公眾號上看到Prometheus無人機的資料,發現里面開源了很好的無人機的仿真環境,并且有很好的教程,而本人正好在上《Introduction to Aerial Robotics》的課程,正好搭建一下仿真環境來測驗一下,寫下本博文作為學習記錄用,(PS:無任何商業或者宣傳之用,僅僅為本人學習記錄用,相關資料給出參考)目錄Prometheus - 自主無人機開源專案專案配置控制模塊運動規劃模塊目標檢測SLAM參考資料Prometheus - 自主無人機開..https://blog.csdn.net/gwplovekimi/article/details/115395686#t6
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302603.html
標籤:其他
上一篇:【linux】作業中常用git命令(建議收藏,方便查看)
下一篇:常見DOS命令及自定義DOS命令
