px4和gazebo安裝


聲明:本博客僅作個人學習用途

1.

安裝方法參考:https://zhuanlan.zhihu.com/p/91329291

2.

基本操作方法:https://zhuanlan.zhihu.com/p/91420855

開啟gazebo和px4:

roslaunch px4 mavros_posix_sitl.launch

 3.

gazebo 模型下載:

參考:https://blog.csdn.net/qq_36170626/article/details/90417359

4.操作

直接打開gazebo方法:

Alt-F2

輸入gazebo

ctrl+M

編輯模式

----------------------------------------------------------------------------------------------

安裝好上面那些之后想讓無人機跑起來的話

參考:https://gaas.gitbook.io/guide/software-realization-build-your-own-autonomous-drone/wu-ren-ji-zi-dong-jia-shi-xi-lie-offboard-kong-zhi-yi-ji-gazebo-fang-zhen

下載一些模型:(我是把它下載到/home/jo/software/gaas_model 文件夾下的)

git clone git@github.com:generalized-intelligence/GAAS.git

 配置環境

echo "export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:(GAAS_PATH)/simulator/models" >> ~/.bashrc

  將對應文件復制進去,注意對應自己的安裝路徑

cp -r (GAAS_PATH)/simulator/models/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/models/
cp -r (GAAS_PATH)/simulator/worlds/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/worlds/
cp -r (GAAS_PATH)/simulator/posix-config/* ~/catkin_ws/src/Firmware/posix-configs/SITL/init/ekf2/

 然后就可以用Python代碼控制無人機飛行了

這里為了方便設置一個路徑,在~/.bashrc中寫入

export GAZEBO_COMMAND_PATH="/home/jo/software/gaas_model/GAAS/demo/tutorial_1/1_px4_mavros_offboard_controller"

 這里要對應自己的地址

----------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

操作部分:

終端1:

roslaunch px4 mavros_posix_sitl.launch

終端2:

cd ${GAZEBO_COMMAND_PATH}
python px4_mavros_run.py 

終端3

cd ${GAZEBO_COMMAND_PATH}
python commander.py 

無人機就飛起來了,自己可以修改Python代碼控制無人機,終端3這里可以不用commander.py,自己編寫比如寫一個c.py

#c.py
from commander import Commander
import time

# create Commander instance
con = Commander()

# control the drone to move 1 meter to the right
con.move(1,0,0)
# wait for 2 seconds 
time.sleep(2)

# control the drone to move 1 meter to the front
con.move(0,1,0)
# wait for 2 seconds
time.sleep(2)

# control the drone to move 1 meter to the left
con.move(-1,0,0)
# wait for 2 seconds
time.sleep(2)

# control the drone to move 1 meter to the back
con.move(0,-1,0)
# wait for 2 seconds
time.sleep(2)

# control the drone to move 1 meter above
con.move(0,0,1)
# wait for 2 seconds

# land
con.land()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM