美文网首页ROS
week45 无人机px4 Firmware仿真环境搭建

week45 无人机px4 Firmware仿真环境搭建

作者: 吃醋不吃辣的雷儿 | 来源:发表于2021-03-21 20:10 被阅读0次

    我们来看下Ubuntu各版本对应的gazebo关系,安装时要注意
    各版本的对应关系如下:请注意ubuntu18对应melodic,ubuntu16对应kinetic
    Ubuntu 14.04 Trusty Tahr - ROS Indigo Igloo - Gazebo 2.X 2014-2019
    Ubuntu 16.04 Xenial Xerus - ROS Kinetic Kame - Gazebo 7.X 2016-2021
    Ubuntu 18.04 Bionic Beaver - ROS Melodic Morenia - Gazebo 9.X 2018-2023
    我采用的是Ubuntu18.04 安装ROS melodic
    要先换源,包括source.list和source.list.d文件夹下面的ros-latest.list(没有就创建)
    实测发现,Ubuntu的源用清华的,ROS源用中科大的,综合效果最好
    换完源以后安装ROS,直接装的是desktop-full,这样自动装了gazebo9

    sudo apt-get install ros-melodic-desktop-full
    

    ROS安装完毕,安装mavros,直接用二进制安装,最方便

    sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
    wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
    sudo chmod a+x ./install_geographiclib_datasets.sh
    ./install_geographiclib_datasets.sh ##此时执行速度很慢,耐心等待完成
    

    mavros负责master和px4之间的通信,接下来安装编译px4,这是最慢也是最容易出错的一步,一定要确保网络良好,第一步一般要花一个多小时、后面稍微快一点

    git clone https://github.com/PX4/Firmware.git
    cd Firmware
    git submodule update --init --recursive
    

    这时px4就安装好了,这个文件夹叫Firmware,但实际上编译以后会生成一个可执行文件叫px4,所以都是roslaunch px4 什么什么
    接下来,修改环境变量

    export FIRMWARE_DIR={path_to_Firmware} #path_to_Firmware是你的firmware路径,如/home/zhanqx/PX4/Firmware
    source $FIRMWARE_DIR/Tools/setup_gazebo.bash $FIRMWARE_DIR $FIRMWARE_DIR/build/posix_sitl_default
    export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$FIRMWARE_DIR
    export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$FIRMWARE_DIR/Tools/sitl_gazebo
    

    环境变量修改好了,source ~/.bashrc以后通过gazebo看看可不可以启动

    cd Firmware
    make posix_sitl_default gazebo
    

    第一行会弹出此时选择的px4的版本,建议用1.8.0,在前一个虚拟机上试过1.9.0但是跑不起来
    如果成功出现gazebo,里面看上去是荒芜的一望无垠的世界停着一架小飞机,那么px4的仿真环境就安装完成了,可以关掉,然后roslaunch启动

    #本机
    roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
    roslaunch px4 posix_sitl.launch
    

    在rostopic list里看到有个/mavros/state 用echo查看 connect为true 则mavros和px4通信成功


    sudo apt-get install ros-kinetic-geographic-msgs
    
    sudo apt install libv4l-dev
    
    sudo apt-get install ros-kinetic-rosserial-python
    
    sudo chmod 777 -R /src
    

    若添加权限以后仍报错,则考虑修改Cmakelist添加include包含库
    打开CMakeList文件看看include_directories列表
    include_directories(
    include
    ../riki_msgs
    ${catkin_INCLUDE_DIRS}
    )




    将riki_base.h中的分号位置做如下修改


    sudo apt-get install libusb-dev
    
    sudo apt-get install libspnav-dev
    
    sudo apt-get install libbluetooth-dev
    
    sudo apt-get install libcwiid-dev
    

    这个是别人的报错,他的git网络配置出现问题,显示git拒绝连接
    使用git config --global设置用户名和邮件

    git config --global user.name "bryan sun"
    git config --global user.email "hitsjt@gmail.com"
    注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
    

    使用-l查看配置 --edit编辑配置

    git config -l
    git config --global --edit
    
    示例配置

    相关文章

      网友评论

        本文标题:week45 无人机px4 Firmware仿真环境搭建

        本文链接:https://www.haomeiwen.com/subject/ujogyktx.html