PX4模拟器连接MAVROS

 

目录

  • PX4模拟器连接MAVROS
  •             下载PX4固件代码
  •             运行 bash 脚本( ubuntu_sim.sh )
  •             运行 bash 脚本( ubuntu_sim.sh )
  •             完成后重启ubuntu
  •       mavros安装(ubuntu18.04)
  •             Gazebo启动验证
  •             Gazebo在本地目录下载模型文防止启动缓慢
  •       mavros安装(ubuntu20.04)
  •             Gazebo启动验证
  • 下载PX4固件代码

    方法一:B站视频过来的建议按照此方法直接下在我提供的包

    git clone https://github.com/PX4/PX4-Autopilot.git --recursive

    此时如果不科学的话,会出现fatal: unable to access xxx的报错,
    所以可以由以下方法下载好别人的PX4-Autopilot文件包,然后打开ubuntu下的PX-Autopilot.zip拷贝的目录,右键提取,即可得到 PX-Autopilot 文件夹,而无需再 git clone !!!
    百度网盘下载成功后,直接解压运行以下指令:

    运行 bash 脚本( ubuntu_sim.sh )

     

    bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

    此步没有出现问题,重启,之后

    cd PX4-Autopilot   
    make px4_sitl jmavsim //jmavsim仿真环境

    出现以下界面代表成功

    make px4_sitl gazebo

    出现gazebo界面代表成功,有红色警告不用管

     

    如果mavros已经安装好运行

    roslalaunch px4 fast_test.launch

    方法二:
    1、git 固件包

    git clone https://github.com/PX4/PX4-Autopilot.git

    执行以下命令:

    cd PX4-Autopilot   
    git submodule update --init --recursive

    如果上述出现了失败,继续执行,直到全部成功

    git submodule update  --recursive

    之后运行bash脚本

    运行 bash 脚本( ubuntu_sim.sh )

     

    bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

    此步没有出现问题。

    完成后重启ubuntu

    进行环境配置验证,在完成上述环境的搭建之后,就可以开始仿真和固件的编译了, 先进行编译环境的测试,打开终端输入
    此步为实机固件可以不运行

    cd PX4-Autopilot
    make px4_fmu-v3_default    

    编译成功后,会显示

    接着,在PX4-Autopilot文件夹下终端运行
    SIMULATION

    make px4_sitl jmavsim
    make px4_sitl gazebo 

    出现以下,代表安装成功。

    如果启动gazebo总是出现preparing waiting for 界面
    手动下载模型

    cd ~/.gazebo/models/
    git clone https://github.com/osrf/gazebo_models.git

    mavros安装(ubuntu18.04)

    wiki.ros.org/mavros
    源码安装:
    docs.px4.io/master/e...
    在安装好之后运行roslaunch会出现:
    image
    这是由于需要在/home路径下“ctrl+h”显示.bashrc文件,打开后添加PX4-Autopilot源码路径

    source ~/PX4-Autopilot/Tools/setup_gazebo.bash ~/PX4-Autopilot/ ~/PX4-Autopilot/build/px4_sitl_default
    export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
    export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/sitl_gazebo

    注意export 开头的环境变量必须放在最下面,source开头的如果放在最下的话,会导致无法使用roslaunch px4 XXX.launch,以及直接启动launch文件是提示找不到路径。
    重新打开终端测试 roslaunch

    roslaunch px4 mavros_posix_sitl.launch

    参考文献:
    blog.csdn.net/qq_387...
    blog.csdn.net/qq_412...
    mavros我这里直接用二进制安装

    sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
    wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
    chmod +x install_geographiclib_datasets.sh
    sudo ./install_geographiclib_datasets.sh

    最后一步执行的时候会很慢,采取以下方法:
    blog.csdn.net/qq_412...
    首先要下载文件 Geographiclib-1.52.tar.gz
    地址:sourceforge.net/proj...
    可以直接解压文件到主目录或者

    tar xfpz GeographicLib-1.52.tar.gz

    进入文件目录,创建build文件夹并且进入

    mkdir build
    cd build 

    配置+编译+安装

    ../configure
    sudo make
    sudo make install

    接下来在要使用的项目文件的cmakelist.txt加入GeographicLib需要的依赖,

    LIST(APPEND LINK_LIBS
    ${OpenCV_LIBS}
    #$ENV{HOME}/ScaViSLAM/svslocal/lib/libGeographic.so
    #${Geographic_LIBS}/usr/local/lib/libGeographic.a
    /usr/local/lib/libGeographic.so.17.1.1 
    /usr/local/lib/libGeographic.so.17 
    /usr/local/lib/libGeographic.so
    )

    进入GeographicLib文件夹下,然后用这个格式安装.sh文件最后要求的三个文件,注意,这个语句中gravity,egm96这两个词要根据.sh来替换成需要的那个。

    sudo geographiclib-get-gravity egm96
    sudo geographiclib-get-geoids egm96-5
    sudo geographiclib-get-magnetic emm2015
    //这一步需要科学上网,否则会很慢

    最后看在/usr/local/share/目录下是否有gravity、geoids 、magnetic 三个文件
    ,则转移路径

    sudo cp -r GeographicLib /usr/share/

    Gazebo启动验证

     

     roslaunch px4 mavros_posix_sitl.launch

    运行结果和 make px4_sitl gazebo一样

    Gazebo在本地目录下载模型文防止启动缓慢

     

    cd ~/.gazebo/
    mkdir -p models
    cd ~/.gazebo/models/
    wget http://file.ncnynl.com/ros/gazebo_models.txt
    wget -i gazebo_models.txt
    ls model.tar.g* | xargs -n1 tar xzvf
     
     

    mavros安装(ubuntu20.04)

     

    sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras

    下一步终端走代理可以直接运行

    sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh

    Gazebo启动验证

     roslaunch px4 mavros_posix_sitl.launch

    运行结果和 make px4_sitl gazebo一样

    作者:SteveChen  创建时间:2025-12-27 15:09
    最后编辑:SteveChen  更新时间:2025-12-27 15:27