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